Switch to new repository
diff --git a/node_modules/karma/CHANGELOG.md b/node_modules/karma/CHANGELOG.md
new file mode 100644
index 0000000..84884fc
--- /dev/null
+++ b/node_modules/karma/CHANGELOG.md
@@ -0,0 +1,2084 @@
+<a name="4.2.0"></a>
+# [4.2.0](https://github.com/karma-runner/karma/compare/v4.1.0...v4.2.0) (2019-07-12)
+
+
+### Bug Fixes
+
+* **logging:** Util inspect for logging the config. ([#3332](https://github.com/karma-runner/karma/issues/3332)) ([70b72a9](https://github.com/karma-runner/karma/commit/70b72a9))
+* **reporter:** format stack with 1-based column ([#3325](https://github.com/karma-runner/karma/issues/3325)) ([182c04d](https://github.com/karma-runner/karma/commit/182c04d)), closes [#3324](https://github.com/karma-runner/karma/issues/3324)
+* **server:** Add error handler for webserver socket. ([#3300](https://github.com/karma-runner/karma/issues/3300)) ([fe9a1dd](https://github.com/karma-runner/karma/commit/fe9a1dd))
+
+
+
+<a name="4.1.0"></a>
+# [4.1.0](https://github.com/karma-runner/karma/compare/v4.0.1...v4.1.0) (2019-04-15)
+
+
+### Bug Fixes
+
+* **client:** Enable loading different file types when running in parent mode without iframe ([#3289](https://github.com/karma-runner/karma/issues/3289)) ([7968db6](https://github.com/karma-runner/karma/commit/7968db6))
+* **client:** Only create the funky object if message is not a string ([#3298](https://github.com/karma-runner/karma/issues/3298)) ([ce6825f](https://github.com/karma-runner/karma/commit/ce6825f)), closes [#3296](https://github.com/karma-runner/karma/issues/3296)
+* **launcher:** Log state transitions in debug ([#3294](https://github.com/karma-runner/karma/issues/3294)) ([6556ab4](https://github.com/karma-runner/karma/commit/6556ab4)), closes [#3290](https://github.com/karma-runner/karma/issues/3290)
+* **middleware:** log invalid filetype ([#3292](https://github.com/karma-runner/karma/issues/3292)) ([7eb48c5](https://github.com/karma-runner/karma/commit/7eb48c5)), closes [#3291](https://github.com/karma-runner/karma/issues/3291)
+
+
+
+<a name="4.0.1"></a>
+## [4.0.1](https://github.com/karma-runner/karma/compare/v4.0.0...v4.0.1) (2019-02-28)
+
+
+### Bug Fixes
+
+* **browser:** allow updating total specs count ([#3264](https://github.com/karma-runner/karma/issues/3264)) ([d5df723](https://github.com/karma-runner/karma/commit/d5df723))
+* remove vulnerable dependency combine-lists ([#3273](https://github.com/karma-runner/karma/issues/3273)) ([c43f584](https://github.com/karma-runner/karma/commit/c43f584)), closes [#3265](https://github.com/karma-runner/karma/issues/3265)
+* remove vulnerable dependency expand-braces ([#3270](https://github.com/karma-runner/karma/issues/3270)) ([4ec4f6f](https://github.com/karma-runner/karma/commit/4ec4f6f)), closes [#3268](https://github.com/karma-runner/karma/issues/3268) [#3269](https://github.com/karma-runner/karma/issues/3269)
+* **filelist:** correct logger name. ([#3262](https://github.com/karma-runner/karma/issues/3262)) ([375bb5e](https://github.com/karma-runner/karma/commit/375bb5e))
+* **launcher:** Debug Child Processes exit signal ([#3259](https://github.com/karma-runner/karma/issues/3259)) ([c277a6b](https://github.com/karma-runner/karma/commit/c277a6b))
+
+
+
+<a name="4.0.0"></a>
+# [4.0.0](https://github.com/karma-runner/karma/compare/v3.1.4...v4.0.0) (2019-01-23)
+
+
+### Bug Fixes
+
+* **client:** fix issue with loaded on safari 10 ([#3252](https://github.com/karma-runner/karma/issues/3252)) ([571191c](https://github.com/karma-runner/karma/commit/571191c)), closes [#3198](https://github.com/karma-runner/karma/issues/3198)
+* **config:** add test:unit npm script ([#3242](https://github.com/karma-runner/karma/issues/3242)) ([02f071d](https://github.com/karma-runner/karma/commit/02f071d))
+
+
+### Chores
+
+* remove support for node 6 ([#3246](https://github.com/karma-runner/karma/issues/3246)) ([8a83990](https://github.com/karma-runner/karma/commit/8a83990)), closes [#3151](https://github.com/karma-runner/karma/issues/3151)
+
+
+### BREAKING CHANGES
+
+* Drop Support for Node 6, to make it possible to use async/await in karma codebase.
+
+
+
+<a name="3.1.4"></a>
+## [3.1.4](https://github.com/karma-runner/karma/compare/v3.1.3...v3.1.4) (2018-12-17)
+
+
+### Bug Fixes
+
+* **file-list:** revert "do not preprocess up-to-date files" ([#3226](https://github.com/karma-runner/karma/issues/3226)) ([#3230](https://github.com/karma-runner/karma/issues/3230)) ([bb022a7](https://github.com/karma-runner/karma/commit/bb022a7))
+* improve error msg when bin is a directory ([#3231](https://github.com/karma-runner/karma/issues/3231)) ([584dddc](https://github.com/karma-runner/karma/commit/584dddc))
+* restarted browsers not running tests ([#3233](https://github.com/karma-runner/karma/issues/3233)) ([cc2eff2](https://github.com/karma-runner/karma/commit/cc2eff2))
+
+
+
+<a name="3.1.3"></a>
+## [3.1.3](https://github.com/karma-runner/karma/compare/v3.1.2...v3.1.3) (2018-12-01)
+
+
+### Bug Fixes
+
+* add missing dep flatted ([#3223](https://github.com/karma-runner/karma/issues/3223)) ([655d4d2](https://github.com/karma-runner/karma/commit/655d4d2))
+
+
+
+<a name="3.1.2"></a>
+## [3.1.2](https://github.com/karma-runner/karma/compare/v3.1.1...v3.1.2) (2018-12-01)
+
+
+### Bug Fixes
+
+* **browser:** report errors to console during singleRun=false ([#3209](https://github.com/karma-runner/karma/issues/3209)) ([30ff73b](https://github.com/karma-runner/karma/commit/30ff73b)), closes [#3131](https://github.com/karma-runner/karma/issues/3131)
+* **changelog:** remove release which does not exist ([#3214](https://github.com/karma-runner/karma/issues/3214)) ([4e87902](https://github.com/karma-runner/karma/commit/4e87902))
+* **dep:** Bump useragent to fix HeadlessChrome version ([#3201](https://github.com/karma-runner/karma/issues/3201)) ([240209f](https://github.com/karma-runner/karma/commit/240209f)), closes [#2762](https://github.com/karma-runner/karma/issues/2762)
+* **deps:** upgrade sinon-chai 2.x -> 3.x ([#3207](https://github.com/karma-runner/karma/issues/3207)) ([dc5f5de](https://github.com/karma-runner/karma/commit/dc5f5de))
+* **file-list:** do not preprocess up-to-date files ([#3196](https://github.com/karma-runner/karma/issues/3196)) ([5334d1a](https://github.com/karma-runner/karma/commit/5334d1a)), closes [#2829](https://github.com/karma-runner/karma/issues/2829)
+* **package:** bump lodash version ([#3203](https://github.com/karma-runner/karma/issues/3203)) ([d38f344](https://github.com/karma-runner/karma/commit/d38f344)), closes [#3177](https://github.com/karma-runner/karma/issues/3177)
+* **server:** use flatted for json.stringify ([#3220](https://github.com/karma-runner/karma/issues/3220)) ([fb05fb1](https://github.com/karma-runner/karma/commit/fb05fb1)), closes [#3215](https://github.com/karma-runner/karma/issues/3215)
+
+
+### Features
+
+* **docs:** callout the key debug strategies. ([#3219](https://github.com/karma-runner/karma/issues/3219)) ([2682bff](https://github.com/karma-runner/karma/commit/2682bff))
+
+
+
+<a name="3.1.1"></a>
+## [3.1.1](https://github.com/karma-runner/karma/compare/v3.1.0...v3.1.1) (2018-10-23)
+
+
+### Bug Fixes
+
+* **config:** move puppeteer from dependency to dev-dependency ([#3193](https://github.com/karma-runner/karma/issues/3193)) ([f0d52ad](https://github.com/karma-runner/karma/commit/f0d52ad)), closes [#3191](https://github.com/karma-runner/karma/issues/3191)
+
+
+
+<a name="3.1.0"></a>
+# [3.1.0](https://github.com/karma-runner/karma/compare/v3.0.0...v3.1.0) (2018-10-22)
+
+
+### Bug Fixes
+
+* work around broken console methods ([873e4f9](https://github.com/karma-runner/karma/commit/873e4f9)), closes [/github.com/angular/angular.js/pull/16644#issuecomment-407680658](https://github.com//github.com/angular/angular.js/pull/16644/issues/issuecomment-407680658)
+* **browser:** emit 'browsers_change' in collection ([#3183](https://github.com/karma-runner/karma/issues/3183)) ([7634e71](https://github.com/karma-runner/karma/commit/7634e71))
+* **config:** remove phantomjs in favor of chrome headless ([#3175](https://github.com/karma-runner/karma/issues/3175)) ([0f8b2b1](https://github.com/karma-runner/karma/commit/0f8b2b1))
+* **init:** Support ChromeHeadless in `validateBrowser` ([#3110](https://github.com/karma-runner/karma/issues/3110)) ([eeadcf2](https://github.com/karma-runner/karma/commit/eeadcf2))
+* **middleware:** simplify stripHost. ([#3115](https://github.com/karma-runner/karma/issues/3115)) ([d65e911](https://github.com/karma-runner/karma/commit/d65e911))
+* **runner:** Do not persist grep option across runs ([#3121](https://github.com/karma-runner/karma/issues/3121)) ([c91cb81](https://github.com/karma-runner/karma/commit/c91cb81))
+* **runner:** Make exit code configurable when tests are failing ([#3116](https://github.com/karma-runner/karma/issues/3116)) ([74da748](https://github.com/karma-runner/karma/commit/74da748)), closes [#1300](https://github.com/karma-runner/karma/issues/1300)
+* **test/client:** revert const/let changes. ([c097ecf](https://github.com/karma-runner/karma/commit/c097ecf))
+
+
+### Features
+
+* **config:** Add config option for browser socket timeout ([#3102](https://github.com/karma-runner/karma/issues/3102)) ([11e3a9d](https://github.com/karma-runner/karma/commit/11e3a9d)), closes [#2927](https://github.com/karma-runner/karma/issues/2927)
+* **config:** add support for ES modules ([e811adb](https://github.com/karma-runner/karma/commit/e811adb))
+* **frameworks:** report start() errors back to server. ([#3126](https://github.com/karma-runner/karma/issues/3126)) ([8257375](https://github.com/karma-runner/karma/commit/8257375))
+* **server:** .dom files include HTML tags in page. ([#3178](https://github.com/karma-runner/karma/issues/3178)) ([4651524](https://github.com/karma-runner/karma/commit/4651524))
+* **server:** Add public API to force a file refresh ([dab8a82](https://github.com/karma-runner/karma/commit/dab8a82))
+* **server:** Add stop method ([#3153](https://github.com/karma-runner/karma/issues/3153)) ([6d96d8e](https://github.com/karma-runner/karma/commit/6d96d8e)), closes [#3149](https://github.com/karma-runner/karma/issues/3149)
+* **server:** Add support for encoded source files ([#3123](https://github.com/karma-runner/karma/issues/3123)) ([68b37d3](https://github.com/karma-runner/karma/commit/68b37d3))
+
+
+
+<a name="3.0.0"></a>
+# [3.0.0](https://github.com/karma-runner/karma/compare/v2.0.5...v3.0.0) (2018-08-09)
+
+
+### Bug Fixes
+
+* **config:** wait 20s for browser activity. ([#3087](https://github.com/karma-runner/karma/issues/3087)) ([88b977f](https://github.com/karma-runner/karma/commit/88b977f))
+* **config:** Wait 30s for browser activity per Travis. ([#3091](https://github.com/karma-runner/karma/issues/3091)) ([f6d2f0e](https://github.com/karma-runner/karma/commit/f6d2f0e))
+* **init:** add "ChromeHeadless" to the browsers' options ([#3096](https://github.com/karma-runner/karma/issues/3096)) ([56fda53](https://github.com/karma-runner/karma/commit/56fda53))
+* **server:** Exit clean on unhandledRejections. ([#3092](https://github.com/karma-runner/karma/issues/3092)) ([02f54c6](https://github.com/karma-runner/karma/commit/02f54c6)), closes [#3064](https://github.com/karma-runner/karma/issues/3064)
+* **travis:** Up the socket timeout 2->20s. ([#3103](https://github.com/karma-runner/karma/issues/3103)) ([732396a](https://github.com/karma-runner/karma/commit/732396a)), closes [#3102](https://github.com/karma-runner/karma/issues/3102)
+* **travis:** use the value not the key name. ([#3097](https://github.com/karma-runner/karma/issues/3097)) ([90f5546](https://github.com/karma-runner/karma/commit/90f5546))
+* **travis:** validate TRAVIS_COMMIT if TRAVIS_PULL_REQUEST_SHA is not set. ([#3094](https://github.com/karma-runner/karma/issues/3094)) ([fba5d36](https://github.com/karma-runner/karma/commit/fba5d36))
+* **travis:** Validate TRAVIS_PULL_REQUEST_SHA rather than TRAVIS_COMMIT. ([#3093](https://github.com/karma-runner/karma/issues/3093)) ([a58fa45](https://github.com/karma-runner/karma/commit/a58fa45))
+
+### BREAKING CHANGES
+
+* Drop Support for Nodejs4 ([#3082](https://github.com/karma-runner/karma/pull/3082))
+
+
+
+<a name="2.0.5"></a>
+## [2.0.5](https://github.com/karma-runner/karma/compare/v2.0.4...v2.0.5) (2018-07-24)
+
+
+### Bug Fixes
+
+* remove circular reference in Browser ([518cb11](https://github.com/karma-runner/karma/commit/518cb11)), closes [#3075](https://github.com/karma-runner/karma/issues/3075)
+* **browser:** ensure browser state is EXECUTING when tests start ([#3074](https://github.com/karma-runner/karma/issues/3074)) ([dc7265b](https://github.com/karma-runner/karma/commit/dc7265b)), closes [#1640](https://github.com/karma-runner/karma/issues/1640)
+* **doc:** Document release steps for admins ([#3063](https://github.com/karma-runner/karma/issues/3063)) ([a701732](https://github.com/karma-runner/karma/commit/a701732))
+* **middleware:** Obey the Promise API. ([93ba05a](https://github.com/karma-runner/karma/commit/93ba05a))
+* **server:** pass bound port to prevent`EADDRINUSE` issue. ([#3065](https://github.com/karma-runner/karma/issues/3065)) ([850a90b](https://github.com/karma-runner/karma/commit/850a90b))
+
+
+### Features
+
+* **preprocessor:** Allow preprocessor to handle binary files ([#3054](https://github.com/karma-runner/karma/issues/3054)) ([7b66e18](https://github.com/karma-runner/karma/commit/7b66e18))
+
+
+
+<a name="2.0.4"></a>
+## [2.0.4](https://github.com/karma-runner/karma/compare/v2.0.3...v2.0.4) (2018-06-21)
+
+
+### Bug Fixes
+
+* **deps:** remove babel-core and babel call in wallaby. ([#3044](https://github.com/karma-runner/karma/issues/3044)) ([7da8ca0](https://github.com/karma-runner/karma/commit/7da8ca0))
+* **events:** bind emitters with for..in. ([#3059](https://github.com/karma-runner/karma/issues/3059)) ([b99f03f](https://github.com/karma-runner/karma/commit/b99f03f)), closes [#3057](https://github.com/karma-runner/karma/issues/3057)
+* **launcher:** Only markCaptured browsers that are launched. ([#3047](https://github.com/karma-runner/karma/issues/3047)) ([f8f3ebc](https://github.com/karma-runner/karma/commit/f8f3ebc))
+* **server:** actually call stert(). ([#3062](https://github.com/karma-runner/karma/issues/3062)) ([40d836a](https://github.com/karma-runner/karma/commit/40d836a))
+* **server:** Resurrect static function Server.start() lost in 2.0.3 ([#3055](https://github.com/karma-runner/karma/issues/3055)) ([c88ebc6](https://github.com/karma-runner/karma/commit/c88ebc6))
+
+
+
+<a name="2.0.3"></a>
+## [2.0.3](https://github.com/karma-runner/karma/compare/v2.0.2...v2.0.3) (2018-06-15)
+
+
+The 2.03. change log was incorrectly created due to an extra pending tag in the repo.
+
+<a name="2.0.2"></a>
+## [2.0.2](https://github.com/karma-runner/karma/compare/v2.0.1...v2.0.2) (2018-04-19)
+
+
+### Bug Fixes
+
+* **package.json:** sinon-chai 2.13 is not compatible with sinon 4.x ([#2977](https://github.com/karma-runner/karma/issues/2977)) ([e095b05](https://github.com/karma-runner/karma/commit/e095b05))
+
+
+
+<a name="2.0.1"></a>
+## [2.0.1](https://github.com/karma-runner/karma/compare/v1.7.1...v2.0.1) (2018-04-19)
+
+
+### Bug Fixes
+
+* **browser:** nicer "disconnect" - no more "Disconnectedundefined" ([a987d63](https://github.com/karma-runner/karma/commit/a987d63))
+* **common:** fix AppVeyor build ([6c5e7d0](https://github.com/karma-runner/karma/commit/6c5e7d0))
+* **common:** more detailed info about error ([424aacc](https://github.com/karma-runner/karma/commit/424aacc))
+* **config:** Call debug log methods after setting the loglevel based upon config/cli-options. ([a340dae](https://github.com/karma-runner/karma/commit/a340dae))
+* **config:** Call debug log methods after setting the loglevel based upon config/cli-options. ([99fd3f0](https://github.com/karma-runner/karma/commit/99fd3f0))
+* **config:** Retry install with appveyor-retry. ([17d5791](https://github.com/karma-runner/karma/commit/17d5791))
+* **config:** Workaround npm 5.4 windows bug ([ec47d81](https://github.com/karma-runner/karma/commit/ec47d81))
+* **deps:** update socket.io to version 2.0.3. ([3b7b019](https://github.com/karma-runner/karma/commit/3b7b019)), closes [#2777](https://github.com/karma-runner/karma/issues/2777)
+* **logging:** Upgrade to log4js 2.x API. ([#2868](https://github.com/karma-runner/karma/issues/2868)) ([f6f8707](https://github.com/karma-runner/karma/commit/f6f8707)), closes [#2858](https://github.com/karma-runner/karma/issues/2858)
+* **middleware:** add file type to absolute urls ([bd1f799](https://github.com/karma-runner/karma/commit/bd1f799))
+* ignore jsVersion configuration property in Firefox 59+ ([2694d54](https://github.com/karma-runner/karma/commit/2694d54)), closes [#2957](https://github.com/karma-runner/karma/issues/2957)
+* **middleware:** avoid using deprecated Buffer API ([018e6be](https://github.com/karma-runner/karma/commit/018e6be))
+* **reporter:** Fix issue causing error stack not to be parsed correctly ([ac4e1a9](https://github.com/karma-runner/karma/commit/ac4e1a9)), closes [#2930](https://github.com/karma-runner/karma/issues/2930)
+* **reporter:** show file path correctly when urlRoot specified ([34dc7d3](https://github.com/karma-runner/karma/commit/34dc7d3)), closes [#2897](https://github.com/karma-runner/karma/issues/2897)
+* **server:** switch to sync write ([6ec74ee](https://github.com/karma-runner/karma/commit/6ec74ee))
+
+
+### Features
+
+* **cli:** Warn on commands with underscores. ([0801a7f](https://github.com/karma-runner/karma/commit/0801a7f))
+* **config:** allow to use newer versions of CoffeeScript ([c1fcf42](https://github.com/karma-runner/karma/commit/c1fcf42))
+* **launcher:** trim whitespace in browser name ([871d46f](https://github.com/karma-runner/karma/commit/871d46f))
+* **launcher:** trim whitespace in browser name ([334f9fb](https://github.com/karma-runner/karma/commit/334f9fb))
+* **middleware:** added manual file type option ([0330cd1](https://github.com/karma-runner/karma/commit/0330cd1)), closes [#2824](https://github.com/karma-runner/karma/issues/2824)
+* better string representation of errors ([c9e1ca9](https://github.com/karma-runner/karma/commit/c9e1ca9))
+* drop core-js and babel where possible ([60dfc5c](https://github.com/karma-runner/karma/commit/60dfc5c))
+* update of supported node versions ([e79463b](https://github.com/karma-runner/karma/commit/e79463b))
+
+
+
+<a name="1.7.1"></a>
+## [1.7.1](https://github.com/karma-runner/karma/compare/v1.7.0...1.7.1) (2017-08-25)
+
+
+### Bug Fixes
+
+* **debug-runner:** support asynchronous tests in the debug runner ([a36f3eb](https://github.com/karma-runner/karma/commit/a36f3eb)), closes [#2811](https://github.com/karma-runner/karma/issues/2811)
+* **file-list:** Stop polluting global environment with core-js ([0988022](https://github.com/karma-runner/karma/commit/0988022))
+* **preprocessor:** renamed handeFile to readFileCallback ([92a8c81](https://github.com/karma-runner/karma/commit/92a8c81))
+* **preprocessor:** retry if fs.readFile fails ([4b60513](https://github.com/karma-runner/karma/commit/4b60513))
+* **preprocessor:** throw if retry fails ([2789bf5](https://github.com/karma-runner/karma/commit/2789bf5))
+
+
+### Features
+
+* **ci:** disable testing of node versions below 4 ([ec92ea9](https://github.com/karma-runner/karma/commit/ec92ea9))
+* **client:** log global error stack trace ([523d608](https://github.com/karma-runner/karma/commit/523d608)), closes [#2812](https://github.com/karma-runner/karma/issues/2812)
+* **config:** remove polling usage ([b0f41c7](https://github.com/karma-runner/karma/commit/b0f41c7)), closes [#2669](https://github.com/karma-runner/karma/issues/2669)
+* **deps:** add support for node[@8](https://github.com/8) ([7feaee3](https://github.com/karma-runner/karma/commit/7feaee3)), closes [#2754](https://github.com/karma-runner/karma/issues/2754)
+* **deps:** update socket.io to `1.7.4` to avoid issue with `ws[@1](https://github.com/1).1.2` ([264442b](https://github.com/karma-runner/karma/commit/264442b)), closes [#2593](https://github.com/karma-runner/karma/issues/2593)
+* **watcher:** Debounce autoWatchBatchDelay ([2f8c049](https://github.com/karma-runner/karma/commit/2f8c049)), closes [#2331](https://github.com/karma-runner/karma/issues/2331)
+
+
+
+<a name="2.0.0"></a>
+# [2.0.0](https://github.com/karma-runner/karma/compare/v1.7.1...v2.0.0) (2017-12-21)
+
+
+### Bug Fixes
+
+* **config:** Call debug log methods after setting the loglevel based upon config/cli-options. ([99fd3f0](https://github.com/karma-runner/karma/commit/99fd3f0))
+* **config:** Call debug log methods after setting the loglevel based upon config/cli-options. ([a340dae](https://github.com/karma-runner/karma/commit/a340dae))
+* **config:** Retry install with appveyor-retry. ([17d5791](https://github.com/karma-runner/karma/commit/17d5791))
+* **config:** Workaround npm 5.4 windows bug ([ec47d81](https://github.com/karma-runner/karma/commit/ec47d81))
+* **deps:** update socket.io to version 2.0.3. ([3b7b019](https://github.com/karma-runner/karma/commit/3b7b019)), closes [#2821](https://github.com/karma-runner/karma/issues/2821) [#2777](https://github.com/karma-runner/karma/issues/2777)
+* **logging:** Upgrade to log4js 2.x API. ([#2868](https://github.com/karma-runner/karma/issues/2868)) ([f6f8707](https://github.com/karma-runner/karma/commit/f6f8707)), closes [#2858](https://github.com/karma-runner/karma/issues/2858)
+* **reporter:** show file path correctly when urlRoot specified ([34dc7d3](https://github.com/karma-runner/karma/commit/34dc7d3)), closes [#2897](https://github.com/karma-runner/karma/issues/2897)
+* **debug-runner:** support asynchronous tests in the debug runner ([a36f3eb](https://github.com/karma-runner/karma/commit/a36f3eb)), closes [#2811](https://github.com/karma-runner/karma/issues/2811)
+* **file-list:** Stop polluting global environment with core-js ([0988022](https://github.com/karma-runner/karma/commit/0988022))
+* **preprocessor:** renamed handeFile to readFileCallback ([92a8c81](https://github.com/karma-runner/karma/commit/92a8c81))
+* **preprocessor:** retry if fs.readFile fails ([4b60513](https://github.com/karma-runner/karma/commit/4b60513))
+* **preprocessor:** throw if retry fails ([2789bf5](https://github.com/karma-runner/karma/commit/2789bf5))
+
+
+### Features
+
+* **cli:** Warn on commands with underscores. ([0801a7f](https://github.com/karma-runner/karma/commit/0801a7f))
+* **config:** allow to use newer versions of CoffeeScript ([c1fcf42](https://github.com/karma-runner/karma/commit/c1fcf42))
+* **launcher:** trim whitespace in browser name ([871d46f](https://github.com/karma-runner/karma/commit/871d46f))
+* **launcher:** trim whitespace in browser name ([334f9fb](https://github.com/karma-runner/karma/commit/334f9fb))
+* **middleware:** added manual file type option ([0330cd1](https://github.com/karma-runner/karma/commit/0330cd1)), closes [#2824](https://github.com/karma-runner/karma/issues/2824)
+* better string representation of errors ([c9e1ca9](https://github.com/karma-runner/karma/commit/c9e1ca9))
+n* drop core-js and babel where possible ([60dfc5c](https://github.com/karma-runner/karma/commit/60dfc5c))
+* update of supported node versions ([e79463b](https://github.com/karma-runner/karma/commit/e79463b))
+* **ci:** disable testing of node versions below 4 ([ec92ea9](https://github.com/karma-runner/karma/commit/ec92ea9))
+* **client:** log global error stack trace ([523d608](https://github.com/karma-runner/karma/commit/523d608)), closes [#2812](https://github.com/karma-runner/karma/issues/2812)
+* **config:** remove polling usage ([b0f41c7](https://github.com/karma-runner/karma/commit/b0f41c7)), closes [#2669](https://github.com/karma-runner/karma/issues/2669)
+* **deps:** add support for node@8 ([7feaee3](https://github.com/karma-runner/karma/commit/7feaee3)), closes [#2754](https://github.com/karma-runner/karma/issues/2754)
+* **deps:** update socket.io to `1.7.4` to avoid issue with `[email protected]` ([264442b](https://github.com/karma-runner/karma/commit/264442b)), closes [#2593](https://github.com/karma-runner/karma/issues/2593)
+* **watcher:** Debounce autoWatchBatchDelay ([2f8c049](https://github.com/karma-runner/karma/commit/2f8c049)), closes [#2331](https://github.com/karma-runner/karma/issues/2331)
+
+
+
+<a name="1.7.1"></a>
+## [1.7.1](https://github.com/karma-runner/karma/compare/v1.7.0...v1.7.1) (2017-08-30)
+
+
+### Features
+
+* **deps:** add support for node[@8](https://github.com/8) ([ea32194](https://github.com/karma-runner/karma/commit/ea32194)), closes [#2754](https://github.com/karma-runner/karma/issues/2754)
+
+
+
+<a name="1.7.0"></a>
+# [1.7.0](https://github.com/karma-runner/karma/compare/v1.6.0...v1.7.0) (2017-05-06)
+
+
+### Bug Fixes
+
+* **middleware:** change to use vanilla for loop ([ac62cc0](https://github.com/karma-runner/karma/commit/ac62cc0)), closes [#2671](https://github.com/karma-runner/karma/issues/2671)
+* **reporters:** Revert the backwards-incompatible log priority order changes ([316b944](https://github.com/karma-runner/karma/commit/316b944)), closes [#2582](https://github.com/karma-runner/karma/issues/2582)
+
+
+### Features
+
+* **runner:** Buffer stdout and stderr for output when errors occur ([460d423](https://github.com/karma-runner/karma/commit/460d423))
+
+
+
+<a name="1.6.0"></a>
+# [1.6.0](https://github.com/karma-runner/karma/compare/v1.5.0...v1.6.0) (2017-04-05)
+
+
+### Bug Fixes
+
+* **client:** add proxy support to stringify ([be10116](https://github.com/karma-runner/karma/commit/be10116))
+* **file-list:** always use file from first matcher ([74bfdf3](https://github.com/karma-runner/karma/commit/74bfdf3))
+* **middleware:** does not work with mootools ([#2591](https://github.com/karma-runner/karma/issues/2591)) ([2685e13](https://github.com/karma-runner/karma/commit/2685e13))
+* **reporter:** keep users exact formatError result ([17c2c43](https://github.com/karma-runner/karma/commit/17c2c43))
+
+
+### Features
+
+* **browser:** add browser_info event ([09ac7d7](https://github.com/karma-runner/karma/commit/09ac7d7)), closes [#2192](https://github.com/karma-runner/karma/issues/2192)
+* **launcher:** output stderr for failing launchers ([7d33398](https://github.com/karma-runner/karma/commit/7d33398))
+* **proxy:** add proxy events to config ([f5d99fb](https://github.com/karma-runner/karma/commit/f5d99fb))
+
+
+
+<a name="1.5.0"></a>
+# [1.5.0](https://github.com/karma-runner/karma/compare/v1.4.1...v1.5.0) (2017-02-20)
+
+
+### Bug Fixes
+
+* filter browser logging by level of LOG ([89a7a1c](https://github.com/karma-runner/karma/commit/89a7a1c)), closes [#2228](https://github.com/karma-runner/karma/issues/2228)
+* make window.parent.karma available in debugged context ([3e7eaeb](https://github.com/karma-runner/karma/commit/3e7eaeb))
+* **client:** don't crash if receive array-like results ([e095411](https://github.com/karma-runner/karma/commit/e095411)), closes [#2061](https://github.com/karma-runner/karma/issues/2061)
+
+
+### Features
+
+* add an option to run the tests by dynamically loading test scripts without iframe ([aa42c41](https://github.com/karma-runner/karma/commit/aa42c41))
+* add support for node[@7](https://github.com/7) ([eb407ab](https://github.com/karma-runner/karma/commit/eb407ab)), closes [#2559](https://github.com/karma-runner/karma/issues/2559)
+
+
+
+<a name="1.4.1"></a>
+## [1.4.1](https://github.com/karma-runner/karma/compare/v1.4.0...v1.4.1) (2017-01-29)
+
+
+### Bug Fixes
+
+* **runner:** Make process kill timeout configurable ([ffaa054](https://github.com/karma-runner/karma/commit/ffaa054)), closes [#2447](https://github.com/karma-runner/karma/issues/2447)
+* **runner:** Make process kill timeout configurable - Fix Build ([a128e5c](https://github.com/karma-runner/karma/commit/a128e5c)), closes [#2447](https://github.com/karma-runner/karma/issues/2447)
+* **runner:** Test process kill timeout config ([99a1d48](https://github.com/karma-runner/karma/commit/99a1d48)), closes [#2447](https://github.com/karma-runner/karma/issues/2447)
+
+
+### Features
+
+* **config:** allow config to be a default export ([9976dce](https://github.com/karma-runner/karma/commit/9976dce))
+
+
+
+<a name="1.4.0"></a>
+# [1.4.0](https://github.com/karma-runner/karma/compare/v1.3.0...v1.4.0) (2017-01-14)
+
+
+### Bug Fixes
+
+* **browser:** filter browser logging by level ([35965d9](https://github.com/karma-runner/karma/commit/35965d9)), closes [#2228](https://github.com/karma-runner/karma/issues/2228)
+* **cli:** restore shell completion in the npm package ([f56b5a5](https://github.com/karma-runner/karma/commit/f56b5a5)), closes [#2351](https://github.com/karma-runner/karma/issues/2351)
+* **config:** add crossOriginAttribute config option ([1e465b1](https://github.com/karma-runner/karma/commit/1e465b1))
+* **middleware:** update `Buffer` usage ([3d94b8c](https://github.com/karma-runner/karma/commit/3d94b8c))
+* **reporter:** do not allow URL domains to span new lines ([2c13404](https://github.com/karma-runner/karma/commit/2c13404))
+* **reporter:** strip only hostname/port ([fbbeccf](https://github.com/karma-runner/karma/commit/fbbeccf)), closes [#2209](https://github.com/karma-runner/karma/issues/2209)
+* **reporters:** cannot read property map of undefined ([305df2c](https://github.com/karma-runner/karma/commit/305df2c)), closes [#1662](https://github.com/karma-runner/karma/issues/1662)
+* **server:** exit with code 1 when failing due to missing browser ([86e2ef2](https://github.com/karma-runner/karma/commit/86e2ef2)), closes [#2403](https://github.com/karma-runner/karma/issues/2403)
+
+
+### Features
+
+* **api:** add constants to the public api ([ee10977](https://github.com/karma-runner/karma/commit/ee10977)), closes [#2361](https://github.com/karma-runner/karma/issues/2361)
+* **api:** expose `config.parseConfig` on the public api ([7d2c1ae](https://github.com/karma-runner/karma/commit/7d2c1ae))
+* **client:** capture confirm & prompt ([3a618b3](https://github.com/karma-runner/karma/commit/3a618b3)), closes [#694](https://github.com/karma-runner/karma/issues/694)
+* **server:** add listen address option so that IPv6 and loopback interfaces can be used ([8e5bee6](https://github.com/karma-runner/karma/commit/8e5bee6)), closes [#2477](https://github.com/karma-runner/karma/issues/2477)
+* **web-server:** allow overriding of default http module ([1e7514d](https://github.com/karma-runner/karma/commit/1e7514d)), closes [#2424](https://github.com/karma-runner/karma/issues/2424)
+
+
+
+<a name="1.3.0"></a>
+# [1.3.0](https://github.com/karma-runner/karma/compare/v1.2.0...v1.3.0) (2016-09-09)
+
+
+### Bug Fixes
+
+* **launcher:** exclude concurrent browser on launcher restart ([96f8f14](https://github.com/karma-runner/karma/commit/96f8f14)), closes [#2280](https://github.com/karma-runner/karma/issues/2280)
+* **middleware:** ensure Range headers adhere more closely to RFC 2616 ([8b1b4b1](https://github.com/karma-runner/karma/commit/8b1b4b1)), closes [#2310](https://github.com/karma-runner/karma/issues/2310)
+
+
+### Features
+
+* **reporter:** add config formatError function ([98a4fbf](https://github.com/karma-runner/karma/commit/98a4fbf)), closes [#2119](https://github.com/karma-runner/karma/issues/2119)
+* upstreamProxy config option to deal with proxies that adjust the base path, etc ([55755e4](https://github.com/karma-runner/karma/commit/55755e4))
+
+
+
+<a name="1.2.0"></a>
+# [1.2.0](https://github.com/karma-runner/karma/compare/v1.1.1...v1.2.0) (2016-08-11)
+
+
+### Bug Fixes
+
+* **context:** Updated postMessage listener to stop validating non-Karma messages ([306e565](https://github.com/karma-runner/karma/commit/306e565))
+* **docs:** fix stopper.stop wrong variable name. closes [#2244](https://github.com/karma-runner/karma/issues/2244) ([0745a00](https://github.com/karma-runner/karma/commit/0745a00)), closes [#2244](https://github.com/karma-runner/karma/issues/2244)
+* **file-list:** ensure patterns are comparable ([4d1bf3e](https://github.com/karma-runner/karma/commit/4d1bf3e)), closes [#2194](https://github.com/karma-runner/karma/issues/2194)
+* **middleware:** fix WARN log when passing undefined error handler to promise.then ([20b87de](https://github.com/karma-runner/karma/commit/20b87de)), closes [#2227](https://github.com/karma-runner/karma/issues/2227)
+* call .resume to prevent browser output streams filling up ([107cd02](https://github.com/karma-runner/karma/commit/107cd02))
+* Merge config child nodes on config.set() ([65b688a](https://github.com/karma-runner/karma/commit/65b688a))
+* **web-server:** Allow karma to run in project which path contains HTML URL encoded characters. Karma fails on Jenkins when it checks out branches containing '/' as it converts it to '%2F'. Fixes errors seen on [#1751](https://github.com/karma-runner/karma/issues/1751), [#61](https://github.com/karma-runner/karma/issues/61). ([da1930f](https://github.com/karma-runner/karma/commit/da1930f)), closes [#1751](https://github.com/karma-runner/karma/issues/1751) [#61](https://github.com/karma-runner/karma/issues/61)
+
+
+### Features
+
+* **web-server:** Allow Range headers in web server. ([a567b6f](https://github.com/karma-runner/karma/commit/a567b6f)), closes [#2140](https://github.com/karma-runner/karma/issues/2140)
+
+
+
+<a name="1.1.2"></a>
+## [1.1.2](https://github.com/karma-runner/karma/compare/v1.1.1...v1.1.2) (2016-07-26)
+
+
+### Bug Fixes
+
+* Merge config child nodes on config.set() ([65b688a](https://github.com/karma-runner/karma/commit/65b688a))
+* **context:** Updated postMessage listener to stop validating non-Karma messages ([306e565](https://github.com/karma-runner/karma/commit/306e565))
+* **docs:** fix stopper.stop wrong variable name. closes [#2244](https://github.com/karma-runner/karma/issues/2244) ([0745a00](https://github.com/karma-runner/karma/commit/0745a00)), closes [#2244](https://github.com/karma-runner/karma/issues/2244)
+* **file-list:** ensure patterns are comparable ([4d1bf3e](https://github.com/karma-runner/karma/commit/4d1bf3e)), closes [#2194](https://github.com/karma-runner/karma/issues/2194)
+* **middleware:** fix WARN log when passing undefined error handler to promise.then ([20b87de](https://github.com/karma-runner/karma/commit/20b87de)), closes [#2227](https://github.com/karma-runner/karma/issues/2227)
+
+
+
+<a name="1.1.1"></a>
+## [1.1.1](https://github.com/karma-runner/karma/compare/v1.1.0...v1.1.1) (2016-07-07)
+
+
+### Bug Fixes
+
+* **executor:** ensure run_complete is emitted last ([9c894f9](https://github.com/karma-runner/karma/commit/9c894f9)), closes [#2210](https://github.com/karma-runner/karma/issues/2210)
+* **reporter:** inject correct config option ([80bd726](https://github.com/karma-runner/karma/commit/80bd726))
+* **reporter:** remove console.log ([b4e3694](https://github.com/karma-runner/karma/commit/b4e3694))
+* Add crossorigin attribute to script HTML tags ([5690ffe](https://github.com/karma-runner/karma/commit/5690ffe))
+
+
+### Features
+
+* deprecate helper._ ([5c6b151](https://github.com/karma-runner/karma/commit/5c6b151))
+* **config:** add support for TypeScript ([6445310](https://github.com/karma-runner/karma/commit/6445310))
+
+
+
+<a name="1.1.0"></a>
+# [1.1.0](https://github.com/karma-runner/karma/compare/v1.0.0...v1.1.0) (2016-06-26)
+
+
+### Bug Fixes
+
+* **deps:** freeze socket.io version ([73e300d](https://github.com/karma-runner/karma/commit/73e300d))
+* **server:** log browser messages to the terminal ([d1f924c](https://github.com/karma-runner/karma/commit/d1f924c)), closes [#2187](https://github.com/karma-runner/karma/issues/2187)
+
+
+### Features
+
+* Allow frameworks to inject middleware ([d972f3d](https://github.com/karma-runner/karma/commit/d972f3d))
+
+
+
+<a name="1.0.0"></a>
+# [1.0.0](https://github.com/karma-runner/karma/compare/v0.13.22...v1.0.0) (2016-06-23)
+
+
+### Bug Fixes
+
+* **ci:** Repaired AppVeyor for Node.js[@0](https://github.com/0).12 ([cbfd98c](https://github.com/karma-runner/karma/commit/cbfd98c))
+* **client:** does not throws an error for non DOM object that has `tagName` property ([ba55afb](https://github.com/karma-runner/karma/commit/ba55afb)), closes [#2139](https://github.com/karma-runner/karma/issues/2139)
+* **files:** Ignore included:false pattern ([db42a7f](https://github.com/karma-runner/karma/commit/db42a7f)), closes [#1530](https://github.com/karma-runner/karma/issues/1530)
+* **helper:** Patched replaceWinPath from choking on `null` values ([caa4d21](https://github.com/karma-runner/karma/commit/caa4d21))
+* **karma:** Escape quotes for file names. This fixes issue [#1876](https://github.com/karma-runner/karma/issues/1876). ([9dff3f3](https://github.com/karma-runner/karma/commit/9dff3f3)), closes [#1876](https://github.com/karma-runner/karma/issues/1876) [#1876](https://github.com/karma-runner/karma/issues/1876)
+* **launcher:** Allow dynamic browser launches ([2b7d703](https://github.com/karma-runner/karma/commit/2b7d703))
+* **launcher:** send sigkill on timeout when force killing ([c615c1f](https://github.com/karma-runner/karma/commit/c615c1f))
+* **proxy:** Port mixup and infinite loop ([05616a2](https://github.com/karma-runner/karma/commit/05616a2)), closes [#1987](https://github.com/karma-runner/karma/issues/1987)
+* **reporter:** Better handling of non string error ([82f1c12](https://github.com/karma-runner/karma/commit/82f1c12))
+* **reporter:** Disable source maps for URLs without line number ([2080221](https://github.com/karma-runner/karma/commit/2080221)), closes [#1274](https://github.com/karma-runner/karma/issues/1274)
+* Change timing on test ([0cb6204](https://github.com/karma-runner/karma/commit/0cb6204))
+* Setting default value for config in runner and stopper ([414db89](https://github.com/karma-runner/karma/commit/414db89))
+* **reporters:** Fix results not being reported ([6303566](https://github.com/karma-runner/karma/commit/6303566))
+* **reporters:** Throwing error without loosing stack trace ([8a515ae](https://github.com/karma-runner/karma/commit/8a515ae))
+* **runner:** Merge config.client.args with client.args provided by run ([91de383](https://github.com/karma-runner/karma/commit/91de383)), closes [#1746](https://github.com/karma-runner/karma/issues/1746)
+* **updater:** Fix time unit on screen display from 'ms' to 'seconds'. ([f39dd04](https://github.com/karma-runner/karma/commit/f39dd04))
+* **web-server:** Restart disconnected browser in non-singleRun mode. ([f6587dc](https://github.com/karma-runner/karma/commit/f6587dc))
+* **web-server:** Update config on every request ([8ef475f](https://github.com/karma-runner/karma/commit/8ef475f)), closes [#1972](https://github.com/karma-runner/karma/issues/1972)
+
+
+### Code Refactoring
+
+* **context:** Future-proofed context.html and debug.html for modularity ([43f6a1a](https://github.com/karma-runner/karma/commit/43f6a1a))
+
+
+### Features
+
+* **browser:** Emit a browser error when a disconnect occurs. ([e36ba6c](https://github.com/karma-runner/karma/commit/e36ba6c))
+* **config:** Add configuration for adding javascript version. ([0239c75](https://github.com/karma-runner/karma/commit/0239c75)), closes [#1719](https://github.com/karma-runner/karma/issues/1719)
+* **config:** Allow custom context and debug files, with feature test and some specs. ([225c0e5](https://github.com/karma-runner/karma/commit/225c0e5))
+* **file-list:** Upgrade bluebird to v.3 ([f5c252f](https://github.com/karma-runner/karma/commit/f5c252f))
+* **logging:** Add colors and log-level options to run-command ([9d4e234](https://github.com/karma-runner/karma/commit/9d4e234))
+* **logging:** Add logging-setup function ([d14bd62](https://github.com/karma-runner/karma/commit/d14bd62))
+* **logging:** Send color option to server ([287d0db](https://github.com/karma-runner/karma/commit/287d0db))
+* **preprocessors:** if a file matches multiple preprocessor patterns, intelligently merge the list of preprocessors, deduping and trying to preserve the order ([59642a6](https://github.com/karma-runner/karma/commit/59642a6))
+* **reporter:** improve source map handling and reporting. ([cf0be47](https://github.com/karma-runner/karma/commit/cf0be47))
+* **reporters:** Look for color-reporter ([fd9262d](https://github.com/karma-runner/karma/commit/fd9262d))
+* **server:** add 'listening' event with port number ([82cd0df](https://github.com/karma-runner/karma/commit/82cd0df))
+* Add `stopper` to the public API ([3d4fa00](https://github.com/karma-runner/karma/commit/3d4fa00))
+* Add possibility to stop a karma server ([66ae80b](https://github.com/karma-runner/karma/commit/66ae80b))
+* add support for node 6 ([0b8dc2c](https://github.com/karma-runner/karma/commit/0b8dc2c))
+* adding support for before middleware ([51b4206](https://github.com/karma-runner/karma/commit/51b4206))
+* **stopper:** Enable programically detached server ([f10fd81](https://github.com/karma-runner/karma/commit/f10fd81))
+* Fail on launcher-, reporter-, plugin-, or preprocessor-load errors. ([fca930e](https://github.com/karma-runner/karma/commit/fca930e)), closes [#855](https://github.com/karma-runner/karma/issues/855)
+* upgrade dependencies to their latest versions ([08242a0](https://github.com/karma-runner/karma/commit/08242a0))
+
+
+### BREAKING CHANGES
+
+* context: Our `context.html` and `debug.html` structures have changed to lean on `context.js` and `debug.js`.
+This is in preparation for deeper `context.js` changes in #1984.
+
+As a result, all `customContextFile` and `customDebugFile` options much update their format
+to match this new format.
+
+
+
+<a name="0.13.22"></a>
+## [0.13.22](https://github.com/karma-runner/karma/compare/v0.13.21...v0.13.22) (2016-03-08)
+
+
+
+
+<a name="0.13.21"></a>
+## [0.13.21](https://github.com/karma-runner/karma/compare/v0.13.20...v0.13.21) (2016-02-12)
+
+
+### Reverts
+
+* "Merge pull request #1791 from budde377/feature-adding-no-colors-to-run-command" ([96ebdc4](https://github.com/karma-runner/karma/commit/96ebdc4)), closes [#1894](https://github.com/karma-runner/karma/issues/1894) [#1895](https://github.com/karma-runner/karma/issues/1895)
+
+
+
+<a name="0.13.20"></a>
+## [0.13.20](https://github.com/karma-runner/karma/compare/v0.13.19...v0.13.20) (2016-02-12)
+
+
+### Bug Fixes
+
+* **runner:** Remove null characters from terminal output ([3481500](https://github.com/karma-runner/karma/commit/3481500)), closes [#1343](https://github.com/karma-runner/karma/issues/1343)
+* invalid characters in the headers on Node 5.6.0 ([152337d](https://github.com/karma-runner/karma/commit/152337d))
+* Remove inadvertently added dependency to mock-fs ([ad5f6b5](https://github.com/karma-runner/karma/commit/ad5f6b5))
+* Switch all requires from fs to graceful-fs ([1e21aaa](https://github.com/karma-runner/karma/commit/1e21aaa))
+* Upgrade socket.io to 1.4.5 ([2f51a9f](https://github.com/karma-runner/karma/commit/2f51a9f))
+
+### Features
+
+* Allow custom browser names ([60ba85f](https://github.com/karma-runner/karma/commit/60ba85f))
+* Do not fail on empty test suite ([8004763](https://github.com/karma-runner/karma/commit/8004763)), closes [#926](https://github.com/karma-runner/karma/issues/926)
+* **config:** Add `forceJSONP` option ([8627d67](https://github.com/karma-runner/karma/commit/8627d67))
+* **launcher:** Enable specification of retry-limit ([cc5547c](https://github.com/karma-runner/karma/commit/cc5547c)), closes [#1126](https://github.com/karma-runner/karma/issues/1126)
+* **logging:** Add colors and log-level options to run-command ([2d29165](https://github.com/karma-runner/karma/commit/2d29165))
+* **logging:** Send color option to server ([486c4f3](https://github.com/karma-runner/karma/commit/486c4f3))
+* **web-server:** Use isbinaryfile for binary file detection ([f938a8e](https://github.com/karma-runner/karma/commit/f938a8e)), closes [#1070](https://github.com/karma-runner/karma/issues/1070)
+
+
+
+<a name="0.13.19"></a>
+## [0.13.19](https://github.com/karma-runner/karma/compare/v0.13.18...v0.13.19) (2016-01-06)
+
+
+### Bug Fixes
+
+* **server:** Handle new socket.io internal format. ([3ab78d6](https://github.com/karma-runner/karma/commit/3ab78d6)), closes [#1782](https://github.com/karma-runner/karma/issues/1782)
+
+
+
+<a name="0.13.18"></a>
+## [0.13.18](https://github.com/karma-runner/karma/compare/v0.13.17...v0.13.18) (2016-01-05)
+
+
+### Bug Fixes
+
+* **preprocessor:** Improve handling of failed preprocessors ([e726d1c](https://github.com/karma-runner/karma/commit/e726d1c)), closes [#1521](https://github.com/karma-runner/karma/issues/1521)
+
+### Features
+
+* **cli:** Add .config/karma.conf.js to the default lookup path ([49bf1aa](https://github.com/karma-runner/karma/commit/49bf1aa)), closes [#1387](https://github.com/karma-runner/karma/issues/1387)
+* **config:** Add a clearContext config to prevent clearing of context. ([5fc8ee7](https://github.com/karma-runner/karma/commit/5fc8ee7))
+* **config:** mime config option support ([d562383](https://github.com/karma-runner/karma/commit/d562383)), closes [#1735](https://github.com/karma-runner/karma/issues/1735)
+
+
+
+<a name="0.13.17"></a>
+## [0.13.17](https://github.com/karma-runner/karma/compare/v0.13.16...v0.13.17) (2016-01-04)
+
+
+
+
+<a name="0.13.16"></a>
+## [0.13.16](https://github.com/karma-runner/karma/compare/v0.13.15...v0.13.16) (2015-12-24)
+
+
+### Bug Fixes
+
+* **config:** corrects spelling in example config template ([9fafc60](https://github.com/karma-runner/karma/commit/9fafc60))
+* **middleware:** Correct spelling of middleware logger name ([9e9e7e6](https://github.com/karma-runner/karma/commit/9e9e7e6))
+* **preprocessor:** Directory names with dots ([4b5e094](https://github.com/karma-runner/karma/commit/4b5e094))
+* **test:** locale in Expire header ([db04cf0](https://github.com/karma-runner/karma/commit/db04cf0)), closes [#1741](https://github.com/karma-runner/karma/issues/1741)
+
+### Features
+
+* **proxy:** Allow proxies configuration to be an object ([ad94356](https://github.com/karma-runner/karma/commit/ad94356))
+* **proxy:** Allow to configure changeOrigin option of http-proxy ([ae05ea4](https://github.com/karma-runner/karma/commit/ae05ea4)), closes [#1729](https://github.com/karma-runner/karma/issues/1729)
+
+
+
+<a name="0.13.15"></a>
+## [0.13.15](https://github.com/karma-runner/karma/compare/v0.13.14...v0.13.15) (2015-11-03)
+
+
+### Bug Fixes
+
+* **eslint:** Fix formatting for the new ESLint 1.8.0 ([dc1bbab](https://github.com/karma-runner/karma/commit/dc1bbab))
+
+
+
+<a name="0.13.14"></a>
+## [0.13.14](https://github.com/karma-runner/karma/compare/v0.13.13...v0.13.14) (2015-10-22)
+
+
+### Bug Fixes
+
+* **client:** Revert back to old reloading detection ([f1c22d6](https://github.com/karma-runner/karma/commit/f1c22d6))
+* **client:** Wait for childwindow to load ([c1bb15a](https://github.com/karma-runner/karma/commit/c1bb15a))
+
+
+
+<a name="0.13.13"></a>
+## [0.13.13](https://github.com/karma-runner/karma/compare/v0.13.12...v0.13.13) (2015-10-22)
+
+
+### Bug Fixes
+
+* **client:** Wait for iframe to be loaded ([1631474](https://github.com/karma-runner/karma/commit/1631474)), closes [#1652](https://github.com/karma-runner/karma/issues/1652)
+
+
+<a name="0.13.12"></a>
+## [0.13.12](https://github.com/karma-runner/karma/compare/v0.13.11...v0.13.12) (2015-10-22)
+
+
+### Bug Fixes
+
+* **proxy:** Pass protocol in target object to enable https requests ([142db90](https://github.com/karma-runner/karma/commit/142db90))
+
+### Features
+
+* **launcher:** Add concurrency limit ([1741deb](https://github.com/karma-runner/karma/commit/1741deb)), closes [#1465](https://github.com/karma-runner/karma/issues/1465)
+
+
+
+<a name="0.13.11"></a>
+## 0.13.11 (2015-10-14)
+
+
+### Bug Fixes
+
+* **reporter:** preserve base/absolute word in error ([b3798df](https://github.com/karma-runner/karma/commit/b3798df))
+
+### Features
+
+* **config:** add restartOnFileChange option ([1082f35](https://github.com/karma-runner/karma/commit/1082f35))
+* **reporter:** Replace way-too-big memoizee with a trivial solution. ([d926fe3](https://github.com/karma-runner/karma/commit/d926fe3))
+* **web-server:** add support for custom headers in files served ([4301bea](https://github.com/karma-runner/karma/commit/4301bea))
+* **web-server:** allow injection of custom middleware. ([2e963c3](https://github.com/karma-runner/karma/commit/2e963c3)), closes [#1612](https://github.com/karma-runner/karma/issues/1612)
+
+
+
+<a name="0.13.10"></a>
+## 0.13.10 (2015-09-21)
+
+
+### Bug Fixes
+
+* **config:** Error when browers option isn't array ([b695460](https://github.com/karma-runner/karma/commit/b695460))
+
+### Features
+
+* **config:** Pass CLI arguments to `karma.config.js`. ([70cf903](https://github.com/karma-runner/karma/commit/70cf903)), closes [#1561](https://github.com/karma-runner/karma/issues/1561)
+
+
+
+<a name="0.13.9"></a>
+## 0.13.9 (2015-08-11)
+
+
+### Bug Fixes
+
+* **file-list:** refresh resolves before 'file_list_modified' event ([65f1eca](https://github.com/karma-runner/karma/commit/65f1eca)), closes [#1550](https://github.com/karma-runner/karma/issues/1550)
+* **reporter:** Enable sourcemaps for errors that without column # ([086a542](https://github.com/karma-runner/karma/commit/086a542))
+
+
+
+<a name="0.13.8"></a>
+## 0.13.8 (2015-08-06)
+
+
+### Bug Fixes
+
+* **middleware:** Inject `config.urlRoot`. ([569ca0e](https://github.com/karma-runner/karma/commit/569ca0e)), closes [#1516](https://github.com/karma-runner/karma/issues/1516)
+
+### Features
+
+* **static:** Support media queries ([94e7b50](https://github.com/karma-runner/karma/commit/94e7b50))
+* Add engine support for iojs@3. ([eb1c8d2](https://github.com/karma-runner/karma/commit/eb1c8d2))
+
+
+
+<a name="0.13.7"></a>
+## 0.13.7 (2015-08-05)
+
+
+### Bug Fixes
+
+* **file-list:** Use modified throttle instead of debounce ([cb2aafb](https://github.com/karma-runner/karma/commit/cb2aafb)), closes [#1545](https://github.com/karma-runner/karma/issues/1545)
+
+
+<a name="0.13.6"></a>
+## 0.13.6 (2015-08-05)
+
+
+### Bug Fixes
+
+* **client:** Use supported shim path. ([184f12e](https://github.com/karma-runner/karma/commit/184f12e))
+* **web-server:** Ensure `filesPromise` is always resolvable ([892fa89](https://github.com/karma-runner/karma/commit/892fa89)), closes [#1544](https://github.com/karma-runner/karma/issues/1544)
+
+
+
+<a name="0.13.5"></a>
+## 0.13.5 (2015-08-04)
+
+
+### Bug Fixes
+
+* **file-list:** Ensure autowatchDelay is working. ([655599a](https://github.com/karma-runner/karma/commit/655599a)), closes [#1520](https://github.com/karma-runner/karma/issues/1520)
+* **file-list:** use lodash find() ([3bd15a7](https://github.com/karma-runner/karma/commit/3bd15a7)), closes [#1533](https://github.com/karma-runner/karma/issues/1533)
+
+### Features
+
+* **web-server:** Allow running on https ([1696c78](https://github.com/karma-runner/karma/commit/1696c78))
+
+
+
+<a name="0.13.4"></a>
+## 0.13.4 (2015-08-04)
+
+
+### Bug Fixes
+
+* **client:** add ES5 shim ([14c30b7](https://github.com/karma-runner/karma/commit/14c30b7)), closes [#1529](https://github.com/karma-runner/karma/issues/1529)
+* **reporter:** Ensure errors use the source map. ([0407a22](https://github.com/karma-runner/karma/commit/0407a22)), closes [#1495](https://github.com/karma-runner/karma/issues/1495)
+* **runner:** Wait for file list refresh to finish before running ([94cddc0](https://github.com/karma-runner/karma/commit/94cddc0))
+* **server:** Update timers for limited execution environments ([9cfc1cd](https://github.com/karma-runner/karma/commit/9cfc1cd)), closes [#1519](https://github.com/karma-runner/karma/issues/1519)
+
+
+
+<a name"0.13.3"></a>
+### 0.13.3 (2015-07-22)
+
+
+#### Bug Fixes
+
+* restore backward compatibility for [email protected] ([648b357a](https://github.com/karma-runner/karma/commit/648b357a))
+
+
+#### Features
+
+* **preprocessor:** Capital letters in binary files extenstions ([1688689d](https://github.com/karma-runner/karma/commit/1688689d), closes [#1508](https://github.com/karma-runner/karma/issues/1508))
+
+
+<a name"0.13.2"></a>
+### 0.13.2 (2015-07-17)
+
+
+#### Features
+
+* **cli:** Better CLI args validation ([73d31c2c](https://github.com/karma-runner/karma/commit/73d31c2c))
+* **preprocessor:** Instantiate preprocessors early to avoid race conditions ([8a9c8c73](https://github.com/karma-runner/karma/commit/8a9c8c73))
+* **server:** Add public api to force a file list refresh. ([b3c462a5](https://github.com/karma-runner/karma/commit/b3c462a5))
+
+
+<a name"0.13.1"></a>
+### 0.13.1 (2015-07-16)
+
+
+#### Bug Fixes
+
+* **file-list:**
+ * Ensure files are sorted and unique ([9dc5f8bc](https://github.com/karma-runner/karma/commit/9dc5f8bc), closes [#1498](https://github.com/karma-runner/karma/issues/1498), [#1499](https://github.com/karma-runner/karma/issues/1499))
+ * Normalize glob patterns ([fb841a79](https://github.com/karma-runner/karma/commit/fb841a79), closes [#1494](https://github.com/karma-runner/karma/issues/1494))
+
+
+<a name"0.13.0"></a>
+## 0.13.0 (2015-07-15)
+
+
+#### Bug Fixes
+
+* upgrade http-proxy module for bug fixes ([09c75fe1](https://github.com/karma-runner/karma/commit/09c75fe1))
+* **cli:** print UserAgent string verbatim if from an unknown browser ([9d972263](https://github.com/karma-runner/karma/commit/9d972263))
+* **client:**
+ * serialise DOM objects ([1f73be4f](https://github.com/karma-runner/karma/commit/1f73be4f), closes [#1106](https://github.com/karma-runner/karma/issues/1106))
+ * Update location detection for socket.io ([7a23fa57](https://github.com/karma-runner/karma/commit/7a23fa57))
+* **deps:** Upgrade connect 3. ([b490985c](https://github.com/karma-runner/karma/commit/b490985c))
+* **file-list:** Use correct find function ([4cfaae96](https://github.com/karma-runner/karma/commit/4cfaae96))
+* **helper:** Ensure browser detection is handled in the unkown case ([9328f67e](https://github.com/karma-runner/karma/commit/9328f67e))
+* **launchers:** Listen to the correct error event. ([45a69221](https://github.com/karma-runner/karma/commit/45a69221))
+* **web-server:** Correctly update filesPromise on files updated ([32eec8d7](https://github.com/karma-runner/karma/commit/32eec8d7))
+
+
+#### Features
+
+* Upgrade to socket.io 1.3 ([603872c9](https://github.com/karma-runner/karma/commit/603872c9), closes [#1220](https://github.com/karma-runner/karma/issues/1220))
+* allow frameworks to add preprocessors This changes the order in which things are ([f6f5eec3](https://github.com/karma-runner/karma/commit/f6f5eec3))
+* **config:** add nocache option for file patterns ([6ef7e7b1](https://github.com/karma-runner/karma/commit/6ef7e7b1))
+* **file-list:** Use glob.sync for better speed ([1b65cde4](https://github.com/karma-runner/karma/commit/1b65cde4))
+* **logger:**
+ * Add date/time stamp to log output ([a4b5cdde](https://github.com/karma-runner/karma/commit/a4b5cdde))
+* **reporter:** cache SourceMapConsumer ([fe6ed7e5](https://github.com/karma-runner/karma/commit/fe6ed7e5))
+* **runner:**
+ * serve context in JSON format for JS-only environments ([189feffd](https://github.com/karma-runner/karma/commit/189feffd))
+ * provide error code on 'ECONNREFUSED' callback ([439bddb1](https://github.com/karma-runner/karma/commit/439bddb1))
+* **server:** improve public api ([82cbbadd](https://github.com/karma-runner/karma/commit/82cbbadd), closes [#1037](https://github.com/karma-runner/karma/issues/1037), [#1482](https://github.com/karma-runner/karma/issues/1482), [#1467](https://github.com/karma-runner/karma/issues/1467))
+* **watcher:** Allow using braces in watcher ([e046379b](https://github.com/karma-runner/karma/commit/e046379b), closes [#1249](https://github.com/karma-runner/karma/issues/1249))
+* **web-server:** Serve all files under urlRoot ([1319b32d](https://github.com/karma-runner/karma/commit/1319b32d))
+
+
+#### Breaking Changes
+
+* The public api interface has changed to a constructor form. To upgrade change
+
+ ```javascript
+ var server = require(‘karma’).server
+ server.start(config, done)
+ ```
+
+ to
+
+ ```javascript
+ var Server = require(‘karma’).Server
+ var server = new Server(config, done)
+ server.start()
+ ```
+
+ Closes #1037, #1482, #1467
+ ([82cbbadd](https://github.com/karma-runner/karma/commit/82cbbadd))
+
+
+
+<a name"0.12.37"></a>
+### 0.12.37 (2015-06-24)
+
+
+#### Bug Fixes
+
+* **file_list:** follow symlinks ([ee267483](https://github.com/karma-runner/karma/commit/ee267483))
+* **init:** Make the requirejs config template normalize paths ([54dcce31](https://github.com/karma-runner/karma/commit/54dcce31))
+* **middleware:** Actually serve the favicon. ([f12db639](https://github.com/karma-runner/karma/commit/f12db639))
+
+
+<a name"0.12.36"></a>
+### 0.12.36 (2015-06-04)
+
+
+#### Bug Fixes
+
+* **launcher:** Continue with exit when SIGKILL fails ([1eaccb4c](https://github.com/karma-runner/karma/commit/1eaccb4c))
+* **preprocessor:** Lookup patterns once invoked ([00a27813](https://github.com/karma-runner/karma/commit/00a27813), closes [#1340](https://github.com/karma-runner/karma/issues/1340))
+
+
+<a name"0.12.35"></a>
+### 0.12.35 (2015-05-29)
+
+
+#### Bug Fixes
+
+* **server:** Start webserver and browsers after preprocessing completed ([e0d2d239](https://github.com/karma-runner/karma/commit/e0d2d239))
+
+
+<a name"0.12.34"></a>
+### 0.12.34 (2015-05-29)
+
+
+#### Bug Fixes
+
+* **cli:** Use `bin` field in package.json ([6823926f](https://github.com/karma-runner/karma/commit/6823926f), closes [#1351](https://github.com/karma-runner/karma/issues/1351))
+* **client:** dynamic protocol for socket.io ([c986eefe](https://github.com/karma-runner/karma/commit/c986eefe), closes [#1400](https://github.com/karma-runner/karma/issues/1400))
+* **deps:** Update dependencies ([b9a4ce98](https://github.com/karma-runner/karma/commit/b9a4ce98))
+
+
+#### Features
+
+* **runner:** Use favicon in static runner pages ([6cded4f8](https://github.com/karma-runner/karma/commit/6cded4f8))
+
+
+<a name"0.12.33"></a>
+### 0.12.33 (2015-05-26)
+
+
+#### Bug Fixes
+
+* catch exceptions from SourceMapConsumer ([5d42e643](https://github.com/karma-runner/karma/commit/5d42e643))
+* Safeguard IE against console.log ([0b5ff8f6](https://github.com/karma-runner/karma/commit/0b5ff8f6), closes [#1209](https://github.com/karma-runner/karma/issues/1209))
+* **config:** Default remaining client options if any are set ([632dd5e3](https://github.com/karma-runner/karma/commit/632dd5e3), closes [#961](https://github.com/karma-runner/karma/issues/961))
+* **init:** fix test-main.(js/coffee) generation ([d8521ef4](https://github.com/karma-runner/karma/commit/d8521ef4), closes [#1120](https://github.com/karma-runner/karma/issues/1120), [#896](https://github.com/karma-runner/karma/issues/896))
+
+
+<a name="0.12.31"></a>
+### 0.12.31 (2015-01-02)
+
+
+#### Bug Fixes
+
+* **client:** Fix stringify serializing objects ([0d0972a5](http://github.com/karma-runner/karma/commit/0d0972a59e6e0354033c9fdfec72d5ddfbfe8e1e))
+
+
+<a name="0.12.30"></a>
+### 0.12.30 (2014-12-30)
+
+
+#### Bug Fixes
+
+* **socket.io:** Force 0.9.16 which works with Chrome ([840ee5f7](http://github.com/karma-runner/karma/commit/840ee5f771d547f0fd140c3728ecb92edadf835e))
+
+
+<a name="0.12.29"></a>
+### 0.12.29 (2014-12-30)
+
+
+#### Bug Fixes
+
+* **proxy:** proxy to correct port ([a483636e](http://github.com/karma-runner/karma/commit/a483636efd440c13e6db36f6b661861558464089))
+* **watcher:** Close file watchers on exit event ([71810257](http://github.com/karma-runner/karma/commit/718102572a13d7e70d1f2c0b48b6b60a766b76b2))
+
+
+<a name="0.12.28"></a>
+### 0.12.28 (2014-11-25)
+
+
+#### Bug Fixes
+
+* **server:** complete acknowledgment ([f4144b0d](http://github.com/karma-runner/karma/commit/f4144b0d2d5eafff7245301454305d2005e46449))
+
+
+<a name="0.12.27"></a>
+### 0.12.27 (2014-11-25)
+
+
+#### Bug Fixes
+
+* **browser:** don't add already active socket again on reconnect ([37a7958a](http://github.com/karma-runner/karma/commit/37a7958ae5517b8bf16e36cc90fe0b1cf0c09afd))
+* **reporter:** sourcemap not working in windows ([a9516af2](http://github.com/karma-runner/karma/commit/a9516af2af87953154e81b6080214798a9b64da5))
+
+
+<a name="0.12.26"></a>
+### 0.12.26 (2014-11-25)
+
+
+#### Bug Fixes
+
+* **cli:** override if an arg is defined multiple times ([31eb2c2c](http://github.com/karma-runner/karma/commit/31eb2c2c3ca1663eff94f0398768a9b582332a93), closes [#1192](http://github.com/karma-runner/karma/issues/1192))
+
+
+<a name="0.12.25"></a>
+### 0.12.25 (2014-11-14)
+
+
+#### Bug Fixes
+
+* add emscripten memory image as binary suffix ([f6b2b561](http://github.com/karma-runner/karma/commit/f6b2b561c5d5e083cd204df9564024cac163b611))
+* Wrap url.parse to always return an object for query property ([72452e9f](http://github.com/karma-runner/karma/commit/72452e9fce4c42dc843c1157c19c08d39e3996df), closes [#1182](http://github.com/karma-runner/karma/issues/1182))
+* **client.html:** always open debug.html in a new browser process ([d176bcf4](http://github.com/karma-runner/karma/commit/d176bcf47e9b3a7df8c6ae691f767f1012214c53))
+* **preprocessor:** calculate sha1 on content returned from a preprocessor ([6cf79557](http://github.com/karma-runner/karma/commit/6cf795576bd6d77decac68ecc4838871b6df4836), closes [#1204](http://github.com/karma-runner/karma/issues/1204))
+* **runner:** Fix typo in CSS class name for .idle ([fc5a7ce0](http://github.com/karma-runner/karma/commit/fc5a7ce0904a78ece6a9cfa29215b17bd5c1929d))
+
+
+<a name="v0.12.24"></a>
+### v0.12.24 (2014-09-30)
+
+
+#### Bug Fixes
+
+* Wrap url.parse to always return an object for query property ([72452e9f](http://github.com/karma-runner/karma/commit/72452e9fce4c42dc843c1157c19c08d39e3996df), closes [#1182](http://github.com/karma-runner/karma/issues/1182))
+
+<a name="0.12.23"></a>
+### 0.12.23 (2014-08-28)
+
+
+#### Bug Fixes
+
+* **file_list:** Incorrect response after remove and add file ([0dbc0201](http://github.com/karma-runner/karma/commit/0dbc0201b2d1f7c909f74816cc50bc68013fc70f))
+* **preprocessor:** Throw error if can't open file ([bb4edde9](http://github.com/karma-runner/karma/commit/bb4edde9f15a07e6dac0d4dc01731f1e277d34a4))
+
+
+#### Features
+
+* **init:** install coffee-script automatically ([e876db63](http://github.com/karma-runner/karma/commit/e876db63dc5c4708345f5cdc335195fe4a5b8808), closes [#1152](http://github.com/karma-runner/karma/issues/1152))
+
+
+<a name="0.12.22"></a>
+### 0.12.22 (2014-08-19)
+
+
+#### Bug Fixes
+
+* **preprocessor:** treat *.tgz, *.tbz2, *.txz & *.xz as binary ([7b642449](http://github.com/karma-runner/karma/commit/7b642449811b0c0af63147f74159c6dbb8900563))
+
+
+<a name="0.12.21"></a>
+### 0.12.21 (2014-08-05)
+
+
+#### Bug Fixes
+
+* **web-server:** cache static files ([eb5bd53f](http://github.com/karma-runner/karma/commit/eb5bd53ff0b6dc01e247fce9af01d0ed97d8c9ba))
+
+
+<a name="0.12.20"></a>
+### 0.12.20 (2014-08-05)
+
+
+#### Bug Fixes
+
+* **config:** #1113 Watching is not working properly on linux ([c91ffbc0](http://github.com/karma-runner/karma/commit/c91ffbc05f78f2c17dcc43039300cdf045e64ccc), closes [#1113](http://github.com/karma-runner/karma/issues/1113))
+* **preprocessor:**
+ * treat *.gz files as binary ([1b56932f](http://github.com/karma-runner/karma/commit/1b56932fb49e0f3793f00599e11c24f6254236f4))
+ * treat *.swf files as binary ([62d7d387](http://github.com/karma-runner/karma/commit/62d7d3873ed3e046ab24530cb20297ddad51cf85))
+
+
+<a name="0.12.19"></a>
+### 0.12.19 (2014-07-26)
+
+
+#### Bug Fixes
+
+* **proxy:** More useful proxyError log message ([96640a75](http://github.com/karma-runner/karma/commit/96640a75dab089255c0619733ca9d5f9fe80127d))
+
+
+<a name="0.12.18"></a>
+### 0.12.18 (2014-07-25)
+
+
+#### Bug Fixes
+
+* **watcher:** handle paths on Windows ([6164d869](http://github.com/karma-runner/karma/commit/6164d8699c0f07fd8fcbae88221eb35d99fb02e4))
+
+
+<a name="0.12.17"></a>
+### 0.12.17 (2014-07-11)
+
+
+#### Bug Fixes
+
+* **logging:** Summarize SKIPPED tests in debug.html. Before: hundreds of SKIPPING lines in con ([a01100f5](http://github.com/karma-runner/karma/commit/a01100f5c6404366dd4219b9bf6c3161300dc735), closes [#1111](http://github.com/karma-runner/karma/issues/1111))
+* **server:** Force clients disconnect on Windows ([28239f42](http://github.com/karma-runner/karma/commit/28239f420460bdb9dd3b71f8088a0dfc1277dca6), closes [#1109](http://github.com/karma-runner/karma/issues/1109))
+* **travis_ci:** converted node versions as string ([25ee6fc9](http://github.com/karma-runner/karma/commit/25ee6fc9c57e11a012ecc3910fcb72386a3403a1))
+
+
+#### Features
+
+* serve ePub as binary files ([82ed0c6e](http://github.com/karma-runner/karma/commit/82ed0c6e94e77757270e6694f7082eac5ef5e066))
+* **preprocessor:** add 'mp3' and 'ogg' as binary formats to avoid media corruption in the browser. ([65a0767e](http://github.com/karma-runner/karma/commit/65a0767e8024879e3a5c4557f376d8b6684530e8))
+
+
+<a name="v0.12.16"></a>
+### v0.12.16 (2014-05-10)
+
+
+#### Bug Fixes
+
+* **launcher:** cancel kill timeout when process exits cleanly ([bd662744](http://github.com/karma-runner/karma/commit/bd662744bfbe353ccb63c7a795f691d12530129c), closes [#946](http://github.com/karma-runner/karma/issues/946))
+
+<a name="v0.12.15"></a>
+### v0.12.15 (2014-05-08)
+
+
+#### Bug Fixes
+
+* **server:** don't wait for socket.io store expiration timeout ([cd30a422](http://github.com/karma-runner/karma/commit/cd30a422fbc3d9d96b9aae791063a20d02a5f195))
+
+<a name="v0.12.14"></a>
+### v0.12.14 (2014-04-27)
+
+
+#### Bug Fixes
+
+* **debug.html:** Added whitespace after 'SKIPPED' ([218ee859](http://github.com/karma-runner/karma/commit/218ee859d8c8f1c7d2f47435548030f367f1e05d))
+
+<a name="v0.12.13"></a>
+### v0.12.13 (2014-04-27)
+
+
+#### Bug Fixes
+
+* **preprocessor:** serve NaCl binaries ([1cc6a1e3](http://github.com/karma-runner/karma/commit/1cc6a1e34b24768bffdaf47fb5e36559f5dc5135))
+
+<a name="v0.12.12"></a>
+### v0.12.12 (2014-04-25)
+
+
+#### Bug Fixes
+
+* **server:** properly close flash transport ([de89cd33](http://github.com/karma-runner/karma/commit/de89cd33b772d373569d2db2e9066c6656016aa3))
+
+<a name="v0.12.11"></a>
+### v0.12.11 (2014-04-25)
+
+
+#### Bug Fixes
+
+* **preprocessor:** remove ts from binary extensions ([82698523](http://github.com/karma-runner/karma/commit/8269852304d2d420bb25a0e4bb13bba58a339f39))
+
+<a name="v0.12.10"></a>
+### v0.12.10 (2014-04-23)
+
+
+#### Bug Fixes
+
+* **server:** clear web server close timeout on clean close ([34123fed](http://github.com/karma-runner/karma/commit/34123fed2fbe99b3a9a39ad5e0a141d55decb9f6))
+
+<a name="v0.12.9"></a>
+### v0.12.9 (2014-04-14)
+
+
+#### Bug Fixes
+
+* **web-server:** strip scheme, host and port ([06a0da09](http://github.com/karma-runner/karma/commit/06a0da09320340a988513285046b577b4a7518fd))
+
+<a name="v0.12.8"></a>
+### v0.12.8 (2014-04-14)
+
+
+#### Bug Fixes
+
+* **web-server:** inline the config, when serving debug.html ([1eb36430](http://github.com/karma-runner/karma/commit/1eb36430ca26a769cd8fd2ab5a471aecb31cad9f))
+
+<a name="v0.12.7"></a>
+### v0.12.7 (2014-04-14)
+
+
+#### Bug Fixes
+
+* don't crash/terminate upon errors within chokidar ([2c389311](http://github.com/karma-runner/karma/commit/2c389311ce683646675adccf5a7b7b3160335148))
+* **preprocessor:** consider SVG files as text files, not binary files ([ff288036](http://github.com/karma-runner/karma/commit/ff2880369f0c4e8b78d95bb20365cead340f8fc9), closes [#1026](http://github.com/karma-runner/karma/issues/1026))
+
+<a name="v0.12.6"></a>
+### v0.12.6 (2014-04-09)
+
+<a name="v0.12.5"></a>
+### v0.12.5 (2014-04-08)
+
+
+#### Bug Fixes
+
+* **reporters:** format fix for console log ([d2d1377d](http://github.com/karma-runner/karma/commit/d2d1377d1be0da17196a1c82bf5584997d502b68), closes [#934](http://github.com/karma-runner/karma/issues/934))
+
+<a name="v0.12.4"></a>
+### v0.12.4 (2014-04-06)
+
+
+#### Bug Fixes
+
+* **init:** Fix type in init text ([e34465b0](http://github.com/karma-runner/karma/commit/e34465b01cc583cac9645acc98d20acbf471c856), closes [#954](http://github.com/karma-runner/karma/issues/954))
+
+<a name="v0.12.3"></a>
+### v0.12.3 (2014-04-01)
+
+
+#### Bug Fixes
+
+* **web-server:** implement a timeout on webServer.close() ([fe3dca78](http://github.com/karma-runner/karma/commit/fe3dca781def0a5f813e598fe73eb97b3f55d223), closes [#952](http://github.com/karma-runner/karma/issues/952))
+
+
+#### Features
+
+* **web-server:** run karma using multiple emulation modes, #631 ([b9a2930a](http://github.com/karma-runner/karma/commit/b9a2930a7fead5f29eb5f62b1a87739c4cf2e04b), closes [#936](http://github.com/karma-runner/karma/issues/936))
+
+<a name="v0.12.2"></a>
+### v0.12.2 (2014-03-30)
+
+<a name="v0.12.1"></a>
+### v0.12.1 (2014-03-16)
+
+
+#### Features
+
+* **preprocessor:** Adding the `dat` file extension as a recognised binary. ([be923571](http://github.com/karma-runner/karma/commit/be923571751199e0d795f620425fdf6eaf3f9818))
+
+<a name="v0.12.0"></a>
+## v0.12.0 (2014-03-10)
+
+
+#### Bug Fixes
+
+* serving binary files ([8a30cf55](http://github.com/karma-runner/karma/commit/8a30cf55751bbaec672597f4f0ed66fe8742095f), closes [#864](http://github.com/karma-runner/karma/issues/864), [#885](http://github.com/karma-runner/karma/issues/885))
+* **config:**
+ * fail if client.args is set to a non array ([fe4eaec0](http://github.com/karma-runner/karma/commit/fe4eaec09f1b7d34270dec7f948cd9441ef6fe48))
+ * allow CoffeeScript 1.7 to be used ([a1583dec](http://github.com/karma-runner/karma/commit/a1583decd97438a241f99287159da2948eb3a95f))
+* **runner:** Karma hangs when file paths have \u in them #924 ([1199fc4d](http://github.com/karma-runner/karma/commit/1199fc4d7ee7be2d48a707876ddb857544cf2fb4), closes [#924](http://github.com/karma-runner/karma/issues/924))
+* **web-server:**
+ * detach listeners after running ([3baa8e19](http://github.com/karma-runner/karma/commit/3baa8e1979003e4136e48515c0ba1815a950ca19))
+ * close webserver after running ([f9dee468](http://github.com/karma-runner/karma/commit/f9dee4681cad716b56748e275680fb09e574978c))
+
+
+#### Features
+
+* remove dependency on coffee-script ([af2d0e72](http://github.com/karma-runner/karma/commit/af2d0e72599d242c59ebefd6c3c965bf8496399e))
+* **config:** better error when Coffee/Live Script not installed ([aca84dc9](http://github.com/karma-runner/karma/commit/aca84dc9c6f4a966280bfcd080317c7c9d498f53))
+* **init:** generate test-main.(js/coffee) for RequireJS projects ([85900c93](http://github.com/karma-runner/karma/commit/85900c93f070264d71fdae6c257285767119c5c2))
+
+<a name="v0.11.14"></a>
+### v0.11.14 (2014-02-04)
+
+
+#### Features
+
+* **preprocessor:** allow preprocessor to cancel test run ([4d669bf3](http://github.com/karma-runner/karma/commit/4d669bf36b091e8808c9a280900fe19c8b2a72cc), closes [#550](http://github.com/karma-runner/karma/issues/550))
+* **reporter:** use spaces rather than tabs when formatting errors ([112becf7](http://github.com/karma-runner/karma/commit/112becf7ffa79d2519777300be0beff568114fe6))
+* **web-server:** include html files as <link rel="import"> ([03d7b106](http://github.com/karma-runner/karma/commit/03d7b1065e31e6a42e67a0eb3e22009731865648))
+
+<a name="v0.11.13"></a>
+### v0.11.13 (2014-01-19)
+
+
+#### Bug Fixes
+
+* **launcher:** compatibility with old launchers ([df557cec](http://github.com/karma-runner/karma/commit/df557cec8093de301a8d7dea4ddca8670629c0af))
+
+
+#### Features
+
+* support LiveScript configuration ([88deebe7](http://github.com/karma-runner/karma/commit/88deebe74a0b6f01e23f3ceefea5811183218600))
+
+<a name="v0.11.12"></a>
+### v0.11.12 (2013-12-25)
+
+
+#### Bug Fixes
+
+* **client:** show error if an adapter is removed ([a8b250cf](http://github.com/karma-runner/karma/commit/a8b250cf6a89cf064f67ecb1e2c040cc224d91e9))
+
+
+#### Features
+
+* **deps:** update all deps ([355a762c](http://github.com/karma-runner/karma/commit/355a762c0fd709261ff1403213bb10db6aa0a396), closes [#794](http://github.com/karma-runner/karma/issues/794))
+* **reporter:** support source maps (rewrite stack traces) ([70e4abd9](http://github.com/karma-runner/karma/commit/70e4abd9b8db6b05de557ca6e9204339a21be06b), closes [#594](http://github.com/karma-runner/karma/issues/594))
+* **watcher:** use polling on Mac ([66f50d7e](http://github.com/karma-runner/karma/commit/66f50d7e584d4cbde820e70746be3f3378440fa8))
+
+<a name="v0.11.11"></a>
+### v0.11.11 (2013-12-23)
+
+
+#### Bug Fixes
+
+* **events:** resolve async events without any listener ([4e4bba88](http://github.com/karma-runner/karma/commit/4e4bba8803d1e4f461e568cc2e2ccf82e369721d))
+* **launcher:**
+ * compatibility with Node v0.8 ([6a46be96](http://github.com/karma-runner/karma/commit/6a46be96499876e9aa0892325d783627bd1c535d))
+ * compatibility with old launchers ([ffb74800](http://github.com/karma-runner/karma/commit/ffb74800638417910f453e108c8a4c6ffabaee29))
+
+<a name="v0.11.10"></a>
+### v0.11.10 (2013-12-22)
+
+
+#### Bug Fixes
+
+* **completion:** add missin --log-level for karma init ([1e79eb55](http://github.com/karma-runner/karma/commit/1e79eb553e40530adef36b30b35a79f7a8026ddf))
+* **init:** clean the terminal if killed ([e2aa7497](http://github.com/karma-runner/karma/commit/e2aa74972ce84388a49090533e353b61bd9b16ed))
+
+
+#### Features
+
+* revert default usePolling to false ([e88fbc24](http://github.com/karma-runner/karma/commit/e88fbc24dd34e7976cae2547bad07e6f044a768b))
+* **config:**
+ * remove default preprocessors (coffee, html2js) ([ada74d55](http://github.com/karma-runner/karma/commit/ada74d55aaf02882a5e12031838404e9ade07d36))
+ * Add the abillity to supress the client console. This adds the client config opti ([4734962d](http://github.com/karma-runner/karma/commit/4734962de747c2a8eab5c8078954bd567e4b4410), closes [#744](http://github.com/karma-runner/karma/issues/744))
+ * set default host/port from env vars ([0a6a0ee4](http://github.com/karma-runner/karma/commit/0a6a0ee4dd443250521d7898ab3086e7fc4f3afc))
+ * Allow tests be to run in a new window instead of iframe ([471e3a8a](http://github.com/karma-runner/karma/commit/471e3a8a506836ba9711637d325c680cfbfff64f))
+* **init:**
+ * install karma-coffee-preprocessor ([29f5cf2d](http://github.com/karma-runner/karma/commit/29f5cf2d4b8c16a49d8528e02f781ef394e19191))
+ * add nodeunit, nunit frameworks ([b4da1a08](http://github.com/karma-runner/karma/commit/b4da1a08b98414e903440d6ec2df7e94b48daea8))
+ * install missing plugins (frameworks, launchers) ([1ba70a6f](http://github.com/karma-runner/karma/commit/1ba70a6fa673fbbb0c1750c777974662989dbf67))
+* **launcher:** log how long it took each browser to capture ([8dd54369](http://github.com/karma-runner/karma/commit/8dd54369f2ec3377ca1cf2d9c3cdacdc80a1331a))
+
+
+#### Breaking Changes
+
+* Karma does not ship with any plugin. You need to explicitly install all the plugins you need. `karma init` can help with this.
+
+Removed plugins that need to be installed explicitly are:
+
+* karma-jasmine
+* karma-requirejs
+* karma-coffee-preprocessor
+* karma-html2js-preprocessor
+* karma-chrome-launcher
+* karma-firefox-launcher
+* karma-phantomjs-launcher
+* karma-script-launcher ([e033d561](http://github.com/karma-runner/karma/commit/e033d5618a98e1f83323bb650e0eaf89c339e5b5))
+
+<a name="v0.11.9"></a>
+### v0.11.9 (2013-12-03)
+
+
+#### Features
+
+* **browser:** add browserNoActivity configuration ([bca8faad](http://github.com/karma-runner/karma/commit/bca8faad91b91baa898e3eba74fe0fa7336971c3))
+
+<a name="v0.11.8"></a>
+### v0.11.8 (2013-12-03)
+
+
+#### Bug Fixes
+
+* **reporter:** remove SHAs from stack traces ([d7c31f97](http://github.com/karma-runner/karma/commit/d7c31f97be654f08d484563282a68d59638c5693))
+* **web-server:** correct caching headers for SHAs ([bf27e80b](http://github.com/karma-runner/karma/commit/bf27e80bb8ff3e60d19b408803596145c821bae7))
+
+
+#### Features
+
+* **web-server:** disable gzip compression ([5ee886bc](http://github.com/karma-runner/karma/commit/5ee886bc16fc5a2bd08101d351027345530f87df))
+
+<a name="v0.11.7"></a>
+### v0.11.7 (2013-12-02)
+
+
+#### Bug Fixes
+
+* keep all sockets in the case an old socket will survive ([a5945ebc](http://github.com/karma-runner/karma/commit/a5945ebcf11c4b17b99c40b78d7e2946f79c77c2))
+* reuse browser instance when restarting disconnected browser ([1f1a8ebf](http://github.com/karma-runner/karma/commit/1f1a8ebf38827fe772c631de200fdfa4a705a40b))
+* **client:** redirect to redirect_url after all messages are sent ([4d05602c](http://github.com/karma-runner/karma/commit/4d05602c803a6645d6c0e9404a60ed380f0329ee))
+
+
+#### Features
+
+* **plugins:** ignore some non-plugins package names ([01776030](http://github.com/karma-runner/karma/commit/01776030a294ef051b6454c2fb9bc3f980a6d36a))
+
+<a name="v0.11.6"></a>
+### v0.11.6 (2013-12-01)
+
+
+#### Bug Fixes
+
+* **config:**
+ * ignore empty string patterns ([66c86a66](http://github.com/karma-runner/karma/commit/66c86a6689aaac82006fa47762bd86496ad76bf7))
+ * apply CLI logger options as soon as we can ([16179b08](http://github.com/karma-runner/karma/commit/16179b08021334cfab02a9dcba8d7f4bd219bc5e))
+* **preprocess:** set correct extension for the preprocessed path ([c9a64d2f](http://github.com/karma-runner/karma/commit/c9a64d2f1a94c0a7dab2fcde79696c139d958c57), closes [#843](http://github.com/karma-runner/karma/issues/843))
+
+
+#### Features
+
+* add `browserDisconnectTolerance` config option ([19590e1f](http://github.com/karma-runner/karma/commit/19590e1f66fd6c3b0d3fc9e90000c705198e0e70))
+* make autoWatch true by default ([8454898c](http://github.com/karma-runner/karma/commit/8454898c5e2b56cb81f0c808153b5f82cfac62a4))
+* **browser:** improve logging ([71b542ad](http://github.com/karma-runner/karma/commit/71b542adc6d6bd24d0ab2bb5cb0a473e1813804a))
+* **client:** show error if no adapter is included ([7213877f](http://github.com/karma-runner/karma/commit/7213877f3542a4c65d91d2dbde6633b928aba049))
+* **web-server:**
+ * use SHA hash instead of timestamps ([6e31cb24](http://github.com/karma-runner/karma/commit/6e31cb249ee5b32d91f37ea516ca0f84bddc5aa9), closes [#520](http://github.com/karma-runner/karma/issues/520))
+ * cache preprocessed files ([c786ee2e](http://github.com/karma-runner/karma/commit/c786ee2ea19d2fcef078a30cecb70d69036a4803))
+
+
+#### Breaking Changes
+
+* `autoWatch` is `true` by default. If you rely on the default value being `false`, please set it in `karma.conf.js` explicitly to `false`.
+ ([8454898c](http://github.com/karma-runner/karma/commit/8454898c5e2b56cb81f0c808153b5f82cfac62a4))
+
+<a name="v0.11.5"></a>
+### v0.11.5 (2013-11-25)
+
+
+#### Bug Fixes
+
+* do not execute already executing browsers ([00136cf6](http://github.com/karma-runner/karma/commit/00136cf6d818b9bc6e4d77504e3ce1ed3d23d611))
+
+
+#### Features
+
+* **launcher:** send SIGKILL if SIGINT does not kill the browser ([c0fa49aa](http://github.com/karma-runner/karma/commit/c0fa49aa7c56f14a3836986e8629411a72515a78))
+
+<a name="v0.11.4"></a>
+### v0.11.4 (2013-11-21)
+
+
+#### Bug Fixes
+
+* **browser:** reply "start" event ([4fde43de](http://github.com/karma-runner/karma/commit/4fde43deee22b53fcca52132c51c27f4012d2933))
+
+<a name="v0.11.3"></a>
+### v0.11.3 (2013-11-20)
+
+
+#### Bug Fixes
+
+* **config:** not append empty module if no custom launcher/rep/prep ([ee15a4e4](http://github.com/karma-runner/karma/commit/ee15a4e446e9f35949a2fdde7cbdbecdd7ca0750))
+* **watcher:** allow parentheses in a pattern ([438eb8dd](http://github.com/karma-runner/karma/commit/438eb8ddbc0b82cd5ab299f6f27f5ae3cc29a20f), closes [#728](http://github.com/karma-runner/karma/issues/728))
+
+
+#### Features
+
+* remove `karma` binary in favor of karma-cli ([c7d46270](http://github.com/karma-runner/karma/commit/c7d46270aca83ecfe78f69fa923bc574c0b5bfdc))
+* **config:** log if no config file is specified ([ce4c5646](http://github.com/karma-runner/karma/commit/ce4c5646dfff7bd40abfd1f9e51dc4f5b779bf4a))
+
+
+#### Breaking Changes
+
+* The `karma` module does not export `karma` binary anymore. The recommended way is to have local modules (karma and all the plugins that your project needs) stored in your `package.json`. You can run that particular Karma by `./node_modules/karma/bin/karma`. Or you can have `karma-cli` installed globally on your system, which enables you to use the `karma` command.
+
+The global `karma` command (installed by `karma-cli`) does look for local version of Karma (including parent directories) first and fall backs to a global one.
+
+The `bin/karma` binary does not look for any other instances of Karma and just runs the one that it belongs to.
+
+
+ ([c7d46270](http://github.com/karma-runner/karma/commit/c7d46270aca83ecfe78f69fa923bc574c0b5bfdc))
+
+<a name="v0.11.2"></a>
+### v0.11.2 (2013-11-03)
+
+
+#### Bug Fixes
+
+* **config:** use polling by default ([53978c42](http://github.com/karma-runner/karma/commit/53978c42f10088fb29d09597817c5dde58aeb32b))
+* **proxy:** handle proxied socket.io websocket transport upgrade ([fcc2a98f](http://github.com/karma-runner/karma/commit/fcc2a98f6af5f71a929130825b18db56557f29f7))
+
+<a name="v0.11.1"></a>
+### v0.11.1 (2013-10-25)
+
+
+#### Bug Fixes
+
+* launcher kill method which was throwing an error if no callback was specified bu ([5439f1cb](http://github.com/karma-runner/karma/commit/5439f1cbbdce9de0c2193171f75798587221e257))
+* **static:** Use full height for the iFrame. Fix based on PR #714. ([f95daf3c](http://github.com/karma-runner/karma/commit/f95daf3ce0af11b3c58dc09ef852ef0378b484fd))
+* **watcher:**
+ * ignore double "add" events ([6cbaac7a](http://github.com/karma-runner/karma/commit/6cbaac7aba0534c9a7688f6953c61505fcd1289c))
+ * improve watching efficiency ([6a272aa5](http://github.com/karma-runner/karma/commit/6a272aa5763eb0c728b76adc3b12bb12abc1aaca), closes [#616](http://github.com/karma-runner/karma/issues/616))
+
+
+#### Features
+
+* redirect client to "return_url" if specified ([6af2c897](http://github.com/karma-runner/karma/commit/6af2c897f3b35060a146efdef7da597ba53d8cdd))
+* **config:** add usePolling config ([18514d63](http://github.com/karma-runner/karma/commit/18514d63534c82094b231eb1e0b0e41011519183))
+* **watcher:** ignore initial "add" events ([dde1da4c](http://github.com/karma-runner/karma/commit/dde1da4c78470fec3565920df418a3786fb57797))
+
+<a name="v0.11.0"></a>
+## v0.11.0 (2013-08-26)
+
+
+#### Bug Fixes
+
+* support reconnecting for manually captured browsers ([a8ac6d2d](http://github.com/karma-runner/karma/commit/a8ac6d2d86cad3898d21f019b6fc0a5a2b99cd00))
+* **reporter:** print browser stats immediately after it finishes ([65202d87](http://github.com/karma-runner/karma/commit/65202d870fa602e70483aeebbf87d0e11d6c1017))
+
+
+#### Features
+
+* don't wait for all browsers and start executing immediately ([8647266f](http://github.com/karma-runner/karma/commit/8647266fd592fe245aaf2be964319d3026432e33), closes [#57](http://github.com/karma-runner/karma/issues/57))
+
+<a name="v0.10.2"></a>
+### v0.10.2 (2013-08-21)
+
+
+#### Bug Fixes
+
+* don't mark a browser captured if already being killed/timeouted ([21230979](http://github.com/karma-runner/karma/commit/212309795861cf599dbcc0ed60fff612ccf25cf5), closes [#88](http://github.com/karma-runner/karma/issues/88))
+
+
+#### Features
+
+* sync page unload (disconnect) ([ac9b3f01](http://github.com/karma-runner/karma/commit/ac9b3f01e88ce2cf91fc86aca9cecfdb8177a6fa))
+* buffer result messages when polling ([c4ad6970](http://github.com/karma-runner/karma/commit/c4ad69709103110a066ae1d9652af69e42434c6b))
+* allow browser to reconnect during the test run ([cbe2851b](http://github.com/karma-runner/karma/commit/cbe2851baa55312f00be420e0345283b33326266), closes [#82](http://github.com/karma-runner/karma/issues/82), [#590](http://github.com/karma-runner/karma/issues/590))
+
+<a name="v0.10.1"></a>
+### v0.10.1 (2013-08-06)
+
+
+#### Bug Fixes
+
+* **cli:** Always pass an instance of fs to processArgs. ([06532b70](http://github.com/karma-runner/karma/commit/06532b7042371f270c227a1a7f859f2dab5afac1), closes [#677](http://github.com/karma-runner/karma/issues/677))
+* **init:** set default filename ([34d49b13](http://github.com/karma-runner/karma/commit/34d49b138f3bee8f17e1e9e343012d82887f906b), closes [#680](http://github.com/karma-runner/karma/issues/680), [#681](http://github.com/karma-runner/karma/issues/681))
+
+<a name="v0.10.0"></a>
+## v0.10.0 (2013-08-06)
+
+<a name="v0.9.8"></a>
+### v0.9.8 (2013-08-05)
+
+
+#### Bug Fixes
+
+* **init:** install plugin as dev dependency ([46b7a402](http://github.com/karma-runner/karma/commit/46b7a402fb8d700b10e2d72908c309d27212b5a0))
+* **runner:** do not confuse client args with the config file ([6f158aba](http://github.com/karma-runner/karma/commit/6f158abaf923dad6878a64da2d8a3c2c56ae604f))
+
+
+#### Features
+
+* **config:** default config can be karma.conf.js or karma.conf.coffee ([d4a06f29](http://github.com/karma-runner/karma/commit/d4a06f296c4d805f2dccd85b4898766593af4d66))
+* **runner:**
+ * support config files ([449e4a1a](http://github.com/karma-runner/karma/commit/449e4a1ad8b8543f84f1953c875cfbdf5692caa7), closes [#625](http://github.com/karma-runner/karma/issues/625))
+ * add --no-refresh to disable re-globbing ([b9c670ac](http://github.com/karma-runner/karma/commit/b9c670accbde8d027bdc3e09a4080c546b05853c))
+
+<a name="v0.9.7"></a>
+### v0.9.7 (2013-07-31)
+
+
+#### Bug Fixes
+
+* **init:** trim the inputs ([b72355cb](http://github.com/karma-runner/karma/commit/b72355cbeadc8e907e48bbd7d9a11e6de17343f7), closes [#663](http://github.com/karma-runner/karma/issues/663))
+* **web-server:** correct urlRegex in custom handlers ([a641c2c1](http://github.com/karma-runner/karma/commit/a641c2c1dd0f5f1e0045e7cff1516d2820a8204e))
+
+
+#### Features
+
+* basic bash/zsh completion ([9dc1cf6a](http://github.com/karma-runner/karma/commit/9dc1cf6a6e095653fed6c79c4896c71af8af1953))
+* **runner:** allow passing changed/added/removed files ([b598106d](http://github.com/karma-runner/karma/commit/b598106de1295f3e1e58338a8eca2b60f99175c3))
+* **watcher:** make the batching delay configurable ([fa139312](http://github.com/karma-runner/karma/commit/fa139312a0fff981f11182c17ba6979dccca1105))
+
+<a name="v0.9.6"></a>
+### v0.9.6 (2013-07-28)
+
+
+#### Features
+
+* pass command line opts through to browser ([00d63d0b](http://github.com/karma-runner/karma/commit/00d63d0b965a998b04d1917d4c4421abc24cec18))
+* **web-server:** compress responses (gzip/deflate) ([8e8a2d44](http://github.com/karma-runner/karma/commit/8e8a2d4418e7abef7dca42e58bf09c95b07687b2))
+
+
+#### Breaking Changes
+
+* `runnerPort` is merged with `port`
+if you are using `karma run` with custom `--runer-port`, please change that to `--port`.
+ ([ca4c4d88](http://github.com/karma-runner/karma/commit/ca4c4d88b9a4a1992f7975aa32b37a008394847b))
+
+<a name="v0.9.5"></a>
+### v0.9.5 (2013-07-21)
+
+
+#### Bug Fixes
+
+* detect a full page reload, show error and recover ([15d80f47](http://github.com/karma-runner/karma/commit/15d80f47a227839e9b0d54aeddf49b9aa9afe8aa), closes [#27](http://github.com/karma-runner/karma/issues/27))
+* better serialization in dump/console.log ([fd46365d](http://github.com/karma-runner/karma/commit/fd46365d1fd3a9bea15c04abeb7df33a3a2d96a4), closes [#640](http://github.com/karma-runner/karma/issues/640))
+* browsers_change event always has collection as arg ([42bf787f](http://github.com/karma-runner/karma/commit/42bf787f87304e6be23dd3dac893b3c3f77d6764))
+* **init:** generate config with the new syntax ([6b27fee5](http://github.com/karma-runner/karma/commit/6b27fee5a43a7d02e706355f62fe5105b4966c43))
+* **reporter:** prevent throwing exception when null is sent to formatter ([3b49c385](http://github.com/karma-runner/karma/commit/3b49c385fcc8ef96e72be390df058bd278b40c17))
+* **watcher:** ignore fs.stat errors ([74ccc9a8](http://github.com/karma-runner/karma/commit/74ccc9a8017f869bd7bbbf8831415964110a7073))
+
+
+#### Features
+
+* capture window.alert ([284c4f5c](http://github.com/karma-runner/karma/commit/284c4f5c9c481759fe564627a00d72ba5c54e433))
+* ship html2js preprocessor as a default plugin ([37ecf416](http://github.com/karma-runner/karma/commit/37ecf41600a9b255ab3d57327cc83d64751642f5))
+* fail if zero tests executed ([5670415e](http://github.com/karma-runner/karma/commit/5670415ecdc5e54902b479c78df5c3c422855e5c), closes [#468](http://github.com/karma-runner/karma/issues/468))
+* **launcher:** normalize quoted paths ([f2155e0c](http://github.com/karma-runner/karma/commit/f2155e0c3305538c0fb95791e56f34743977a865), closes [#491](http://github.com/karma-runner/karma/issues/491))
+* **web-server:** serve css files ([4e305545](http://github.com/karma-runner/karma/commit/4e305545ddf2726c1fe65c46efd5e7c1045ac041), closes [#431](http://github.com/karma-runner/karma/issues/431))
+
+<a name="v0.9.4"></a>
+### v0.9.4 (2013-06-28)
+
+
+#### Bug Fixes
+
+* **config:**
+ * make the config changes backwards compatible ([593ad853](https://github.com/karma-runner/karma/commit/593ad853c330a7856f2112db2bfb288f67948fa6))
+ * better errors if file invalid or does not exist ([74b533be](https://github.com/karma-runner/karma/commit/74b533beb34c115f5080d412a03573d269d540aa))
+ * allow parsing the config multiple times ([78a7094e](https://github.com/karma-runner/karma/commit/78a7094e0f262c431e904f99cf356be53eee3510))
+* **launcher:** better errors when loading launchers ([504e848c](https://github.com/karma-runner/karma/commit/504e848cf66b065380fa72e07f5337ae2d6e35b5))
+* **preprocessor:**
+ * do not show duplicate warnings ([47c641f7](https://github.com/karma-runner/karma/commit/47c641f7560d28e0d9eac7ae010566d296d5b628))
+ * better errors when loading preprocessors ([3390a00b](https://github.com/karma-runner/karma/commit/3390a00b49c513a6da60f48044462118436130f8))
+* **reporter:** better errors when loading reporters ([c645c060](https://github.com/karma-runner/karma/commit/c645c060c4f381902c2005eefe5b3a7bfa63cdcc))
+
+
+#### Features
+
+* **config:** pass the config object rather than a wrapper ([d2a3c854](https://github.com/karma-runner/karma/commit/d2a3c8546dc4b10bb9194047a1c11963639f3730))
+
+
+#### Breaking Changes
+
+* please update your karma.conf.js as follows ([d2a3c854](https://github.com/karma-runner/karma/commit/d2a3c8546dc4b10bb9194047a1c11963639f3730)):
+
+```javascript
+// before:
+module.exports = function(karma) {
+ karma.configure({port: 123});
+ karma.defineLauncher('x', 'Chrome', {
+ flags: ['--disable-web-security']
+ });
+ karma.definePreprocessor('y', 'coffee', {
+ bare: false
+ });
+ karma.defineReporter('z', 'coverage', {
+ type: 'html'
+ });
+};
+
+// after:
+module.exports = function(config) {
+ config.set({
+ port: 123,
+ customLaunchers: {
+ 'x': {
+ base: 'Chrome',
+ flags: ['--disable-web-security']
+ }
+ },
+ customPreprocessors: {
+ 'y': {
+ base: 'coffee',
+ bare: false
+ }
+ },
+ customReporters: {
+ 'z': {
+ base: 'coverage',
+ type: 'html'
+ }
+ }
+ });
+};
+```
+
+<a name="v0.9.3"></a>
+### v0.9.3 (2013-06-16)
+
+
+#### Bug Fixes
+
+* capturing console.log on IE ([fa4b686a](https://github.com/karma-runner/karma/commit/fa4b686a81ad826f256a4ca63c772af7ad6e411e), closes [#329](https://github.com/karma-runner/karma/issues/329))
+* **config:** fix the warning when using old syntax ([5e55d797](https://github.com/karma-runner/karma/commit/5e55d797f7544a45c3042e301bbf71e8b830daf3))
+* **init:** generate correct indentation ([5fc17957](https://github.com/karma-runner/karma/commit/5fc17957be761c06f6ae120c5d3ba800dba8d3a4))
+* **launcher:**
+ * ignore exit code when killing/timeouting ([1029bf2d](https://github.com/karma-runner/karma/commit/1029bf2d7d3d22986aa41439d2ce4115770f4dbd), closes [#444](https://github.com/karma-runner/karma/issues/444))
+ * handle ENOENT error, do not retry ([7d790b29](https://github.com/karma-runner/karma/commit/7d790b29c09c1f3784fe648b7d5ed16add10b4ca), closes [#452](https://github.com/karma-runner/karma/issues/452))
+* **logger:** configure the logger as soon as possible ([0607d67c](https://github.com/karma-runner/karma/commit/0607d67c15eab58ce83cce14ada70a1e2a9f17e9))
+* **preprocessor:** use graceful-fs to prevent EACCESS errors ([279bcab5](https://github.com/karma-runner/karma/commit/279bcab54019a0f0af72c7c08017cf4cdefebe46), closes [#566](https://github.com/karma-runner/karma/issues/566))
+* **watcher:** watch files that match watched directory ([39401175](https://github.com/karma-runner/karma/commit/394011753b918b8db807f31da9f5c316e296cf32), closes [#521](https://github.com/karma-runner/karma/issues/521))
+
+
+#### Features
+
+* simplify loading plugins using patterns like `karma-*` ([405a5a62](https://github.com/karma-runner/karma/commit/405a5a62d2ecc47a46b2ff069bfeb624f0b06982))
+* **client:** capture all `console.*` log methods ([683e6dcb](https://github.com/karma-runner/karma/commit/683e6dcb9132de3caee39c809b5b58efe8236564))
+* **config:**
+ * make socket.io transports configurable ([bbd5eb86](https://github.com/karma-runner/karma/commit/bbd5eb8688b2bc1e3dd04910aa68fd19c5036b31))
+ * allow configurable launchers, preprocessors, reporters ([76bdac16](https://github.com/karma-runner/karma/commit/76bdac1681f012749648f5a76b4a9d96c7a5ef20), closes [#317](https://github.com/karma-runner/karma/issues/317))
+ * add warning if old constants are used ([7233c5fb](https://github.com/karma-runner/karma/commit/7233c5fb9e1c105032000bbcb9afaddf72ccbc97))
+ * require config as a regular module ([a37fd6f7](https://github.com/karma-runner/karma/commit/a37fd6f7d28036b8da5fe98634cf711cebafc1ff), closes [#304](https://github.com/karma-runner/karma/issues/304))
+* **helper:** improve useragent detection ([eb58768e](https://github.com/karma-runner/karma/commit/eb58768e32baf13b45d9649743d7ef45798ffb27))
+* **init:**
+ * generate coffee config files ([d2173717](https://github.com/karma-runner/karma/commit/d21737176c1d866a11249d626a75440b398171ce))
+ * improve the questions a bit ([baecadb2](https://github.com/karma-runner/karma/commit/baecadb2f1a8f31c233edacafb1f8a4b736ea243))
+* **proxy:** add https proxy support ([be878dc5](https://github.com/karma-runner/karma/commit/be878dc545a0dd266d5686387c976ce70f1a095c))
+
+
+#### Breaking Changes
+
+* Update your karma.conf.js to export a config function ([a37fd6f7](https://github.com/karma-runner/karma/commit/a37fd6f7d28036b8da5fe98634cf711cebafc1ff)):
+
+```javascript
+module.exports = function(karma) {
+ karma.configure({
+ autoWatch: true,
+ // ...
+ });
+};
+```
+
+<a name="v0.9.2"></a>
+### v0.9.2 (2013-04-16)
+
+
+#### Bug Fixes
+
+* better error reporting when loading plugins ([d9078a8e](https://github.com/karma-runner/karma/commit/d9078a8eca41df15f26b53e2375f722a48d0992d))
+* **config:**
+ * Separate ENOENT error handler from others ([e49dabe7](https://github.com/karma-runner/karma/commit/e49dabe783d6cfb2ee97b70ac01953e82f70f831))
+ * ensure basePath is always resolved ([2e5c5aaa](https://github.com/karma-runner/karma/commit/2e5c5aaaddc4ad4e1ee9c8fa0388d3916827f403))
+
+
+#### Features
+
+* allow inlined plugins ([3034bcf9](https://github.com/karma-runner/karma/commit/3034bcf9b074b693afab9c62856346d6f305d0c0))
+* **debug:** show skipped specs and failure details in the console ([42ab936b](https://github.com/karma-runner/karma/commit/42ab936b254983faa8ab0ee76a6278fb3aff7fa2))
+
+<a name="v0.9.1"></a>
+### v0.9.1 (2013-04-04)
+
+
+#### Bug Fixes
+
+* **init:** to not give false warning about missing requirejs ([562607a1](https://github.com/karma-runner/karma/commit/562607a16221b256c6e92ad2029154aac88eec8d))
+
+
+#### Features
+
+* ship coffee-preprocessor and requirejs as default plugins ([f34e30db](https://github.com/karma-runner/karma/commit/f34e30db4d25d484a30d12e3cb1c41069c0b263a))
+
+<a name="v0.9.0"></a>
+## v0.9.0 (2013-04-03)
+
+
+#### Bug Fixes
+
+* global error handler should propagate errors ([dec0c196](https://github.com/karma-runner/karma/commit/dec0c19651c251dcbc16c44a57775bcb37f78cf1), closes [#368](https://github.com/karma-runner/karma/issues/368))
+* **config:**
+ * Check if configFilePath is a string. Fixes #447. ([98724b6e](https://github.com/karma-runner/karma/commit/98724b6ef5a6ba60d487e7b774056832c6ca9d8c))
+ * do not change urlRoot even if proxied ([8c138b50](https://github.com/karma-runner/karma/commit/8c138b504046a3aeb230b71e1049aa60ee46905d))
+* **coverage:** always send a result object ([62c3c679](https://github.com/karma-runner/karma/commit/62c3c6790659f8f82f8a2ca5646aa424eeb28842), closes [#365](https://github.com/karma-runner/karma/issues/365))
+* **init:**
+ * generate plugins and frameworks config ([17798d55](https://github.com/karma-runner/karma/commit/17798d55988d61070f2b9f59574217208f2b497e))
+ * fix for failing "testacular init" on Windows ([0b5b3853](https://github.com/karma-runner/karma/commit/0b5b385383f13ac8f29fa6e591a8634eefa04ab7))
+* **preprocessor:** resolve relative patterns to basePath ([c608a9e5](https://github.com/karma-runner/karma/commit/c608a9e5a34a49da2971add8759a9422b74fa6fd), closes [#382](https://github.com/karma-runner/karma/issues/382))
+* **runner:** send exit code as string ([ca75aafd](https://github.com/karma-runner/karma/commit/ca75aafdf6b7b425ee151c2ae4ede37933befe1f), closes [#403](https://github.com/karma-runner/karma/issues/403))
+
+
+#### Features
+
+* display the version when starting ([39617395](https://github.com/karma-runner/karma/commit/396173952addce3f6e904310686a42b102aa53f8), closes [#391](https://github.com/karma-runner/karma/issues/391))
+* allow multiple preprocessors ([1d17c1aa](https://github.com/karma-runner/karma/commit/1d17c1aacf607d6c4269f05df97d024bc9ca994e))
+* allow plugins ([125ab4f8](https://github.com/karma-runner/karma/commit/125ab4f88a7cf49fd7df32264a9847847e2326ca))
+* **config:**
+ * always ignore the config file itself ([103bc0f8](https://github.com/karma-runner/karma/commit/103bc0f878a8870770c8a8afce0a3fbf8a516ea7))
+ * normalize string preprocessors into an array ([4dde1608](https://github.com/karma-runner/karma/commit/4dde16087d0a704a47528d44e23ace0c536d8c72))
+* **web-server:** allow custom file handlers and mime types ([2df88287](https://github.com/karma-runner/karma/commit/2df8828742041fd09c0b45d6a62ebd7552116589))
+
+
+#### Breaking Changes
+
+* reporters, launchers, preprocessors, adapters are separate plugins now, in order to use them, you need to install the npm package (probably add it as a `devDependency` into your `package.json`) and load in the `karma.conf.js` with `plugins = ['karma-jasmine', ...]`. Karma ships with couple of default plugins (karma-jasmine, karma-chrome-launcher, karma-phantomjs-launcher).
+
+* frameworks (such as jasmine, mocha, qunit) are configured using `frameworks = ['jasmine'];` instead of prepending `JASMINE_ADAPTER` into files.
+
+
+<a name="v0.8.0"></a>
+## v0.8.0 (2013-03-18)
+
+
+#### Breaking Changes
+
+* rename the project to "Karma":
+- whenever you call the "testacular" binary, change it to "karma", eg. `testacular start` becomes `karma start`.
+- if you rely on default name of the config file, change it to `karma.conf.js`.
+- if you access `__testacular__` object in the client code, change it to `__karma__`, eg. `window.__testacular__.files` becomes `window.__karma__.files`. ([026a20f7](https://github.com/karma-runner/karma/commit/026a20f7b467eb3b39c68ed509acc06e5dad58e6))
+
+<a name="v0.6.1"></a>
+### v0.6.1 (2013-03-18)
+
+
+#### Bug Fixes
+
+* **config:** do not change urlRoot even if proxied ([1be1ae1d](https://github.com/karma-runner/karma/commit/1be1ae1dc7ff7314f4ac2854815cb39d31362f14))
+* **coverage:** always send a result object ([2d210aa6](https://github.com/karma-runner/karma/commit/2d210aa6697991f2eba05de58a696c5210485c88), closes [#365](https://github.com/karma-runner/karma/issues/365))
+* **reporter.teamcity:** report spec names and proper browser name ([c8f6f5ea](https://github.com/karma-runner/karma/commit/c8f6f5ea0c5c40d37b511d51b49bd22c9da5ea86))
+
+<a name="v0.6.0"></a>
+## v0.6.0 (2013-02-22)
+
+<a name="v0.5.11"></a>
+### v0.5.11 (2013-02-21)
+
+
+#### Bug Fixes
+
+* **adapter.requirejs:** do not configure baseUrl automatically ([63f3f409](https://github.com/karma-runner/karma/commit/63f3f409ae85a5137396a7ed6537bedfe4437cb3), closes [#291](https://github.com/karma-runner/karma/issues/291))
+* **init:** add missing browsers (Opera, IE) ([f39e5645](https://github.com/karma-runner/karma/commit/f39e5645ec561c2681d907f7c1611f01911ee8fd))
+* **reporter.junit:** Add browser log output to JUnit.xml ([f108799a](https://github.com/karma-runner/karma/commit/f108799a4d8fd95b8c0250ee83c23ada25d026b9), closes [#302](https://github.com/karma-runner/karma/issues/302))
+
+
+#### Features
+
+* add Teamcity reporter ([03e700ae](https://github.com/karma-runner/karma/commit/03e700ae2234ca7ddb8f9235343e3b0c80868bbd))
+* **adapter.jasmine:** remove only last failed specs anti-feature ([435bf72c](https://github.com/karma-runner/karma/commit/435bf72cb12112462940c8114fbaa19f9de38531), closes [#148](https://github.com/karma-runner/karma/issues/148))
+* **config:** allow empty config file when called programmatically ([f3d77424](https://github.com/karma-runner/karma/commit/f3d77424009f621e1fb9d60eeec7f052ebb3c585), closes [#358](https://github.com/karma-runner/karma/issues/358))
+
+<a name="v0.5.10"></a>
+### v0.5.10 (2013-02-14)
+
+
+#### Bug Fixes
+
+* **init:** fix the logger configuration ([481dc3fd](https://github.com/karma-runner/karma/commit/481dc3fd75f45a0efa8aabdb1c71e8234b9e8a06), closes [#340](https://github.com/karma-runner/karma/issues/340))
+* **proxy:** fix crashing proxy when browser hangs connection ([1c78a01a](https://github.com/karma-runner/karma/commit/1c78a01a19411accb86f0bde9e040e5088752575))
+
+
+#### Features
+
+* set urlRoot to /__karma__/ when proxying the root ([8b4fd64d](https://github.com/karma-runner/karma/commit/8b4fd64df6b7d07b5479e43dcd8cd2aa5e1efc9c))
+* **adapter.requirejs:** normalize paths before appending timestamp ([94889e7d](https://github.com/karma-runner/karma/commit/94889e7d2de701c67a2612e3fc6a51bfae891d36))
+* update dependencies to the latest ([93f96278](https://github.com/karma-runner/karma/commit/93f9627817f2d5d9446de9935930ca85cfa7df7f), [e34d8834](https://github.com/karma-runner/karma/commit/e34d8834d69ec4e022fcd6e1be4055add96d693c))
+
+
+<a name="v0.5.9"></a>
+### v0.5.9 (2013-02-06)
+
+
+#### Bug Fixes
+
+* **adapter.requirejs:** show error if no timestamp defined for a file ([59dbdbd1](https://github.com/karma-runner/karma/commit/59dbdbd136baa87467b9b9a4cb6ce226ae87bbef))
+* **init:** fix logger configuration ([557922d7](https://github.com/karma-runner/karma/commit/557922d71941e0929f9cdc0d3794424a1f27b311))
+* **reporter:** remove newline from base reporter browser dump ([dfae18b6](https://github.com/karma-runner/karma/commit/dfae18b63b413a1e6240d00b9dc0521ac0386ec5), closes [#297](https://github.com/karma-runner/karma/issues/297))
+* **reporter.dots:** only add newline to message when needed ([dbe1155c](https://github.com/karma-runner/karma/commit/dbe1155cb57fc4caa792f83f45288238db0fc7e0)
+
+#### Features
+
+* add "debug" button to easily open debugging window ([da85aab9](https://github.com/karma-runner/karma/commit/da85aab927edd1614e4e05b136dee834344aa3cb))
+* **config:** support running on a custom hostname ([b8c5fe85](https://github.com/karma-runner/karma/commit/b8c5fe8533b13fd59cbf48972d2021069a84ae5b))
+* **reporter.junit:** add a 'skipped' tag for skipped testcases ([6286406e](https://github.com/karma-runner/karma/commit/6286406e0a36a61125ea16d6f49be07030164cb0), closes [#321](https://github.com/karma-runner/karma/issues/321))
+
+
+### v0.5.8
+* Fix #283
+* Suppress global leak for istanbul
+* Fix growl reporter to work with `testacular run`
+* Upgrade jasmine to 1.3.1
+* Fix file sorting
+* Fix #265
+* Support for more mime-types on served static files
+* Fix opening Chrome on Windows
+* Upgrade growly to 1.1.0
+
+### v0.5.7
+* Support code coverage for qunit.
+* Rename port-runner option in cli to runner-port
+* Fix proxy handler (when no proxy defined)
+* Fix #65
+
+### v0.5.6
+* Growl reporter !
+* Batch changes (eg. `git checkout` causes only single run now)
+* Handle uncaught errors and disconnect all browsers
+* Global binary prefers local versions
+
+### v0.5.5
+* Add QUnit adapter
+* Report console.log()
+
+### v0.5.4
+* Fix PhantomJS launcher
+* Fix html2js preprocessor
+* NG scenario adapter: show html output
+
+### v0.5.3
+* Add code coverage !
+
+### v0.5.2
+* Init: ask about using Require.js
+
+### v0.5.1
+* Support for Require.js
+* Fix testacular init basePath
+
+## v0.5.0
+* Add preprocessor for LiveScript
+* Fix JUnit reporter
+* Enable process global in config file
+* Add OS name in the browser name
+* NG scenario adapter: hide other outputs to make it faster
+* Allow config to be written in CoffeeScript
+* Allow espaced characters in served urls
+
+## v0.4.0 (stable)
+
+### v0.3.12
+* Allow calling run() pragmatically from JS
+
+### v0.3.11
+* Fix runner to wait for stdout, stderr
+* Make routing proxy always changeOrigin
+
+### v0.3.10
+* Fix angular-scenario adapter + junit reporter
+* Use flash socket if web socket not available
+
+### v0.3.9
+* Retry starting a browser if it does not capture
+* Update mocha to 1.5.0
+* Handle mocha's xit
+
+### v0.3.8
+* Kill browsers that don't capture in captureTimeout ms
+* Abort build if any browser fails to capture
+* Allow multiple profiles of Firefox
+
+### v0.3.7
+* Remove Travis hack
+* Fix Safari launcher
+
+### v0.3.6
+* Remove custom launcher (constructor)
+* Launcher - use random id to allow multiple instances of the same browser
+* Fix Firefox launcher (creating profile)
+* Fix killing browsers on Linux and Windows
+
+### v0.3.5
+* Fix opera launcher to create new prefs with disabling all pop-ups
+
+### v0.3.4
+* Change "reporter" config to "reporters"
+* Allow multiple reporters
+* Fix angular-scenario adapter to report proper description
+* Add JUnit xml reporter
+* Fix loading files from multiple drives on Windows
+* Fix angular-scenario adapter to report total number of tests
+
+### v0.3.3
+* Allow proxying files, not only directories
+
+### v0.3.2
+* Disable autoWatch if singleRun
+* Add custom script browser launcher
+* Fix cleaning temp folders
+
+### v0.3.1
+* Run tests on start (if watching enabled)
+* Add launcher for IE8, IE9
+
+## v0.3.0
+* Change browser binaries on linux to relative
+* Add report-slower-than to CLI options
+* Fix PhantomJS binary on Travis CI
+
+## v0.2.0 (stable)
+
+### v0.1.3
+* Launch Canary with crankshaft disabled
+* Make the captured page nicer
+
+### v0.1.2
+* Fix jasmine memory leaks
+* support __filename and __dirname in config files
+
+### v0.1.1
+* Report slow tests (add `reportSlowerThan` config option)
+* Report time in minutes if it's over 60 seconds
+* Mocha adapter: add ability to fail during beforeEach/afterEach hooks
+* Mocha adapter: add dump()
+* NG scenario adapter: failure includes step name
+* Redirect /urlRoot to /urlRoot/
+* Fix serving with urlRoot
+
+## v0.1.0
+* Adapter for AngularJS scenario runner
+* Allow serving Testacular from a subpath
+* Fix race condition in testacular run
+* Make testacular one binary (remove `testacular-run`, use `testacular run`)
+* Add support for proxies
+* Init script for generating config files (`testacular init`)
+* Start Firefox without custom profile if it fails
+* Preserve order of watched paths for easier debugging
+* Change default port to 9876
+* Require node v0.8.4+
+
+### v0.0.17
+* Fix race condition in manually triggered run
+* Fix autoWatch config
+
+### v0.0.16
+* Mocha adapter
+* Fix watching/resolving on Windows
+* Allow glob patterns
+* Watch new files
+* Watch removed files
+* Remove unused config (autoWatchInterval)
+
+### v0.0.15
+* Remove absolute paths from urls (fixes Windows issue with C:\\)
+* Add browser launcher for PhantomJS
+* Fix some more windows issues
+
+### v0.0.14
+* Allow require() inside config file
+* Allow custom browser launcher
+* Add browser launcher for Opera, Safari
+* Ignore signals on windows (not supported yet)
+
+### v0.0.13
+* Single run mode (capture browsers, run tests, exit)
+* Start browser automatically (chrome, canary, firefox)
+* Allow loading external files (urls)
+
+### v0.0.12
+* Allow console in config
+* Warning if pattern does not match any file
+
+### v0.0.11
+* Add timing (total / net - per specs)
+* Dots reporter - wrap at 80
+
+### v0.0.10
+* Add DOTS reporter
+* Add no-colors option for reporters
+* Fix web server to expose only specified files
+
+### v0.0.9
+* Proper exit code for runner
+* Dynamic port asigning (if port already in use)
+* Add log-leve, log-colors cli arguments + better --help
+* Fix some IE errors (indexOf, forEach fallbacks)
+
+### v0.0.8
+* Allow overriding configuration by cli arguments (+ --version, --help)
+* Persuade IE8 to not cache context.html
+* Exit runner if no captured browser
+* Fix delayed execution (streaming to runner)
+* Complete run if browser disconnects
+* Ignore results from previous run (after server reconnecting)
+* Server disconnects - cancel execution, clear browser info
+
+### v0.0.7
+* Rename to Testacular
+
+### v0.0.6
+* Better debug mode (no caching, no timestamps)
+* Make dump() a bit better
+* Disconnect browsers on SIGTERM (kill, killall default)
+
+### v0.0.5
+* Fix memory (some :-D) leaks
+* Add dump support
+* Add runner.html
+
+### v0.0.4
+* Progress bar reporting
+* Improve error formatting
+* Add Jasmine lib (with iit, ddescribe)
+* Reconnect client each 2sec, remove exponential growing
+
+### v0.0.3
+* Jasmine adapter: ignore last failed filter in exclusive mode
+* Jasmine adapter: add build (no global space pollution)
+
+### 0.0.2
+* Run only last failed tests (jasmine adapter)
+
+### 0.0.1
+* Initial version with only very basic features
diff --git a/node_modules/karma/CODE_OF_CONDUCT.md b/node_modules/karma/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000..4ead0e1
--- /dev/null
+++ b/node_modules/karma/CODE_OF_CONDUCT.md
@@ -0,0 +1,13 @@
+# Contributor Code of Conduct
+
+As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
+
+We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, age, or religion.
+
+Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
+
+Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
+
+This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
diff --git a/node_modules/karma/ISSUE_TEMPLATE.md b/node_modules/karma/ISSUE_TEMPLATE.md
new file mode 100644
index 0000000..9395473
--- /dev/null
+++ b/node_modules/karma/ISSUE_TEMPLATE.md
@@ -0,0 +1,14 @@
+### Expected behaviour
+
+### Actual behaviour
+
+### Environment Details
+
+- Karma version (output of `karma --version`):
+- Relevant part of your `karma.config.js` file
+
+### Steps to reproduce the behaviour
+
+1.
+2.
+3.
diff --git a/node_modules/karma/LICENSE b/node_modules/karma/LICENSE
new file mode 100644
index 0000000..d344a80
--- /dev/null
+++ b/node_modules/karma/LICENSE
@@ -0,0 +1,20 @@
+The MIT License
+
+Copyright (C) 2011-2019 Google, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/karma/PULL_REQUEST_TEMPLATE.md b/node_modules/karma/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000..816fbcb
--- /dev/null
+++ b/node_modules/karma/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,3 @@
+Check that your description matches the automatic change-log format:
+http://karma-runner.github.io/latest/dev/git-commit-msg.html
+then delete this reminder.
diff --git a/node_modules/karma/README.md b/node_modules/karma/README.md
new file mode 100644
index 0000000..8c996b2
--- /dev/null
+++ b/node_modules/karma/README.md
@@ -0,0 +1,124 @@
+# Karma
+[](https://github.com/karma-runner/karma) [](https://www.npmjs.com/package/karma) [](https://npmcharts.com/compare/karma?minimal=true)
+
+[](https://travis-ci.org/karma-runner/karma) [](https://ci.appveyor.com/project/dignifiedquire/karma) [](https://codeclimate.com/github/karma-runner/karma) [](http://makeapullrequest.com) [](https://david-dm.org/karma-runner/karma) [](https://david-dm.org/karma-runner/karma#info=devDependencies)
+
+A simple tool that allows you to execute JavaScript code in multiple
+_real_ browsers.
+
+> The main purpose of Karma is to make your test-driven development easy,
+> fast, and fun.
+
+
+## Help and Support
+
+> For questions and support please use the mailing list or Gitter.
+> The issue tracker is for bug reports and feature discussions only.
+
+* Obligatory [documentation]
+* Quick questions:
+[](https://gitter.im/karma-runner/karma)
+* Longer questions: [Mailing List]
+* Bug reports [Issue Tracker]
+* Everything less than 140 characters: [@JsKarma] on Twitter
+
+
+
+## When should I use Karma?
+
+* You want to test code in *real* browsers.
+* You want to test code in multiple browsers (desktop, mobile,
+ tablets, etc.).
+* You want to execute your tests locally during development.
+* You want to execute your tests on a continuous integration server.
+* You want to execute your tests on every save.
+* You love your terminal.
+* You don't want your (testing) life to suck.
+* You want to use [Istanbul] to automagically generate coverage
+ reports.
+* You want to use [RequireJS] for your source files.
+
+
+## But I still want to use \_insert testing library\_
+
+Karma is not a testing framework, nor an assertion library.
+Karma just launches an HTTP server, and generates the test runner HTML file you probably already know from your favourite testing framework.
+So for testing purposes you can use pretty much anything you like. There are already plugins for most of the common testing frameworks:
+
+* [Jasmine]
+* [Mocha]
+* [QUnit]
+* and [many others](https://www.npmjs.org/browse/keyword/karma-adapter)
+
+If you can't find an adapter for your favourite framework, don't worry and write your own.
+It's not that hard and we are here to help.
+
+
+## Which Browsers can I use?
+
+All the major browsers are supported, if you want to know more see the
+[browsers] page.
+
+
+## Troubleshooting
+See [FAQ](https://karma-runner.github.io/latest/intro/faq.html).
+
+
+## I want to use it. Where do I sign?
+
+You don't need to sign anything but here are some resources to help
+you to get started...
+
+
+### Obligatory Screencast.
+
+Every serious project has a screencast, so here is ours. Just click
+[here] and let the show begin.
+
+
+### Installation.
+
+See [installation](https://karma-runner.github.io/latest/intro/installation.html).
+
+
+### Using it.
+
+See [configuration](https://karma-runner.github.io/latest/intro/configuration.html).
+
+
+## This is so great. I want to help.
+
+Please, see
+[contributing](https://karma-runner.github.io/latest/dev/contributing.html).
+
+
+## Why did you create this?
+
+Throughout the development of [AngularJS], we've been using [JSTD] for
+testing. I really think that JSTD is a great idea. Unfortunately, we
+had many problems with JSTD, so we decided to write our own test
+runner based on the same idea. We wanted a simple tool just for
+executing JavaScript tests that is both stable and fast. That's why we
+use the awesome [Socket.io] library and [Node.js].
+
+
+## My boss wants a license. So where is it?
+[MIT License](./LICENSE)
+
+
+[AngularJS]: https://angularjs.org/
+[JSTD]: https://code.google.com/p/js-test-driver/
+[Socket.io]: http://socket.io/
+[Node.js]: http://nodejs.org/
+[Jasmine]: https://github.com/karma-runner/karma-jasmine
+[Mocha]: https://github.com/karma-runner/karma-mocha
+[QUnit]: https://github.com/karma-runner/karma-qunit
+[here]: https://www.youtube.com/watch?v=MVw8N3hTfCI
+[Mailing List]: https://groups.google.com/forum/#!forum/karma-users
+[Issue Tracker]: https://github.com/karma-runner/karma/issues
+[@JsKarma]: https://twitter.com/JsKarma
+[RequireJS]: http://requirejs.org/
+[Istanbul]: https://github.com/gotwarlost/istanbul
+
+[browsers]: https://karma-runner.github.io/latest/config/browsers.html
+[documentation]: https://karma-runner.github.io
diff --git a/node_modules/karma/appveyor.yml b/node_modules/karma/appveyor.yml
new file mode 100644
index 0000000..7926d03
--- /dev/null
+++ b/node_modules/karma/appveyor.yml
@@ -0,0 +1,28 @@
+version: "{build}"
+
+environment:
+ matrix:
+ - nodejs_version: "8"
+ - nodejs_version: "10"
+
+matrix:
+ fast_finish: true
+
+install:
+ # Install Node.js
+ - ps: Install-Product node $env:nodejs_version
+
+ # Output our current versions for debugging
+ - node --version
+ - npm --version
+
+ # Install our package dependencies
+ - appveyor-retry npm install
+
+ # Install our current directory as a dependency of itself
+ - npm run init:windows
+
+test_script:
+ - npm run appveyor
+
+build: off
diff --git a/node_modules/karma/bin/karma b/node_modules/karma/bin/karma
new file mode 100755
index 0000000..19bb1e3
--- /dev/null
+++ b/node_modules/karma/bin/karma
@@ -0,0 +1,3 @@
+#!/usr/bin/env node
+
+require('../lib/cli').run();
diff --git a/node_modules/karma/common/stringify.js b/node_modules/karma/common/stringify.js
new file mode 100644
index 0000000..491a08d8
--- /dev/null
+++ b/node_modules/karma/common/stringify.js
@@ -0,0 +1,90 @@
+var serialize = require('dom-serialize')
+var instanceOf = require('./util').instanceOf
+
+function isNode (obj) {
+ return (obj.tagName || obj.nodeName) && obj.nodeType
+}
+
+function stringify (obj, depth) {
+ if (depth === 0) {
+ return '...'
+ }
+
+ if (obj === null) {
+ return 'null'
+ }
+
+ switch (typeof obj) {
+ case 'symbol':
+ return obj.toString()
+ case 'string':
+ return "'" + obj + "'"
+ case 'undefined':
+ return 'undefined'
+ case 'function':
+ try {
+ // function abc(a, b, c) { /* code goes here */ }
+ // -> function abc(a, b, c) { ... }
+ return obj.toString().replace(/\{[\s\S]*\}/, '{ ... }')
+ } catch (err) {
+ if (err instanceof TypeError) {
+ // Support older browsers
+ return 'function ' + (obj.name || '') + '() { ... }'
+ } else {
+ throw err
+ }
+ }
+ case 'boolean':
+ return obj ? 'true' : 'false'
+ case 'object':
+ var strs = []
+ if (instanceOf(obj, 'Array')) {
+ strs.push('[')
+ for (var i = 0, ii = obj.length; i < ii; i++) {
+ if (i) {
+ strs.push(', ')
+ }
+ strs.push(stringify(obj[i], depth - 1))
+ }
+ strs.push(']')
+ } else if (instanceOf(obj, 'Date')) {
+ return obj.toString()
+ } else if (instanceOf(obj, 'Text')) {
+ return obj.nodeValue
+ } else if (instanceOf(obj, 'Comment')) {
+ return '<!--' + obj.nodeValue + '-->'
+ } else if (obj.outerHTML) {
+ return obj.outerHTML
+ } else if (isNode(obj)) {
+ return serialize(obj)
+ } else if (instanceOf(obj, 'Error')) {
+ return obj.toString() + '\n' + obj.stack
+ } else {
+ var constructor = 'Object'
+ if (obj.constructor && typeof obj.constructor === 'function') {
+ constructor = obj.constructor.name
+ }
+
+ strs.push(constructor)
+ strs.push('{')
+ var first = true
+ for (var key in obj) {
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
+ if (first) {
+ first = false
+ } else {
+ strs.push(', ')
+ }
+
+ strs.push(key + ': ' + stringify(obj[key], depth - 1))
+ }
+ }
+ strs.push('}')
+ }
+ return strs.join('')
+ default:
+ return obj
+ }
+}
+
+module.exports = stringify
diff --git a/node_modules/karma/common/util.js b/node_modules/karma/common/util.js
new file mode 100644
index 0000000..9d406c6
--- /dev/null
+++ b/node_modules/karma/common/util.js
@@ -0,0 +1,32 @@
+exports.instanceOf = function (value, constructorName) {
+ return Object.prototype.toString.apply(value) === '[object ' + constructorName + ']'
+}
+
+exports.elm = function (id) {
+ return document.getElementById(id)
+}
+
+exports.generateId = function (prefix) {
+ return prefix + Math.floor(Math.random() * 10000)
+}
+
+exports.isUndefined = function (value) {
+ return typeof value === 'undefined'
+}
+
+exports.isDefined = function (value) {
+ return !exports.isUndefined(value)
+}
+
+exports.parseQueryParams = function (locationSearch) {
+ var params = {}
+ var pairs = locationSearch.substr(1).split('&')
+ var keyValue
+
+ for (var i = 0; i < pairs.length; i++) {
+ keyValue = pairs[i].split('=')
+ params[decodeURIComponent(keyValue[0])] = decodeURIComponent(keyValue[1])
+ }
+
+ return params
+}
diff --git a/node_modules/karma/config.tpl.coffee b/node_modules/karma/config.tpl.coffee
new file mode 100644
index 0000000..c7f15de
--- /dev/null
+++ b/node_modules/karma/config.tpl.coffee
@@ -0,0 +1,71 @@
+# Karma configuration
+# Generated on %DATE%
+
+module.exports = (config) ->
+ config.set
+
+ # base path that will be used to resolve all patterns (eg. files, exclude)
+ basePath: '%BASE_PATH%'
+
+
+ # frameworks to use
+ # available frameworks: https://npmjs.org/browse/keyword/karma-adapter
+ frameworks: [%FRAMEWORKS%]
+
+
+ # list of files / patterns to load in the browser
+ files: [%FILES%
+ ]
+
+
+ # list of files / patterns to exclude
+ exclude: [%EXCLUDE%
+ ]
+
+
+ # preprocess matching files before serving them to the browser
+ # available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
+ preprocessors: {%PREPROCESSORS%
+ }
+
+
+ # test results reporter to use
+ # possible values: 'dots', 'progress'
+ # available reporters: https://npmjs.org/browse/keyword/karma-reporter
+ reporters: ['progress']
+
+
+ # web server port
+ port: 9876
+
+
+ # enable / disable colors in the output (reporters and logs)
+ colors: true
+
+
+ # level of logging
+ # possible values:
+ # - config.LOG_DISABLE
+ # - config.LOG_ERROR
+ # - config.LOG_WARN
+ # - config.LOG_INFO
+ # - config.LOG_DEBUG
+ logLevel: config.LOG_INFO
+
+
+ # enable / disable watching file and executing tests whenever any file changes
+ autoWatch: %AUTO_WATCH%
+
+
+ # start these browsers
+ # available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
+ browsers: [%BROWSERS%]
+
+
+ # Continuous Integration mode
+ # if true, Karma captures browsers, runs the tests and exits
+ singleRun: false
+
+ # Concurrency level
+ # how many browser should be started simultaneous
+ concurrency: Infinity
diff --git a/node_modules/karma/config.tpl.js b/node_modules/karma/config.tpl.js
new file mode 100644
index 0000000..d50e1135
--- /dev/null
+++ b/node_modules/karma/config.tpl.js
@@ -0,0 +1,68 @@
+// Karma configuration
+// Generated on %DATE%
+
+module.exports = function(config) {
+ config.set({
+
+ // base path that will be used to resolve all patterns (eg. files, exclude)
+ basePath: '%BASE_PATH%',
+
+
+ // frameworks to use
+ // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
+ frameworks: [%FRAMEWORKS%],
+
+
+ // list of files / patterns to load in the browser
+ files: [%FILES%
+ ],
+
+
+ // list of files / patterns to exclude
+ exclude: [%EXCLUDE%
+ ],
+
+
+ // preprocess matching files before serving them to the browser
+ // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
+ preprocessors: {%PREPROCESSORS%
+ },
+
+
+ // test results reporter to use
+ // possible values: 'dots', 'progress'
+ // available reporters: https://npmjs.org/browse/keyword/karma-reporter
+ reporters: ['progress'],
+
+
+ // web server port
+ port: 9876,
+
+
+ // enable / disable colors in the output (reporters and logs)
+ colors: true,
+
+
+ // level of logging
+ // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
+ logLevel: config.LOG_INFO,
+
+
+ // enable / disable watching file and executing tests whenever any file changes
+ autoWatch: %AUTO_WATCH%,
+
+
+ // start these browsers
+ // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
+ browsers: [%BROWSERS%],
+
+
+ // Continuous Integration mode
+ // if true, Karma captures browsers, runs the tests and exits
+ singleRun: false,
+
+ // Concurrency level
+ // how many browser should be started simultaneous
+ concurrency: Infinity
+ })
+}
diff --git a/node_modules/karma/config.tpl.ls b/node_modules/karma/config.tpl.ls
new file mode 100644
index 0000000..c185ae4
--- /dev/null
+++ b/node_modules/karma/config.tpl.ls
@@ -0,0 +1,70 @@
+# Karma configuration
+# Generated on %DATE%
+
+module.exports = (config) ->
+ config.set do
+
+ # base path that will be used to resolve all patterns (eg. files, exclude)
+ basePath: '%BASE_PATH%'
+
+
+ # frameworks to use
+ # available frameworks: https://npmjs.org/browse/keyword/karma-adapter
+ frameworks: [%FRAMEWORKS%]
+
+
+ # list of files / patterns to load in the browser
+ files: [%FILES%
+ ]
+
+
+ # list of files / patterns to exclude
+ exclude: [%EXCLUDE%
+ ]
+
+
+ # preprocess matching files before serving them to the browser
+ # available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
+ preprocessors: {%PREPROCESSORS%
+ }
+
+ # test results reporter to use
+ # possible values: 'dots', 'progress'
+ # available reporters: https://npmjs.org/browse/keyword/karma-reporter
+ reporters: ['progress']
+
+
+ # web server port
+ port: 9876
+
+
+ # enable / disable colors in the output (reporters and logs)
+ colors: true
+
+
+ # level of logging
+ # possible values:
+ # - config.LOG_DISABLE
+ # - config.LOG_ERROR
+ # - config.LOG_WARN
+ # - config.LOG_INFO
+ # - config.LOG_DEBUG
+ logLevel: config.LOG_INFO
+
+
+ # enable / disable watching file and executing tests whenever any file changes
+ autoWatch: %AUTO_WATCH%
+
+
+ # satart these browsers
+ # available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
+ browsers: [%BROWSERS%]
+
+
+ # Continuous Integration mode
+ # if true, Karma captures browsers, runs the tests and exits
+ singleRun: false
+
+ # Concurrency level
+ # how many browser should be started simultaneous
+ concurrency: Infinity
diff --git a/node_modules/karma/config.tpl.ts b/node_modules/karma/config.tpl.ts
new file mode 100644
index 0000000..1a90a32
--- /dev/null
+++ b/node_modules/karma/config.tpl.ts
@@ -0,0 +1,68 @@
+// Karma configuration
+// Generated on %DATE%
+
+module.exports = (config) => {
+ config.set({
+
+ // base path that will be used to resolve all patterns (eg. files, exclude)
+ basePath: '%BASE_PATH%',
+
+
+ // frameworks to use
+ // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
+ frameworks: [%FRAMEWORKS%],
+
+
+ // list of files / patterns to load in the browser
+ files: [%FILES%
+ ],
+
+
+ // list of files / patterns to exclude
+ exclude: [%EXCLUDE%
+ ],
+
+
+ // preprocess matching files before serving them to the browser
+ // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
+ preprocessors: {%PREPROCESSORS%
+ },
+
+
+ // test results reporter to use
+ // possible values: 'dots', 'progress'
+ // available reporters: https://npmjs.org/browse/keyword/karma-reporter
+ reporters: ['progress'],
+
+
+ // web server port
+ port: 9876,
+
+
+ // enable / disable colors in the output (reporters and logs)
+ colors: true,
+
+
+ // level of logging
+ // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
+ logLevel: config.LOG_INFO,
+
+
+ // enable / disable watching file and executing tests whenever any file changes
+ autoWatch: %AUTO_WATCH%,
+
+
+ // start these browsers
+ // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
+ browsers: [%BROWSERS%],
+
+
+ // Continuous Integration mode
+ // if true, Karma captures browsers, runs the tests and exits
+ singleRun: false,
+
+ // Concurrency level
+ // how many browser should be started simultaneous
+ concurrency: Infinity
+ })
+}
diff --git a/node_modules/karma/context/karma.js b/node_modules/karma/context/karma.js
new file mode 100644
index 0000000..9e0756e
--- /dev/null
+++ b/node_modules/karma/context/karma.js
@@ -0,0 +1,161 @@
+// Load our dependencies
+var stringify = require('../common/stringify')
+
+// Define our context Karma constructor
+function ContextKarma (callParentKarmaMethod) {
+ // Define local variables
+ var hasError = false
+ var self = this
+ var isLoaded = false
+
+ // Define our loggers
+ // DEV: These are intentionally repeated in client and context
+ this.log = function (type, args) {
+ var values = []
+
+ for (var i = 0; i < args.length; i++) {
+ values.push(this.stringify(args[i], 3))
+ }
+
+ this.info({ log: values.join(', '), type: type })
+ }
+
+ this.stringify = stringify
+
+ // Define our proxy error handler
+ // DEV: We require one in our context to track `hasError`
+ this.error = function () {
+ hasError = true
+ callParentKarmaMethod('error', [].slice.call(arguments))
+ return false
+ }
+
+ // Define our start handler
+ function UNIMPLEMENTED_START () {
+ this.error('You need to include some adapter that implements __karma__.start method!')
+ }
+ // all files loaded, let's start the execution
+ this.loaded = function () {
+ // has error -> cancel
+ if (!hasError && !isLoaded) {
+ isLoaded = true
+ try {
+ this.start(this.config)
+ } catch (error) {
+ this.error(error.stack || error.toString())
+ }
+ }
+
+ // remove reference to child iframe
+ this.start = UNIMPLEMENTED_START
+ }
+ // supposed to be overriden by the context
+ // TODO(vojta): support multiple callbacks (queue)
+ this.start = UNIMPLEMENTED_START
+
+ // Define proxy methods
+ // DEV: This is a closured `for` loop (same as a `forEach`) for IE support
+ var proxyMethods = ['complete', 'info', 'result']
+ for (var i = 0; i < proxyMethods.length; i++) {
+ (function bindProxyMethod (methodName) {
+ self[methodName] = function boundProxyMethod () {
+ callParentKarmaMethod(methodName, [].slice.call(arguments))
+ }
+ }(proxyMethods[i]))
+ }
+
+ // Define bindings for context window
+ this.setupContext = function (contextWindow) {
+ // If we clear the context after every run and we already had an error
+ // then stop now. Otherwise, carry on.
+ if (self.config.clearContext && hasError) {
+ return
+ }
+
+ // Perform window level bindings
+ // DEV: We return `self.error` since we want to `return false` to ignore errors
+ contextWindow.onerror = function () {
+ return self.error.apply(self, arguments)
+ }
+ // DEV: We must defined a function since we don't want to pass the event object
+ contextWindow.onbeforeunload = function (e, b) {
+ callParentKarmaMethod('onbeforeunload', [])
+ }
+
+ contextWindow.dump = function () {
+ self.log('dump', arguments)
+ }
+
+ var _confirm = contextWindow.confirm
+ var _prompt = contextWindow.prompt
+
+ contextWindow.alert = function (msg) {
+ self.log('alert', [msg])
+ }
+
+ contextWindow.confirm = function (msg) {
+ self.log('confirm', [msg])
+ return _confirm(msg)
+ }
+
+ contextWindow.prompt = function (msg, defaultVal) {
+ self.log('prompt', [msg, defaultVal])
+ return _prompt(msg, defaultVal)
+ }
+
+ // If we want to overload our console, then do it
+ function getConsole (currentWindow) {
+ return currentWindow.console || {
+ log: function () {},
+ info: function () {},
+ warn: function () {},
+ error: function () {},
+ debug: function () {}
+ }
+ }
+ if (self.config.captureConsole) {
+ // patch the console
+ var localConsole = contextWindow.console = getConsole(contextWindow)
+ var logMethods = ['log', 'info', 'warn', 'error', 'debug']
+ var patchConsoleMethod = function (method) {
+ var orig = localConsole[method]
+ if (!orig) {
+ return
+ }
+ localConsole[method] = function () {
+ self.log(method, arguments)
+ try {
+ return Function.prototype.apply.call(orig, localConsole, arguments)
+ } catch (error) {
+ self.log('warn', ['Console method ' + method + ' threw: ' + error])
+ }
+ }
+ }
+ for (var i = 0; i < logMethods.length; i++) {
+ patchConsoleMethod(logMethods[i])
+ }
+ }
+ }
+}
+
+// Define call/proxy methods
+ContextKarma.getDirectCallParentKarmaMethod = function (parentWindow) {
+ return function directCallParentKarmaMethod (method, args) {
+ // If the method doesn't exist, then error out
+ if (!parentWindow.karma[method]) {
+ parentWindow.karma.error('Expected Karma method "' + method + '" to exist but it doesn\'t')
+ return
+ }
+
+ // Otherwise, run our method
+ parentWindow.karma[method].apply(parentWindow.karma, args)
+ }
+}
+ContextKarma.getPostMessageCallParentKarmaMethod = function (parentWindow) {
+ return function postMessageCallParentKarmaMethod (method, args) {
+ parentWindow.postMessage({ __karmaMethod: method, __karmaArguments: args }, window.location.origin)
+ }
+}
+
+// Export our module
+module.exports = ContextKarma
diff --git a/node_modules/karma/context/main.js b/node_modules/karma/context/main.js
new file mode 100644
index 0000000..89b450c
--- /dev/null
+++ b/node_modules/karma/context/main.js
@@ -0,0 +1,21 @@
+// Load in our dependencies
+var ContextKarma = require('./karma')
+
+// Resolve our parent window
+var parentWindow = window.opener || window.parent
+
+// Define a remote call method for Karma
+var callParentKarmaMethod = ContextKarma.getDirectCallParentKarmaMethod(parentWindow)
+
+// If we don't have access to the window, then use `postMessage`
+// DEV: In Electron, we don't have access to the parent window due to it being in a separate process
+// DEV: We avoid using this in Internet Explorer as they only support strings
+// http://caniuse.com/#search=postmessage
+var haveParentAccess = false
+try { haveParentAccess = !!parentWindow.window } catch (err) { /* Ignore errors (likely permisison errors) */ }
+if (!haveParentAccess) {
+ callParentKarmaMethod = ContextKarma.getPostMessageCallParentKarmaMethod(parentWindow)
+}
+
+// Define a window-scoped Karma
+window.__karma__ = new ContextKarma(callParentKarmaMethod)
diff --git a/node_modules/karma/gruntfile.js b/node_modules/karma/gruntfile.js
new file mode 100644
index 0000000..3ae8f22
--- /dev/null
+++ b/node_modules/karma/gruntfile.js
@@ -0,0 +1,155 @@
+module.exports = function (grunt) {
+ grunt.initConfig({
+ pkg: grunt.file.readJSON('package.json'),
+ pkgFile: 'package.json',
+ files: {
+ server: ['lib/**/*.js'],
+ client: ['client/**/*.js'],
+ common: ['common/**/*.js'],
+ context: ['context/**/*.js'],
+ grunt: ['grunt.js', 'tasks/*.js'],
+ scripts: ['scripts/init-dev-env.js']
+ },
+ browserify: {
+ client: {
+ files: {
+ 'static/karma.js': ['client/main.js'],
+ 'static/context.js': ['context/main.js']
+ }
+ }
+ },
+ test: {
+ unit: 'mochaTest:unit',
+ client: 'test/client/karma.conf.js',
+ e2e: 'cucumberjs:ci'
+ },
+ watch: {
+ client: {
+ files: '<%= files.client %>',
+ tasks: 'browserify:client'
+ }
+ },
+ mochaTest: {
+ options: {
+ reporter: 'dot',
+ ui: 'bdd',
+ quiet: false,
+ colors: true
+ },
+ unit: {
+ src: [
+ 'test/unit/mocha-globals.js',
+ 'test/unit/**/*.spec.js'
+ ]
+ }
+ },
+ cucumberjs: {
+ options: {
+ steps: 'test/e2e/step_definitions',
+ format: 'progress',
+ require: ['test/e2e/support/env.js', 'test/e2e/support/world.js']
+ },
+ all: 'test/e2e/*.feature',
+ current: {
+ files: {
+ src: 'test/e2e/*.feature'
+ },
+ options: {
+ tags: '@current'
+ }
+ },
+ ci: {
+ files: {
+ src: 'test/e2e/*.feature'
+ },
+ options: {
+ tags: 'not @not-jenkins'
+ }
+ }
+ },
+ eslint: {
+ options: {
+ quiet: true
+ },
+ target: [
+ '<%= files.server %>',
+ '<%= files.grunt %>',
+ '<%= files.scripts %>',
+ '<%= files.client %>',
+ '<%= files.common %>',
+ '<%= files.context %>',
+ 'static/debug.js',
+ 'test/**/*.js',
+ 'gruntfile.js'
+ ]
+ },
+ 'npm-publish': {
+ options: {
+ requires: ['build'],
+ abortIfDirty: true,
+ tag: 'latest'
+ }
+ },
+ 'npm-contributors': {
+ options: {
+ commitMessage: 'chore: update contributors'
+ }
+ },
+ conventionalChangelog: {
+ release: {
+ options: {
+ changelogOpts: {
+ preset: 'angular'
+ }
+ },
+ src: 'CHANGELOG.md'
+ }
+ },
+ conventionalGithubReleaser: {
+ release: {
+ options: {
+ auth: {
+ type: 'oauth',
+ token: process.env.GH_TOKEN
+ },
+ changelogOpts: {
+ preset: 'angular'
+ }
+ }
+ }
+ },
+ bump: {
+ options: {
+ updateConfigs: ['pkg'],
+ commitFiles: [
+ 'package.json',
+ 'CHANGELOG.md'
+ ],
+ commitMessage: 'chore: release v%VERSION%',
+ prereleaseName: 'rc'
+ }
+ }
+ })
+
+ grunt.loadNpmTasks('grunt-check-clean')
+ grunt.loadTasks('tasks')
+ require('load-grunt-tasks')(grunt)
+
+ grunt.registerTask('lint', ['eslint'])
+ grunt.registerTask('build', ['browserify:client'])
+ grunt.registerTask('default', ['build', 'lint', 'test'])
+ grunt.registerTask('test-appveyor', ['test:unit', 'test:client'])
+
+ grunt.registerTask('release', 'Build, bump and publish to NPM.', function (type) {
+ grunt.task.run([
+ 'check_clean',
+ 'npm-contributors',
+ 'bump:' + (type || 'patch') + ':bump-only',
+ 'build',
+ 'conventionalChangelog',
+ 'bump-commit',
+ 'conventionalGithubReleaser',
+ 'npm-publish'
+ ])
+ })
+}
diff --git a/node_modules/karma/lib/browser.js b/node_modules/karma/lib/browser.js
new file mode 100644
index 0000000..1023194
--- /dev/null
+++ b/node_modules/karma/lib/browser.js
@@ -0,0 +1,265 @@
+'use strict'
+
+const BrowserResult = require('./browser_result')
+const helper = require('./helper')
+const logger = require('./logger')
+
+const CONNECTED = 'CONNECTED' // The browser is connected but not yet been commanded to execute tests.
+const CONFIGURING = 'CONFIGURING' // The browser has been told to execute tests; it is configuring before tests execution.
+const EXECUTING = 'EXECUTING' // The browser is executing the tests.
+const EXECUTING_DISCONNECTED = 'EXECUTING_DISCONNECTED' // The browser is executing the tests, but temporarily disconnect (waiting for socket reconnecting).
+const DISCONNECTED = 'DISCONNECTED' // The browser got completely disconnected (e.g. browser crash) and can be only restored with a restart of execution.
+
+class Browser {
+ constructor (id, fullName, collection, emitter, socket, timer, disconnectDelay, noActivityTimeout) {
+ this.id = id
+ this.fullName = fullName
+ this.name = helper.browserFullNameToShort(fullName)
+ this.lastResult = new BrowserResult()
+ this.disconnectsCount = 0
+ this.activeSockets = [socket]
+ this.noActivityTimeout = noActivityTimeout
+ this.collection = collection
+ this.emitter = emitter
+ this.socket = socket
+ this.timer = timer
+ this.disconnectDelay = disconnectDelay
+
+ this.log = logger.create(this.name)
+
+ this.noActivityTimeoutId = null
+ this.pendingDisconnect = null
+ this.setState(CONNECTED)
+ }
+
+ init () {
+ this.log.info(`Connected on socket ${this.socket.id} with id ${this.id}`)
+
+ this.bindSocketEvents(this.socket)
+ this.collection.add(this)
+ this.emitter.emit('browser_register', this)
+ }
+
+ setState (toState) {
+ this.log.debug(`${this.state} -> ${toState}`)
+ this.state = toState
+ }
+
+ onKarmaError (error) {
+ if (this.isNotConnected()) {
+ this.lastResult.error = true
+ }
+ this.emitter.emit('browser_error', this, error)
+ this.refreshNoActivityTimeout()
+ }
+
+ onInfo (info) {
+ if (helper.isDefined(info.dump)) {
+ this.emitter.emit('browser_log', this, info.dump, 'dump')
+ }
+
+ if (helper.isDefined(info.log)) {
+ this.emitter.emit('browser_log', this, info.log, info.type)
+ } else if (helper.isDefined(info.total)) {
+ if (this.state === EXECUTING) {
+ this.lastResult.total = info.total
+ }
+ } else if (!helper.isDefined(info.dump)) {
+ this.emitter.emit('browser_info', this, info)
+ }
+
+ this.refreshNoActivityTimeout()
+ }
+
+ onStart (info) {
+ if (info.total === null) {
+ this.log.warn('Adapter did not report total number of specs.')
+ }
+
+ this.lastResult = new BrowserResult(info.total)
+ this.setState(EXECUTING)
+ this.emitter.emit('browser_start', this, info)
+ this.refreshNoActivityTimeout()
+ }
+
+ onComplete (result) {
+ if (this.isNotConnected()) {
+ this.setState(CONNECTED)
+ this.lastResult.totalTimeEnd()
+
+ if (!this.lastResult.success) {
+ this.lastResult.error = true
+ }
+
+ this.emitter.emit('browsers_change', this.collection)
+ this.emitter.emit('browser_complete', this, result)
+
+ this.clearNoActivityTimeout()
+ }
+ }
+
+ onDisconnect (reason, disconnectedSocket) {
+ helper.arrayRemove(this.activeSockets, disconnectedSocket)
+
+ if (this.activeSockets.length) {
+ this.log.debug(`Disconnected ${disconnectedSocket.id}, still have ${this.getActiveSocketsIds()}`)
+ return
+ }
+
+ if (this.isConnected()) {
+ this.disconnect(`Client disconnected from CONNECTED state (${reason})`)
+ } else if ([CONFIGURING, EXECUTING].includes(this.state)) {
+ this.log.debug(`Disconnected during run, waiting ${this.disconnectDelay}ms for reconnecting.`)
+ this.setState(EXECUTING_DISCONNECTED)
+
+ this.pendingDisconnect = this.timer.setTimeout(() => {
+ this.lastResult.totalTimeEnd()
+ this.lastResult.disconnected = true
+ this.disconnect(`reconnect failed before timeout of ${this.disconnectDelay}ms (${reason})`)
+ this.emitter.emit('browser_complete', this)
+ }, this.disconnectDelay)
+
+ this.clearNoActivityTimeout()
+ }
+ }
+
+ reconnect (newSocket) {
+ if (this.state === EXECUTING_DISCONNECTED) {
+ this.log.debug(`Lost socket connection, but browser continued to execute. Reconnected ` +
+ `on socket ${newSocket.id}.`)
+ this.setState(EXECUTING)
+ } else if ([CONNECTED, CONFIGURING, EXECUTING].includes(this.state)) {
+ this.log.debug(`Rebinding to new socket ${newSocket.id} (already have ` +
+ `${this.getActiveSocketsIds()})`)
+ } else if (this.state === DISCONNECTED) {
+ this.log.info(`Disconnected browser returned on socket ${newSocket.id} with id ${this.id}.`)
+ this.setState(CONNECTED)
+
+ // Since the disconnected browser is already part of the collection and we want to
+ // make sure that the server can properly handle the browser like it's the first time
+ // connecting this browser (as we want a complete new execution), we need to emit the
+ // following events:
+ this.emitter.emit('browsers_change', this.collection)
+ this.emitter.emit('browser_register', this)
+ }
+
+ if (!this.activeSockets.some((s) => s.id === newSocket.id)) {
+ this.activeSockets.push(newSocket)
+ this.bindSocketEvents(newSocket)
+ }
+
+ if (this.pendingDisconnect) {
+ this.timer.clearTimeout(this.pendingDisconnect)
+ }
+
+ this.refreshNoActivityTimeout()
+ }
+
+ onResult (result) {
+ if (result.length) {
+ result.forEach(this.onResult, this)
+ return
+ } else if (this.isNotConnected()) {
+ this.lastResult.add(result)
+ this.emitter.emit('spec_complete', this, result)
+ }
+ this.refreshNoActivityTimeout()
+ }
+
+ execute (config) {
+ this.activeSockets.forEach((socket) => socket.emit('execute', config))
+ this.setState(CONFIGURING)
+ this.refreshNoActivityTimeout()
+ }
+
+ getActiveSocketsIds () {
+ return this.activeSockets.map((s) => s.id).join(', ')
+ }
+
+ disconnect (reason) {
+ this.log.warn(`Disconnected (${this.disconnectsCount} times)${reason || ''}`)
+ this.setState(DISCONNECTED)
+ this.disconnectsCount++
+ this.emitter.emit('browser_error', this, `Disconnected${reason || ''}`)
+ this.collection.remove(this)
+ }
+
+ refreshNoActivityTimeout () {
+ if (this.noActivityTimeout) {
+ this.clearNoActivityTimeout()
+
+ this.noActivityTimeoutId = this.timer.setTimeout(() => {
+ this.lastResult.totalTimeEnd()
+ this.lastResult.disconnected = true
+ this.disconnect(`, because no message in ${this.noActivityTimeout} ms.`)
+ this.emitter.emit('browser_complete', this)
+ }, this.noActivityTimeout)
+ }
+ }
+
+ clearNoActivityTimeout () {
+ if (this.noActivityTimeout && this.noActivityTimeoutId) {
+ this.timer.clearTimeout(this.noActivityTimeoutId)
+ this.noActivityTimeoutId = null
+ }
+ }
+
+ bindSocketEvents (socket) {
+ // TODO: check which of these events are actually emitted by socket
+ socket.on('disconnect', (reason) => this.onDisconnect(reason, socket))
+ socket.on('start', (info) => this.onStart(info))
+ socket.on('karma_error', (error) => this.onKarmaError(error))
+ socket.on('complete', (result) => this.onComplete(result))
+ socket.on('info', (info) => this.onInfo(info))
+ socket.on('result', (result) => this.onResult(result))
+ }
+
+ isConnected () {
+ return this.state === CONNECTED
+ }
+
+ isNotConnected () {
+ return !this.isConnected()
+ }
+
+ serialize () {
+ return {
+ id: this.id,
+ name: this.name,
+ isConnected: this.state === CONNECTED
+ }
+ }
+
+ toString () {
+ return this.name
+ }
+
+ toJSON () {
+ return {
+ id: this.id,
+ fullName: this.fullName,
+ name: this.name,
+ state: this.state,
+ lastResult: this.lastResult,
+ disconnectsCount: this.disconnectsCount,
+ noActivityTimeout: this.noActivityTimeout,
+ disconnectDelay: this.disconnectDelay
+ }
+ }
+}
+
+Browser.factory = function (
+ id, fullName, /* capturedBrowsers */ collection, emitter, socket, timer,
+ /* config.browserDisconnectTimeout */ disconnectDelay,
+ /* config.browserNoActivityTimeout */ noActivityTimeout
+) {
+ return new Browser(id, fullName, collection, emitter, socket, timer, disconnectDelay, noActivityTimeout)
+}
+
+Browser.STATE_CONNECTED = CONNECTED
+Browser.STATE_CONFIGURING = CONFIGURING
+Browser.STATE_EXECUTING = EXECUTING
+Browser.STATE_EXECUTING_DISCONNECTED = EXECUTING_DISCONNECTED
+Browser.STATE_DISCONNECTED = DISCONNECTED
+
+module.exports = Browser
diff --git a/node_modules/karma/lib/browser_collection.js b/node_modules/karma/lib/browser_collection.js
new file mode 100644
index 0000000..1f586ea
--- /dev/null
+++ b/node_modules/karma/lib/browser_collection.js
@@ -0,0 +1,96 @@
+'use strict'
+
+const BrowserResult = require('./browser_result')
+const helper = require('./helper')
+
+class BrowserCollection {
+ constructor (emitter, browsers = []) {
+ this.browsers = browsers
+ this.emitter = emitter
+ }
+
+ add (browser) {
+ this.browsers.push(browser)
+ this.emitter.emit('browsers_change', this)
+ }
+
+ remove (browser) {
+ if (helper.arrayRemove(this.browsers, browser)) {
+ this.emitter.emit('browsers_change', this)
+ return true
+ }
+ return false
+ }
+
+ getById (browserId) {
+ return this.browsers.find((browser) => browser.id === browserId) || null
+ }
+
+ getNonReady () {
+ return this.browsers.filter((browser) => !browser.isConnected())
+ }
+
+ areAllReady () {
+ return this.browsers.every((browser) => browser.isConnected())
+ }
+
+ serialize () {
+ return this.browsers.map((browser) => browser.serialize())
+ }
+
+ calculateExitCode (results, singleRunBrowserNotCaptured, failOnEmptyTestSuite, failOnFailingTestSuite) {
+ if (results.disconnected || singleRunBrowserNotCaptured) {
+ return 1
+ } else if (results.success + results.failed === 0 && !failOnEmptyTestSuite) {
+ return 0
+ } else if (results.error) {
+ return 1
+ } else if (failOnFailingTestSuite === false) {
+ return 0 // Tests executed without infrastructure error, exit with 0 independent of test status.
+ } else {
+ return results.failed ? 1 : 0
+ }
+ }
+
+ getResults (singleRunBrowserNotCaptured, failOnEmptyTestSuite, failOnFailingTestSuite) {
+ const results = { success: 0, failed: 0, error: false, disconnected: false, exitCode: 0 }
+ this.browsers.forEach((browser) => {
+ results.success += browser.lastResult.success
+ results.failed += browser.lastResult.failed
+ results.error = results.error || browser.lastResult.error
+ results.disconnected = results.disconnected || browser.lastResult.disconnected
+ })
+
+ results.exitCode = this.calculateExitCode(results, singleRunBrowserNotCaptured, failOnEmptyTestSuite, failOnFailingTestSuite)
+ return results
+ }
+
+ clearResults () {
+ this.browsers.forEach((browser) => {
+ browser.lastResult = new BrowserResult()
+ })
+ }
+
+ clone () {
+ return new BrowserCollection(this.emitter, this.browsers.slice())
+ }
+
+ // Array APIs
+ map (callback, context) {
+ return this.browsers.map(callback, context)
+ }
+
+ forEach (callback, context) {
+ return this.browsers.forEach(callback, context)
+ }
+
+ get length () {
+ return this.browsers.length
+ }
+}
+
+BrowserCollection.factory = function (emitter) {
+ return new BrowserCollection(emitter)
+}
+
+module.exports = BrowserCollection
diff --git a/node_modules/karma/lib/browser_result.js b/node_modules/karma/lib/browser_result.js
new file mode 100644
index 0000000..02f4d4e
--- /dev/null
+++ b/node_modules/karma/lib/browser_result.js
@@ -0,0 +1,30 @@
+'use strict'
+
+class BrowserResult {
+ constructor (total = 0) {
+ this.startTime = Date.now()
+
+ this.total = total
+ this.skipped = this.failed = this.success = 0
+ this.netTime = this.totalTime = 0
+ this.disconnected = this.error = false
+ }
+
+ totalTimeEnd () {
+ this.totalTime = Date.now() - this.startTime
+ }
+
+ add (result) {
+ if (result.skipped) {
+ this.skipped++
+ } else if (result.success) {
+ this.success++
+ } else {
+ this.failed++
+ }
+
+ this.netTime += result.time
+ }
+}
+
+module.exports = BrowserResult
diff --git a/node_modules/karma/lib/cli.js b/node_modules/karma/lib/cli.js
new file mode 100644
index 0000000..d438477
--- /dev/null
+++ b/node_modules/karma/lib/cli.js
@@ -0,0 +1,311 @@
+'use strict'
+
+const path = require('path')
+const assert = require('assert')
+const optimist = require('optimist')
+const fs = require('graceful-fs')
+
+const Server = require('./server')
+const helper = require('./helper')
+const constant = require('./constants')
+
+function processArgs (argv, options, fs, path) {
+ if (argv.help) {
+ console.log(optimist.help())
+ process.exit(0)
+ }
+
+ if (argv.version) {
+ console.log(`Karma version: ${constant.VERSION}`)
+ process.exit(0)
+ }
+
+ // TODO(vojta): warn/throw when unknown argument (probably mispelled)
+ Object.getOwnPropertyNames(argv).forEach(function (name) {
+ let argumentValue = argv[name]
+ if (name !== '_' && name !== '$0') {
+ assert(!name.includes('_'), `Bad argument: ${name} did you mean ${name.replace('_', '-')}`)
+
+ if (Array.isArray(argumentValue)) {
+ argumentValue = argumentValue.pop() // If the same argument is defined multiple times, override.
+ }
+ options[helper.dashToCamel(name)] = argumentValue
+ }
+ })
+
+ if (helper.isString(options.autoWatch)) {
+ options.autoWatch = options.autoWatch === 'true'
+ }
+
+ if (helper.isString(options.colors)) {
+ options.colors = options.colors === 'true'
+ }
+
+ if (helper.isString(options.failOnEmptyTestSuite)) {
+ options.failOnEmptyTestSuite = options.failOnEmptyTestSuite === 'true'
+ }
+
+ if (helper.isString(options.failOnFailingTestSuite)) {
+ options.failOnFailingTestSuite = options.failOnFailingTestSuite === 'true'
+ }
+
+ if (helper.isString(options.formatError)) {
+ let required
+ try {
+ required = require(options.formatError)
+ } catch (err) {
+ console.error('Could not require formatError: ' + options.formatError, err)
+ }
+ // support exports.formatError and module.exports = function
+ options.formatError = required.formatError || required
+ if (!helper.isFunction(options.formatError)) {
+ console.error(`Format error must be a function, got: ${typeof options.formatError}`)
+ process.exit(1)
+ }
+ }
+
+ if (helper.isString(options.logLevel)) {
+ const logConstant = constant['LOG_' + options.logLevel.toUpperCase()]
+ if (helper.isDefined(logConstant)) {
+ options.logLevel = logConstant
+ } else {
+ console.error('Log level must be one of disable, error, warn, info, or debug.')
+ process.exit(1)
+ }
+ } else if (helper.isDefined(options.logLevel)) {
+ console.error('Log level must be one of disable, error, warn, info, or debug.')
+ process.exit(1)
+ }
+
+ if (helper.isString(options.singleRun)) {
+ options.singleRun = options.singleRun === 'true'
+ }
+
+ if (helper.isString(options.browsers)) {
+ options.browsers = options.browsers.split(',')
+ }
+
+ if (options.reportSlowerThan === false) {
+ options.reportSlowerThan = 0
+ }
+
+ if (helper.isString(options.reporters)) {
+ options.reporters = options.reporters.split(',')
+ }
+
+ if (helper.isString(options.removedFiles)) {
+ options.removedFiles = options.removedFiles.split(',')
+ }
+
+ if (helper.isString(options.addedFiles)) {
+ options.addedFiles = options.addedFiles.split(',')
+ }
+
+ if (helper.isString(options.changedFiles)) {
+ options.changedFiles = options.changedFiles.split(',')
+ }
+
+ if (helper.isString(options.refresh)) {
+ options.refresh = options.refresh === 'true'
+ }
+
+ let configFile = argv._.shift()
+
+ if (!configFile) {
+ // default config file (if exists)
+ if (fs.existsSync('./karma.conf.js')) {
+ configFile = './karma.conf.js'
+ } else if (fs.existsSync('./karma.conf.coffee')) {
+ configFile = './karma.conf.coffee'
+ } else if (fs.existsSync('./karma.conf.ts')) {
+ configFile = './karma.conf.ts'
+ } else if (fs.existsSync('./.config/karma.conf.js')) {
+ configFile = './.config/karma.conf.js'
+ } else if (fs.existsSync('./.config/karma.conf.coffee')) {
+ configFile = './.config/karma.conf.coffee'
+ } else if (fs.existsSync('./.config/karma.conf.ts')) {
+ configFile = './.config/karma.conf.ts'
+ }
+ }
+
+ options.configFile = configFile ? path.resolve(configFile) : null
+
+ return options
+}
+
+function parseClientArgs (argv) {
+ // extract any args after '--' as clientArgs
+ let clientArgs = []
+ argv = argv.slice(2)
+ const idx = argv.indexOf('--')
+ if (idx !== -1) {
+ clientArgs = argv.slice(idx + 1)
+ }
+ return clientArgs
+}
+
+// return only args that occur before `--`
+function argsBeforeDoubleDash (argv) {
+ const idx = argv.indexOf('--')
+
+ return idx === -1 ? argv : argv.slice(0, idx)
+}
+
+function describeShared () {
+ optimist
+ .usage('Karma - Spectacular Test Runner for JavaScript.\n\n' +
+ 'Usage:\n' +
+ ' $0 <command>\n\n' +
+ 'Commands:\n' +
+ ' start [<configFile>] [<options>] Start the server / do single run.\n' +
+ ' init [<configFile>] Initialize a config file.\n' +
+ ' run [<options>] [ -- <clientArgs>] Trigger a test run.\n' +
+ ' completion Shell completion for karma.\n\n' +
+ 'Run --help with particular command to see its description and available options.')
+ .describe('help', 'Print usage and options.')
+ .describe('version', 'Print current version.')
+}
+
+function describeInit () {
+ optimist
+ .usage('Karma - Spectacular Test Runner for JavaScript.\n\n' +
+ 'INIT - Initialize a config file.\n\n' +
+ 'Usage:\n' +
+ ' $0 init [<configFile>]')
+ .describe('log-level', '<disable | error | warn | info | debug> Level of logging.')
+ .describe('colors', 'Use colors when reporting and printing logs.')
+ .describe('no-colors', 'Do not use colors when reporting or printing logs.')
+ .describe('help', 'Print usage and options.')
+}
+
+function describeStart () {
+ optimist
+ .usage('Karma - Spectacular Test Runner for JavaScript.\n\n' +
+ 'START - Start the server / do a single run.\n\n' +
+ 'Usage:\n' +
+ ' $0 start [<configFile>] [<options>]')
+ .describe('port', '<integer> Port where the server is running.')
+ .describe('auto-watch', 'Auto watch source files and run on change.')
+ .describe('detached', 'Detach the server.')
+ .describe('no-auto-watch', 'Do not watch source files.')
+ .describe('log-level', '<disable | error | warn | info | debug> Level of logging.')
+ .describe('colors', 'Use colors when reporting and printing logs.')
+ .describe('no-colors', 'Do not use colors when reporting or printing logs.')
+ .describe('reporters', 'List of reporters (available: dots, progress, junit, growl, coverage).')
+ .describe('browsers', 'List of browsers to start (eg. --browsers Chrome,ChromeCanary,Firefox).')
+ .describe('capture-timeout', '<integer> Kill browser if does not capture in given time [ms].')
+ .describe('single-run', 'Run the test when browsers captured and exit.')
+ .describe('no-single-run', 'Disable single-run.')
+ .describe('report-slower-than', '<integer> Report tests that are slower than given time [ms].')
+ .describe('fail-on-empty-test-suite', 'Fail on empty test suite.')
+ .describe('no-fail-on-empty-test-suite', 'Do not fail on empty test suite.')
+ .describe('fail-on-failing-test-suite', 'Fail on failing test suite.')
+ .describe('no-fail-on-failing-test-suite', 'Do not fail on failing test suite.')
+ .describe('help', 'Print usage and options.')
+}
+
+function describeRun () {
+ optimist
+ .usage('Karma - Spectacular Test Runner for JavaScript.\n\n' +
+ 'RUN - Run the tests (requires running server).\n\n' +
+ 'Usage:\n' +
+ ' $0 run [<configFile>] [<options>] [ -- <clientArgs>]')
+ .describe('port', '<integer> Port where the server is listening.')
+ .describe('no-refresh', 'Do not re-glob all the patterns.')
+ .describe('fail-on-empty-test-suite', 'Fail on empty test suite.')
+ .describe('no-fail-on-empty-test-suite', 'Do not fail on empty test suite.')
+ .describe('help', 'Print usage.')
+ .describe('log-level', '<disable | error | warn | info | debug> Level of logging.')
+ .describe('colors', 'Use colors when reporting and printing logs.')
+ .describe('no-colors', 'Do not use colors when reporting or printing logs.')
+}
+
+function describeStop () {
+ optimist
+ .usage('Karma - Spectacular Test Runner for JavaScript.\n\n' +
+ 'STOP - Stop the server (requires running server).\n\n' +
+ 'Usage:\n' +
+ ' $0 run [<configFile>] [<options>]')
+ .describe('port', '<integer> Port where the server is listening.')
+ .describe('log-level', '<disable | error | warn | info | debug> Level of logging.')
+ .describe('help', 'Print usage.')
+}
+
+function describeCompletion () {
+ optimist
+ .usage('Karma - Spectacular Test Runner for JavaScript.\n\n' +
+ 'COMPLETION - Bash/ZSH completion for karma.\n\n' +
+ 'Installation:\n' +
+ ' $0 completion >> ~/.bashrc\n')
+ .describe('help', 'Print usage.')
+}
+
+exports.process = function () {
+ const argv = optimist.parse(argsBeforeDoubleDash(process.argv.slice(2)))
+ const options = {
+ cmd: argv._.shift()
+ }
+
+ switch (options.cmd) {
+ case 'start':
+ describeStart()
+ break
+
+ case 'run':
+ describeRun()
+ options.clientArgs = parseClientArgs(process.argv)
+ break
+
+ case 'stop':
+ describeStop()
+ break
+
+ case 'init':
+ describeInit()
+ break
+
+ case 'completion':
+ describeCompletion()
+ break
+
+ default:
+ describeShared()
+ if (!options.cmd) {
+ processArgs(argv, options, fs, path)
+ console.error('Command not specified.')
+ } else {
+ console.error('Unknown command "' + options.cmd + '".')
+ }
+ optimist.showHelp()
+ process.exit(1)
+ }
+
+ return processArgs(argv, options, fs, path)
+}
+
+exports.run = function () {
+ const config = exports.process()
+
+ switch (config.cmd) {
+ case 'start':
+ new Server(config).start()
+ break
+ case 'run':
+ require('./runner').run(config)
+ break
+ case 'stop':
+ require('./stopper').stop(config)
+ break
+ case 'init':
+ require('./init').init(config)
+ break
+ case 'completion':
+ require('./completion').completion(config)
+ break
+ }
+}
+
+// just for testing
+exports.processArgs = processArgs
+exports.parseClientArgs = parseClientArgs
+exports.argsBeforeDoubleDash = argsBeforeDoubleDash
diff --git a/node_modules/karma/lib/completion.js b/node_modules/karma/lib/completion.js
new file mode 100644
index 0000000..8e2d56f
--- /dev/null
+++ b/node_modules/karma/lib/completion.js
@@ -0,0 +1,126 @@
+'use strict'
+
+const glob = require('glob')
+
+const CUSTOM = ['']
+const BOOLEAN = false
+
+const options = {
+ start: {
+ '--port': CUSTOM,
+ '--auto-watch': BOOLEAN,
+ '--no-auto-watch': BOOLEAN,
+ '--log-level': ['disable', 'debug', 'info', 'warn', 'error'],
+ '--colors': BOOLEAN,
+ '--no-colors': BOOLEAN,
+ '--reporters': ['dots', 'progress'],
+ '--no-reporters': BOOLEAN,
+ '--browsers': ['Chrome', 'ChromeHeadless', 'ChromeCanary', 'Firefox', 'PhantomJS', 'Safari', 'Opera'],
+ '--no-browsers': BOOLEAN,
+ '--single-run': BOOLEAN,
+ '--no-single-run': BOOLEAN,
+ '--help': BOOLEAN
+ },
+ init: {
+ '--log-level': ['disable', 'debug', 'info', 'warn', 'error'],
+ '--colors': BOOLEAN,
+ '--no-colors': BOOLEAN,
+ '--help': BOOLEAN
+ },
+ run: {
+ '--no-refresh': BOOLEAN,
+ '--port': CUSTOM,
+ '--help': BOOLEAN
+ }
+}
+
+function opositeWord (word) {
+ if (word.startsWith('-')) {
+ return word.startsWith('--no-') ? `--${word.substr(5)}` : `--no-${word.substr(2)}`
+ } else {
+ return null
+ }
+}
+
+function sendCompletion (possibleWords, env) {
+ const regexp = new RegExp('^' + env.last)
+ possibleWords
+ .filter((word) => regexp.test(word) && !env.words.includes(word) && !env.words.includes(opositeWord(word)))
+ .forEach((word) => {
+ console.log(word)
+ })
+}
+
+function sendCompletionFiles (env) {
+ glob(env.last + '*', { mark: true, nocase: true }, (err, files) => {
+ if (err) return console.error(err)
+
+ if (files.length === 1 && files[0].endsWith('/')) {
+ sendCompletionFiles({ last: files[0] })
+ } else {
+ console.log(files.join('\n'))
+ }
+ })
+}
+
+function complete (env) {
+ if (env.count === 1) {
+ return sendCompletion(env.words[0].startsWith('-') ? ['--help', '--version'] : Object.keys(options), env)
+ } else if (env.count === 2 && !env.words[1].startsWith('-')) {
+ return sendCompletionFiles(env)
+ }
+
+ const cmdOptions = options[env.words[0]]
+
+ if (cmdOptions) {
+ if (cmdOptions[env.prev] === CUSTOM && env.last) {
+ console.log(env.last)
+ } else {
+ return sendCompletion(cmdOptions[env.prev] || Object.keys(cmdOptions), env)
+ }
+ }
+}
+
+function completion () {
+ if (process.argv[3] === '--') {
+ return complete({
+ words: process.argv.slice(5),
+ count: parseInt(process.env.COMP_CWORD, 10),
+ last: process.argv[process.argv.length - 1],
+ prev: process.argv[process.argv.length - 2]
+ })
+ }
+
+ // just print out the karma-completion.sh
+ const fs = require('graceful-fs')
+ const path = require('path')
+
+ fs.readFile(path.resolve(__dirname, '../scripts/karma-completion.sh'), 'utf8', function (err, data) {
+ if (err) return console.error(err)
+
+ process.stdout.write(data)
+ process.stdout.on('error', function (error) {
+ // Darwin is a real dick sometimes.
+ //
+ // This is necessary because the "source" or "." program in
+ // bash on OS X closes its file argument before reading
+ // from it, meaning that you get exactly 1 write, which will
+ // work most of the time, and will always raise an EPIPE.
+ //
+ // Really, one should not be tossing away EPIPE errors, or any
+ // errors, so casually. But, without this, `. <(karma completion)`
+ // can never ever work on OS X.
+ if (error.errno === 'EPIPE') {
+ error = null
+ }
+ })
+ })
+}
+
+// PUBLIC API
+exports.completion = completion
+
+// for testing
+exports.opositeWord = opositeWord
+exports.sendCompletion = sendCompletion
+exports.complete = complete
diff --git a/node_modules/karma/lib/config.js b/node_modules/karma/lib/config.js
new file mode 100644
index 0000000..67f05d1
--- /dev/null
+++ b/node_modules/karma/lib/config.js
@@ -0,0 +1,427 @@
+'use strict'
+
+const path = require('path')
+const assert = require('assert')
+
+const logger = require('./logger')
+const log = logger.create('config')
+const helper = require('./helper')
+const constant = require('./constants')
+
+const _ = require('lodash')
+
+let COFFEE_SCRIPT_AVAILABLE = false
+let LIVE_SCRIPT_AVAILABLE = false
+let TYPE_SCRIPT_AVAILABLE = false
+
+try {
+ require('coffeescript').register()
+ COFFEE_SCRIPT_AVAILABLE = true
+} catch (e) {}
+
+// LiveScript is required here to enable config files written in LiveScript.
+// It's not directly used in this file.
+try {
+ require('LiveScript')
+ LIVE_SCRIPT_AVAILABLE = true
+} catch (e) {}
+
+try {
+ require('ts-node').register()
+ TYPE_SCRIPT_AVAILABLE = true
+} catch (e) {}
+
+class Pattern {
+ constructor (pattern, served, included, watched, nocache, type) {
+ this.pattern = pattern
+ this.served = helper.isDefined(served) ? served : true
+ this.included = helper.isDefined(included) ? included : true
+ this.watched = helper.isDefined(watched) ? watched : true
+ this.nocache = helper.isDefined(nocache) ? nocache : false
+ this.weight = helper.mmPatternWeight(pattern)
+ this.type = type
+ }
+
+ compare (other) {
+ return helper.mmComparePatternWeights(this.weight, other.weight)
+ }
+}
+
+class UrlPattern extends Pattern {
+ constructor (url, type) {
+ super(url, false, true, false, false, type)
+ }
+}
+
+function createPatternObject (pattern) {
+ if (pattern && helper.isString(pattern)) {
+ return helper.isUrlAbsolute(pattern)
+ ? new UrlPattern(pattern)
+ : new Pattern(pattern)
+ } else if (helper.isObject(pattern) && pattern.pattern && helper.isString(pattern.pattern)) {
+ return helper.isUrlAbsolute(pattern.pattern)
+ ? new UrlPattern(pattern.pattern, pattern.type)
+ : new Pattern(pattern.pattern, pattern.served, pattern.included, pattern.watched, pattern.nocache, pattern.type)
+ } else {
+ log.warn(`Invalid pattern ${pattern}!\n\tExpected string or object with "pattern" property.`)
+ return new Pattern(null, false, false, false, false)
+ }
+}
+
+function normalizeUrl (url) {
+ if (!url.startsWith('/')) {
+ url = `/${url}`
+ }
+
+ if (!url.endsWith('/')) {
+ url = url + '/'
+ }
+
+ return url
+}
+
+function normalizeUrlRoot (urlRoot) {
+ const normalizedUrlRoot = normalizeUrl(urlRoot)
+
+ if (normalizedUrlRoot !== urlRoot) {
+ log.warn(`urlRoot normalized to "${normalizedUrlRoot}"`)
+ }
+
+ return normalizedUrlRoot
+}
+
+function normalizeProxyPath (proxyPath) {
+ const normalizedProxyPath = normalizeUrl(proxyPath)
+
+ if (normalizedProxyPath !== proxyPath) {
+ log.warn(`proxyPath normalized to "${normalizedProxyPath}"`)
+ }
+
+ return normalizedProxyPath
+}
+
+function normalizeConfig (config, configFilePath) {
+ function basePathResolve (relativePath) {
+ if (helper.isUrlAbsolute(relativePath)) {
+ return relativePath
+ } else if (helper.isDefined(config.basePath) && helper.isDefined(relativePath)) {
+ return path.resolve(config.basePath, relativePath)
+ } else {
+ return ''
+ }
+ }
+
+ function createPatternMapper (resolve) {
+ return (objectPattern) => Object.assign(objectPattern, { pattern: resolve(objectPattern.pattern) })
+ }
+
+ if (helper.isString(configFilePath)) {
+ config.basePath = path.resolve(path.dirname(configFilePath), config.basePath) // resolve basePath
+ config.exclude.push(configFilePath) // always ignore the config file itself
+ } else {
+ config.basePath = path.resolve(config.basePath || '.')
+ }
+
+ config.files = config.files.map(createPatternObject).map(createPatternMapper(basePathResolve))
+ config.exclude = config.exclude.map(basePathResolve)
+ config.customContextFile = config.customContextFile && basePathResolve(config.customContextFile)
+ config.customDebugFile = config.customDebugFile && basePathResolve(config.customDebugFile)
+ config.customClientContextFile = config.customClientContextFile && basePathResolve(config.customClientContextFile)
+
+ // normalize paths on windows
+ config.basePath = helper.normalizeWinPath(config.basePath)
+ config.files = config.files.map(createPatternMapper(helper.normalizeWinPath))
+ config.exclude = config.exclude.map(helper.normalizeWinPath)
+ config.customContextFile = helper.normalizeWinPath(config.customContextFile)
+ config.customDebugFile = helper.normalizeWinPath(config.customDebugFile)
+ config.customClientContextFile = helper.normalizeWinPath(config.customClientContextFile)
+
+ // normalize urlRoot
+ config.urlRoot = normalizeUrlRoot(config.urlRoot)
+
+ // normalize and default upstream proxy settings if given
+ if (config.upstreamProxy) {
+ const proxy = config.upstreamProxy
+ proxy.path = helper.isDefined(proxy.path) ? normalizeProxyPath(proxy.path) : '/'
+ proxy.hostname = helper.isDefined(proxy.hostname) ? proxy.hostname : 'localhost'
+ proxy.port = helper.isDefined(proxy.port) ? proxy.port : 9875
+
+ // force protocol to end with ':'
+ proxy.protocol = (proxy.protocol || 'http').split(':')[0] + ':'
+ if (proxy.protocol.match(/https?:/) === null) {
+ log.warn(`"${proxy.protocol}" is not a supported upstream proxy protocol, defaulting to "http:"`)
+ proxy.protocol = 'http:'
+ }
+ }
+
+ // force protocol to end with ':'
+ config.protocol = (config.protocol || 'http').split(':')[0] + ':'
+ if (config.protocol.match(/https?:/) === null) {
+ log.warn(`"${config.protocol}" is not a supported protocol, defaulting to "http:"`)
+ config.protocol = 'http:'
+ }
+
+ if (config.proxies && config.proxies.hasOwnProperty(config.urlRoot)) {
+ log.warn(`"${config.urlRoot}" is proxied, you should probably change urlRoot to avoid conflicts`)
+ }
+
+ if (config.singleRun && config.autoWatch) {
+ log.debug('autoWatch set to false, because of singleRun')
+ config.autoWatch = false
+ }
+
+ if (config.runInParent) {
+ log.debug('useIframe set to false, because using runInParent')
+ config.useIframe = false
+ }
+
+ if (!config.singleRun && !config.useIframe && config.runInParent) {
+ log.debug('singleRun set to true, because using runInParent')
+ config.singleRun = true
+ }
+
+ if (helper.isString(config.reporters)) {
+ config.reporters = config.reporters.split(',')
+ }
+
+ if (config.client && config.client.args) {
+ assert(Array.isArray(config.client.args), 'Invalid configuration: client.args must be an array of strings')
+ }
+
+ if (config.browsers) {
+ assert(Array.isArray(config.browsers), 'Invalid configuration: browsers option must be an array')
+ }
+
+ if (config.formatError) {
+ assert(helper.isFunction(config.formatError), 'Invalid configuration: formatError option must be a function.')
+ }
+
+ if (config.processKillTimeout) {
+ assert(helper.isNumber(config.processKillTimeout), 'Invalid configuration: processKillTimeout option must be a number.')
+ }
+
+ if (config.browserSocketTimeout) {
+ assert(helper.isNumber(config.browserSocketTimeout), 'Invalid configuration: browserSocketTimeout option must be a number.')
+ }
+
+ const defaultClient = config.defaultClient || {}
+ Object.keys(defaultClient).forEach(function (key) {
+ const option = config.client[key]
+ config.client[key] = helper.isDefined(option) ? option : defaultClient[key]
+ })
+
+ // normalize preprocessors
+ const preprocessors = config.preprocessors || {}
+ const normalizedPreprocessors = config.preprocessors = Object.create(null)
+
+ Object.keys(preprocessors).forEach(function (pattern) {
+ const normalizedPattern = helper.normalizeWinPath(basePathResolve(pattern))
+
+ normalizedPreprocessors[normalizedPattern] = helper.isString(preprocessors[pattern])
+ ? [preprocessors[pattern]] : preprocessors[pattern]
+ })
+
+ // define custom launchers/preprocessors/reporters - create an inlined plugin
+ const module = Object.create(null)
+ let hasSomeInlinedPlugin = false
+ const types = ['launcher', 'preprocessor', 'reporter']
+
+ types.forEach(function (type) {
+ const definitions = config[`custom${helper.ucFirst(type)}s`] || {}
+
+ Object.keys(definitions).forEach(function (name) {
+ const definition = definitions[name]
+
+ if (!helper.isObject(definition)) {
+ return log.warn(`Can not define ${type} ${name}. Definition has to be an object.`)
+ }
+
+ if (!helper.isString(definition.base)) {
+ return log.warn(`Can not define ${type} ${name}. Missing base ${type}.`)
+ }
+
+ const token = type + ':' + definition.base
+ const locals = {
+ args: ['value', definition]
+ }
+
+ module[type + ':' + name] = ['factory', function (injector) {
+ const plugin = injector.createChild([locals], [token]).get(token)
+ if (type === 'launcher' && helper.isDefined(definition.displayName)) {
+ plugin.displayName = definition.displayName
+ }
+ return plugin
+ }]
+ hasSomeInlinedPlugin = true
+ })
+ })
+
+ if (hasSomeInlinedPlugin) {
+ config.plugins.push(module)
+ }
+
+ return config
+}
+
+class Config {
+ constructor () {
+ this.LOG_DISABLE = constant.LOG_DISABLE
+ this.LOG_ERROR = constant.LOG_ERROR
+ this.LOG_WARN = constant.LOG_WARN
+ this.LOG_INFO = constant.LOG_INFO
+ this.LOG_DEBUG = constant.LOG_DEBUG
+
+ // DEFAULT CONFIG
+ this.frameworks = []
+ this.protocol = 'http:'
+ this.port = constant.DEFAULT_PORT
+ this.listenAddress = constant.DEFAULT_LISTEN_ADDR
+ this.hostname = constant.DEFAULT_HOSTNAME
+ this.httpsServerConfig = {}
+ this.basePath = ''
+ this.files = []
+ this.browserConsoleLogOptions = {
+ level: 'debug',
+ format: '%b %T: %m',
+ terminal: true
+ }
+ this.customContextFile = null
+ this.customDebugFile = null
+ this.customClientContextFile = null
+ this.exclude = []
+ this.logLevel = constant.LOG_INFO
+ this.colors = true
+ this.autoWatch = true
+ this.autoWatchBatchDelay = 250
+ this.restartOnFileChange = false
+ this.usePolling = process.platform === 'linux'
+ this.reporters = ['progress']
+ this.singleRun = false
+ this.browsers = []
+ this.captureTimeout = 60000
+ this.proxies = {}
+ this.proxyValidateSSL = true
+ this.preprocessors = {}
+ this.urlRoot = '/'
+ this.upstreamProxy = undefined
+ this.reportSlowerThan = 0
+ this.loggers = [constant.CONSOLE_APPENDER]
+ this.transports = ['polling', 'websocket']
+ this.forceJSONP = false
+ this.plugins = ['karma-*']
+ this.defaultClient = this.client = {
+ args: [],
+ useIframe: true,
+ runInParent: false,
+ captureConsole: true,
+ clearContext: true
+ }
+ this.browserDisconnectTimeout = 2000
+ this.browserDisconnectTolerance = 0
+ this.browserNoActivityTimeout = 30000
+ this.processKillTimeout = 2000
+ this.concurrency = Infinity
+ this.failOnEmptyTestSuite = true
+ this.retryLimit = 2
+ this.detached = false
+ this.crossOriginAttribute = true
+ this.browserSocketTimeout = 20000
+ }
+
+ set (newConfig) {
+ _.mergeWith(this, newConfig, (obj, src) => {
+ // Overwrite arrays to keep consistent with #283
+ if (Array.isArray(src)) {
+ return src
+ }
+ })
+ }
+}
+
+const CONFIG_SYNTAX_HELP = ' module.exports = function(config) {\n' +
+ ' config.set({\n' +
+ ' // your config\n' +
+ ' });\n' +
+ ' };\n'
+
+function parseConfig (configFilePath, cliOptions) {
+ let configModule
+ if (configFilePath) {
+ try {
+ configModule = require(configFilePath)
+ if (typeof configModule === 'object' && typeof configModule.default !== 'undefined') {
+ configModule = configModule.default
+ }
+ } catch (e) {
+ if (e.code === 'MODULE_NOT_FOUND' && e.message.includes(configFilePath)) {
+ log.error(`File ${configFilePath} does not exist!`)
+ } else {
+ log.error('Invalid config file!\n ' + e.stack)
+
+ const extension = path.extname(configFilePath)
+ if (extension === '.coffee' && !COFFEE_SCRIPT_AVAILABLE) {
+ log.error('You need to install CoffeeScript.\n npm install coffeescript --save-dev')
+ } else if (extension === '.ls' && !LIVE_SCRIPT_AVAILABLE) {
+ log.error('You need to install LiveScript.\n npm install LiveScript --save-dev')
+ } else if (extension === '.ts' && !TYPE_SCRIPT_AVAILABLE) {
+ log.error('You need to install TypeScript.\n npm install typescript ts-node --save-dev')
+ }
+ }
+ return process.exit(1)
+ }
+ if (!helper.isFunction(configModule)) {
+ log.error('Config file must export a function!\n' + CONFIG_SYNTAX_HELP)
+ return process.exit(1)
+ }
+ } else {
+ configModule = () => {} // if no config file path is passed, we define a dummy config module.
+ }
+
+ const config = new Config()
+
+ // save and reset hostname and listenAddress so we can detect if the user
+ // changed them
+ const defaultHostname = config.hostname
+ config.hostname = null
+ const defaultListenAddress = config.listenAddress
+ config.listenAddress = null
+
+ // add the user's configuration in
+ config.set(cliOptions)
+
+ try {
+ configModule(config)
+ } catch (e) {
+ log.error('Error in config file!\n', e)
+ return process.exit(1)
+ }
+
+ // merge the config from config file and cliOptions (precedence)
+ config.set(cliOptions)
+
+ // if the user changed listenAddress, but didn't set a hostname, warn them
+ if (config.hostname === null && config.listenAddress !== null) {
+ log.warn(`ListenAddress was set to ${config.listenAddress} but hostname was left as the default: ` +
+ `${defaultHostname}. If your browsers fail to connect, consider changing the hostname option.`)
+ }
+ // restore values that weren't overwritten by the user
+ if (config.hostname === null) {
+ config.hostname = defaultHostname
+ }
+ if (config.listenAddress === null) {
+ config.listenAddress = defaultListenAddress
+ }
+
+ // configure the logger as soon as we can
+ logger.setup(config.logLevel, config.colors, config.loggers)
+
+ log.debug(configFilePath ? `Loading config ${configFilePath}` : 'No config file specified.')
+
+ return normalizeConfig(config, configFilePath)
+}
+
+// PUBLIC API
+exports.parseConfig = parseConfig
+exports.Pattern = Pattern
+exports.createPatternObject = createPatternObject
+exports.Config = Config
diff --git a/node_modules/karma/lib/constants.js b/node_modules/karma/lib/constants.js
new file mode 100644
index 0000000..c19442e
--- /dev/null
+++ b/node_modules/karma/lib/constants.js
@@ -0,0 +1,43 @@
+'use strict'
+
+const fs = require('graceful-fs')
+const path = require('path')
+
+const pkg = JSON.parse(fs.readFileSync(path.join(__dirname, '/../package.json')).toString())
+
+exports.VERSION = pkg.version
+
+exports.DEFAULT_PORT = process.env.PORT || 9876
+exports.DEFAULT_HOSTNAME = process.env.IP || 'localhost'
+exports.DEFAULT_LISTEN_ADDR = process.env.LISTEN_ADDR || '0.0.0.0'
+
+// log levels
+exports.LOG_DISABLE = 'OFF'
+exports.LOG_ERROR = 'ERROR'
+exports.LOG_WARN = 'WARN'
+exports.LOG_INFO = 'INFO'
+exports.LOG_DEBUG = 'DEBUG'
+exports.LOG_LOG = 'LOG'
+exports.LOG_PRIORITIES = [
+ exports.LOG_DISABLE,
+ exports.LOG_ERROR,
+ exports.LOG_WARN,
+ exports.LOG_LOG,
+ exports.LOG_INFO,
+ exports.LOG_DEBUG
+]
+
+// Default patterns for the pattern layout.
+exports.COLOR_PATTERN = '%[%d{DATE}:%p [%c]: %]%m'
+exports.NO_COLOR_PATTERN = '%d{DATE}:%p [%c]: %m'
+
+// Default console appender
+exports.CONSOLE_APPENDER = {
+ type: 'console',
+ layout: {
+ type: 'pattern',
+ pattern: exports.COLOR_PATTERN
+ }
+}
+
+exports.EXIT_CODE = '\x1FEXIT'
diff --git a/node_modules/karma/lib/detached.js b/node_modules/karma/lib/detached.js
new file mode 100644
index 0000000..659042f
--- /dev/null
+++ b/node_modules/karma/lib/detached.js
@@ -0,0 +1,11 @@
+'use strict'
+
+const fs = require('fs')
+
+const Server = require('./server')
+const configurationFile = process.argv[2]
+const fileContents = fs.readFileSync(configurationFile, 'utf-8')
+fs.unlink(configurationFile, function () {})
+const data = JSON.parse(fileContents)
+const server = new Server(data)
+server.start(data)
diff --git a/node_modules/karma/lib/emitter_wrapper.js b/node_modules/karma/lib/emitter_wrapper.js
new file mode 100644
index 0000000..46706af
--- /dev/null
+++ b/node_modules/karma/lib/emitter_wrapper.js
@@ -0,0 +1,33 @@
+'use strict'
+
+class EmitterWrapper {
+ constructor (emitter) {
+ this.listeners = {}
+ this.emitter = emitter
+ }
+
+ addListener (event, listener) {
+ this.emitter.addListener(event, listener)
+ this.listeners[event] = this.listeners[event] || []
+ this.listeners[event].push(listener)
+ return this
+ }
+
+ on (event, listener) {
+ return this.addListener(event, listener)
+ }
+
+ removeAllListeners (event) {
+ const events = event ? [event] : Object.keys(this.listeners)
+ events.forEach((event) => {
+ this.listeners[event].forEach((listener) => {
+ this.emitter.removeListener(event, listener)
+ })
+ delete this.listeners[event]
+ })
+
+ return this
+ }
+}
+
+module.exports = EmitterWrapper
diff --git a/node_modules/karma/lib/events.js b/node_modules/karma/lib/events.js
new file mode 100644
index 0000000..6d8280b
--- /dev/null
+++ b/node_modules/karma/lib/events.js
@@ -0,0 +1,67 @@
+'use strict'
+
+const EventEmitter = require('events').EventEmitter
+const helper = require('./helper')
+
+function bufferEvents (emitter, eventsToBuffer) {
+ const listeners = []
+ const eventsToReply = []
+
+ function genericListener () {
+ eventsToReply.push(Array.from(arguments))
+ }
+
+ eventsToBuffer.forEach((eventName) => {
+ const listener = genericListener.bind(null, eventName)
+ listeners.push(listener)
+ emitter.on(eventName, listener)
+ })
+
+ return function () {
+ listeners.forEach((listener, i) => {
+ emitter.removeListener(eventsToBuffer[i], listener)
+ })
+
+ eventsToReply.forEach((args) => {
+ EventEmitter.prototype.emit.apply(emitter, args)
+ })
+
+ listeners.length = 0
+ eventsToReply.length = 0
+ }
+}
+
+class KarmaEventEmitter extends EventEmitter {
+ bind (object) {
+ for (const method in object) {
+ if (method.startsWith('on') && helper.isFunction(object[method])) {
+ this.on(helper.camelToSnake(method.substr(2)), function () {
+ // We do not use an arrow function here, to supply the caller as this.
+ object[method].apply(object, Array.from(arguments).concat(this))
+ })
+ }
+ }
+ }
+
+ emitAsync (name) {
+ // TODO(vojta): allow passing args
+ // TODO(vojta): ignore/throw if listener call done() multiple times
+ let pending = this.listeners(name).length
+ const deferred = helper.defer()
+
+ this.emit(name, () => {
+ if (!--pending) {
+ deferred.resolve()
+ }
+ })
+
+ if (!pending) {
+ deferred.resolve()
+ }
+
+ return deferred.promise
+ }
+}
+
+exports.EventEmitter = KarmaEventEmitter
+exports.bufferEvents = bufferEvents
diff --git a/node_modules/karma/lib/executor.js b/node_modules/karma/lib/executor.js
new file mode 100644
index 0000000..41f6a9e
--- /dev/null
+++ b/node_modules/karma/lib/executor.js
@@ -0,0 +1,63 @@
+'use strict'
+
+const log = require('./logger').create()
+
+class Executor {
+ constructor (capturedBrowsers, config, emitter) {
+ this.capturedBrowsers = capturedBrowsers
+ this.config = config
+ this.emitter = emitter
+
+ this.executionScheduled = false
+ this.pendingCount = 0
+ this.runningBrowsers = null
+
+ this.emitter.on('run_complete', () => this.onRunComplete())
+ this.emitter.on('browser_complete', () => this.onBrowserComplete())
+ }
+
+ schedule () {
+ if (this.capturedBrowsers.length === 0) {
+ log.warn(`No captured browser, open ${this.config.protocol}//${this.config.hostname}:${this.config.port}${this.config.urlRoot}`)
+ return false
+ } else if (this.capturedBrowsers.areAllReady()) {
+ log.debug('All browsers are ready, executing')
+ log.debug(`Captured ${this.capturedBrowsers.length} browsers`)
+ this.executionScheduled = false
+ this.capturedBrowsers.clearResults()
+ this.pendingCount = this.capturedBrowsers.length
+ this.runningBrowsers = this.capturedBrowsers.clone()
+ this.emitter.emit('run_start', this.runningBrowsers)
+ this.socketIoSockets.emit('execute', this.config.client)
+ return true
+ } else {
+ log.info('Delaying execution, these browsers are not ready: ' + this.capturedBrowsers.getNonReady().join(', '))
+ this.executionScheduled = true
+ return false
+ }
+ }
+
+ onRunComplete () {
+ if (this.executionScheduled) {
+ this.schedule()
+ }
+ }
+
+ onBrowserComplete () {
+ this.pendingCount--
+
+ if (!this.pendingCount) {
+ // Ensure run_complete is emitted in the next tick
+ // so it is never emitted before browser_complete
+ setTimeout(() => {
+ this.emitter.emit('run_complete', this.runningBrowsers, this.runningBrowsers.getResults())
+ })
+ }
+ }
+}
+
+Executor.factory = function (capturedBrowsers, config, emitter) {
+ return new Executor(capturedBrowsers, config, emitter)
+}
+
+module.exports = Executor
diff --git a/node_modules/karma/lib/file-list.js b/node_modules/karma/lib/file-list.js
new file mode 100644
index 0000000..bdc48b9
--- /dev/null
+++ b/node_modules/karma/lib/file-list.js
@@ -0,0 +1,240 @@
+'use strict'
+
+const Promise = require('bluebird')
+const mm = require('minimatch')
+const Glob = require('glob').Glob
+const fs = Promise.promisifyAll(require('graceful-fs'))
+const pathLib = require('path')
+const _ = require('lodash')
+
+const File = require('./file')
+const Url = require('./url')
+const helper = require('./helper')
+const log = require('./logger').create('filelist')
+const createPatternObject = require('./config').createPatternObject
+
+class FileList {
+ constructor (patterns, excludes, emitter, preprocess, autoWatchBatchDelay) {
+ this._patterns = patterns || []
+ this._excludes = excludes || []
+ this._emitter = emitter
+ this._preprocess = Promise.promisify(preprocess)
+
+ this.buckets = new Map()
+
+ // A promise that is pending if and only if we are active in this.refresh_()
+ this._refreshing = null
+
+ const emit = () => {
+ this._emitter.emit('file_list_modified', this.files)
+ }
+
+ const debouncedEmit = _.debounce(emit, autoWatchBatchDelay)
+ this._emitModified = (immediate) => {
+ immediate ? emit() : debouncedEmit()
+ }
+ }
+
+ _findExcluded (path) {
+ return this._excludes.find((pattern) => mm(path, pattern))
+ }
+
+ _findIncluded (path) {
+ return this._patterns.find((pattern) => mm(path, pattern.pattern))
+ }
+
+ _findFile (path, pattern) {
+ if (!path || !pattern) return
+ return this._getFilesByPattern(pattern.pattern).find((file) => file.originalPath === path)
+ }
+
+ _exists (path) {
+ return !!this._patterns.find((pattern) => mm(path, pattern.pattern) && this._findFile(path, pattern))
+ }
+
+ _getFilesByPattern (pattern) {
+ return this.buckets.get(pattern) || []
+ }
+
+ _refresh () {
+ const matchedFiles = new Set()
+
+ let lastCompletedRefresh = this._refreshing
+ lastCompletedRefresh = Promise
+ .map(this._patterns, async ({ pattern, type, nocache }) => {
+ if (helper.isUrlAbsolute(pattern)) {
+ this.buckets.set(pattern, [new Url(pattern, type)])
+ return
+ }
+
+ const mg = new Glob(pathLib.normalize(pattern), { cwd: '/', follow: true, nodir: true, sync: true })
+
+ const files = mg.found
+ .filter((path) => {
+ if (this._findExcluded(path)) {
+ log.debug(`Excluded file "${path}"`)
+ return false
+ } else if (matchedFiles.has(path)) {
+ return false
+ } else {
+ matchedFiles.add(path)
+ return true
+ }
+ })
+ .map((path) => new File(path, mg.statCache[path].mtime, nocache, type))
+
+ if (nocache) {
+ log.debug(`Not preprocessing "${pattern}" due to nocache`)
+ } else {
+ await Promise.map(files, (file) => this._preprocess(file))
+ }
+
+ this.buckets.set(pattern, files)
+
+ if (_.isEmpty(mg.found)) {
+ log.warn(`Pattern "${pattern}" does not match any file.`)
+ } else if (_.isEmpty(files)) {
+ log.warn(`All files matched by "${pattern}" were excluded or matched by prior matchers.`)
+ }
+ })
+ .then(() => {
+ // When we return from this function the file processing chain will be
+ // complete. In the case of two fast refresh() calls, the second call
+ // will overwrite this._refreshing, and we want the status to reflect
+ // the second call and skip the modification event from the first call.
+ if (this._refreshing !== lastCompletedRefresh) {
+ return this._refreshing
+ }
+ this._emitModified(true)
+ return this.files
+ })
+
+ return lastCompletedRefresh
+ }
+
+ get files () {
+ const served = []
+ const included = {}
+ const lookup = {}
+ this._patterns.forEach((p) => {
+ // This needs to be here sadly, as plugins are modifiying
+ // the _patterns directly resulting in elements not being
+ // instantiated properly
+ if (p.constructor.name !== 'Pattern') {
+ p = createPatternObject(p)
+ }
+
+ const files = this._getFilesByPattern(p.pattern)
+ files.sort((a, b) => {
+ if (a.path > b.path) return 1
+ if (a.path < b.path) return -1
+
+ return 0
+ })
+
+ if (p.served) {
+ served.push(...files)
+ }
+
+ files.forEach((file) => {
+ if (lookup[file.path] && lookup[file.path].compare(p) < 0) return
+
+ lookup[file.path] = p
+ if (p.included) {
+ included[file.path] = file
+ } else {
+ delete included[file.path]
+ }
+ })
+ })
+
+ return {
+ served: _.uniq(served, 'path'),
+ included: _.values(included)
+ }
+ }
+
+ refresh () {
+ this._refreshing = this._refresh()
+ return this._refreshing
+ }
+
+ reload (patterns, excludes) {
+ this._patterns = patterns || []
+ this._excludes = excludes || []
+
+ return this.refresh()
+ }
+
+ async addFile (path) {
+ const excluded = this._findExcluded(path)
+ if (excluded) {
+ log.debug(`Add file "${path}" ignored. Excluded by "${excluded}".`)
+ return this.files
+ }
+
+ const pattern = this._findIncluded(path)
+ if (!pattern) {
+ log.debug(`Add file "${path}" ignored. Does not match any pattern.`)
+ return this.files
+ }
+
+ if (this._exists(path)) {
+ log.debug(`Add file "${path}" ignored. Already in the list.`)
+ return this.files
+ }
+
+ const file = new File(path)
+ this._getFilesByPattern(pattern.pattern).push(file)
+
+ const [stat] = await Promise.all([fs.statAsync(path), this._refreshing])
+ file.mtime = stat.mtime
+ await this._preprocess(file)
+
+ log.info(`Added file "${path}".`)
+ this._emitModified()
+ return this.files
+ }
+
+ async changeFile (path, force) {
+ const pattern = this._findIncluded(path)
+ const file = this._findFile(path, pattern)
+
+ if (!file) {
+ log.debug(`Changed file "${path}" ignored. Does not match any file in the list.`)
+ return Promise.resolve(this.files)
+ }
+
+ const [stat] = await Promise.all([fs.statAsync(path), this._refreshing])
+ if (force || stat.mtime > file.mtime) {
+ file.mtime = stat.mtime
+ await this._preprocess(file)
+ log.info(`Changed file "${path}".`)
+ this._emitModified(force)
+ }
+ return this.files
+ }
+
+ async removeFile (path) {
+ const pattern = this._findIncluded(path)
+ const file = this._findFile(path, pattern)
+
+ if (file) {
+ helper.arrayRemove(this._getFilesByPattern(pattern.pattern), file)
+ log.info(`Removed file "${path}".`)
+
+ this._emitModified()
+ } else {
+ log.debug(`Removed file "${path}" ignored. Does not match any file in the list.`)
+ }
+ return this.files
+ }
+}
+
+FileList.factory = function (config, emitter, preprocess) {
+ return new FileList(config.files, config.exclude, emitter, preprocess, config.autoWatchBatchDelay)
+}
+
+FileList.factory.$inject = ['config', 'emitter', 'preprocess']
+
+module.exports = FileList
diff --git a/node_modules/karma/lib/file.js b/node_modules/karma/lib/file.js
new file mode 100644
index 0000000..8689db1
--- /dev/null
+++ b/node_modules/karma/lib/file.js
@@ -0,0 +1,34 @@
+'use strict'
+
+/**
+ * File object used for tracking files in `file-list.js`.
+ */
+class File {
+ constructor (path, mtime, doNotCache, type) {
+ // used for serving (processed path, eg some/file.coffee -> some/file.coffee.js)
+ this.path = path
+
+ // original absolute path, id of the file
+ this.originalPath = path
+
+ // where the content is stored (processed)
+ this.contentPath = path
+
+ // encodings format {[encodingType]: encodedContent}
+ // example: {gzip: <Buffer 1f 8b 08...>}
+ this.encodings = Object.create(null)
+
+ this.mtime = mtime
+ this.isUrl = false
+
+ this.doNotCache = doNotCache === undefined ? false : doNotCache
+
+ this.type = type
+ }
+
+ toString () {
+ return this.path
+ }
+}
+
+module.exports = File
diff --git a/node_modules/karma/lib/helper.js b/node_modules/karma/lib/helper.js
new file mode 100644
index 0000000..b3d64b2
--- /dev/null
+++ b/node_modules/karma/lib/helper.js
@@ -0,0 +1,183 @@
+'use strict'
+
+const fs = require('graceful-fs')
+const path = require('path')
+const _ = require('lodash')
+const useragent = require('useragent')
+const Promise = require('bluebird')
+const mm = require('minimatch')
+
+exports.browserFullNameToShort = (fullName) => {
+ const agent = useragent.parse(fullName)
+ const isUnknown = agent.family === 'Other' || agent.os.family === 'Other'
+ return isUnknown ? fullName : `${agent.toAgent()} (${agent.os})`
+}
+
+exports.isDefined = (value) => {
+ return !_.isUndefined(value)
+}
+
+const parser = (pattern, out) => {
+ if (pattern.length === 0) return out
+ const p = /^(\[[^\]]*\]|[*+@?]\((.+?)\))/g
+ const matches = p.exec(pattern)
+ if (!matches) {
+ const c = pattern[0]
+ let t = 'word'
+ if (c === '*') {
+ t = 'star'
+ } else if (c === '?') {
+ t = 'optional'
+ }
+ out[t]++
+ return parser(pattern.substring(1), out)
+ }
+ if (matches[2] !== undefined) {
+ out.ext_glob++
+ parser(matches[2], out)
+ return parser(pattern.substring(matches[0].length), out)
+ }
+ out.range++
+ return parser(pattern.substring(matches[0].length), out)
+}
+
+const gsParser = (pattern, out) => {
+ if (pattern === '**') {
+ out.glob_star++
+ return out
+ }
+ return parser(pattern, out)
+}
+
+const compareWeightObject = (w1, w2) => {
+ return exports.mmComparePatternWeights(
+ [w1.glob_star, w1.star, w1.ext_glob, w1.range, w1.optional],
+ [w2.glob_star, w2.star, w2.ext_glob, w2.range, w2.optional]
+ )
+}
+
+exports.mmPatternWeight = (pattern) => {
+ const m = new mm.Minimatch(pattern)
+ if (!m.globParts) return [0, 0, 0, 0, 0, 0]
+ const result = m.globParts.reduce((prev, p) => {
+ const r = p.reduce((prev, p) => {
+ return gsParser(p, prev)
+ }, { glob_star: 0, ext_glob: 0, word: 0, star: 0, optional: 0, range: 0 })
+ if (prev === undefined) return r
+ return compareWeightObject(r, prev) > 0 ? r : prev
+ }, undefined)
+ result.glob_sets = m.set.length
+ return [result.glob_sets, result.glob_star, result.star, result.ext_glob, result.range, result.optional]
+}
+
+exports.mmComparePatternWeights = (weight1, weight2) => {
+ let n1, n2, diff
+ n1 = weight1[0]
+ n2 = weight2[0]
+ diff = n1 - n2
+ if (diff !== 0) return diff / Math.abs(diff)
+ return weight1.length > 1 ? exports.mmComparePatternWeights(weight1.slice(1), weight2.slice(1)) : 0
+}
+
+exports.isFunction = _.isFunction
+exports.isString = _.isString
+exports.isObject = _.isObject
+exports.isArray = _.isArray
+exports.isNumber = _.isNumber
+
+const ABS_URL = /^https?:\/\//
+exports.isUrlAbsolute = (url) => {
+ return ABS_URL.test(url)
+}
+
+exports.camelToSnake = (camelCase) => {
+ return camelCase.replace(/[A-Z]/g, (match, pos) => {
+ return (pos > 0 ? '_' : '') + match.toLowerCase()
+ })
+}
+
+exports.ucFirst = (word) => {
+ return word.charAt(0).toUpperCase() + word.substr(1)
+}
+
+exports.dashToCamel = (dash) => {
+ const words = dash.split('-')
+ return words.shift() + words.map(exports.ucFirst).join('')
+}
+
+exports.arrayRemove = (collection, item) => {
+ const idx = collection.indexOf(item)
+
+ if (idx !== -1) {
+ collection.splice(idx, 1)
+ return true
+ }
+
+ return false
+}
+
+exports.merge = function () {
+ const args = Array.prototype.slice.call(arguments, 0)
+ args.unshift({})
+ return _.merge.apply({}, args)
+}
+
+exports.formatTimeInterval = (time) => {
+ const mins = Math.floor(time / 60000)
+ const secs = (time - mins * 60000) / 1000
+ let str = secs + (secs === 1 ? ' sec' : ' secs')
+
+ if (mins) {
+ str = mins + (mins === 1 ? ' min ' : ' mins ') + str
+ }
+
+ return str
+}
+
+const replaceWinPath = (path) => {
+ return _.isString(path) ? path.replace(/\\/g, '/') : path
+}
+
+exports.normalizeWinPath = process.platform === 'win32' ? replaceWinPath : _.identity
+
+exports.mkdirIfNotExists = (directory, done) => {
+ // TODO(vojta): handle if it's a file
+ /* eslint-disable handle-callback-err */
+ fs.stat(directory, (err, stat) => {
+ if (stat && stat.isDirectory()) {
+ done()
+ } else {
+ exports.mkdirIfNotExists(path.dirname(directory), () => {
+ fs.mkdir(directory, done)
+ })
+ }
+ })
+ /* eslint-enable handle-callback-err */
+}
+
+exports.defer = () => {
+ let res
+ let rej
+ const promise = new Promise((resolve, reject) => {
+ res = resolve
+ rej = reject
+ })
+
+ return {
+ resolve: res,
+ reject: rej,
+ promise: promise
+ }
+}
+
+exports.saveOriginalArgs = (config) => {
+ if (config && config.client && config.client.args) {
+ config.client.originalArgs = _.cloneDeep(config.client.args)
+ }
+}
+
+exports.restoreOriginalArgs = (config) => {
+ if (config && config.client && config.client.originalArgs) {
+ config.client.args = _.cloneDeep(config.client.originalArgs)
+ }
+}
diff --git a/node_modules/karma/lib/index.js b/node_modules/karma/lib/index.js
new file mode 100644
index 0000000..4d906a4
--- /dev/null
+++ b/node_modules/karma/lib/index.js
@@ -0,0 +1,31 @@
+'use strict'
+
+const constants = require('./constants')
+const Server = require('./server')
+const runner = require('./runner')
+const stopper = require('./stopper')
+const launcher = require('./launcher')
+const cfg = require('./config')
+
+// TODO: remove in 1.0
+const oldServer = {
+ start: function (cliOptions, done) {
+ console.error('WARN `start` method is deprecated since 0.13. It will be removed in 0.14. Please use \n' +
+ ' server = new Server(config, [done])\n' +
+ ' server.start()\n' +
+ 'instead.')
+ const server = new Server(cliOptions, done)
+ server.start()
+ }
+}
+
+module.exports = {
+ constants: constants,
+ VERSION: constants.VERSION,
+ Server: Server,
+ runner: runner,
+ stopper: stopper,
+ launcher: launcher,
+ config: { parseConfig: cfg.parseConfig }, // lets start with only opening up the `parseConfig` api
+ server: oldServer
+}
diff --git a/node_modules/karma/lib/init.js b/node_modules/karma/lib/init.js
new file mode 100755
index 0000000..eb9b035
--- /dev/null
+++ b/node_modules/karma/lib/init.js
@@ -0,0 +1,239 @@
+'use strict'
+
+const readline = require('readline')
+const path = require('path')
+const glob = require('glob')
+const mm = require('minimatch')
+const exec = require('child_process').exec
+
+const helper = require('./helper')
+const logger = require('./logger')
+
+const log = logger.create('init')
+const logQueue = require('./init/log-queue')
+
+const StateMachine = require('./init/state_machine')
+const COLOR_SCHEME = require('./init/color_schemes')
+const formatters = require('./init/formatters')
+
+// TODO(vojta): coverage
+// TODO(vojta): html preprocessors
+// TODO(vojta): SauceLabs
+// TODO(vojta): BrowserStack
+
+let NODE_MODULES_DIR = path.resolve(__dirname, '../..')
+
+// Karma is not in node_modules, probably a symlink,
+// use current working dir.
+if (!/node_modules$/.test(NODE_MODULES_DIR)) {
+ NODE_MODULES_DIR = path.resolve('node_modules')
+}
+
+function installPackage (pkgName) {
+ // Do not install if already installed.
+ try {
+ require(NODE_MODULES_DIR + '/' + pkgName)
+ return
+ } catch (e) {}
+
+ log.debug(`Missing plugin "${pkgName}". Installing...`)
+
+ const options = {
+ cwd: path.resolve(NODE_MODULES_DIR, '..')
+ }
+
+ exec(`npm install ${pkgName} --save-dev`, options, function (err, stdout, stderr) {
+ // Put the logs into the queue and print them after answering current question.
+ // Otherwise the log would clobber the interactive terminal.
+ logQueue.push(function () {
+ if (!err) {
+ log.debug(`${pkgName} successfully installed.`)
+ } else if (/is not in the npm registry/.test(stderr)) {
+ log.warn(`Failed to install "${pkgName}". It is not in the NPM registry!\n Please install it manually.`)
+ } else if (/Error: EACCES/.test(stderr)) {
+ log.warn(`Failed to install "${pkgName}". No permissions to write in ${options.cwd}!\n Please install it manually.`)
+ } else {
+ log.warn(`Failed to install "${pkgName}"\n Please install it manually.`)
+ }
+ })
+ })
+}
+
+function validatePattern (pattern) {
+ if (!glob.sync(pattern).length) {
+ log.warn('There is no file matching this pattern.\n')
+ }
+}
+
+function validateBrowser (name) {
+ // TODO(vojta): check if the path resolves to a binary
+ installPackage('karma-' + name.toLowerCase().replace('headless', '').replace('canary', '') + '-launcher')
+}
+
+function validateFramework (name) {
+ installPackage('karma-' + name)
+}
+
+function validateRequireJs (useRequire) {
+ if (useRequire) {
+ validateFramework('requirejs')
+ }
+}
+
+var questions = [{
+ id: 'framework',
+ question: 'Which testing framework do you want to use ?',
+ hint: 'Press tab to list possible options. Enter to move to the next question.',
+ options: ['jasmine', 'mocha', 'qunit', 'nodeunit', 'nunit', ''],
+ validate: validateFramework
+}, {
+ id: 'requirejs',
+ question: 'Do you want to use Require.js ?',
+ hint: 'This will add Require.js plugin.\nPress tab to list possible options. Enter to move to the next question.',
+ options: ['no', 'yes'],
+ validate: validateRequireJs,
+ boolean: true
+}, {
+ id: 'browsers',
+ question: 'Do you want to capture any browsers automatically ?',
+ hint: 'Press tab to list possible options. Enter empty string to move to the next question.',
+ options: ['Chrome', 'ChromeHeadless', 'ChromeCanary', 'Firefox', 'Safari', 'PhantomJS', 'Opera', 'IE', ''],
+ validate: validateBrowser,
+ multiple: true
+}, {
+ id: 'files',
+ question: 'What is the location of your source and test files ?',
+ hint: 'You can use glob patterns, eg. "js/*.js" or "test/**/*Spec.js".\nEnter empty string to move to the next question.',
+ multiple: true,
+ validate: validatePattern
+}, {
+ id: 'exclude',
+ question: 'Should any of the files included by the previous patterns be excluded ?',
+ hint: 'You can use glob patterns, eg. "**/*.swp".\nEnter empty string to move to the next question.',
+ multiple: true,
+ validate: validatePattern
+}, {
+ id: 'generateTestMain',
+ question: 'Do you wanna generate a bootstrap file for RequireJS?',
+ hint: 'This will generate test-main.js/coffee that configures RequireJS and starts the tests.',
+ options: ['no', 'yes'],
+ boolean: true,
+ condition: (answers) => answers.requirejs
+}, {
+ id: 'includedFiles',
+ question: `Which files do you want to include with <script> tag ?`,
+ hint: 'This should be a script that bootstraps your test by configuring Require.js and ' +
+ 'kicking __karma__.start(), probably your test-main.js file.\n' +
+ 'Enter empty string to move to the next question.',
+ multiple: true,
+ validate: validatePattern,
+ condition: (answers) => answers.requirejs && !answers.generateTestMain
+}, {
+ id: 'autoWatch',
+ question: 'Do you want Karma to watch all the files and run the tests on change ?',
+ hint: 'Press tab to list possible options.',
+ options: ['yes', 'no'],
+ boolean: true
+}]
+
+function getBasePath (configFilePath, cwd) {
+ const configParts = path.dirname(configFilePath).split(path.sep)
+ const cwdParts = cwd.split(path.sep)
+ const base = []
+
+ while (configParts.length && configParts[0] === cwdParts[0]) {
+ configParts.shift()
+ cwdParts.shift()
+ }
+
+ while (configParts.length) {
+ const part = configParts.shift()
+ if (part === '..') {
+ base.unshift(cwdParts.pop())
+ } else if (part !== '.') {
+ base.unshift('..')
+ }
+ }
+
+ return base.join(path.sep)
+}
+
+function processAnswers (answers, basePath, testMainFile) {
+ const processedAnswers = {
+ basePath: basePath,
+ files: answers.files,
+ onlyServedFiles: [],
+ exclude: answers.exclude,
+ autoWatch: answers.autoWatch,
+ generateTestMain: answers.generateTestMain,
+ browsers: answers.browsers,
+ frameworks: [],
+ preprocessors: {}
+ }
+
+ if (answers.framework) {
+ processedAnswers.frameworks.push(answers.framework)
+ }
+
+ if (answers.requirejs) {
+ processedAnswers.frameworks.push('requirejs')
+ processedAnswers.files = answers.includedFiles || []
+ processedAnswers.onlyServedFiles = answers.files
+
+ if (answers.generateTestMain) {
+ processedAnswers.files.push(testMainFile)
+ }
+ }
+
+ const allPatterns = answers.files.concat(answers.includedFiles || [])
+ if (allPatterns.some((pattern) => mm(pattern, '**/*.coffee'))) {
+ installPackage('karma-coffee-preprocessor')
+ processedAnswers.preprocessors['**/*.coffee'] = ['coffee']
+ }
+
+ return processedAnswers
+}
+
+exports.init = function (config) {
+ logger.setupFromConfig(config)
+
+ const colorScheme = !helper.isDefined(config.colors) || config.colors ? COLOR_SCHEME.ON : COLOR_SCHEME.OFF
+ // need to be registered before creating readlineInterface
+ process.stdin.on('keypress', function (s, key) {
+ sm.onKeypress(key)
+ })
+
+ const rli = readline.createInterface(process.stdin, process.stdout)
+ const sm = new StateMachine(rli, colorScheme)
+
+ rli.on('line', sm.onLine.bind(sm))
+
+ // clean colors
+ rli.on('SIGINT', function () {
+ sm.kill()
+ process.exit(0)
+ })
+
+ sm.process(questions, function (answers) {
+ const cwd = process.cwd()
+ const configFile = config.configFile || 'karma.conf.js'
+ const isCoffee = path.extname(configFile) === '.coffee'
+ const testMainFile = isCoffee ? 'test-main.coffee' : 'test-main.js'
+ const formatter = formatters.createForPath(configFile)
+ const processedAnswers = processAnswers(answers, getBasePath(configFile, cwd), testMainFile)
+ const configFilePath = path.resolve(cwd, configFile)
+ const testMainFilePath = path.resolve(cwd, testMainFile)
+
+ if (isCoffee) {
+ installPackage('coffeescript')
+ }
+
+ if (processedAnswers.generateTestMain) {
+ formatter.writeRequirejsConfigFile(testMainFilePath)
+ console.log(colorScheme.success(`RequireJS bootstrap file generated at "${testMainFilePath}".`))
+ }
+
+ formatter.writeConfigFile(configFilePath, processedAnswers)
+ console.log(colorScheme.success(`Config file generated at "${configFilePath}".`))
+ })
+}
diff --git a/node_modules/karma/lib/init/color_schemes.js b/node_modules/karma/lib/init/color_schemes.js
new file mode 100644
index 0000000..5f265a8
--- /dev/null
+++ b/node_modules/karma/lib/init/color_schemes.js
@@ -0,0 +1,28 @@
+const COLORS_ON = {
+ RESET: '\x1B[39m',
+ ANSWER: '\x1B[36m', // NYAN
+ SUCCESS: '\x1B[32m', // GREEN
+ QUESTION: '\x1B[1m', // BOLD
+ question: function (str) {
+ return this.QUESTION + str + '\x1B[22m'
+ },
+ success: function (str) {
+ return this.SUCCESS + str + this.RESET
+ }
+}
+
+const COLORS_OFF = {
+ RESET: '',
+ ANSWER: '',
+ SUCCESS: '',
+ QUESTION: '',
+ question: function (str) {
+ return str
+ },
+ success: function (str) {
+ return str
+ }
+}
+
+exports.ON = COLORS_ON
+exports.OFF = COLORS_OFF
diff --git a/node_modules/karma/lib/init/formatters.js b/node_modules/karma/lib/init/formatters.js
new file mode 100644
index 0000000..dc398b0
--- /dev/null
+++ b/node_modules/karma/lib/init/formatters.js
@@ -0,0 +1,116 @@
+'use strict'
+
+const path = require('path')
+const FileUtils = require('../utils/file-utils')
+
+function quote (value) {
+ return `'${value}'`
+}
+
+function formatLine (items) {
+ return items.map(quote).join(', ')
+}
+
+function formatMultiLines (items) {
+ return items
+ .map((file) => '\n ' + file)
+ .join(',')
+}
+
+function formatFiles (includedFiles, onlyServedFiles) {
+ const lines = []
+ .concat(includedFiles.map(quote))
+ .concat(onlyServedFiles.map((file) => `{ pattern: ${quote(file)}, included: false }`))
+
+ return formatMultiLines(lines)
+}
+
+function formatPreprocessors (preprocessors) {
+ const lines = Object.keys(preprocessors)
+ .map((pattern) => `${quote(pattern)}: [${formatLine(preprocessors[pattern])}]`)
+
+ return formatMultiLines(lines)
+}
+
+function getConfigPath (file) {
+ return path.join(__dirname, `/../../${file}`)
+}
+
+class JavaScriptFormatter {
+ constructor () {
+ this.TEMPLATE_FILE_PATH = getConfigPath('config.tpl.js')
+ this.REQUIREJS_TEMPLATE_FILE = getConfigPath('requirejs.config.tpl.js')
+ }
+
+ generateConfigFile (answers) {
+ const replacements = this.formatAnswers(answers)
+
+ return FileUtils
+ .readFile(this.TEMPLATE_FILE_PATH)
+ .replace(/%(.*)%/g, (a, key) => replacements[key])
+ }
+
+ writeConfigFile (path, answers) {
+ FileUtils.saveFile(path, this.generateConfigFile(answers))
+ }
+
+ writeRequirejsConfigFile (path) {
+ FileUtils.copyFile(this.REQUIREJS_TEMPLATE_FILE, path)
+ }
+
+ formatAnswers (answers) {
+ return {
+ DATE: new Date(),
+ BASE_PATH: answers.basePath,
+ FRAMEWORKS: formatLine(answers.frameworks),
+ FILES: formatFiles(answers.files, answers.onlyServedFiles),
+ EXCLUDE: formatFiles(answers.exclude, []),
+ AUTO_WATCH: answers.autoWatch ? 'true' : 'false',
+ BROWSERS: formatLine(answers.browsers),
+ PREPROCESSORS: formatPreprocessors(answers.preprocessors)
+ }
+ }
+}
+
+class CoffeeFormatter extends JavaScriptFormatter {
+ constructor () {
+ super()
+ this.TEMPLATE_FILE_PATH = getConfigPath('config.tpl.coffee')
+ this.REQUIREJS_TEMPLATE_FILE = getConfigPath('requirejs.config.tpl.coffee')
+ }
+}
+
+class LiveFormatter extends JavaScriptFormatter {
+ constructor () {
+ super()
+ this.TEMPLATE_FILE_PATH = getConfigPath('config.tpl.ls')
+ }
+}
+
+class TypeFormatter extends JavaScriptFormatter {
+ constructor () {
+ super()
+ this.TEMPLATE_FILE_PATH = getConfigPath('config.tpl.ts')
+ }
+}
+
+exports.JavaScript = JavaScriptFormatter
+exports.Coffee = CoffeeFormatter
+exports.Live = LiveFormatter
+exports.Type = TypeFormatter
+
+exports.createForPath = function (path) {
+ if (/\.coffee$/.test(path)) {
+ return new CoffeeFormatter()
+ }
+
+ if (/\.ls$/.test(path)) {
+ return new LiveFormatter()
+ }
+
+ if (/\.ts$/.test(path)) {
+ return new TypeFormatter()
+ }
+
+ return new JavaScriptFormatter()
+}
diff --git a/node_modules/karma/lib/init/log-queue.js b/node_modules/karma/lib/init/log-queue.js
new file mode 100644
index 0000000..feeb29f
--- /dev/null
+++ b/node_modules/karma/lib/init/log-queue.js
@@ -0,0 +1,15 @@
+'use strict'
+
+const logQueue = []
+function printLogQueue () {
+ logQueue.forEach((log) => log())
+ logQueue.length = 0
+}
+
+function push (log) {
+ logQueue.push(log)
+}
+
+module.exports = {
+ printLogQueue, push
+}
diff --git a/node_modules/karma/lib/init/state_machine.js b/node_modules/karma/lib/init/state_machine.js
new file mode 100644
index 0000000..4097bee
--- /dev/null
+++ b/node_modules/karma/lib/init/state_machine.js
@@ -0,0 +1,143 @@
+'use strict'
+
+const logQueue = require('./log-queue')
+
+let questions
+let currentQuestion
+let answers
+let currentOptions
+let currentOptionsPointer
+let currentQuestionId
+let done
+
+class StateMachine {
+ constructor (rli, colors) {
+ this.rli = rli
+ this.colors = colors
+ }
+
+ showPrompt () {
+ this.rli.write(this.colors.ANSWER)
+ this.rli.prompt()
+ }
+
+ onKeypress (key) {
+ if (!currentOptions || !key) {
+ return
+ }
+
+ if (key.name === 'tab' || key.name === 'right' || key.name === 'down') {
+ this.suggestOption(currentOptionsPointer + 1)
+ } else if (key.name === 'left' || key.name === 'up') {
+ this.suggestOption(currentOptionsPointer - 1)
+ }
+
+ if (!key.ctrl && !key.meta && key.name !== 'enter' && key.name !== 'return') {
+ key.name = 'escape'
+ }
+ }
+
+ suggestOption (index) {
+ if (!currentOptions) {
+ return
+ }
+
+ if (index === -1) {
+ currentOptionsPointer = currentOptions.length - 1
+ } else if (index === currentOptions.length) {
+ currentOptionsPointer = 0
+ } else {
+ currentOptionsPointer = index
+ }
+
+ this.rli._deleteLineLeft()
+ this.rli._deleteLineRight()
+ this.rli.write(currentOptions[currentOptionsPointer])
+ }
+
+ kill () {
+ currentOptions = null
+ currentQuestionId = null
+ this.rli.write('\n' + this.colors.RESET + '\n')
+ this.rli.close()
+ }
+
+ onLine (line) {
+ if (currentQuestionId) {
+ this.rli.write(this.colors.RESET)
+ line = line.trim().replace(this.colors.ANSWER, '').replace(this.colors.RESET, '')
+
+ if (currentOptions) {
+ currentOptionsPointer = currentOptions.indexOf(line)
+ if (currentOptionsPointer === -1) {
+ return
+ }
+ }
+
+ if (line === '') {
+ line = null
+ }
+
+ if (currentQuestion.boolean) {
+ line = (line === 'yes' || line === 'true' || line === 'on')
+ }
+
+ if (line !== null && currentQuestion.validate) {
+ currentQuestion.validate(line)
+ }
+
+ if (currentQuestion.multiple) {
+ answers[currentQuestionId] = answers[currentQuestionId] || []
+ if (line !== null) {
+ answers[currentQuestionId].push(line)
+ this.showPrompt()
+
+ if (currentOptions) {
+ currentOptions.splice(currentOptionsPointer, 1)
+ currentOptionsPointer = -1
+ }
+ } else {
+ this.nextQuestion()
+ }
+ } else {
+ answers[currentQuestionId] = line
+ this.nextQuestion()
+ }
+ }
+ }
+
+ nextQuestion () {
+ currentQuestion = questions.shift()
+
+ while (currentQuestion && currentQuestion.condition && !currentQuestion.condition(answers)) {
+ currentQuestion = questions.shift()
+ }
+
+ logQueue.printLogQueue()
+
+ if (currentQuestion) {
+ currentQuestionId = null
+
+ this.rli.write('\n' + this.colors.question(currentQuestion.question) + '\n')
+ this.rli.write(currentQuestion.hint + '\n')
+ this.showPrompt()
+
+ currentOptions = currentQuestion.options || null
+ currentQuestionId = currentQuestion.id
+ this.suggestOption(0)
+ } else {
+ this.kill()
+ done(answers)
+ }
+ }
+
+ process (_questions, _done) {
+ questions = _questions
+ answers = {}
+ done = _done
+
+ this.nextQuestion()
+ }
+}
+
+module.exports = StateMachine
diff --git a/node_modules/karma/lib/launcher.js b/node_modules/karma/lib/launcher.js
new file mode 100644
index 0000000..fd63c8d
--- /dev/null
+++ b/node_modules/karma/lib/launcher.js
@@ -0,0 +1,184 @@
+'use strict'
+
+const Promise = require('bluebird')
+const Jobs = require('qjobs')
+
+const log = require('./logger').create('launcher')
+
+const baseDecorator = require('./launchers/base').decoratorFactory
+const captureTimeoutDecorator = require('./launchers/capture_timeout').decoratorFactory
+const retryDecorator = require('./launchers/retry').decoratorFactory
+const processDecorator = require('./launchers/process').decoratorFactory
+
+// TODO(vojta): remove once nobody uses it
+const baseBrowserDecoratorFactory = function (
+ baseLauncherDecorator,
+ captureTimeoutLauncherDecorator,
+ retryLauncherDecorator,
+ processLauncherDecorator,
+ processKillTimeout
+) {
+ return function (launcher) {
+ baseLauncherDecorator(launcher)
+ captureTimeoutLauncherDecorator(launcher)
+ retryLauncherDecorator(launcher)
+ processLauncherDecorator(launcher, processKillTimeout)
+ }
+}
+
+function Launcher (server, emitter, injector) {
+ this._browsers = []
+ let lastStartTime
+
+ const getBrowserById = (id) => this._browsers.find((browser) => browser.id === id)
+
+ this.launchSingle = (protocol, hostname, port, urlRoot, upstreamProxy, processKillTimeout) => {
+ if (upstreamProxy) {
+ protocol = upstreamProxy.protocol
+ hostname = upstreamProxy.hostname
+ port = upstreamProxy.port
+ urlRoot = upstreamProxy.path + urlRoot.substr(1)
+ }
+
+ return (name) => {
+ let browser
+ const locals = {
+ id: ['value', Launcher.generateId()],
+ name: ['value', name],
+ processKillTimeout: ['value', processKillTimeout],
+ baseLauncherDecorator: ['factory', baseDecorator],
+ captureTimeoutLauncherDecorator: ['factory', captureTimeoutDecorator],
+ retryLauncherDecorator: ['factory', retryDecorator],
+ processLauncherDecorator: ['factory', processDecorator],
+ baseBrowserDecorator: ['factory', baseBrowserDecoratorFactory]
+ }
+
+ // TODO(vojta): determine script from name
+ if (name.includes('/')) {
+ name = 'Script'
+ }
+
+ try {
+ browser = injector.createChild([locals], ['launcher:' + name]).get('launcher:' + name)
+ } catch (e) {
+ if (e.message.includes(`No provider for "launcher:${name}"`)) {
+ log.error(`Cannot load browser "${name}": it is not registered! Perhaps you are missing some plugin?`)
+ } else {
+ log.error(`Cannot load browser "${name}"!\n ` + e.stack)
+ }
+
+ emitter.emit('load_error', 'launcher', name)
+ return
+ }
+
+ this.jobs.add((args, done) => {
+ log.info(`Starting browser ${browser.displayName || browser.name}`)
+
+ browser.on('browser_process_failure', () => done(browser.error))
+
+ browser.on('done', () => {
+ if (!browser.error && browser.state !== browser.STATE_RESTARTING) {
+ done(null, browser)
+ }
+ })
+
+ browser.start(`${protocol}//${hostname}:${port}${urlRoot}`)
+ }, [])
+
+ this.jobs.run()
+ this._browsers.push(browser)
+ }
+ }
+
+ this.launch = (names, concurrency) => {
+ log.info(`Launching browsers ${names.join(', ')} with concurrency ${concurrency === Infinity ? 'unlimited' : concurrency}`)
+ this.jobs = new Jobs({ maxConcurrency: concurrency })
+
+ lastStartTime = Date.now()
+
+ if (server.loadErrors.length) {
+ this.jobs.add((args, done) => done(), [])
+ } else {
+ names.forEach((name) => injector.invoke(this.launchSingle, this)(name))
+ }
+
+ this.jobs.on('end', (err) => {
+ log.debug('Finished all browsers')
+
+ if (err) {
+ log.error(err)
+ }
+ })
+
+ this.jobs.run()
+
+ return this._browsers
+ }
+
+ this.launch.$inject = [
+ 'config.browsers',
+ 'config.concurrency',
+ 'config.processKillTimeout'
+ ]
+
+ this.launchSingle.$inject = [
+ 'config.protocol',
+ 'config.hostname',
+ 'config.port',
+ 'config.urlRoot',
+ 'config.upstreamProxy',
+ 'config.processKillTimeout'
+ ]
+
+ this.kill = (id, callback) => {
+ callback = callback || function () {}
+ const browser = getBrowserById(id)
+
+ if (browser) {
+ browser.forceKill().then(callback)
+ return true
+ }
+ process.nextTick(callback)
+ return false
+ }
+
+ this.restart = (id) => {
+ const browser = getBrowserById(id)
+ if (browser) {
+ browser.restart()
+ return true
+ }
+ return false
+ }
+
+ this.killAll = (callback) => {
+ callback = callback || function () {}
+ log.debug('Disconnecting all browsers')
+
+ if (!this._browsers.length) {
+ return process.nextTick(callback)
+ }
+
+ Promise.all(
+ this._browsers
+ .map((browser) => browser.forceKill())
+ ).then(callback)
+ }
+
+ this.areAllCaptured = () => this._browsers.every((browser) => browser.isCaptured())
+
+ this.markCaptured = (id) => {
+ const browser = getBrowserById(id)
+ if (browser) {
+ browser.markCaptured()
+ log.debug(`${browser.name} (id ${browser.id}) captured in ${(Date.now() - lastStartTime) / 1000} secs`)
+ }
+ }
+
+ emitter.on('exit', this.killAll)
+}
+
+Launcher.$inject = ['server', 'emitter', 'injector']
+Launcher.generateId = () => Math.floor(Math.random() * 100000000).toString()
+
+exports.Launcher = Launcher
diff --git a/node_modules/karma/lib/launchers/base.js b/node_modules/karma/lib/launchers/base.js
new file mode 100644
index 0000000..b8349ce
--- /dev/null
+++ b/node_modules/karma/lib/launchers/base.js
@@ -0,0 +1,141 @@
+const KarmaEventEmitter = require('../events').EventEmitter
+const EventEmitter = require('events').EventEmitter
+const Promise = require('bluebird')
+
+const log = require('../logger').create('launcher')
+const helper = require('../helper')
+
+const BEING_CAPTURED = 'BEING_CAPTURED'
+const CAPTURED = 'CAPTURED'
+const BEING_KILLED = 'BEING_KILLED'
+const FINISHED = 'FINISHED'
+const RESTARTING = 'RESTARTING'
+const BEING_FORCE_KILLED = 'BEING_FORCE_KILLED'
+
+/**
+ * Base launcher that any custom launcher extends.
+ */
+function BaseLauncher (id, emitter) {
+ if (this.start) {
+ return
+ }
+
+ // TODO(vojta): figure out how to do inheritance with DI
+ Object.keys(EventEmitter.prototype).forEach(function (method) {
+ this[method] = EventEmitter.prototype[method]
+ }, this)
+
+ this.bind = KarmaEventEmitter.prototype.bind.bind(this)
+ this.emitAsync = KarmaEventEmitter.prototype.emitAsync.bind(this)
+
+ this.id = id
+ this._state = null
+ Object.defineProperty(this, 'state', {
+ get: () => {
+ return this._state
+ },
+ set: (toState) => {
+ log.debug(`${this._state} -> ${toState}`)
+ this._state = toState
+ }
+ })
+
+ this.error = null
+
+ let killingPromise
+ let previousUrl
+
+ this.start = function (url) {
+ previousUrl = url
+
+ this.error = null
+ this.state = BEING_CAPTURED
+ this.emit('start', url + '?id=' + this.id + (helper.isDefined(this.displayName) ? '&displayName=' + encodeURIComponent(this.displayName) : ''))
+ }
+
+ this.kill = function () {
+ // Already killed, or being killed.
+ if (killingPromise) {
+ return killingPromise
+ }
+
+ killingPromise = this.emitAsync('kill').then(() => {
+ this.state = FINISHED
+ })
+
+ this.state = BEING_KILLED
+
+ return killingPromise
+ }
+
+ this.forceKill = function () {
+ this.kill()
+ this.state = BEING_FORCE_KILLED
+
+ return killingPromise
+ }
+
+ this.restart = function () {
+ if (this.state === BEING_FORCE_KILLED) {
+ return
+ }
+
+ if (!killingPromise) {
+ killingPromise = this.emitAsync('kill')
+ }
+
+ killingPromise.then(() => {
+ if (this.state === BEING_FORCE_KILLED) {
+ this.state = FINISHED
+ } else {
+ killingPromise = null
+ log.debug(`Restarting ${this.name}`)
+ this.start(previousUrl)
+ }
+ })
+
+ this.state = RESTARTING
+ }
+
+ this.markCaptured = function () {
+ if (this.state === BEING_CAPTURED) {
+ this.state = CAPTURED
+ }
+ }
+
+ this.isCaptured = function () {
+ return this.state === CAPTURED
+ }
+
+ this.toString = function () {
+ return this.name
+ }
+
+ this._done = function (error) {
+ killingPromise = killingPromise || Promise.resolve()
+
+ this.error = this.error || error
+ this.emit('done')
+
+ if (this.error && this.state !== BEING_FORCE_KILLED && this.state !== RESTARTING) {
+ emitter.emit('browser_process_failure', this)
+ }
+
+ this.state = FINISHED
+ }
+
+ this.STATE_BEING_CAPTURED = BEING_CAPTURED
+ this.STATE_CAPTURED = CAPTURED
+ this.STATE_BEING_KILLED = BEING_KILLED
+ this.STATE_FINISHED = FINISHED
+ this.STATE_RESTARTING = RESTARTING
+ this.STATE_BEING_FORCE_KILLED = BEING_FORCE_KILLED
+}
+
+BaseLauncher.decoratorFactory = function (id, emitter) {
+ return function (launcher) {
+ BaseLauncher.call(launcher, id, emitter)
+ }
+}
+
+module.exports = BaseLauncher
diff --git a/node_modules/karma/lib/launchers/capture_timeout.js b/node_modules/karma/lib/launchers/capture_timeout.js
new file mode 100644
index 0000000..a7bcffc
--- /dev/null
+++ b/node_modules/karma/lib/launchers/capture_timeout.js
@@ -0,0 +1,43 @@
+const log = require('../logger').create('launcher')
+
+/**
+ * Kill browser if it does not capture in given `captureTimeout`.
+ */
+function CaptureTimeoutLauncher (timer, captureTimeout) {
+ if (!captureTimeout) {
+ return
+ }
+
+ let pendingTimeoutId = null
+
+ this.on('start', () => {
+ pendingTimeoutId = timer.setTimeout(() => {
+ pendingTimeoutId = null
+ if (this.state !== this.STATE_BEING_CAPTURED) {
+ return
+ }
+
+ log.warn(`${this.name} have not captured in ${captureTimeout} ms, killing.`)
+ this.error = 'timeout'
+ this.kill()
+ }, captureTimeout)
+ })
+
+ this.on('done', () => {
+ if (pendingTimeoutId) {
+ timer.clearTimeout(pendingTimeoutId)
+ pendingTimeoutId = null
+ }
+ })
+}
+
+CaptureTimeoutLauncher.decoratorFactory = function (timer,
+ /* config.captureTimeout */ captureTimeout) {
+ return function (launcher) {
+ CaptureTimeoutLauncher.call(launcher, timer, captureTimeout)
+ }
+}
+
+CaptureTimeoutLauncher.decoratorFactory.$inject = ['timer', 'config.captureTimeout']
+
+module.exports = CaptureTimeoutLauncher
diff --git a/node_modules/karma/lib/launchers/process.js b/node_modules/karma/lib/launchers/process.js
new file mode 100644
index 0000000..072c15b
--- /dev/null
+++ b/node_modules/karma/lib/launchers/process.js
@@ -0,0 +1,180 @@
+const path = require('path')
+const log = require('../logger').create('launcher')
+const env = process.env
+
+function ProcessLauncher (spawn, tempDir, timer, processKillTimeout) {
+ const self = this
+ let onExitCallback
+ const killTimeout = processKillTimeout || 2000
+ // Will hold output from the spawned child process
+ const streamedOutputs = {
+ stdout: '',
+ stderr: ''
+ }
+
+ this._tempDir = tempDir.getPath(`/karma-${this.id.toString()}`)
+
+ this.on('start', function (url) {
+ tempDir.create(self._tempDir)
+ self._start(url)
+ })
+
+ this.on('kill', function (done) {
+ if (!self._process) {
+ return process.nextTick(done)
+ }
+
+ onExitCallback = done
+ self._process.kill()
+ self._killTimer = timer.setTimeout(self._onKillTimeout, killTimeout)
+ })
+
+ this._start = function (url) {
+ self._execCommand(self._getCommand(), self._getOptions(url))
+ }
+
+ this._getCommand = function () {
+ return env[self.ENV_CMD] || self.DEFAULT_CMD[process.platform]
+ }
+
+ this._getOptions = function (url) {
+ return [url]
+ }
+
+ // Normalize the command, remove quotes (spawn does not like them).
+ this._normalizeCommand = function (cmd) {
+ if (cmd.charAt(0) === cmd.charAt(cmd.length - 1) && '\'`"'.includes(cmd.charAt(0))) {
+ cmd = cmd.substring(1, cmd.length - 1)
+ log.warn(`The path should not be quoted.\n Normalized the path to ${cmd}`)
+ }
+
+ return path.normalize(cmd)
+ }
+
+ this._onStdout = function (data) {
+ streamedOutputs.stdout += data
+ }
+
+ this._onStderr = function (data) {
+ streamedOutputs.stderr += data
+ }
+
+ this._execCommand = function (cmd, args) {
+ if (!cmd) {
+ log.error(`No binary for ${self.name} browser on your platform.\n Please, set "${self.ENV_CMD}" env variable.`)
+
+ // disable restarting
+ self._retryLimit = -1
+
+ return self._clearTempDirAndReportDone('no binary')
+ }
+
+ cmd = this._normalizeCommand(cmd)
+
+ log.debug(cmd + ' ' + args.join(' '))
+ self._process = spawn(cmd, args)
+ let errorOutput = ''
+
+ self._process.stdout.on('data', self._onStdout)
+
+ self._process.stderr.on('data', self._onStderr)
+
+ self._process.on('exit', function (code, signal) {
+ self._onProcessExit(code, signal, errorOutput)
+ })
+
+ self._process.on('error', function (err) {
+ if (err.code === 'ENOENT') {
+ self._retryLimit = -1
+ errorOutput = `Can not find the binary ${cmd}\n\tPlease set env variable ${self.ENV_CMD}`
+ } else if (err.code === 'EACCES') {
+ self._retryLimit = -1
+ errorOutput = `Permission denied accessing the binary ${cmd}\n\tMaybe it's a directory?`
+ } else {
+ errorOutput += err.toString()
+ }
+ })
+
+ self._process.stderr.on('data', function (errBuff) {
+ errorOutput += errBuff.toString()
+ })
+ }
+
+ this._onProcessExit = function (code, signal, errorOutput) {
+ log.debug(`Process ${self.name} exited with code ${code} and signal ${signal}`)
+
+ let error = null
+
+ if (self.state === self.STATE_BEING_CAPTURED) {
+ log.error(`Cannot start ${self.name}\n\t${errorOutput}`)
+ error = 'cannot start'
+ }
+
+ if (self.state === self.STATE_CAPTURED) {
+ log.error(`${self.name} crashed.\n\t${errorOutput}`)
+ error = 'crashed'
+ }
+
+ if (error) {
+ log.error(`${self.name} stdout: ${streamedOutputs.stdout}`)
+ log.error(`${self.name} stderr: ${streamedOutputs.stderr}`)
+ }
+
+ self._process = null
+ streamedOutputs.stdout = ''
+ streamedOutputs.stderr = ''
+ if (self._killTimer) {
+ timer.clearTimeout(self._killTimer)
+ self._killTimer = null
+ }
+ self._clearTempDirAndReportDone(error)
+ }
+
+ this._clearTempDirAndReportDone = function (error) {
+ tempDir.remove(self._tempDir, function () {
+ self._done(error)
+ if (onExitCallback) {
+ onExitCallback()
+ onExitCallback = null
+ }
+ })
+ }
+
+ this._onKillTimeout = function () {
+ if (self.state !== self.STATE_BEING_KILLED && self.state !== self.STATE_BEING_FORCE_KILLED) {
+ return
+ }
+
+ log.warn(`${self.name} was not killed in ${killTimeout} ms, sending SIGKILL.`)
+ self._process.kill('SIGKILL')
+
+ // NOTE: https://github.com/karma-runner/karma/pull/1184
+ // NOTE: SIGKILL is just a signal. Processes should never ignore it, but they can.
+ // If a process gets into a state where it doesn't respond in a reasonable amount of time
+ // Karma should warn, and continue as though the kill succeeded.
+ // This a certainly suboptimal, but it is better than having the test harness hang waiting
+ // for a zombie child process to exit.
+ self._killTimer = timer.setTimeout(function () {
+ log.warn(`${self.name} was not killed by SIGKILL in ${killTimeout} ms, continuing.`)
+ self._onProcessExit(-1, null, '')
+ }, killTimeout)
+ }
+}
+
+ProcessLauncher.decoratorFactory = function (timer) {
+ return function (launcher, processKillTimeout) {
+ const spawn = require('child_process').spawn
+
+ function spawnWithoutOutput () {
+ const proc = spawn.apply(null, arguments)
+ proc.stdout.resume()
+ proc.stderr.resume()
+
+ return proc
+ }
+
+ ProcessLauncher.call(launcher, spawnWithoutOutput, require('../temp_dir'), timer, processKillTimeout)
+ }
+}
+
+module.exports = ProcessLauncher
diff --git a/node_modules/karma/lib/launchers/retry.js b/node_modules/karma/lib/launchers/retry.js
new file mode 100644
index 0000000..cc3644f
--- /dev/null
+++ b/node_modules/karma/lib/launchers/retry.js
@@ -0,0 +1,31 @@
+const log = require('../logger').create('launcher')
+
+function RetryLauncher (retryLimit) {
+ this._retryLimit = retryLimit
+
+ this.on('done', () => {
+ if (!this.error) {
+ return
+ }
+
+ if (this._retryLimit > 0) {
+ log.info(`Trying to start ${this.name} again (${retryLimit - this._retryLimit + 1}/${retryLimit}).`)
+ this.restart()
+ this._retryLimit--
+ } else if (this._retryLimit === 0) {
+ log.error(`${this.name} failed ${retryLimit} times (${this.error}). Giving up.`)
+ } else {
+ log.debug(`${this.name} failed (${this.error}). Not restarting.`)
+ }
+ })
+}
+
+RetryLauncher.decoratorFactory = function (retryLimit) {
+ return function (launcher) {
+ RetryLauncher.call(launcher, retryLimit)
+ }
+}
+
+RetryLauncher.decoratorFactory.$inject = ['config.retryLimit']
+
+module.exports = RetryLauncher
diff --git a/node_modules/karma/lib/logger.js b/node_modules/karma/lib/logger.js
new file mode 100644
index 0000000..e65c9ba
--- /dev/null
+++ b/node_modules/karma/lib/logger.js
@@ -0,0 +1,115 @@
+// This is the **logger** module for *Karma*. It uses
+// [log4js](https://github.com/nomiddlename/log4js-node) to handle and
+// configure all logging that happens inside of *Karma*.
+
+// ### Helpers and Setup
+
+let log4js = require('log4js')
+const helper = require('./helper')
+const constant = require('./constants')
+
+// #### Public Functions
+
+// Setup the logger by passing in the configuration options. It needs
+// three arguments:
+//
+// setup(logLevel, colors, appenders)
+//
+// * `logLevel`: *String* Defines the global log level.
+// * `colors`: *Boolean* Use colors in the stdout or not.
+// * `appenders`: *Object* This will be passed as appenders to log4js
+// to allow for fine grained configuration of log4js. For more information
+// see https://github.com/nomiddlename/log4js-node.
+// *Array* is also accepted for backwards compatibility.
+function setup (level, colors, appenders) {
+ // Turn color on/off on the console appenders with pattern layout
+ const pattern = colors ? constant.COLOR_PATTERN : constant.NO_COLOR_PATTERN
+ if (appenders) {
+ // Convert Array to Object for backwards compatibility.
+ if (appenders['map']) {
+ if (appenders.length === 0) {
+ appenders = [constant.CONSOLE_APPENDER]
+ }
+ const v1Appenders = appenders
+ appenders = {}
+ v1Appenders.forEach(function (appender, index) {
+ if (appender.type === 'console') {
+ appenders['console'] = appender
+ if (helper.isDefined(appender.layout) && appender.layout.type === 'pattern') {
+ appender.layout.pattern = pattern
+ }
+ } else {
+ appenders[index + ''] = appender
+ }
+ return appender
+ })
+ }
+ } else {
+ appenders = { 'console': constant.CONSOLE_APPENDER }
+ }
+
+ log4js.configure({
+ appenders: appenders,
+ categories: {
+ 'default': {
+ 'appenders': Object.keys(appenders),
+ 'level': level
+ }
+ }
+ })
+}
+
+// Setup the logger by passing in the config object. The function sets the
+// `colors` and `logLevel` if they are defined. It takes two arguments:
+//
+// setupFromConfig(config, appenders)
+//
+// * `config`: *Object* The configuration object.
+// * `appenders`: *Object* This will be passed as appenders to log4js
+// to allow for fine grained configuration of log4js. For more information
+// see https://github.com/nomiddlename/log4js-node.
+// *Array* is also accepted for backwards compatibility.
+function setupFromConfig (config, appenders) {
+ let useColors = true
+ let logLevel = constant.LOG_INFO
+
+ if (helper.isDefined(config.colors)) {
+ useColors = config.colors
+ }
+
+ if (helper.isDefined(config.logLevel)) {
+ logLevel = config.logLevel
+ }
+ setup(logLevel, useColors, appenders)
+}
+
+const loggerCache = {}
+
+// Create a new logger. There are two optional arguments
+// * `name`, which defaults to `karma` and
+// If the `name = 'socket.io'` this will create a special wrapper
+// to be used as a logger for socket.io.
+// * `level`, which defaults to the global level.
+function create (name, level) {
+ name = name || 'karma'
+ let logger
+ if (loggerCache.hasOwnProperty(name)) {
+ logger = loggerCache[name]
+ } else {
+ logger = log4js.getLogger(name)
+ loggerCache[name] = logger
+ }
+ if (helper.isDefined(level)) {
+ logger.setLevel(level)
+ }
+ return logger
+}
+
+// #### Publish
+
+exports.create = create
+exports.setup = setup
+exports.setupFromConfig = setupFromConfig
+exports._rebindLog4js4testing = function (mockLog4js) {
+ log4js = mockLog4js
+}
diff --git a/node_modules/karma/lib/middleware/common.js b/node_modules/karma/lib/middleware/common.js
new file mode 100644
index 0000000..a04d23d
--- /dev/null
+++ b/node_modules/karma/lib/middleware/common.js
@@ -0,0 +1,131 @@
+/**
+ * This module contains some common helpers shared between middlewares
+ */
+'use strict'
+
+const mime = require('mime')
+const _ = require('lodash')
+const parseRange = require('range-parser')
+const Buffer = require('safe-buffer').Buffer
+const log = require('../logger').create('web-server')
+
+function createServeFile (fs, directory, config) {
+ const cache = Object.create(null)
+
+ return function (filepath, rangeHeader, response, transform, content, doNotCache) {
+ let responseData
+
+ function convertForRangeRequest () {
+ const range = parseRange(responseData.length, rangeHeader)
+ if (range === -2) {
+ return 200 // malformed header string
+ } else if (range === -1) {
+ responseData = Buffer.alloc(0) // unsatisfiable range
+ return 416
+ } else if (range.type === 'bytes') {
+ responseData = Buffer.from(responseData)
+ if (range.length === 1) {
+ const { start, end } = range[0]
+ response.setHeader('Content-Range', `bytes ${start}-${end}/${responseData.length}`)
+ response.setHeader('Accept-Ranges', 'bytes')
+ response.setHeader('Content-Length', end - start + 1)
+ responseData = responseData.slice(start, end + 1)
+ return 206
+ } else {
+ responseData = Buffer.alloc(0) // Multiple ranges are not supported. Maybe future?
+ return 416
+ }
+ }
+ return 200 // All other states, ignore
+ }
+
+ if (directory) {
+ filepath = directory + filepath
+ }
+
+ if (!content && cache[filepath]) {
+ content = cache[filepath]
+ }
+
+ if (config && config.customHeaders && config.customHeaders.length > 0) {
+ config.customHeaders.forEach((header) => {
+ const regex = new RegExp(header.match)
+ if (regex.test(filepath)) {
+ log.debug(`setting header: ${header.name} for: ${filepath}`)
+ response.setHeader(header.name, header.value)
+ }
+ })
+ }
+
+ if (content && !doNotCache) {
+ log.debug(`serving (cached): ${filepath}`)
+ response.setHeader('Content-Type', mime.getType(filepath, 'text/plain'))
+ responseData = (transform && transform(content)) || content
+ response.writeHead(rangeHeader ? convertForRangeRequest() : 200)
+ return response.end(responseData)
+ }
+
+ return fs.readFile(filepath, function (error, data) {
+ if (error) {
+ return serve404(response, filepath)
+ }
+
+ if (!doNotCache) {
+ cache[filepath] = data.toString()
+ }
+
+ log.debug('serving: ' + filepath)
+ response.setHeader('Content-Type', mime.getType(filepath, 'text/plain'))
+ responseData = (transform && transform(data.toString())) || data
+ response.writeHead(rangeHeader ? convertForRangeRequest() : 200)
+
+ return response.end(responseData)
+ })
+ }
+}
+
+function serve404 (response, path) {
+ log.warn(`404: ${path}`)
+ response.writeHead(404)
+ return response.end('NOT FOUND')
+}
+
+function setNoCacheHeaders (response) {
+ response.setHeader('Cache-Control', 'no-cache')
+ response.setHeader('Pragma', 'no-cache')
+ response.setHeader('Expires', (new Date(0)).toUTCString())
+}
+
+function setHeavyCacheHeaders (response) {
+ response.setHeader('Cache-Control', 'public, max-age=31536000')
+}
+
+function initializeMimeTypes (config) {
+ if (config && config.mime) {
+ _.forEach(config.mime, (value, key) => {
+ mime.define({ [key]: value }, true)
+ })
+ }
+}
+
+class PromiseContainer {
+ constructor () {
+ this.promise = null
+ }
+
+ then (success, error) {
+ return this.promise.then(success, error)
+ }
+
+ set (newPromise) {
+ this.promise = newPromise
+ }
+}
+
+// PUBLIC API
+exports.PromiseContainer = PromiseContainer
+exports.createServeFile = createServeFile
+exports.setNoCacheHeaders = setNoCacheHeaders
+exports.setHeavyCacheHeaders = setHeavyCacheHeaders
+exports.initializeMimeTypes = initializeMimeTypes
+exports.serve404 = serve404
diff --git a/node_modules/karma/lib/middleware/karma.js b/node_modules/karma/lib/middleware/karma.js
new file mode 100644
index 0000000..4bcb98f
--- /dev/null
+++ b/node_modules/karma/lib/middleware/karma.js
@@ -0,0 +1,265 @@
+/**
+ * Karma middleware is responsible for serving:
+ * - client.html (the entrypoint for capturing a browser)
+ * - debug.html
+ * - context.html (the execution context, loaded within an iframe)
+ * - karma.js
+ *
+ * The main part is generating context.html, as it contains:
+ * - generating mappings
+ * - including <script> and <link> tags
+ * - setting propert caching headers
+ */
+
+const path = require('path')
+const url = require('url')
+const helper = require('../helper')
+
+const log = require('../logger').create('middleware:karma')
+const stripHost = require('./strip_host').stripHost
+const common = require('./common')
+
+const VERSION = require('../constants').VERSION
+const SCRIPT_TYPE = {
+ 'js': 'text/javascript',
+ 'dart': 'application/dart',
+ 'module': 'module'
+}
+const FILE_TYPES = [
+ 'css',
+ 'html',
+ 'js',
+ 'dart',
+ 'module',
+ 'dom'
+]
+
+function filePathToUrlPath (filePath, basePath, urlRoot, proxyPath) {
+ if (filePath.startsWith(basePath)) {
+ return proxyPath + urlRoot.substr(1) + 'base' + filePath.substr(basePath.length)
+ }
+ return proxyPath + urlRoot.substr(1) + 'absolute' + filePath
+}
+
+function getQuery (urlStr) {
+ // eslint-disable-next-line node/no-deprecated-api
+ return url.parse(urlStr, true).query || {}
+}
+
+function getXUACompatibleMetaElement (url) {
+ const query = getQuery(url)
+ if (query['x-ua-compatible']) {
+ return `\n<meta http-equiv="X-UA-Compatible" content="${query['x-ua-compatible']}"/>`
+ }
+ return ''
+}
+
+function getXUACompatibleUrl (url) {
+ const query = getQuery(url)
+ if (query['x-ua-compatible']) {
+ return '?x-ua-compatible=' + encodeURIComponent(query['x-ua-compatible'])
+ }
+ return ''
+}
+
+function createKarmaMiddleware (
+ filesPromise,
+ serveStaticFile,
+ serveFile,
+ readFilePromise,
+ injector,
+ basePath,
+ urlRoot,
+ upstreamProxy,
+ browserSocketTimeout
+) {
+ const proxyPath = upstreamProxy ? upstreamProxy.path : '/'
+ return function (request, response, next) {
+ // These config values should be up to date on every request
+ const client = injector.get('config.client')
+ const customContextFile = injector.get('config.customContextFile')
+ const customDebugFile = injector.get('config.customDebugFile')
+ const customClientContextFile = injector.get('config.customClientContextFile')
+ const includeCrossOriginAttribute = injector.get('config.crossOriginAttribute')
+
+ const normalizedUrl = stripHost(request.url) || request.url
+ // For backwards compatibility in middleware plugins, remove in v4.
+ request.normalizedUrl = normalizedUrl
+
+ let requestUrl = normalizedUrl.replace(/\?.*/, '')
+ const requestedRangeHeader = request.headers['range']
+
+ // redirect /__karma__ to /__karma__ (trailing slash)
+ if (requestUrl === urlRoot.substr(0, urlRoot.length - 1)) {
+ response.setHeader('Location', proxyPath + urlRoot.substr(1))
+ response.writeHead(301)
+ return response.end('MOVED PERMANENTLY')
+ }
+
+ // ignore urls outside urlRoot
+ if (!requestUrl.startsWith(urlRoot)) {
+ return next()
+ }
+
+ // remove urlRoot prefix
+ requestUrl = requestUrl.substr(urlRoot.length - 1)
+
+ // serve client.html
+ if (requestUrl === '/') {
+ // redirect client_with_context.html
+ if (!client.useIframe && client.runInParent) {
+ requestUrl = '/client_with_context.html'
+ } else { // serve client.html
+ return serveStaticFile('/client.html', requestedRangeHeader, response, (data) =>
+ data
+ .replace('\n%X_UA_COMPATIBLE%', getXUACompatibleMetaElement(request.url))
+ .replace('%X_UA_COMPATIBLE_URL%', getXUACompatibleUrl(request.url)))
+ }
+ }
+
+ if (['/karma.js', '/context.js', '/debug.js'].includes(requestUrl)) {
+ return serveStaticFile(requestUrl, requestedRangeHeader, response, (data) =>
+ data
+ .replace('%KARMA_URL_ROOT%', urlRoot)
+ .replace('%KARMA_VERSION%', VERSION)
+ .replace('%KARMA_PROXY_PATH%', proxyPath)
+ .replace('%BROWSER_SOCKET_TIMEOUT%', browserSocketTimeout))
+ }
+
+ // serve the favicon
+ if (requestUrl === '/favicon.ico') {
+ return serveStaticFile(requestUrl, requestedRangeHeader, response)
+ }
+
+ // serve context.html - execution context within the iframe
+ // or debug.html - execution context without channel to the server
+ const isRequestingContextFile = requestUrl === '/context.html'
+ const isRequestingDebugFile = requestUrl === '/debug.html'
+ const isRequestingClientContextFile = requestUrl === '/client_with_context.html'
+ const includedContent = new Map() // file.path -> content
+ if (isRequestingContextFile || isRequestingDebugFile || isRequestingClientContextFile) {
+ return filesPromise.then((files) => {
+ // Read any files.included that will be directly written into HTML before HTML is read.
+ const contentReads = []
+ for (const file of files.included) {
+ const fileType = file.type || path.extname(file.path).substring(1)
+ if (fileType === 'dom') {
+ contentReads.push(
+ readFilePromise(file.path).then((content) => includedContent.set(file.path, content))
+ )
+ }
+ }
+ return Promise.all(contentReads).then(() => files)
+ }).then(function (files) {
+ let fileServer
+ let requestedFileUrl
+ log.debug('custom files', customContextFile, customDebugFile, customClientContextFile)
+ if (isRequestingContextFile && customContextFile) {
+ log.debug(`Serving customContextFile ${customContextFile}`)
+ fileServer = serveFile
+ requestedFileUrl = customContextFile
+ } else if (isRequestingDebugFile && customDebugFile) {
+ log.debug(`Serving customDebugFile ${customDebugFile}`)
+ fileServer = serveFile
+ requestedFileUrl = customDebugFile
+ } else if (isRequestingClientContextFile && customClientContextFile) {
+ log.debug(`Serving customClientContextFile ${customClientContextFile}`)
+ fileServer = serveFile
+ requestedFileUrl = customClientContextFile
+ } else {
+ log.debug(`Serving static request ${requestUrl}`)
+ fileServer = serveStaticFile
+ requestedFileUrl = requestUrl
+ }
+
+ fileServer(requestedFileUrl, requestedRangeHeader, response, function (data) {
+ common.setNoCacheHeaders(response)
+
+ const scriptTags = []
+ for (const file of files.included) {
+ let filePath = file.path
+ const fileType = file.type || path.extname(filePath).substring(1)
+
+ if (helper.isDefined(fileType) && !FILE_TYPES.includes(fileType)) {
+ log.warn(`Invalid file type (${fileType}), defaulting to js.`)
+ }
+
+ if (!file.isUrl) {
+ filePath = filePathToUrlPath(filePath, basePath, urlRoot, proxyPath)
+
+ if (requestUrl === '/context.html') {
+ filePath += '?' + file.sha
+ }
+ }
+
+ if (fileType === 'css') {
+ scriptTags.push(`<link type="text/css" href="${filePath}" rel="stylesheet">`)
+ } else if (fileType === 'dom') {
+ scriptTags.push(includedContent.get(file.path))
+ } else if (fileType === 'html') {
+ scriptTags.push(`<link href="${filePath}" rel="import">`)
+ } else {
+ const scriptType = (SCRIPT_TYPE[fileType] || 'text/javascript')
+ const crossOriginAttribute = includeCrossOriginAttribute ? 'crossorigin="anonymous"' : ''
+ scriptTags.push(`<script type="${scriptType}" src="${filePath}" ${crossOriginAttribute}></script>`)
+ }
+ }
+
+ const scriptUrls = []
+ // For client_with_context, html elements are not added directly through an iframe.
+ // Instead, scriptTags is stored to window.__karma__.scriptUrls first. Later, the
+ // client will read window.__karma__.scriptUrls and dynamically add them to the DOM
+ // using DOMParser.
+ if (requestUrl === '/client_with_context.html') {
+ for (const script of scriptTags) {
+ scriptUrls.push(
+ // Escape characters with special roles (tags) in HTML. Open angle brackets are parsed as tags
+ // immediately, even if it is within double quotations in browsers
+ script.replace(/</g, '\\x3C').replace(/>/g, '\\x3E'))
+ }
+ }
+
+ const mappings = data.includes('%MAPPINGS%') ? files.served.map((file) => {
+ const filePath = filePathToUrlPath(file.path, basePath, urlRoot, proxyPath)
+ .replace(/\\/g, '\\\\') // Windows paths contain backslashes and generate bad IDs if not escaped
+ .replace(/'/g, '\\\'') // Escape single quotes - double quotes should not be allowed!
+
+ return ` '${filePath}': '${file.sha}'`
+ }) : []
+
+ return data
+ .replace('%SCRIPTS%', scriptTags.join('\n'))
+ .replace('%CLIENT_CONFIG%', 'window.__karma__.config = ' + JSON.stringify(client) + ';\n')
+ .replace('%SCRIPT_URL_ARRAY%', 'window.__karma__.scriptUrls = ' + JSON.stringify(scriptUrls) + ';\n')
+ .replace('%MAPPINGS%', 'window.__karma__.files = {\n' + mappings.join(',\n') + '\n};\n')
+ .replace('\n%X_UA_COMPATIBLE%', getXUACompatibleMetaElement(request.url))
+ })
+ })
+ } else if (requestUrl === '/context.json') {
+ return filesPromise.then((files) => {
+ common.setNoCacheHeaders(response)
+ response.writeHead(200)
+ response.end(JSON.stringify({
+ files: files.included.map((file) => filePathToUrlPath(file.path + '?' + file.sha, basePath, urlRoot, proxyPath))
+ }))
+ })
+ }
+
+ return next()
+ }
+}
+
+createKarmaMiddleware.$inject = [
+ 'filesPromise',
+ 'serveStaticFile',
+ 'serveFile',
+ 'readFilePromise',
+ 'injector',
+ 'config.basePath',
+ 'config.urlRoot',
+ 'config.upstreamProxy',
+ 'config.browserSocketTimeout'
+]
+
+// PUBLIC API
+exports.create = createKarmaMiddleware
diff --git a/node_modules/karma/lib/middleware/proxy.js b/node_modules/karma/lib/middleware/proxy.js
new file mode 100644
index 0000000..4f01c3d
--- /dev/null
+++ b/node_modules/karma/lib/middleware/proxy.js
@@ -0,0 +1,117 @@
+const url = require('url')
+const httpProxy = require('http-proxy')
+const _ = require('lodash')
+
+const log = require('../logger').create('proxy')
+
+function parseProxyConfig (proxies, config) {
+ proxies = proxies || []
+ return _.sortBy(_.map(proxies, function (proxyConfiguration, proxyPath) {
+ if (typeof proxyConfiguration === 'string') {
+ proxyConfiguration = { target: proxyConfiguration }
+ }
+ let proxyUrl = proxyConfiguration.target
+ // eslint-disable-next-line node/no-deprecated-api
+ const proxyDetails = url.parse(proxyUrl)
+ let pathname = proxyDetails.pathname
+
+ if (proxyPath.endsWith('/') && !proxyUrl.endsWith('/')) {
+ log.warn(`proxy "${proxyUrl}" normalized to "${proxyUrl}/"`)
+ proxyUrl += '/'
+ pathname += '/'
+ }
+
+ if (!proxyPath.endsWith('/') && proxyUrl.endsWith('/')) {
+ log.warn(`proxy "${proxyPath}" normalized to "${proxyPath}/"`)
+ proxyPath += '/'
+ }
+
+ if (pathname === '/' && !proxyUrl.endsWith('/')) {
+ pathname = ''
+ }
+
+ const hostname = proxyDetails.hostname || config.hostname
+ const protocol = proxyDetails.protocol || config.protocol
+ const https = proxyDetails.protocol === 'https:'
+ let port
+ if (proxyDetails.port) {
+ port = proxyDetails.port
+ } else if (proxyDetails.protocol) {
+ port = https ? '443' : '80'
+ } else {
+ port = config.port
+ }
+ const changeOrigin = proxyConfiguration.changeOrigin || false
+ const proxy = httpProxy.createProxyServer({
+ target: { host: hostname, port, https, protocol },
+ xfwd: true,
+ changeOrigin: changeOrigin,
+ secure: config.proxyValidateSSL
+ })
+
+ ;['proxyReq', 'proxyRes'].forEach(function (name) {
+ const callback = proxyDetails[name] || config[name]
+ if (callback) {
+ proxy.on(name, callback)
+ }
+ })
+
+ proxy.on('error', function proxyError (err, req, res) {
+ if (err.code === 'ECONNRESET' && req.socket.destroyed) {
+ log.debug(`failed to proxy ${req.url} (browser hung up the socket)`)
+ } else {
+ log.warn(`failed to proxy ${req.url} (${err.message})`)
+ }
+
+ res.destroy()
+ })
+
+ return { path: proxyPath, baseUrl: pathname, host: hostname, port, https, proxy }
+ }), 'path').reverse()
+}
+
+/**
+ * Returns a handler which understands the proxies and its redirects, along with the proxy to use
+ * @param proxies An array of proxy record objects
+ * @param urlRoot The URL root that karma is mounted on
+ * @return {Function} handler function
+ */
+function createProxyHandler (proxies, urlRoot) {
+ if (!proxies.length) {
+ const nullProxy = (request, response, next) => next()
+ nullProxy.upgrade = () => {}
+ return nullProxy
+ }
+
+ function createProxy (request, response, next) {
+ const proxyRecord = proxies.find((p) => request.url.startsWith(p.path))
+ if (proxyRecord) {
+ log.debug(`proxying request - ${request.url} to ${proxyRecord.host}:${proxyRecord.port}`)
+ request.url = request.url.replace(proxyRecord.path, proxyRecord.baseUrl)
+ proxyRecord.proxy.web(request, response)
+ } else {
+ return next()
+ }
+ }
+
+ createProxy.upgrade = function (request, socket, head) {
+ // special-case karma's route to avoid upgrading it
+ if (request.url.startsWith(urlRoot)) {
+ log.debug(`NOT upgrading proxyWebSocketRequest ${request.url}`)
+ return
+ }
+
+ const proxyRecord = proxies.find((p) => request.url.startsWith(p.path))
+ if (proxyRecord) {
+ log.debug(`upgrade proxyWebSocketRequest ${request.url} to ${proxyRecord.host}:${proxyRecord.port}`)
+ request.url = request.url.replace(proxyRecord.path, proxyRecord.baseUrl)
+ proxyRecord.proxy.ws(request, socket, head)
+ }
+ }
+
+ return createProxy
+}
+
+exports.create = function (/* config */config, /* config.proxies */proxies) {
+ return createProxyHandler(parseProxyConfig(proxies, config), config.urlRoot)
+}
diff --git a/node_modules/karma/lib/middleware/runner.js b/node_modules/karma/lib/middleware/runner.js
new file mode 100644
index 0000000..914d741
--- /dev/null
+++ b/node_modules/karma/lib/middleware/runner.js
@@ -0,0 +1,106 @@
+/**
+ * Runner middleware is responsible for communication with `karma run`.
+ *
+ * It basically triggers a test run and streams stdout back.
+ */
+
+const _ = require('lodash')
+const path = require('path')
+const helper = require('../helper')
+const log = require('../logger').create()
+const constant = require('../constants')
+const json = require('body-parser').json()
+
+// TODO(vojta): disable when single-run mode
+function createRunnerMiddleware (emitter, fileList, capturedBrowsers, reporter, executor,
+ /* config.protocol */ protocol, /* config.hostname */ hostname, /* config.port */
+ port, /* config.urlRoot */ urlRoot, config) {
+ helper.saveOriginalArgs(config)
+ return function (request, response, next) {
+ if (request.url !== '/__run__' && request.url !== urlRoot + 'run') {
+ return next()
+ }
+
+ log.debug('Execution (fired by runner)')
+ response.writeHead(200)
+
+ if (!capturedBrowsers.length) {
+ const url = `${protocol}//${hostname}:${port}${urlRoot}`
+ return response.end(`No captured browser, open ${url}\n`)
+ }
+
+ json(request, response, function () {
+ if (!capturedBrowsers.areAllReady([])) {
+ response.write('Waiting for previous execution...\n')
+ }
+
+ const data = request.body
+ emitter.once('run_start', function () {
+ const responseWrite = response.write.bind(response)
+ responseWrite.colors = data.colors
+ reporter.addAdapter(responseWrite)
+
+ // clean up, close runner response
+ emitter.once('run_complete', function (browsers, results) {
+ reporter.removeAdapter(responseWrite)
+ const emptyTestSuite = (results.failed + results.success) === 0 ? 0 : 1
+ response.end(constant.EXIT_CODE + emptyTestSuite + results.exitCode)
+ })
+ })
+
+ helper.restoreOriginalArgs(config)
+ if (_.isEmpty(data.args)) {
+ log.debug('Ignoring empty client.args from run command')
+ } else if ((_.isArray(data.args) && _.isArray(config.client.args)) ||
+ (_.isPlainObject(data.args) && _.isPlainObject(config.client.args))) {
+ log.debug('Merging client.args with ', data.args)
+ config.client.args = _.merge(config.client.args, data.args)
+ } else {
+ log.warn('Replacing client.args with ', data.args, ' as their types do not match.')
+ config.client.args = data.args
+ }
+
+ let fullRefresh = true
+
+ if (helper.isArray(data.changedFiles)) {
+ data.changedFiles.forEach(function (filepath) {
+ fileList.changeFile(path.resolve(config.basePath, filepath))
+ fullRefresh = false
+ })
+ }
+
+ if (helper.isArray(data.addedFiles)) {
+ data.addedFiles.forEach(function (filepath) {
+ fileList.addFile(path.resolve(config.basePath, filepath))
+ fullRefresh = false
+ })
+ }
+
+ if (helper.isArray(data.removedFiles)) {
+ data.removedFiles.forEach(function (filepath) {
+ fileList.removeFile(path.resolve(config.basePath, filepath))
+ fullRefresh = false
+ })
+ }
+
+ if (fullRefresh && data.refresh !== false) {
+ log.debug('Refreshing all the files / patterns')
+ fileList.refresh().then(function () {
+ // Wait for the file list refresh to complete before starting test run,
+ // otherwise the context.html generation might not see new/updated files.
+ if (!config.autoWatch) {
+ executor.schedule()
+ }
+ })
+ } else {
+ executor.schedule()
+ }
+ })
+ }
+}
+
+createRunnerMiddleware.$inject = ['emitter', 'fileList', 'capturedBrowsers', 'reporter', 'executor',
+ 'config.protocol', 'config.hostname', 'config.port', 'config.urlRoot', 'config']
+
+// PUBLIC API
+exports.create = createRunnerMiddleware
diff --git a/node_modules/karma/lib/middleware/source_files.js b/node_modules/karma/lib/middleware/source_files.js
new file mode 100644
index 0000000..9d59fb0
--- /dev/null
+++ b/node_modules/karma/lib/middleware/source_files.js
@@ -0,0 +1,67 @@
+'use strict'
+
+const querystring = require('querystring')
+const common = require('./common')
+
+const log = require('../logger').create('middleware:source-files')
+
+function findByPath (files, path) {
+ return Array.from(files).find((file) => file.path === path)
+}
+
+function composeUrl (url, basePath, urlRoot) {
+ return url
+ .replace(urlRoot, '/')
+ .replace(/\?.*$/, '')
+ .replace(/^\/absolute/, '')
+ .replace(/^\/base/, basePath)
+}
+
+// Source Files middleware is responsible for serving all the source files under the test.
+function createSourceFilesMiddleware (filesPromise, serveFile, basePath, urlRoot) {
+ return function (request, response, next) {
+ const requestedFilePath = composeUrl(request.url, basePath, urlRoot)
+ // When a path contains HTML-encoded characters (e.g %2F used by Jenkins for branches with /)
+ const requestedFilePathUnescaped = composeUrl(querystring.unescape(request.url), basePath, urlRoot)
+
+ request.pause()
+
+ log.debug(`Requesting ${request.url}`)
+ log.debug(`Fetching ${requestedFilePath}`)
+
+ return filesPromise.then(function (files) {
+ // TODO(vojta): change served to be a map rather then an array
+ const file = findByPath(files.served, requestedFilePath) || findByPath(files.served, requestedFilePathUnescaped)
+ const rangeHeader = request.headers['range']
+
+ if (file) {
+ const acceptEncodingHeader = request.headers['accept-encoding']
+ const matchedEncoding = Object.keys(file.encodings).find(
+ (encoding) => new RegExp(`(^|.*, ?)${encoding}(,|$)`).test(acceptEncodingHeader)
+ )
+ const content = file.encodings[matchedEncoding] || file.content
+
+ serveFile(file.contentPath || file.path, rangeHeader, response, function () {
+ if (/\?\w+/.test(request.url)) {
+ common.setHeavyCacheHeaders(response) // files with timestamps - cache one year, rely on timestamps
+ } else {
+ common.setNoCacheHeaders(response) // without timestamps - no cache (debug)
+ }
+ if (matchedEncoding) {
+ response.setHeader('Content-Encoding', matchedEncoding)
+ }
+ }, content, file.doNotCache)
+ } else {
+ next()
+ }
+
+ request.resume()
+ })
+ }
+}
+
+createSourceFilesMiddleware.$inject = [
+ 'filesPromise', 'serveFile', 'config.basePath', 'config.urlRoot'
+]
+
+exports.create = createSourceFilesMiddleware
diff --git a/node_modules/karma/lib/middleware/stopper.js b/node_modules/karma/lib/middleware/stopper.js
new file mode 100644
index 0000000..784a7d4
--- /dev/null
+++ b/node_modules/karma/lib/middleware/stopper.js
@@ -0,0 +1,18 @@
+/**
+ * Stopper middleware is responsible for communicating with `karma stop`.
+ */
+
+const log = require('../logger').create('middleware:stopper')
+
+function createStopperMiddleware (urlRoot) {
+ return function (request, response, next) {
+ if (request.url !== urlRoot + 'stop') return next()
+ response.writeHead(200)
+ log.info('Stopping server')
+ response.end('OK')
+ process.kill(process.pid, 'SIGINT')
+ }
+}
+
+createStopperMiddleware.$inject = ['config.urlRoot']
+exports.create = createStopperMiddleware
diff --git a/node_modules/karma/lib/middleware/strip_host.js b/node_modules/karma/lib/middleware/strip_host.js
new file mode 100644
index 0000000..539be0a
--- /dev/null
+++ b/node_modules/karma/lib/middleware/strip_host.js
@@ -0,0 +1,11 @@
+/**
+ * Strip hostname from request path
+ * This to handle requests that uses (normally over proxies) an absoluteURI as request path
+ */
+
+function stripHostFromUrl (url) {
+ return url.replace(/^https?:\/\/[a-z.:\d-]+\//, '/')
+}
+
+// PUBLIC API
+exports.stripHost = stripHostFromUrl
diff --git a/node_modules/karma/lib/plugin.js b/node_modules/karma/lib/plugin.js
new file mode 100644
index 0000000..2e0ad5a
--- /dev/null
+++ b/node_modules/karma/lib/plugin.js
@@ -0,0 +1,53 @@
+'use strict'
+
+const fs = require('graceful-fs')
+const path = require('path')
+const helper = require('./helper')
+
+const log = require('./logger').create('plugin')
+
+const IGNORED_PACKAGES = ['karma-cli', 'karma-runner.github.com']
+
+function resolve (plugins, emitter) {
+ const modules = []
+
+ function requirePlugin (name) {
+ log.debug(`Loading plugin ${name}.`)
+ try {
+ modules.push(require(name))
+ } catch (e) {
+ if (e.code === 'MODULE_NOT_FOUND' && e.message.includes(name)) {
+ log.error(`Cannot find plugin "${name}".\n Did you forget to install it?\n npm install ${name} --save-dev`)
+ } else {
+ log.error(`Error during loading "${name}" plugin:\n ${e.message}`)
+ }
+ emitter.emit('load_error', 'plug_in', name)
+ }
+ }
+
+ plugins.forEach(function (plugin) {
+ if (helper.isString(plugin)) {
+ if (!plugin.includes('*')) {
+ requirePlugin(plugin)
+ return
+ }
+ const pluginDirectory = path.normalize(path.join(__dirname, '/../..'))
+ const regexp = new RegExp(`^${plugin.replace('*', '.*')}`)
+
+ log.debug(`Loading ${plugin} from ${pluginDirectory}`)
+ fs.readdirSync(pluginDirectory)
+ .filter((pluginName) => !IGNORED_PACKAGES.includes(pluginName) && regexp.test(pluginName))
+ .forEach((pluginName) => requirePlugin(`${pluginDirectory}/${pluginName}`))
+ } else if (helper.isObject(plugin)) {
+ log.debug(`Loading inlined plugin (defining ${Object.keys(plugin).join(', ')}).`)
+ modules.push(plugin)
+ } else {
+ log.error(`Invalid plugin ${plugin}`)
+ emitter.emit('load_error', 'plug_in', plugin)
+ }
+ })
+
+ return modules
+}
+
+exports.resolve = resolve
diff --git a/node_modules/karma/lib/preprocessor.js b/node_modules/karma/lib/preprocessor.js
new file mode 100644
index 0000000..61c34e0
--- /dev/null
+++ b/node_modules/karma/lib/preprocessor.js
@@ -0,0 +1,130 @@
+'use strict'
+
+const fs = require('graceful-fs')
+const mm = require('minimatch')
+const isBinaryFile = require('isbinaryfile')
+const _ = require('lodash')
+const CryptoUtils = require('./utils/crypto-utils')
+
+const log = require('./logger').create('preprocess')
+
+function createNextProcessor (preprocessors, file, done) {
+ return function nextPreprocessor (error, content) {
+ // normalize B-C
+ if (arguments.length === 1 && typeof error === 'string') {
+ content = error
+ error = null
+ }
+
+ if (error) {
+ file.content = null
+ file.contentPath = null
+ return done(error)
+ }
+
+ if (!preprocessors.length) {
+ file.contentPath = null
+ file.content = content
+ file.sha = CryptoUtils.sha1(content)
+ return done()
+ }
+
+ preprocessors.shift()(content, file, nextPreprocessor)
+ }
+}
+
+function createPreprocessor (config, basePath, injector) {
+ const emitter = injector.get('emitter')
+ const alreadyDisplayedErrors = {}
+ const instances = {}
+ let patterns = Object.keys(config)
+
+ function instantiatePreprocessor (name) {
+ if (alreadyDisplayedErrors[name]) {
+ return
+ }
+
+ let p
+
+ try {
+ p = injector.get('preprocessor:' + name)
+ } catch (e) {
+ if (e.message.includes(`No provider for "preprocessor:${name}"`)) {
+ log.error(`Can not load "${name}", it is not registered!\n Perhaps you are missing some plugin?`)
+ } else {
+ log.error(`Can not load "${name}"!\n ` + e.stack)
+ }
+ alreadyDisplayedErrors[name] = true
+ emitter.emit('load_error', 'preprocessor', name)
+ }
+
+ return p
+ }
+
+ let allPreprocessors = []
+ patterns.forEach((pattern) => {
+ allPreprocessors = _.union(allPreprocessors, config[pattern])
+ })
+ allPreprocessors.forEach(instantiatePreprocessor)
+
+ return function preprocess (file, done) {
+ patterns = Object.keys(config)
+ let retryCount = 0
+ let maxRetries = 3
+ function readFileCallback (err, buffer) {
+ if (err) {
+ log.warn(err)
+ if (retryCount < maxRetries) {
+ retryCount++
+ log.warn('retrying ' + retryCount)
+ fs.readFile(file.originalPath, readFileCallback)
+ return
+ } else {
+ throw err
+ }
+ }
+
+ isBinaryFile(buffer, buffer.length, function (err, isBinary) {
+ if (err) {
+ throw err
+ }
+
+ let preprocessorNames = []
+ patterns.forEach((pattern) => {
+ if (mm(file.originalPath, pattern, { dot: true })) {
+ preprocessorNames = _.union(preprocessorNames, config[pattern])
+ }
+ })
+
+ let preprocessors = []
+ const nextPreprocessor = createNextProcessor(preprocessors, file, done)
+ preprocessorNames.forEach((name) => {
+ const p = instances[name] || instantiatePreprocessor(name)
+
+ if (p == null) {
+ if (!alreadyDisplayedErrors[name]) {
+ alreadyDisplayedErrors[name] = true
+ log.error(`Failed to instantiate preprocessor ${name}`)
+ emitter.emit('load_error', 'preprocessor', name)
+ }
+ return
+ }
+
+ instances[name] = p
+ if (!isBinary || p.handleBinaryFiles) {
+ preprocessors.push(p)
+ } else {
+ log.warn(`Ignored preprocessing ${file.originalPath} because ${name} has handleBinaryFiles=false.`)
+ }
+ })
+
+ nextPreprocessor(null, isBinary ? buffer : buffer.toString())
+ })
+ }
+ return fs.readFile(file.originalPath, readFileCallback)
+ }
+}
+
+createPreprocessor.$inject = ['config.preprocessors', 'config.basePath', 'injector']
+
+exports.createPreprocessor = createPreprocessor
diff --git a/node_modules/karma/lib/reporter.js b/node_modules/karma/lib/reporter.js
new file mode 100644
index 0000000..de5ae7f
--- /dev/null
+++ b/node_modules/karma/lib/reporter.js
@@ -0,0 +1,143 @@
+'use strict'
+
+// eslint-disable-next-line node/no-deprecated-api
+const resolve = require('url').resolve
+const SourceMapConsumer = require('source-map').SourceMapConsumer
+const _ = require('lodash')
+
+const PathUtils = require('./utils/path-utils')
+const log = require('./logger').create('reporter')
+const MultiReporter = require('./reporters/multi')
+const baseReporterDecoratorFactory = require('./reporters/base').decoratorFactory
+
+function createErrorFormatter (config, emitter, SourceMapConsumer) {
+ const basePath = config.basePath
+ const urlRoot = config.urlRoot === '/' ? '' : (config.urlRoot || '')
+ let lastServedFiles = []
+
+ emitter.on('file_list_modified', (files) => {
+ lastServedFiles = files.served
+ })
+
+ const URL_REGEXP = new RegExp('(?:https?:\\/\\/' +
+ config.hostname + '(?:\\:' + config.port + ')?' + ')?\\/?' +
+ urlRoot + '\\/?' +
+ '(base/|absolute)' + // prefix, including slash for base/ to create relative paths.
+ '((?:[A-z]\\:)?[^\\?\\s\\:]*)' + // path
+ '(\\?\\w*)?' + // sha
+ '(\\:(\\d+))?' + // line
+ '(\\:(\\d+))?' + // column
+ '', 'g')
+
+ const cache = new WeakMap()
+
+ function getSourceMapConsumer (sourceMap) {
+ if (!cache.has(sourceMap)) {
+ cache.set(sourceMap, new SourceMapConsumer(sourceMap))
+ }
+ return cache.get(sourceMap)
+ }
+
+ return function (input, indentation) {
+ indentation = _.isString(indentation) ? indentation : ''
+ if (_.isError(input)) {
+ input = input.message
+ } else if (_.isEmpty(input)) {
+ input = ''
+ } else if (!_.isString(input)) {
+ input = JSON.stringify(input, null, indentation)
+ }
+
+ let msg = input.replace(URL_REGEXP, function (_, prefix, path, __, ___, line, ____, column) {
+ const normalizedPath = prefix === 'base/' ? `${basePath}/${path}` : path
+ const file = lastServedFiles.find((file) => file.path === normalizedPath)
+
+ if (file && file.sourceMap && line) {
+ line = +line
+ column = +column
+
+ // When no column is given and we default to 0, it doesn't make sense to only search for smaller
+ // or equal columns in the sourcemap, let's search for equal or greater columns.
+ const bias = column ? SourceMapConsumer.GREATEST_LOWER_BOUND : SourceMapConsumer.LEAST_UPPER_BOUND
+
+ try {
+ const zeroBasedColumn = Math.max(0, (column || 1) - 1)
+ const original = getSourceMapConsumer(file.sourceMap).originalPositionFor({ line, column: zeroBasedColumn, bias })
+
+ // Source maps often only have a local file name, resolve to turn into a full path if
+ // the path is not absolute yet.
+ const oneBasedOriginalColumn = original.column == null ? original.column : original.column + 1
+ return `${PathUtils.formatPathMapping(resolve(path, original.source), original.line, oneBasedOriginalColumn)} <- ${PathUtils.formatPathMapping(path, line, column)}`
+ } catch (e) {
+ log.warn(`SourceMap position not found for trace: ${input}`)
+ }
+ }
+
+ return PathUtils.formatPathMapping(path, line, column) || prefix
+ })
+
+ if (indentation) {
+ msg = indentation + msg.replace(/\n/g, '\n' + indentation)
+ }
+
+ return config.formatError ? config.formatError(msg) : msg + '\n'
+ }
+}
+
+function createReporters (names, config, emitter, injector) {
+ const errorFormatter = createErrorFormatter(config, emitter, SourceMapConsumer)
+ const reporters = []
+
+ names.forEach((name) => {
+ if (['dots', 'progress'].includes(name)) {
+ [
+ require(`./reporters/${name}`),
+ require(`./reporters/${name}_color`)
+ ].forEach((Reporter) => {
+ reporters.push(new Reporter(errorFormatter, config.reportSlowerThan, config.colors, config.browserConsoleLogOptions))
+ })
+ return
+ }
+
+ const locals = {
+ baseReporterDecorator: ['factory', baseReporterDecoratorFactory],
+ formatError: ['value', errorFormatter]
+ }
+
+ try {
+ log.debug(`Trying to load reporter: ${name}`)
+ reporters.push(injector.createChild([locals], ['reporter:' + name]).get('reporter:' + name))
+ } catch (e) {
+ if (e.message.includes(`No provider for "reporter:${name}"`)) {
+ log.error(`Can not load reporter "${name}", it is not registered!\n Perhaps you are missing some plugin?`)
+ } else {
+ log.error(`Can not load "${name}"!\n ${e.stack}`)
+ }
+ emitter.emit('load_error', 'reporter', name)
+ return
+ }
+
+ const colorName = name + '_color'
+ if (!names.includes(colorName)) {
+ try {
+ log.debug(`Trying to load color-version of reporter: ${name} (${colorName})`)
+ reporters.push(injector.createChild([locals], ['reporter:' + colorName]).get('reporter:' + name))
+ } catch (e) {
+ log.debug('Couldn\'t load color-version.')
+ }
+ }
+ })
+
+ reporters.forEach((reporter) => emitter.bind(reporter))
+
+ return new MultiReporter(reporters)
+}
+
+createReporters.$inject = [
+ 'config.reporters',
+ 'config',
+ 'emitter',
+ 'injector'
+]
+
+exports.createReporters = createReporters
diff --git a/node_modules/karma/lib/reporters/base.js b/node_modules/karma/lib/reporters/base.js
new file mode 100644
index 0000000..6377e1f
--- /dev/null
+++ b/node_modules/karma/lib/reporters/base.js
@@ -0,0 +1,162 @@
+'use strict'
+
+const util = require('util')
+
+const constants = require('../constants')
+const helper = require('../helper')
+
+const BaseReporter = function (formatError, reportSlow, useColors, browserConsoleLogOptions, adapter) {
+ this.adapters = [adapter || process.stdout.write.bind(process.stdout)]
+
+ this.USE_COLORS = false
+ this.EXCLUSIVELY_USE_COLORS = undefined
+ this.LOG_SINGLE_BROWSER = '%s: %s\n'
+ this.LOG_MULTI_BROWSER = '%s %s: %s\n'
+
+ this.SPEC_FAILURE = '%s %s FAILED' + '\n'
+ this.SPEC_SLOW = '%s SLOW %s: %s\n'
+ this.ERROR = '%s ERROR\n'
+
+ this.FINISHED_ERROR = ' ERROR'
+ this.FINISHED_SUCCESS = ' SUCCESS'
+ this.FINISHED_DISCONNECTED = ' DISCONNECTED'
+
+ this.X_FAILED = ' (%d FAILED)'
+
+ this.TOTAL_SUCCESS = 'TOTAL: %d SUCCESS\n'
+ this.TOTAL_FAILED = 'TOTAL: %d FAILED, %d SUCCESS\n'
+
+ this.onRunStart = () => {
+ this._browsers = []
+ }
+
+ this.onBrowserStart = (browser) => {
+ this._browsers.push(browser)
+ }
+
+ this.renderBrowser = (browser) => {
+ const results = browser.lastResult
+ const totalExecuted = results.success + results.failed
+ let msg = `${browser}: Executed ${totalExecuted} of ${results.total}`
+
+ if (results.failed) {
+ msg += util.format(this.X_FAILED, results.failed)
+ }
+
+ if (results.skipped) {
+ msg += ` (skipped ${results.skipped})`
+ }
+
+ if (browser.isConnected) {
+ if (results.disconnected) {
+ msg += this.FINISHED_DISCONNECTED
+ } else if (results.error) {
+ msg += this.FINISHED_ERROR
+ } else if (!results.failed) {
+ msg += this.FINISHED_SUCCESS
+ }
+
+ msg += ` (${helper.formatTimeInterval(results.totalTime)} / ${helper.formatTimeInterval(results.netTime)})`
+ }
+
+ return msg
+ }
+
+ this.write = function () {
+ const msg = util.format.apply(null, Array.prototype.slice.call(arguments))
+ this.adapters.forEach((adapter) => {
+ if (!helper.isDefined(adapter.colors)) {
+ adapter.colors = useColors
+ }
+ if (!helper.isDefined(this.EXCLUSIVELY_USE_COLORS) || adapter.colors === this.EXCLUSIVELY_USE_COLORS) {
+ return adapter(msg)
+ }
+ })
+ }
+
+ this.writeCommonMsg = function () {
+ this.write.apply(this, arguments)
+ }
+
+ this.onBrowserError = (browser, error) => {
+ this.writeCommonMsg(util.format(this.ERROR, browser) + formatError(error, ' '))
+ }
+
+ this.onBrowserLog = (browser, log, type) => {
+ if (!browserConsoleLogOptions || !browserConsoleLogOptions.terminal) return
+ type = type.toUpperCase()
+ if (browserConsoleLogOptions.level) {
+ const logPriority = constants.LOG_PRIORITIES.indexOf(browserConsoleLogOptions.level.toUpperCase())
+ if (constants.LOG_PRIORITIES.indexOf(type) > logPriority) return
+ }
+ if (!helper.isString(log)) {
+ // TODO(vojta): change util to new syntax (config object)
+ log = util.inspect(log, false, undefined, this.USE_COLORS)
+ }
+ if (this._browsers && this._browsers.length === 1) {
+ this.writeCommonMsg(util.format(this.LOG_SINGLE_BROWSER, type, log))
+ } else {
+ this.writeCommonMsg(util.format(this.LOG_MULTI_BROWSER, browser, type, log))
+ }
+ }
+
+ this.onSpecComplete = (browser, result) => {
+ if (result.skipped) {
+ this.specSkipped(browser, result)
+ } else if (result.success) {
+ this.specSuccess(browser, result)
+ } else {
+ this.specFailure(browser, result)
+ }
+
+ if (reportSlow && result.time > reportSlow) {
+ const specName = result.suite.join(' ') + ' ' + result.description
+ const time = helper.formatTimeInterval(result.time)
+
+ this.writeCommonMsg(util.format(this.SPEC_SLOW, browser, time, specName))
+ }
+ }
+
+ this.specSuccess = () => {
+ }
+
+ this.specSkipped = () => {
+ }
+
+ this.specFailure = (browser, result) => {
+ const specName = result.suite.join(' ') + ' ' + result.description
+ let msg = util.format(this.SPEC_FAILURE, browser, specName)
+
+ result.log.forEach((log) => {
+ msg += formatError(log, '\t')
+ })
+
+ this.writeCommonMsg(msg)
+ }
+
+ this.onRunComplete = (browsers, results) => {
+ if (browsers.length >= 1 && !results.error && !results.disconnected) {
+ if (!results.failed) {
+ this.write(this.TOTAL_SUCCESS, results.success)
+ } else {
+ this.write(this.TOTAL_FAILED, results.failed, results.success)
+ }
+ }
+ }
+}
+
+BaseReporter.decoratorFactory = function (formatError, reportSlow, useColors, browserConsoleLogOptions) {
+ return function (self) {
+ BaseReporter.call(self, formatError, reportSlow, useColors, browserConsoleLogOptions)
+ }
+}
+
+BaseReporter.decoratorFactory.$inject = [
+ 'formatError',
+ 'config.reportSlowerThan',
+ 'config.colors',
+ 'config.browserConsoleLogOptions'
+]
+
+// PUBLISH
+module.exports = BaseReporter
diff --git a/node_modules/karma/lib/reporters/base_color.js b/node_modules/karma/lib/reporters/base_color.js
new file mode 100644
index 0000000..cfe572a
--- /dev/null
+++ b/node_modules/karma/lib/reporters/base_color.js
@@ -0,0 +1,24 @@
+require('colors')
+
+function BaseColorReporter () {
+ this.USE_COLORS = true
+
+ this.LOG_SINGLE_BROWSER = '%s: ' + '%s'.cyan + '\n'
+ this.LOG_MULTI_BROWSER = '%s %s: ' + '%s'.cyan + '\n'
+
+ this.SPEC_FAILURE = '%s %s FAILED'.red + '\n'
+ this.SPEC_SLOW = '%s SLOW %s: %s'.yellow + '\n'
+ this.ERROR = '%s ERROR'.red + '\n'
+
+ this.FINISHED_ERROR = ' ERROR'.red
+ this.FINISHED_SUCCESS = ' SUCCESS'.green
+ this.FINISHED_DISCONNECTED = ' DISCONNECTED'.red
+
+ this.X_FAILED = ' (%d FAILED)'.red
+
+ this.TOTAL_SUCCESS = 'TOTAL: %d SUCCESS'.green + '\n'
+ this.TOTAL_FAILED = 'TOTAL: %d FAILED, %d SUCCESS'.red + '\n'
+}
+
+// PUBLISH
+module.exports = BaseColorReporter
diff --git a/node_modules/karma/lib/reporters/dots.js b/node_modules/karma/lib/reporters/dots.js
new file mode 100644
index 0000000..2adc760
--- /dev/null
+++ b/node_modules/karma/lib/reporters/dots.js
@@ -0,0 +1,47 @@
+const BaseReporter = require('./base')
+
+function DotsReporter (formatError, reportSlow, useColors, browserConsoleLogOptions) {
+ BaseReporter.call(this, formatError, reportSlow, useColors, browserConsoleLogOptions)
+
+ const DOTS_WRAP = 80
+ this.EXCLUSIVELY_USE_COLORS = false
+ this.onRunStart = function () {
+ this._browsers = []
+ this._dotsCount = 0
+ }
+
+ this.onBrowserStart = function (browser) {
+ this._browsers.push(browser)
+ }
+
+ this.writeCommonMsg = function (msg) {
+ if (this._dotsCount) {
+ this._dotsCount = 0
+ msg = '\n' + msg
+ }
+
+ this.write(msg)
+ }
+
+ this.specSuccess = function () {
+ this._dotsCount = (this._dotsCount + 1) % DOTS_WRAP
+ this.write(this._dotsCount ? '.' : '.\n')
+ }
+
+ this.onBrowserComplete = function (browser) {
+ this.writeCommonMsg(this.renderBrowser(browser) + '\n')
+ }
+
+ this.onRunComplete = function (browsers, results) {
+ if (browsers.length > 1 && !results.disconnected && !results.error) {
+ if (!results.failed) {
+ this.write(this.TOTAL_SUCCESS, results.success)
+ } else {
+ this.write(this.TOTAL_FAILED, results.failed, results.success)
+ }
+ }
+ }
+}
+
+// PUBLISH
+module.exports = DotsReporter
diff --git a/node_modules/karma/lib/reporters/dots_color.js b/node_modules/karma/lib/reporters/dots_color.js
new file mode 100644
index 0000000..4a8924e
--- /dev/null
+++ b/node_modules/karma/lib/reporters/dots_color.js
@@ -0,0 +1,11 @@
+const DotsReporter = require('./dots')
+const BaseColorReporter = require('./base_color')
+
+function DotsColorReporter (formatError, reportSlow, useColors, browserConsoleLogOptions) {
+ DotsReporter.call(this, formatError, reportSlow, useColors, browserConsoleLogOptions)
+ BaseColorReporter.call(this)
+ this.EXCLUSIVELY_USE_COLORS = true
+}
+
+// PUBLISH
+module.exports = DotsColorReporter
diff --git a/node_modules/karma/lib/reporters/multi.js b/node_modules/karma/lib/reporters/multi.js
new file mode 100644
index 0000000..482b1a4
--- /dev/null
+++ b/node_modules/karma/lib/reporters/multi.js
@@ -0,0 +1,19 @@
+'use strict'
+
+const helper = require('../helper')
+
+class MultiReporter {
+ constructor (reporters) {
+ this._reporters = reporters
+ }
+
+ addAdapter (adapter) {
+ this._reporters.forEach((reporter) => reporter.adapters.push(adapter))
+ }
+
+ removeAdapter (adapter) {
+ this._reporters.forEach((reporter) => helper.arrayRemove(reporter.adapters, adapter))
+ }
+}
+
+module.exports = MultiReporter
diff --git a/node_modules/karma/lib/reporters/progress.js b/node_modules/karma/lib/reporters/progress.js
new file mode 100644
index 0000000..9e0f625
--- /dev/null
+++ b/node_modules/karma/lib/reporters/progress.js
@@ -0,0 +1,63 @@
+const BaseReporter = require('./base')
+
+function ProgressReporter (formatError, reportSlow, useColors, browserConsoleLogOptions) {
+ BaseReporter.call(this, formatError, reportSlow, useColors, browserConsoleLogOptions)
+
+ this.EXCLUSIVELY_USE_COLORS = false
+ this._browsers = []
+
+ this.writeCommonMsg = function (msg) {
+ this.write(this._remove() + msg + this._render())
+ }
+
+ this.specSuccess = function () {
+ this.write(this._refresh())
+ }
+
+ this.onBrowserComplete = function () {
+ this.write(this._refresh())
+ }
+
+ this.onRunStart = function () {
+ this._browsers = []
+ this._isRendered = false
+ }
+
+ this.onBrowserStart = function (browser) {
+ this._browsers.push(browser)
+
+ if (this._isRendered) {
+ this.write('\n')
+ }
+
+ this.write(this._refresh())
+ }
+
+ this._remove = function () {
+ if (!this._isRendered) {
+ return ''
+ }
+
+ let cmd = ''
+ this._browsers.forEach(function () {
+ cmd += '\x1B[1A' + '\x1B[2K'
+ })
+
+ this._isRendered = false
+
+ return cmd
+ }
+
+ this._render = function () {
+ this._isRendered = true
+
+ return this._browsers.map(this.renderBrowser).join('\n') + '\n'
+ }
+
+ this._refresh = function () {
+ return this._remove() + this._render()
+ }
+}
+
+// PUBLISH
+module.exports = ProgressReporter
diff --git a/node_modules/karma/lib/reporters/progress_color.js b/node_modules/karma/lib/reporters/progress_color.js
new file mode 100644
index 0000000..78a460f
--- /dev/null
+++ b/node_modules/karma/lib/reporters/progress_color.js
@@ -0,0 +1,11 @@
+const ProgressReporter = require('./progress')
+const BaseColorReporter = require('./base_color')
+
+function ProgressColorReporter (formatError, reportSlow, useColors, browserConsoleLogOptions) {
+ ProgressReporter.call(this, formatError, reportSlow, useColors, browserConsoleLogOptions)
+ BaseColorReporter.call(this)
+ this.EXCLUSIVELY_USE_COLORS = true
+}
+
+// PUBLISH
+module.exports = ProgressColorReporter
diff --git a/node_modules/karma/lib/runner.js b/node_modules/karma/lib/runner.js
new file mode 100644
index 0000000..3ff5ccc
--- /dev/null
+++ b/node_modules/karma/lib/runner.js
@@ -0,0 +1,82 @@
+'use strict'
+
+const http = require('http')
+
+const constant = require('./constants')
+const helper = require('./helper')
+const cfg = require('./config')
+const logger = require('./logger')
+const log = logger.create('runner')
+
+function parseExitCode (buffer, defaultExitCode, failOnEmptyTestSuite) {
+ const tailPos = buffer.length - Buffer.byteLength(constant.EXIT_CODE) - 2
+
+ if (tailPos < 0) {
+ return { exitCode: defaultExitCode, buffer }
+ }
+
+ const tail = buffer.slice(tailPos)
+ const tailStr = tail.toString()
+ if (tailStr.substr(0, tailStr.length - 2) === constant.EXIT_CODE) {
+ const emptyInt = parseInt(tailStr.substr(-2, 1), 10)
+ let exitCode = parseInt(tailStr.substr(-1), 10)
+ if (failOnEmptyTestSuite === false && emptyInt === 0) {
+ log.warn('Test suite was empty.')
+ exitCode = 0
+ }
+ return { exitCode, buffer: buffer.slice(0, tailPos) }
+ }
+
+ return { exitCode: defaultExitCode, buffer }
+}
+
+// TODO(vojta): read config file (port, host, urlRoot)
+function run (config, done) {
+ config = config || {}
+
+ logger.setupFromConfig(config)
+
+ done = helper.isFunction(done) ? done : process.exit
+ config = cfg.parseConfig(config.configFile, config)
+
+ let exitCode = 1
+ const options = {
+ hostname: config.hostname,
+ path: config.urlRoot + 'run',
+ port: config.port,
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ }
+
+ const request = http.request(options, function (response) {
+ response.on('data', function (buffer) {
+ const parsedResult = parseExitCode(buffer, exitCode, config.failOnEmptyTestSuite)
+ exitCode = parsedResult.exitCode
+ process.stdout.write(parsedResult.buffer)
+ })
+
+ response.on('end', () => done(exitCode))
+ })
+
+ request.on('error', function (e) {
+ if (e.code === 'ECONNREFUSED') {
+ log.error('There is no server listening on port %d', options.port)
+ done(1, e.code)
+ } else {
+ throw e
+ }
+ })
+
+ request.end(JSON.stringify({
+ args: config.clientArgs,
+ removedFiles: config.removedFiles,
+ changedFiles: config.changedFiles,
+ addedFiles: config.addedFiles,
+ refresh: config.refresh,
+ colors: config.colors
+ }))
+}
+
+exports.run = run
diff --git a/node_modules/karma/lib/server.js b/node_modules/karma/lib/server.js
new file mode 100644
index 0000000..c01e43d
--- /dev/null
+++ b/node_modules/karma/lib/server.js
@@ -0,0 +1,433 @@
+'use strict'
+
+const SocketIO = require('socket.io')
+const di = require('di')
+const util = require('util')
+const Promise = require('bluebird')
+const spawn = require('child_process').spawn
+const tmp = require('tmp')
+const fs = require('fs')
+const path = require('path')
+
+const BundleUtils = require('./utils/bundle-utils')
+const NetUtils = require('./utils/net-utils')
+const root = global || window || this
+
+const cfg = require('./config')
+const logger = require('./logger')
+const constant = require('./constants')
+const watcher = require('./watcher')
+const plugin = require('./plugin')
+
+const createServeFile = require('./web-server').createServeFile
+const createServeStaticFile = require('./web-server').createServeStaticFile
+const createFilesPromise = require('./web-server').createFilesPromise
+const createReadFilePromise = require('./web-server').createReadFilePromise
+const createWebServer = require('./web-server').createWebServer
+const preprocessor = require('./preprocessor')
+const Launcher = require('./launcher').Launcher
+const FileList = require('./file-list')
+const reporter = require('./reporter')
+const helper = require('./helper')
+const events = require('./events')
+const KarmaEventEmitter = events.EventEmitter
+const EventEmitter = require('events').EventEmitter
+const Executor = require('./executor')
+const Browser = require('./browser')
+const BrowserCollection = require('./browser_collection')
+const EmitterWrapper = require('./emitter_wrapper')
+const processWrapper = new EmitterWrapper(process)
+
+function createSocketIoServer (webServer, executor, config) {
+ const server = new SocketIO(webServer, {
+ // avoid destroying http upgrades from socket.io to get proxied websockets working
+ destroyUpgrade: false,
+ path: config.urlRoot + 'socket.io/',
+ transports: config.transports,
+ forceJSONP: config.forceJSONP
+ })
+
+ // hack to overcome circular dependency
+ executor.socketIoSockets = server.sockets
+
+ return server
+}
+
+class Server extends KarmaEventEmitter {
+ constructor (cliOptions, done) {
+ super()
+ logger.setupFromConfig(cliOptions)
+
+ this.log = logger.create('karma-server')
+
+ this.loadErrors = []
+
+ const config = cfg.parseConfig(cliOptions.configFile, cliOptions)
+
+ this.log.debug('Final config', util.inspect(config, false, /** depth **/ null))
+
+ let modules = [{
+ helper: ['value', helper],
+ logger: ['value', logger],
+ done: ['value', done || process.exit],
+ emitter: ['value', this],
+ server: ['value', this],
+ watcher: ['value', watcher],
+ launcher: ['type', Launcher],
+ config: ['value', config],
+ preprocess: ['factory', preprocessor.createPreprocessor],
+ fileList: ['factory', FileList.factory],
+ webServer: ['factory', createWebServer],
+ serveFile: ['factory', createServeFile],
+ serveStaticFile: ['factory', createServeStaticFile],
+ filesPromise: ['factory', createFilesPromise],
+ readFilePromise: ['factory', createReadFilePromise],
+ socketServer: ['factory', createSocketIoServer],
+ executor: ['factory', Executor.factory],
+ // TODO(vojta): remove
+ customFileHandlers: ['value', []],
+ // TODO(vojta): remove, once karma-dart does not rely on it
+ customScriptTypes: ['value', []],
+ reporter: ['factory', reporter.createReporters],
+ capturedBrowsers: ['factory', BrowserCollection.factory],
+ args: ['value', {}],
+ timer: ['value', {
+ setTimeout () {
+ return setTimeout.apply(root, arguments)
+ },
+ clearTimeout
+ }]
+ }]
+
+ this.on('load_error', (type, name) => {
+ this.log.debug(`Registered a load error of type ${type} with name ${name}`)
+ this.loadErrors.push([type, name])
+ })
+
+ modules = modules.concat(plugin.resolve(config.plugins, this))
+ this._injector = new di.Injector(modules)
+ }
+
+ dieOnError (error) {
+ this.log.error(error)
+ process.exitCode = 1
+ process.kill(process.pid, 'SIGINT')
+ }
+
+ async start () {
+ const config = this.get('config')
+ try {
+ await Promise.all([
+ BundleUtils.bundleResourceIfNotExist('client/main.js', 'static/karma.js'),
+ BundleUtils.bundleResourceIfNotExist('context/main.js', 'static/context.js')
+ ])
+ this._boundServer = await NetUtils.bindAvailablePort(config.port, config.listenAddress)
+ this._boundServer.on('connection', (socket) => {
+ // Attach an error handler to avoid UncaughtException errors.
+ socket.on('error', (err) => {
+ // Errors on this socket are retried, ignore them
+ this.log.debug('Ignoring error on webserver connection: ' + err)
+ })
+ })
+ config.port = this._boundServer.address().port
+ this._injector.invoke(this._start, this)
+ } catch (err) {
+ this.dieOnError(`Server start failed on port ${config.port}: ${err}`)
+ }
+ }
+
+ get (token) {
+ return this._injector.get(token)
+ }
+
+ refreshFiles () {
+ return this._fileList ? this._fileList.refresh() : Promise.resolve()
+ }
+
+ refreshFile (path) {
+ return this._fileList ? this._fileList.changeFile(path) : Promise.resolve()
+ }
+
+ _start (config, launcher, preprocess, fileList, capturedBrowsers, executor, done) {
+ if (config.detached) {
+ this._detach(config, done)
+ return
+ }
+
+ this._fileList = fileList
+
+ config.frameworks.forEach((framework) => this._injector.get('framework:' + framework))
+
+ const webServer = this._injector.get('webServer')
+ const socketServer = this._injector.get('socketServer')
+
+ const singleRunDoneBrowsers = Object.create(null)
+ const singleRunBrowsers = new BrowserCollection(new EventEmitter())
+ let singleRunBrowserNotCaptured = false
+
+ webServer.on('error', (err) => {
+ this.dieOnError(`Webserver fail ${err}`)
+ })
+
+ const afterPreprocess = () => {
+ if (config.autoWatch) {
+ const watcher = this.get('watcher')
+ this._injector.invoke(watcher)
+ }
+
+ webServer.listen(this._boundServer, () => {
+ this.log.info(`Karma v${constant.VERSION} server started at ${config.protocol}//${config.listenAddress}:${config.port}${config.urlRoot}`)
+
+ this.emit('listening', config.port)
+ if (config.browsers && config.browsers.length) {
+ this._injector.invoke(launcher.launch, launcher).forEach((browserLauncher) => {
+ singleRunDoneBrowsers[browserLauncher.id] = false
+ })
+ }
+ if (this.loadErrors.length > 0) {
+ this.dieOnError(new Error(`Found ${this.loadErrors.length} load error${this.loadErrors.length === 1 ? '' : 's'}`))
+ }
+ })
+ }
+
+ fileList.refresh().then(afterPreprocess, afterPreprocess)
+
+ this.on('browsers_change', () => socketServer.sockets.emit('info', capturedBrowsers.serialize()))
+
+ this.on('browser_register', (browser) => {
+ launcher.markCaptured(browser.id)
+
+ if (launcher.areAllCaptured()) {
+ this.emit('browsers_ready')
+
+ if (config.autoWatch) {
+ executor.schedule()
+ }
+ }
+ })
+
+ if (config.browserConsoleLogOptions && config.browserConsoleLogOptions.path) {
+ const configLevel = config.browserConsoleLogOptions.level || 'debug'
+ const configFormat = config.browserConsoleLogOptions.format || '%b %T: %m'
+ const configPath = config.browserConsoleLogOptions.path
+ this.log.info(`Writing browser console to file: ${configPath}`)
+ const browserLogFile = fs.openSync(configPath, 'w+')
+ const levels = ['log', 'error', 'warn', 'info', 'debug']
+ this.on('browser_log', function (browser, message, level) {
+ if (levels.indexOf(level.toLowerCase()) > levels.indexOf(configLevel)) {
+ return
+ }
+ if (!helper.isString(message)) {
+ message = util.inspect(message, { showHidden: false, colors: false })
+ }
+ const logMap = { '%m': message, '%t': level.toLowerCase(), '%T': level.toUpperCase(), '%b': browser }
+ const logString = configFormat.replace(/%[mtTb]/g, (m) => logMap[m])
+ this.log.debug(`Writing browser console line: ${logString}`)
+ fs.writeSync(browserLogFile, logString + '\n')
+ })
+ }
+
+ socketServer.sockets.on('connection', (socket) => {
+ this.log.debug(`A browser has connected on socket ${socket.id}`)
+
+ const replySocketEvents = events.bufferEvents(socket, ['start', 'info', 'karma_error', 'result', 'complete'])
+
+ socket.on('complete', (data, ack) => ack())
+
+ socket.on('error', (err) => {
+ this.log.debug('karma server socket error: ' + err)
+ })
+
+ socket.on('register', (info) => {
+ let newBrowser = info.id ? (capturedBrowsers.getById(info.id) || singleRunBrowsers.getById(info.id)) : null
+
+ if (newBrowser) {
+ // By default if a browser disconnects while still executing, we assume that the test
+ // execution still continues because just the socket connection has been terminated. Now
+ // since we know whether this is just a socket reconnect or full client reconnect, we
+ // need to update the browser state accordingly. This is necessary because in case a
+ // browser crashed and has been restarted, we need to start with a fresh execution.
+ if (!info.isSocketReconnect) {
+ newBrowser.setState(Browser.STATE_DISCONNECTED)
+ }
+
+ newBrowser.reconnect(socket)
+
+ // Since not every reconnected browser is able to continue with its previous execution,
+ // we need to start a new execution in case a browser has restarted and is now idling.
+ if (newBrowser.state === Browser.STATE_CONNECTED && config.singleRun) {
+ newBrowser.execute(config.client)
+ }
+ } else {
+ newBrowser = this._injector.createChild([{
+ id: ['value', info.id || null],
+ fullName: ['value', (helper.isDefined(info.displayName) ? info.displayName : info.name)],
+ socket: ['value', socket]
+ }]).invoke(Browser.factory)
+
+ newBrowser.init()
+
+ if (config.singleRun) {
+ newBrowser.execute(config.client)
+ singleRunBrowsers.add(newBrowser)
+ }
+ }
+
+ replySocketEvents()
+ })
+ })
+
+ const emitRunCompleteIfAllBrowsersDone = () => {
+ if (Object.keys(singleRunDoneBrowsers).every((key) => singleRunDoneBrowsers[key])) {
+ this.emit('run_complete', singleRunBrowsers, singleRunBrowsers.getResults(singleRunBrowserNotCaptured, config.failOnEmptyTestSuite, config.failOnFailingTestSuite))
+ }
+ }
+
+ this.on('browser_complete', (completedBrowser) => {
+ if (completedBrowser.lastResult.disconnected && completedBrowser.disconnectsCount <= config.browserDisconnectTolerance) {
+ this.log.info(`Restarting ${completedBrowser.name} (${completedBrowser.disconnectsCount} of ${config.browserDisconnectTolerance} attempts)`)
+
+ if (!launcher.restart(completedBrowser.id)) {
+ this.emit('browser_restart_failure', completedBrowser)
+ }
+ } else {
+ this.emit('browser_complete_with_no_more_retries', completedBrowser)
+ }
+ })
+
+ this.on('stop', function (done) {
+ this.log.debug('Received stop event, exiting.')
+ return disconnectBrowsers().then(done)
+ })
+
+ if (config.singleRun) {
+ this.on('browser_restart_failure', (completedBrowser) => {
+ singleRunDoneBrowsers[completedBrowser.id] = true
+ emitRunCompleteIfAllBrowsersDone()
+ })
+ this.on('browser_complete_with_no_more_retries', function (completedBrowser) {
+ singleRunDoneBrowsers[completedBrowser.id] = true
+
+ if (launcher.kill(completedBrowser.id)) {
+ // workaround to supress "disconnect" warning
+ completedBrowser.state = Browser.STATE_DISCONNECTED
+ }
+
+ emitRunCompleteIfAllBrowsersDone()
+ })
+
+ this.on('browser_process_failure', (browserLauncher) => {
+ singleRunDoneBrowsers[browserLauncher.id] = true
+ singleRunBrowserNotCaptured = true
+
+ emitRunCompleteIfAllBrowsersDone()
+ })
+
+ this.on('run_complete', function (browsers, results) {
+ this.log.debug('Run complete, exiting.')
+ disconnectBrowsers(results.exitCode)
+ })
+
+ this.emit('run_start', singleRunBrowsers)
+ }
+
+ if (config.autoWatch) {
+ this.on('file_list_modified', () => {
+ this.log.debug('List of files has changed, trying to execute')
+ if (config.restartOnFileChange) {
+ socketServer.sockets.emit('stop')
+ }
+ executor.schedule()
+ })
+ }
+
+ const webServerCloseTimeout = 3000
+ const disconnectBrowsers = (code) => {
+ const sockets = socketServer.sockets.sockets
+
+ Object.keys(sockets).forEach((id) => {
+ const socket = sockets[id]
+ socket.removeAllListeners('disconnect')
+ if (!socket.disconnected) {
+ process.nextTick(socket.disconnect.bind(socket))
+ }
+ })
+
+ let removeAllListenersDone = false
+ const removeAllListeners = () => {
+ if (removeAllListenersDone) {
+ return
+ }
+ removeAllListenersDone = true
+ webServer.removeAllListeners()
+ processWrapper.removeAllListeners()
+ done(code || 0)
+ }
+
+ return this.emitAsync('exit').then(() => {
+ return new Promise((resolve, reject) => {
+ socketServer.sockets.removeAllListeners()
+ socketServer.close()
+ const closeTimeout = setTimeout(removeAllListeners, webServerCloseTimeout)
+
+ webServer.close(() => {
+ clearTimeout(closeTimeout)
+ removeAllListeners()
+ resolve()
+ })
+ })
+ })
+ }
+
+ processWrapper.on('SIGINT', () => disconnectBrowsers(process.exitCode))
+ processWrapper.on('SIGTERM', disconnectBrowsers)
+
+ const reportError = (error) => {
+ process.emit('infrastructure_error', error)
+ disconnectBrowsers(1)
+ }
+
+ processWrapper.on('unhandledRejection', (error) => {
+ this.log.error('UnhandledRejection')
+ reportError(error)
+ })
+
+ processWrapper.on('uncaughtException', (error) => {
+ this.log.error('UncaughtException')
+ reportError(error)
+ })
+ }
+
+ _detach (config, done) {
+ const tmpFile = tmp.fileSync({ keep: true })
+ this.log.info('Starting karma detached')
+ this.log.info('Run "karma stop" to stop the server.')
+ this.log.debug(`Writing config to tmp-file ${tmpFile.name}`)
+ config.detached = false
+ try {
+ fs.writeFileSync(tmpFile.name, JSON.stringify(config), 'utf8')
+ } catch (e) {
+ this.log.error("Couldn't write temporary configuration file")
+ done(1)
+ return
+ }
+ const child = spawn(process.argv[0], [path.resolve(__dirname, '../lib/detached.js'), tmpFile.name], {
+ detached: true,
+ stdio: 'ignore'
+ })
+ child.unref()
+ }
+
+ stop () {
+ return this.emitAsync('stop')
+ }
+
+ static start (cliOptions, done) {
+ console.warn('Deprecated static method to be removed in v3.0')
+ return new Server(cliOptions, done).start()
+ }
+}
+
+Server.prototype._start.$inject = ['config', 'launcher', 'preprocess', 'fileList', 'capturedBrowsers', 'executor', 'done']
+
+module.exports = Server
diff --git a/node_modules/karma/lib/stopper.js b/node_modules/karma/lib/stopper.js
new file mode 100644
index 0000000..5e87be5
--- /dev/null
+++ b/node_modules/karma/lib/stopper.js
@@ -0,0 +1,39 @@
+const http = require('http')
+const cfg = require('./config')
+const logger = require('./logger')
+const helper = require('./helper')
+
+exports.stop = function (config, done) {
+ config = config || {}
+ logger.setupFromConfig(config)
+ const log = logger.create('stopper')
+ done = helper.isFunction(done) ? done : process.exit
+ config = cfg.parseConfig(config.configFile, config)
+
+ const request = http.request({
+ hostname: config.hostname,
+ path: config.urlRoot + 'stop',
+ port: config.port,
+ method: 'GET'
+ })
+
+ request.on('response', function (response) {
+ if (response.statusCode === 200) {
+ log.info('Server stopped.')
+ done(0)
+ } else {
+ log.error(`Server returned status code: ${response.statusCode}`)
+ done(1)
+ }
+ })
+
+ request.on('error', function (e) {
+ if (e.code === 'ECONNREFUSED') {
+ log.error(`There is no server listening on port ${config.port}`)
+ done(1, e.code)
+ } else {
+ throw e
+ }
+ })
+ request.end()
+}
diff --git a/node_modules/karma/lib/temp_dir.js b/node_modules/karma/lib/temp_dir.js
new file mode 100644
index 0000000..225059b
--- /dev/null
+++ b/node_modules/karma/lib/temp_dir.js
@@ -0,0 +1,31 @@
+'use strict'
+
+const path = require('path')
+const fs = require('graceful-fs')
+const rimraf = require('rimraf')
+const log = require('./logger').create('temp-dir')
+
+const TEMP_DIR = require('os').tmpdir()
+
+module.exports = {
+ getPath (suffix) {
+ return path.normalize(TEMP_DIR + suffix)
+ },
+
+ create (path) {
+ log.debug(`Creating temp dir at ${path}`)
+
+ try {
+ fs.mkdirSync(path)
+ } catch (e) {
+ log.warn(`Failed to create a temp dir at ${path}`)
+ }
+
+ return path
+ },
+
+ remove (path, done) {
+ log.debug(`Cleaning temp dir ${path}`)
+ rimraf(path, done)
+ }
+}
diff --git a/node_modules/karma/lib/url.js b/node_modules/karma/lib/url.js
new file mode 100644
index 0000000..908982b
--- /dev/null
+++ b/node_modules/karma/lib/url.js
@@ -0,0 +1,18 @@
+'use strict'
+
+/**
+ * Url object used for tracking files in `file-list.js`.
+ */
+class Url {
+ constructor (path, type) {
+ this.path = path
+ this.type = type
+ this.isUrl = true
+ }
+
+ toString () {
+ return this.path
+ }
+}
+
+module.exports = Url
diff --git a/node_modules/karma/lib/utils/bundle-utils.js b/node_modules/karma/lib/utils/bundle-utils.js
new file mode 100644
index 0000000..1438159
--- /dev/null
+++ b/node_modules/karma/lib/utils/bundle-utils.js
@@ -0,0 +1,27 @@
+'use strict'
+const PathUtils = require('./path-utils')
+const fs = require('fs')
+const Promise = require('bluebird')
+
+const BundleUtils = {
+ bundleResource (inPath, outPath) {
+ return new Promise((resolve, reject) => {
+ require('browserify')(inPath)
+ .bundle()
+ .pipe(fs.createWriteStream(outPath))
+ .once('finish', () => resolve())
+ .once('error', (e) => reject(e))
+ })
+ },
+
+ bundleResourceIfNotExist (inPath, outPath) {
+ inPath = PathUtils.calculateAbsolutePath(inPath)
+ outPath = PathUtils.calculateAbsolutePath(outPath)
+
+ return fs.existsSync(outPath)
+ ? Promise.resolve()
+ : BundleUtils.bundleResource(inPath, outPath)
+ }
+}
+
+module.exports = BundleUtils
diff --git a/node_modules/karma/lib/utils/crypto-utils.js b/node_modules/karma/lib/utils/crypto-utils.js
new file mode 100644
index 0000000..9dc9a07
--- /dev/null
+++ b/node_modules/karma/lib/utils/crypto-utils.js
@@ -0,0 +1,14 @@
+'use strict'
+
+const crypto = require('crypto')
+
+const CryptoUtils = {
+ sha1 (data) {
+ return crypto
+ .createHash('sha1')
+ .update(data)
+ .digest('hex')
+ }
+}
+
+module.exports = CryptoUtils
diff --git a/node_modules/karma/lib/utils/file-utils.js b/node_modules/karma/lib/utils/file-utils.js
new file mode 100644
index 0000000..423905d
--- /dev/null
+++ b/node_modules/karma/lib/utils/file-utils.js
@@ -0,0 +1,25 @@
+'use strict'
+
+const fs = require('graceful-fs')
+
+const FileUtils = {
+ readFile (path) {
+ return fs.readFileSync(path).toString()
+ },
+
+ saveFile (path, content) {
+ fs.writeFileSync(path, content)
+ },
+
+ copyFile (src, dest) {
+ FileUtils.saveFile(dest, FileUtils.readFile(src))
+ },
+
+ removeFileIfExists (src) {
+ if (fs.existsSync(src)) {
+ fs.unlinkSync(src)
+ }
+ }
+}
+
+module.exports = FileUtils
diff --git a/node_modules/karma/lib/utils/json-utils.js b/node_modules/karma/lib/utils/json-utils.js
new file mode 100644
index 0000000..3002bf3
--- /dev/null
+++ b/node_modules/karma/lib/utils/json-utils.js
@@ -0,0 +1,10 @@
+
+const { stringify } = require('flatted/cjs')
+
+const JsonUtils = {
+ stringify (obj) {
+ return stringify(obj)
+ }
+}
+
+module.exports = JsonUtils
diff --git a/node_modules/karma/lib/utils/net-utils.js b/node_modules/karma/lib/utils/net-utils.js
new file mode 100644
index 0000000..f6c371f
--- /dev/null
+++ b/node_modules/karma/lib/utils/net-utils.js
@@ -0,0 +1,28 @@
+'use strict'
+
+const Promise = require('bluebird')
+const net = require('net')
+
+const NetUtils = {
+ bindAvailablePort (port, listenAddress) {
+ return new Promise((resolve, reject) => {
+ const server = net.createServer()
+
+ server
+ .on('error', (err) => {
+ server.close()
+ if (err.code === 'EADDRINUSE' || err.code === 'EACCES') {
+ server.listen(++port, listenAddress)
+ } else {
+ reject(new Error(`Failed to bind ${port}: ` + (err.stack || err)))
+ }
+ })
+ .on('listening', () => {
+ resolve(server)
+ })
+ .listen(port, listenAddress)
+ })
+ }
+}
+
+module.exports = NetUtils
diff --git a/node_modules/karma/lib/utils/path-utils.js b/node_modules/karma/lib/utils/path-utils.js
new file mode 100644
index 0000000..5fd062a
--- /dev/null
+++ b/node_modules/karma/lib/utils/path-utils.js
@@ -0,0 +1,16 @@
+'use strict'
+
+const path = require('path')
+
+const PathUtils = {
+ formatPathMapping (path, line, column) {
+ return path + (line ? `:${line}` : '') + (column ? `:${column}` : '')
+ },
+
+ calculateAbsolutePath (karmaRelativePath) {
+ return path.join(__dirname, '..', '..', karmaRelativePath)
+ }
+
+}
+
+module.exports = PathUtils
diff --git a/node_modules/karma/lib/utils/pattern-utils.js b/node_modules/karma/lib/utils/pattern-utils.js
new file mode 100644
index 0000000..5921473
--- /dev/null
+++ b/node_modules/karma/lib/utils/pattern-utils.js
@@ -0,0 +1,14 @@
+'use strict'
+
+const path = require('path')
+
+const PatternUtils = {
+ getBaseDir (pattern) {
+ return pattern
+ .replace(/[/\\][^/\\]*\*.*$/, '') // remove parts with *
+ .replace(/[/\\][^/\\]*[!+]\(.*$/, '') // remove parts with !(...) and +(...)
+ .replace(/[/\\][^/\\]*\)\?.*$/, '') || path.sep // remove parts with (...)?
+ }
+}
+
+module.exports = PatternUtils
diff --git a/node_modules/karma/lib/watcher.js b/node_modules/karma/lib/watcher.js
new file mode 100644
index 0000000..7a16667
--- /dev/null
+++ b/node_modules/karma/lib/watcher.js
@@ -0,0 +1,85 @@
+'use strict'
+
+const mm = require('minimatch')
+const braces = require('braces')
+const PatternUtils = require('./utils/pattern-utils')
+
+const helper = require('./helper')
+const log = require('./logger').create('watcher')
+
+const DIR_SEP = require('path').sep
+
+function watchPatterns (patterns, watcher) {
+ let expandedPatterns = []
+ patterns.map((pattern) => {
+ // expand ['a/{b,c}'] to ['a/b', 'a/c']
+ expandedPatterns = expandedPatterns.concat(braces.expand(pattern, { keepEscaping: true }))
+ })
+ expandedPatterns
+ .map(PatternUtils.getBaseDir)
+ .filter((path, index, paths) => paths.indexOf(path) === index) // filter unique values
+ .forEach((path, index, paths) => {
+ if (!paths.some((p) => path.startsWith(p + DIR_SEP))) {
+ watcher.add(path)
+ log.debug(`Watching "${path}"`)
+ }
+ })
+}
+
+function checkAnyPathMatch (patterns, path) {
+ return patterns.some((pattern) => mm(path, pattern, { dot: true }))
+}
+
+function createIgnore (patterns, excludes) {
+ return function (path, stat) {
+ if (stat && !stat.isDirectory()) {
+ return !checkAnyPathMatch(patterns, path) || checkAnyPathMatch(excludes, path)
+ } else {
+ return false
+ }
+ }
+}
+
+function getWatchedPatterns (patterns) {
+ return patterns
+ .filter((pattern) => pattern.watched)
+ .map((pattern) => pattern.pattern)
+}
+
+function watch (patterns, excludes, fileList, usePolling, emitter) {
+ const watchedPatterns = getWatchedPatterns(patterns)
+ // Lazy-load 'chokidar' to make the dependency optional. This is desired when
+ // third-party watchers are in use.
+ const chokidar = require('chokidar')
+ const watcher = new chokidar.FSWatcher({
+ usePolling: usePolling,
+ ignorePermissionErrors: true,
+ ignoreInitial: true,
+ ignored: createIgnore(watchedPatterns, excludes)
+ })
+
+ watchPatterns(watchedPatterns, watcher)
+
+ watcher
+ .on('add', (path) => fileList.addFile(helper.normalizeWinPath(path)))
+ .on('change', (path) => fileList.changeFile(helper.normalizeWinPath(path)))
+ .on('unlink', (path) => fileList.removeFile(helper.normalizeWinPath(path)))
+ .on('error', log.debug.bind(log))
+
+ emitter.on('exit', (done) => {
+ watcher.close()
+ done()
+ })
+
+ return watcher
+}
+
+watch.$inject = [
+ 'config.files',
+ 'config.exclude',
+ 'fileList',
+ 'config.usePolling',
+ 'emitter'
+]
+
+module.exports = watch
diff --git a/node_modules/karma/lib/web-server.js b/node_modules/karma/lib/web-server.js
new file mode 100644
index 0000000..6bf76eb
--- /dev/null
+++ b/node_modules/karma/lib/web-server.js
@@ -0,0 +1,129 @@
+'use strict'
+
+const fs = require('graceful-fs')
+const http = require('http')
+const https = require('https')
+const path = require('path')
+const connect = require('connect')
+const Promise = require('bluebird')
+
+const common = require('./middleware/common')
+const runnerMiddleware = require('./middleware/runner')
+const stopperMiddleware = require('./middleware/stopper')
+const karmaMiddleware = require('./middleware/karma')
+const sourceFilesMiddleware = require('./middleware/source_files')
+const proxyMiddleware = require('./middleware/proxy')
+
+const log = require('./logger').create('web-server')
+
+function createCustomHandler (customFileHandlers, config) {
+ return function (request, response, next) {
+ const handler = customFileHandlers.find((handler) => handler.urlRegex.test(request.url))
+ return handler
+ ? handler.handler(request, response, 'fake/static', 'fake/adapter', config.basePath, 'fake/root')
+ : next()
+ }
+}
+
+createCustomHandler.$inject = ['customFileHandlers', 'config']
+
+function createFilesPromise (emitter, fileList) {
+ const filesPromise = new common.PromiseContainer()
+
+ // Set an empty list of files to avoid race issues with
+ // file_list_modified not having been emitted yet
+ filesPromise.set(Promise.resolve(fileList.files))
+
+ emitter.on('file_list_modified', (files) => filesPromise.set(Promise.resolve(files)))
+
+ return filesPromise
+}
+
+// Bind the filesystem into the injectable file reader function
+function createReadFilePromise () {
+ return (filepath) => {
+ return new Promise((resolve, reject) => {
+ fs.readFile(filepath, 'utf8', function (error, data) {
+ if (error) {
+ reject(new Error(`Cannot read ${filepath}, got: ${error}`))
+ } else if (!data) {
+ reject(new Error(`No content at ${filepath}`))
+ } else {
+ resolve(data.split('\n'))
+ }
+ })
+ })
+ }
+}
+
+createReadFilePromise.$inject = []
+
+function createServeStaticFile (config) {
+ return common.createServeFile(fs, path.normalize(path.join(__dirname, '/../static')), config)
+}
+createServeStaticFile.$inject = ['config']
+
+function createServeFile (config) {
+ return common.createServeFile(fs, null, config)
+}
+createServeFile.$inject = ['config']
+
+function createWebServer (injector, config) {
+ common.initializeMimeTypes(config)
+
+ const proxyMiddlewareInstance = injector.invoke(proxyMiddleware.create)
+
+ log.debug('Instantiating middleware')
+ const handler = connect()
+
+ if (config.beforeMiddleware) {
+ config.beforeMiddleware.forEach((middleware) => handler.use(injector.get('middleware:' + middleware)))
+ }
+
+ handler.use(injector.invoke(runnerMiddleware.create))
+ handler.use(injector.invoke(stopperMiddleware.create))
+ handler.use(injector.invoke(karmaMiddleware.create))
+ handler.use(injector.invoke(sourceFilesMiddleware.create))
+ // TODO(vojta): extract the proxy into a plugin
+ handler.use(proxyMiddlewareInstance)
+ // TODO(vojta): remove, this is only here because of karma-dart
+ // we need a better way of custom handlers
+ handler.use(injector.invoke(createCustomHandler))
+
+ if (config.middleware) {
+ config.middleware.forEach((middleware) => handler.use(injector.get('middleware:' + middleware)))
+ }
+
+ handler.use((request, response) => common.serve404(response, request.url))
+
+ let serverClass = http
+ const serverArguments = [handler]
+
+ if (config.protocol === 'https:') {
+ serverClass = https
+ serverArguments.unshift(config.httpsServerOptions || {})
+ }
+
+ if (config.httpModule) {
+ serverClass = config.httpModule
+ }
+
+ const server = serverClass.createServer.apply(null, serverArguments)
+
+ server.on('upgrade', function (req, socket, head) {
+ log.debug(`upgrade ${req.url}`)
+ proxyMiddlewareInstance.upgrade(req, socket, head)
+ })
+
+ return server
+}
+
+createWebServer.$inject = ['injector', 'config']
+
+module.exports = {
+ createWebServer,
+ createServeFile,
+ createServeStaticFile,
+ createFilesPromise,
+ createReadFilePromise
+}
diff --git a/node_modules/karma/package.json b/node_modules/karma/package.json
new file mode 100644
index 0000000..9b2cdad
--- /dev/null
+++ b/node_modules/karma/package.json
@@ -0,0 +1,1601 @@
+{
+ "_from": "karma",
+ "_id": "[email protected]",
+ "_inBundle": false,
+ "_integrity": "sha512-fmCuxN1rwJxTdZfOXK5LjlmS4Ana/OvzNMpkyLL/TLE8hmgSkpVpMYQ7RTVa8TNKRVQDZNl5W1oF5cfKfgIMlA==",
+ "_location": "/karma",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "tag",
+ "registry": true,
+ "raw": "karma",
+ "name": "karma",
+ "escapedName": "karma",
+ "rawSpec": "",
+ "saveSpec": null,
+ "fetchSpec": "latest"
+ },
+ "_requiredBy": [
+ "#USER",
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/karma/-/karma-4.2.0.tgz",
+ "_shasum": "27e88b310cde090d016980ff5444e3a239196fca",
+ "_spec": "karma",
+ "author": {
+ "name": "Vojta Jína",
+ "email": "[email protected]"
+ },
+ "bin": {
+ "karma": "./bin/karma"
+ },
+ "bugs": {
+ "url": "https://github.com/karma-runner/karma/issues"
+ },
+ "bundleDependencies": false,
+ "contributors": [
+ {
+ "name": "Friedel Ziegelmayer",
+ "email": "[email protected]"
+ },
+ {
+ "name": "dignifiedquire",
+ "email": "[email protected]"
+ },
+ {
+ "name": "johnjbarton",
+ "email": "[email protected]"
+ },
+ {
+ "name": "greenkeeperio-bot",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Karma Bot",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Maksim Ryzhikov",
+ "email": "[email protected]"
+ },
+ {
+ "name": "ukasz Usarz",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Yaroslav Admin",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Christian Budde Christensen",
+ "email": "[email protected]"
+ },
+ {
+ "name": "taichi",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Wesley Cho",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Liam Newman",
+ "email": "[email protected]"
+ },
+ {
+ "name": "lukasz",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Michał Gołębiowski-Owczarek",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Todd Wolfson",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Mark Trostler",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Ciro Nunes",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Shyam Seshadri",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Tim Cuthbertson",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Christian Budde Christensen",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Pawel Kozlowski",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Robo",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Mourad",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Daniel Compton",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Mark Ethan Trostler",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Kim Joar Bekkelund",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Brian Di Palma",
+ "email": "[email protected]"
+ },
+ {
+ "name": "joshjb84",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Nick Malaguti",
+ "email": "[email protected]"
+ },
+ {
+ "name": "vivganes",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Georgii Dolzhykov",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Marcello Nuccio",
+ "email": "[email protected]"
+ },
+ {
+ "name": "David Souther",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Pieter Mees",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Aymeric Beaumet",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Ilya Volodin",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Jeff Jewiss",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Iristyle",
+ "email": "Iristyle@github"
+ },
+ {
+ "name": "Jérémy Judéaux",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Andrew Martin",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Chris Casola",
+ "email": "[email protected]"
+ },
+ {
+ "name": "pavelgj",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Jake Champion",
+ "email": "[email protected]"
+ },
+ {
+ "name": "sylvain-hamel",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Brian Ford",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Chris Hunt",
+ "email": "[email protected]"
+ },
+ {
+ "name": "ywong",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Daniel Aleksandersen",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Filipe Guerra",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Robert Stein",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Robin Liang",
+ "email": "[email protected]"
+ },
+ {
+ "name": "ngiebel",
+ "email": "[email protected]"
+ },
+ {
+ "name": "rdodev",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Matt Lewis",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Ruben Bridgewater",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Réda Housni Alaoui",
+ "email": "[email protected]"
+ },
+ {
+ "name": "David Pärsson",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Sammy Jelin",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Jonas Pommerening",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Aseem Bansal",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Sergei Startsev",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Sergey Simonchik",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Sergey Simonchik",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Jonathan Freeman",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Shane Russell",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Josh",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Greenkeeper",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Andrew Morris",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Cyrus Chan",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Stefan Dragnev",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Steve Mao",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Steve Mao",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Steve Van Opstal",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Sylvain Hamel",
+ "email": "[email protected]"
+ },
+ {
+ "name": "KJ Tsanaktsidis",
+ "email": "[email protected]"
+ },
+ {
+ "name": "ChangZhuo Chen",
+ "email": "[email protected]",
+ "url": "陳昌倬"
+ },
+ {
+ "name": "Hugues Malphettes",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Terry",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Igor Minar",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Thomas Parisot",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Igor Minar",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Keen Yee Liau",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Tom Erik Støwer",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Kelly Jensen",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Kevin Huang",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Parashuram",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Kevin WENNER",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Vivek Ganesan",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Vladimir Starkov",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Pat Tullmann",
+ "email": "[email protected]"
+ },
+ {
+ "name": "PatrickJS",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Levi Thomason",
+ "email": "[email protected]"
+ },
+ {
+ "name": "James Ford",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Luke Page",
+ "email": "[email protected]"
+ },
+ {
+ "name": "comdiv",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Bryan Smith",
+ "email": "[email protected]"
+ },
+ {
+ "name": "James Talmage",
+ "email": "[email protected]"
+ },
+ {
+ "name": "DarthCharles",
+ "email": "[email protected]"
+ },
+ {
+ "name": "David Herges",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Ethan J. Brown",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Richard Harrington",
+ "email": "[email protected]"
+ },
+ {
+ "name": "karmarunnerbot",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Ezra Brooks",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Roarke Gaskill",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Bulat Shakirzyanov",
+ "email": "[email protected]"
+ },
+ {
+ "name": "KahWee Teng",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Karl Lindmark",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Karol Fabjańczuk",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Karolis Narkevicius",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Keats",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Keith Cirkel",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Kent C. Dodds",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Kevin Ortman",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Kostiantyn Kahanskyi",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Lenny Urbanowski",
+ "email": "[email protected]"
+ },
+ {
+ "name": "LoveIsGrief",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Lucas Theisen",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Lukasz Zatorski",
+ "email": "[email protected]"
+ },
+ {
+ "name": "M1xA",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Magnus Markling",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Manfred Stock",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Marko Anastasov",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Martin Geisler",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Martin Jul",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Martin Lemanski",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Martin Probst",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Matias Niemelä",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Matthew Amato",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Matthew Cale",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Matthew Machuga",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Matthias Oßwald",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Matti Paksula",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Mattijs Kneppers",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Merott Movahedi",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Merrick Christensen",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Michał Siwek",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Milan Aleksic",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Milana Stojadinov",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Mohamed Eltuhamy",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Nathan Cornelius",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Nathan Hunzaker",
+ "email": "[email protected]"
+ },
+ {
+ "name": "NeverwinterMoon",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Nick Carter",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Nick McCurdy",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Nick Payne",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Nick Williams",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Nico Jansen",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Nicolas Artman",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Nicolas Ferrero",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Nir Moav",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Nish",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Nuno Job",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Oleg Gomozov",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Olivier Yiptong",
+ "email": "[email protected]"
+ },
+ {
+ "name": "OniOni",
+ "email": "[email protected]"
+ },
+ {
+ "name": "OpenShift guest",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Outsider",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Parashuram",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Pascal Hartig",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Patrick Lussan",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Patrick Neschkudla",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Patrik Henningsson",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Paul Gschwendtner",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Paweł Kapalla",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Pedro Araujo",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Pete Bacon Darwin",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Pete Swan",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Peter Halliday",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Peter McAlpine",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Peter Newman",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Peter Yates",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Philip Harrison",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Pierre Vanduynslager",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Piper Chester",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Rafal Lindemann",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Remy Sharp",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Rich Kuzsma",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Richard Herrera",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Roarke Gaskill",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Rob Cherry",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Rob Dodson",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Rogério Vicente",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Ruben Bridgewater",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Rémi",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Sahat Yalkabov",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Sam Rawlins",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Sam Rawlins",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Samuel Marks",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Saugat Acharya",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Schmulik Raskin",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Sergey Kruk",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Seth Rhodes",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Shahar Mor",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Shane Osbourne",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Sho Ikeda",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Sibiraj",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Simen Bekkhus",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Simon Warta",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Simone Gentili",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Slava Kotiya",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Sophie Cooper",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Stephen Hazleton",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Stuart Memo",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Taylor Buley",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Taylor Hakes",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Terin Stock",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Thai Pangsakulyanont @ Taskworld",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Thijs Triemstra",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Thomas Parisot",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Tim Olshansky",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Timo Tijhof",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Tom MacWright",
+ "email": "[email protected]"
+ },
+ {
+ "name": "TrevDev",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Tyler Akins",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Vasily Ostanin",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Veronica Lynn",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Vincent Taverna",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Vitor Buzinaro",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Volune",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Vova Bilonenko",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Wizek",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Yaniv Efraim",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Yi Wang",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Yvonne Yip",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Zhang zhengzheng",
+ "email": "[email protected]"
+ },
+ {
+ "name": "adamnation",
+ "email": "[email protected]"
+ },
+ {
+ "name": "ahaurw01",
+ "email": "[email protected]"
+ },
+ {
+ "name": "ashaffer",
+ "email": "[email protected]"
+ },
+ {
+ "name": "cexbrayat",
+ "email": "[email protected]"
+ },
+ {
+ "name": "coderaiser",
+ "email": "[email protected]"
+ },
+ {
+ "name": "compact",
+ "email": "[email protected]"
+ },
+ {
+ "name": "coridrew",
+ "email": "[email protected]"
+ },
+ {
+ "name": "cy6erskunk",
+ "email": "[email protected]"
+ },
+ {
+ "name": "david-garcia-nete",
+ "email": "[email protected]"
+ },
+ {
+ "name": "deepak1556",
+ "email": "[email protected]"
+ },
+ {
+ "name": "dorey",
+ "email": "[email protected]"
+ },
+ {
+ "name": "grifball",
+ "email": "[email protected]"
+ },
+ {
+ "name": "hrgdavor",
+ "email": "[email protected]"
+ },
+ {
+ "name": "ianjobling",
+ "email": "[email protected]"
+ },
+ {
+ "name": "inf3rno",
+ "email": "[email protected]"
+ },
+ {
+ "name": "jjoos",
+ "email": "[email protected]"
+ },
+ {
+ "name": "jvalkeejarvi",
+ "email": "[email protected]"
+ },
+ {
+ "name": "kyo_ago",
+ "email": "[email protected]"
+ },
+ {
+ "name": "lanshunfang",
+ "email": "[email protected]"
+ },
+ {
+ "name": "lusarz",
+ "email": "[email protected]"
+ },
+ {
+ "name": "maik",
+ "email": "[email protected]"
+ },
+ {
+ "name": "mdemo",
+ "email": "[email protected]"
+ },
+ {
+ "name": "nathanfaucett",
+ "email": "[email protected]"
+ },
+ {
+ "name": "pardoman",
+ "email": "[email protected]"
+ },
+ {
+ "name": "thetrevdev",
+ "email": "[email protected]"
+ },
+ {
+ "name": "thorn0",
+ "email": "[email protected]"
+ },
+ {
+ "name": "toran billups",
+ "email": "[email protected]"
+ },
+ {
+ "name": "[email protected]>"
+ },
+ {
+ "name": "u812",
+ "email": "[email protected]"
+ },
+ {
+ "name": "[email protected]>"
+ },
+ {
+ "name": "Aaron Powell",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Adrien Crivelli",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Alan Agius",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Alejandro Mantecon Guillen",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Ales Rosina",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Alexander Pepper",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Alexander Shtuchkin",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Alexei",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Anders Ekdahl",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Anders Janmyr",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Andreas Krummsdorf",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Andreas Pålsson",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Andrew Fischer",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Andrew Marcinkevičius",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Andrey Chalkin",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Andy Joslin",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Anton Usmansky",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Atul Bhosale",
+ "email": "[email protected]"
+ },
+ {
+ "name": "AugustinLF",
+ "email": "[email protected]"
+ },
+ {
+ "name": "AvnerCohen",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Awad Mackie",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Basemm",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Benoit Charbonnier",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Bhavesh Kakadiya",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Brady Wied",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Bram Borggreve",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Breno Calazans",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Brian Donovan",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Brian Donovan",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Brian M Hunt",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Cagdas Bayram",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Carl Goldberg",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Chad Smith",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Chang Wang",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Chelsea Urquhart",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Chris",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Chris Chua",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Chris Dawson",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Christian Weiss",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Christopher Hiller",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Ciro S. Costa",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Daan Stolp",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Damien Choizit",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Dan Siwiec",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Dan Thareja",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Danny Croft",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Danny Tuppeny",
+ "email": "[email protected]"
+ },
+ {
+ "name": "David Jensen",
+ "email": "david@frode.(none)",
+ "url": "none"
+ },
+ {
+ "name": "David M. Karr",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Derek Gould",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Derek Schaller",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Dieter Oberkofler",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Dillon",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Dmitrii Abramov",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Dmitriy Ryajov",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Douglas Blumeyer",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Douglas Blumeyer",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Dunja Radulov",
+ "email": "[email protected]"
+ },
+ {
+ "name": "ERt",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Ed Rooth",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Eddie Monge",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Eden",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Edward Hutchins",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Eldar Jafarov",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Eric Baer",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Esteban Marin",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Fabian Beuke",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Filipe Silva",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Franck Garcia",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Fred Sauer",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Frederic Hemberger",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Fredrik Bonander",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Gavin Aiken",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Geert Van Laethem",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Glenn Anderson",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Greg Thornton",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Gregory Cowan",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Hendrik Purmann",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Homa Wong",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Igor Lima",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Islam Sharabash",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Jack Tarantino",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Jacob Trimble",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Jakub Z",
+ "email": "[email protected]"
+ },
+ {
+ "name": "James Shore",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Jan Molak",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Janderson Constantino",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Jeff Froom",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Jeff Lage",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Jeff Yates",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Jeremy Axelrod",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Jerry Reptak",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Jesse M. Holmes",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Joe Lencioni",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Johannes Gorset",
+ "email": "[email protected]"
+ },
+ {
+ "name": "John Wehr",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Jon Bretman",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Jonathan ES Lin",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Jonathan Felchlin",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Jonathan Niles",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Josh Lory",
+ "email": "[email protected]"
+ },
+ {
+ "name": "João Marcos Duarte",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Julian Connor",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Jurko Gospodnetić",
+ "email": "[email protected]"
+ },
+ {
+ "name": "Justin Ridgewell",
+ "email": "[email protected]"
+ }
+ ],
+ "dependencies": {
+ "bluebird": "^3.3.0",
+ "body-parser": "^1.16.1",
+ "braces": "^3.0.2",
+ "chokidar": "^3.0.0",
+ "colors": "^1.1.0",
+ "connect": "^3.6.0",
+ "core-js": "^3.1.3",
+ "di": "^0.0.1",
+ "dom-serialize": "^2.2.0",
+ "flatted": "^2.0.0",
+ "glob": "^7.1.1",
+ "graceful-fs": "^4.1.2",
+ "http-proxy": "^1.13.0",
+ "isbinaryfile": "^3.0.0",
+ "lodash": "^4.17.11",
+ "log4js": "^4.0.0",
+ "mime": "^2.3.1",
+ "minimatch": "^3.0.2",
+ "optimist": "^0.6.1",
+ "qjobs": "^1.1.4",
+ "range-parser": "^1.2.0",
+ "rimraf": "^2.6.0",
+ "safe-buffer": "^5.0.1",
+ "socket.io": "2.1.1",
+ "source-map": "^0.6.1",
+ "tmp": "0.0.33",
+ "useragent": "2.3.0"
+ },
+ "deprecated": false,
+ "description": "Spectacular Test Runner for JavaScript.",
+ "devDependencies": {
+ "browserify": "^16.2.3",
+ "chai": "^4.2.0",
+ "chai-as-promised": "^7.1.1",
+ "chai-subset": "^1.2.2",
+ "cucumber": "^3.1.0",
+ "eslint": "^5.16.0",
+ "eslint-config-standard": "^12.0.0",
+ "eslint-plugin-import": "^2.17.2",
+ "eslint-plugin-node": "^9.0.1",
+ "eslint-plugin-promise": "^4.1.1",
+ "eslint-plugin-standard": "^4.0.0",
+ "grunt": "^1.0.4",
+ "grunt-auto-release": "^0.0.7",
+ "grunt-browserify": "^5.0.0",
+ "grunt-bump": "^0.8.0",
+ "grunt-check-clean": "^0.1.2",
+ "grunt-cli": "^1.1.0",
+ "grunt-contrib-watch": "^1.1.0",
+ "grunt-conventional-changelog": "^6.0.1",
+ "grunt-conventional-github-releaser": "^1.0.0",
+ "grunt-cucumberjs": "^2.0.2",
+ "grunt-eslint": "^21.0.0",
+ "grunt-mocha-test": "^0.13.2",
+ "grunt-npm": "0.0.2",
+ "http2": "^3.3.6",
+ "husky": "^0.14.3",
+ "jasmine-core": "^3.4.0",
+ "karma-browserify": "^6.0.0",
+ "karma-browserstack-launcher": "^1.0.0",
+ "karma-chai": "^0.1.0",
+ "karma-chrome-launcher": "^2.2.0",
+ "karma-firefox-launcher": "*",
+ "karma-jasmine": "^2.0.1",
+ "karma-junit-reporter": "*",
+ "karma-mocha": "^1.0.1",
+ "karma-mocha-reporter": "^2.0.0",
+ "karma-script-launcher": "^1.0.0",
+ "load-grunt-tasks": "^4.0.0",
+ "mkdirp": "^0.5.0",
+ "mocha": "^4.1.0",
+ "mocks": "^0.0.15",
+ "proxyquire": "^2.1.0",
+ "puppeteer": "^1.9.0",
+ "sinon": "^7.3.2",
+ "sinon-chai": "^3.0.0",
+ "supertest": "^4.0.2",
+ "timer-shim": "^0.3.0",
+ "validate-commit-msg": "^2.11.1",
+ "which": "^1.3.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ },
+ "homepage": "http://karma-runner.github.io/",
+ "keywords": [
+ "karma",
+ "spectacular",
+ "runner",
+ "karma",
+ "js",
+ "javascript",
+ "testing",
+ "test",
+ "remote",
+ "execution"
+ ],
+ "license": "MIT",
+ "main": "./lib/index",
+ "name": "karma",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/karma-runner/karma.git"
+ },
+ "scripts": {
+ "appveyor": "npm run build && npm run test:appveyor",
+ "build": "grunt build",
+ "commitmsg": "validate-commit-msg",
+ "init": "rm -rf node_modules/karma && cd node_modules && ln -nsf ../ karma && cd ../",
+ "init:windows": "(IF EXIST node_modules\\karma (rmdir node_modules\\karma /S /q)) && npm run link",
+ "link": "node --eval \"path=require('path'); require('fs').symlinkSync(path.resolve(__dirname), path.resolve(__dirname, 'node_modules', 'karma'), 'junction')\"",
+ "lint": "eslint . --ext js --ignore-pattern *.tpl.js",
+ "lint:fix": "eslint . --ext js --ignore-pattern *.tpl.js --fix",
+ "precommit": "npm run lint",
+ "test": "grunt test",
+ "test:appveyor": "grunt test-appveyor",
+ "test:integration": "./scripts/integration-tests.sh",
+ "test:unit": "grunt test:unit",
+ "travis": "npm run build && npm test && npm run test:integration",
+ "unlink": "node --eval \"require('fs').unlinkSync(require('path').resolve(__dirname, 'node_modules', 'karma'))\""
+ },
+ "version": "4.2.0"
+}
diff --git a/node_modules/karma/requirejs.config.tpl.coffee b/node_modules/karma/requirejs.config.tpl.coffee
new file mode 100644
index 0000000..39edb5e
--- /dev/null
+++ b/node_modules/karma/requirejs.config.tpl.coffee
@@ -0,0 +1,22 @@
+allTestFiles = []
+TEST_REGEXP = /(spec|test)(\.coffee)?(\.js)?$/i
+
+# Get a list of all the test files to include
+Object.keys(window.__karma__.files).forEach (file) ->
+
+ if TEST_REGEXP.test(file)
+ # Normalize paths to RequireJS module names.
+ # If you require sub-dependencies of test files to be loaded as-is (requiring file extension)
+ # then do not normalize the paths
+ allTestFiles.push file.replace(/^\/base\/|\.js$/g, '')
+ return
+
+require.config
+ # Karma serves files under /base, which is the basePath from your config file
+ baseUrl: "/base"
+
+ # dynamically load all test files
+ deps: allTestFiles
+
+ # we have to kickoff jasmine, as it is asynchronous
+ callback: window.__karma__.start
diff --git a/node_modules/karma/requirejs.config.tpl.js b/node_modules/karma/requirejs.config.tpl.js
new file mode 100644
index 0000000..d05eeea
--- /dev/null
+++ b/node_modules/karma/requirejs.config.tpl.js
@@ -0,0 +1,24 @@
+var allTestFiles = []
+var TEST_REGEXP = /(spec|test)\.js$/i
+
+// Get a list of all the test files to include
+Object.keys(window.__karma__.files).forEach(function (file) {
+ if (TEST_REGEXP.test(file)) {
+ // Normalize paths to RequireJS module names.
+ // If you require sub-dependencies of test files to be loaded as-is (requiring file extension)
+ // then do not normalize the paths
+ var normalizedTestModule = file.replace(/^\/base\/|\.js$/g, '')
+ allTestFiles.push(normalizedTestModule)
+ }
+})
+
+require.config({
+ // Karma serves files under /base, which is the basePath from your config file
+ baseUrl: '/base',
+
+ // dynamically load all test files
+ deps: allTestFiles,
+
+ // we have to kickoff jasmine, as it is asynchronous
+ callback: window.__karma__.start
+})
diff --git a/node_modules/karma/scripts/integration-tests.sh b/node_modules/karma/scripts/integration-tests.sh
new file mode 100755
index 0000000..1bbcad6
--- /dev/null
+++ b/node_modules/karma/scripts/integration-tests.sh
@@ -0,0 +1,4 @@
+PKG_FILE="$PWD/$(npm pack)"
+git clone https://github.com/karma-runner/integration-tests.git --depth 1
+cd integration-tests
+./run.sh $PKG_FILE
diff --git a/node_modules/karma/scripts/karma-completion.sh b/node_modules/karma/scripts/karma-completion.sh
new file mode 100644
index 0000000..650c819
--- /dev/null
+++ b/node_modules/karma/scripts/karma-completion.sh
@@ -0,0 +1,50 @@
+###-begin-karma-completion-###
+#
+# karma command completion script
+# This is stolen from NPM. Thanks @isaac!
+#
+# Installation: karma completion >> ~/.bashrc (or ~/.zshrc)
+# Or, maybe: karma completion > /usr/local/etc/bash_completion.d/karma
+#
+
+if type complete &>/dev/null; then
+ __karma_completion () {
+ local si="$IFS"
+ IFS=$'\n' COMPREPLY=($(COMP_CWORD="$COMP_CWORD" \
+ COMP_LINE="$COMP_LINE" \
+ COMP_POINT="$COMP_POINT" \
+ karma completion -- "${COMP_WORDS[@]}" \
+ 2>/dev/null)) || return $?
+ IFS="$si"
+ }
+ complete -F __karma_completion karma
+elif type compdef &>/dev/null; then
+ __karma_completion() {
+ si=$IFS
+ compadd -- $(COMP_CWORD=$((CURRENT-1)) \
+ COMP_LINE=$BUFFER \
+ COMP_POINT=0 \
+ karma completion -- "${words[@]}" \
+ 2>/dev/null)
+ IFS=$si
+ }
+ compdef __karma_completion karma
+elif type compctl &>/dev/null; then
+ __karma_completion () {
+ local cword line point words si
+ read -Ac words
+ read -cn cword
+ let cword-=1
+ read -l line
+ read -ln point
+ si="$IFS"
+ IFS=$'\n' reply=($(COMP_CWORD="$cword" \
+ COMP_LINE="$line" \
+ COMP_POINT="$point" \
+ karma completion -- "${words[@]}" \
+ 2>/dev/null)) || return $?
+ IFS="$si"
+ }
+ compctl -K __karma_completion karma
+fi
+###-end-karma-completion-###
diff --git a/node_modules/karma/scripts/validate-commit-msg.sh b/node_modules/karma/scripts/validate-commit-msg.sh
new file mode 100755
index 0000000..489d5fa
--- /dev/null
+++ b/node_modules/karma/scripts/validate-commit-msg.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+#
+# Validate commit message matches our expected format
+#
+# Arguments:
+# <commit> Commit revision to validate
+#
+# Example:
+# ./validate-commit-msg.sh abcdef0
+
+# Exit on first error
+set -e
+
+# If we didn't receive a commit, then error out
+# DEV: If want the HEAD commit, then use `git rev-parse HEAD`
+COMMIT_REV="$1"
+if [ -z "$COMMIT_REV" ]; then
+ echo "Expected a commit revision to validate but received nothing" 1>&2
+ exit 1
+fi
+
+
+# Resolve our file for output
+# DEV: We use `.git` to avoid cluttering the working directory
+GIT_DIR="$(git rev-parse --git-dir)"
+TARGET_FILENAME=VALIDATE_COMMIT_MSG
+TARGET_FILE="$GIT_DIR/$TARGET_FILENAME"
+
+echo "Retrieving relevant commit message for $COMMIT_REV"
+# Output our log message to a file
+# DEV: We use `--no-merges` to skip merge commits introduced by GitHub
+git log --no-merges --format=format:"%s" -n 1 "$COMMIT_REV" > "$TARGET_FILE"
+
+echo "Validating contents of $TARGET_FILE"
+cat "$TARGET_FILE"
+
+# Validate our message
+./node_modules/.bin/validate-commit-msg "$TARGET_FILENAME"
diff --git a/node_modules/karma/static/client.html b/node_modules/karma/static/client.html
new file mode 100644
index 0000000..9bc16cb
--- /dev/null
+++ b/node_modules/karma/static/client.html
@@ -0,0 +1,115 @@
+<!DOCTYPE html>
+<!--
+The entry point for client. This file is loaded just once when the client is captured.
+It contains socket.io and all the communication logic.
+-->
+<html>
+<head>
+%X_UA_COMPATIBLE%
+ <title>Karma</title>
+ <link href="favicon.ico" rel="icon" type="image/x-icon">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
+ <style type="text/css">
+ iframe {
+ height: 100%;
+ width: 100%;
+ border: 0;
+ }
+
+ html, body {
+ height: 100%;
+ padding: 0;
+ margin: 0;
+
+ font-family: sans-serif;
+ }
+
+ .offline {
+ background: #DDD;
+ }
+
+ .online {
+ background: #6C4;
+ }
+
+ .idle {
+ }
+
+ .executing {
+ background: #F99;
+ }
+
+ #banner {
+ padding: 5px 10px;
+ }
+
+ h1 {
+ font-size: 1.8em;
+ margin: 0;
+ padding: 0;
+ }
+
+ ul {
+ margin: 0;
+ padding: 0;
+
+ list-style: none;
+ }
+
+ li {
+ padding: 5px 12px;
+ }
+
+ .btn-debug {
+ float: right;
+ }
+
+ .offline .btn-debug {
+ display: none;
+ }
+
+ .btn-debug {
+ -moz-box-shadow:inset 0px 1px 0px 0px #ffffff;
+ -webkit-box-shadow:inset 0px 1px 0px 0px #ffffff;
+ box-shadow:inset 0px 1px 0px 0px #ffffff;
+ background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ffffff), color-stop(1, #f6f6f6) );
+ background:-moz-linear-gradient( center top, #ffffff 5%, #f6f6f6 100% );
+ filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f6f6f6');
+ background-color:#ffffff;
+ -moz-border-radius:6px;
+ -webkit-border-radius:6px;
+ border-radius:6px;
+ border:1px solid #dcdcdc;
+ display:inline-block;
+ color:#666666;
+ font-family:arial;
+ font-size:15px;
+ font-weight:bold;
+ padding:6px 24px;
+ text-decoration:none;
+ text-shadow:1px 1px 0px #ffffff;
+ }
+
+ .btn-debug:hover {
+ background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #f6f6f6), color-stop(1, #ffffff) );
+ background:-moz-linear-gradient( center top, #f6f6f6 5%, #ffffff 100% );
+ filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f6f6', endColorstr='#ffffff');
+ background-color:#f6f6f6;
+ }
+ </style>
+</head>
+<body>
+ <div id="banner" class="offline">
+ <a href="#" onclick="window.open('debug.html%X_UA_COMPATIBLE_URL%')" class="btn-debug">DEBUG</a>
+ <h1 id="title">Karma - starting</h1>
+ </div>
+
+ <ul id="browsers"></ul>
+
+ <iframe id="context" src="about:blank" width="100%" height="100%"></iframe>
+
+ <script src="socket.io/socket.io.js"></script>
+ <script src="karma.js"></script>
+</body>
+</html>
diff --git a/node_modules/karma/static/client_with_context.html b/node_modules/karma/static/client_with_context.html
new file mode 100644
index 0000000..e562bde
--- /dev/null
+++ b/node_modules/karma/static/client_with_context.html
@@ -0,0 +1,125 @@
+
+<!DOCTYPE html>
+<!--
+This is the combined client and execution context.
+Is used for single-shot tests.
+-->
+<html>
+<head>
+
+ <title>Karma</title>
+ <link href="favicon.ico" rel="icon" type="image/x-icon">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
+ <style type="text/css">
+ iframe {
+ height: 100%;
+ width: 100%;
+ border: 0;
+ }
+
+ html, body {
+ height: 100%;
+ padding: 0;
+ margin: 0;
+
+ font-family: sans-serif;
+ }
+
+ .offline {
+ background: #DDD;
+ }
+
+ .online {
+ background: #6C4;
+ }
+
+ .idle {
+ }
+
+ .executing {
+ background: #F99;
+ }
+
+ #banner {
+ padding: 5px 10px;
+ }
+
+ h1 {
+ font-size: 1.8em;
+ margin: 0;
+ padding: 0;
+ }
+
+ ul {
+ margin: 0;
+ padding: 0;
+
+ list-style: none;
+ }
+
+ li {
+ padding: 5px 12px;
+ }
+
+ .btn-debug {
+ float: right;
+ }
+
+ .offline .btn-debug {
+ display: none;
+ }
+
+ .btn-debug {
+ -moz-box-shadow:inset 0px 1px 0px 0px #ffffff;
+ -webkit-box-shadow:inset 0px 1px 0px 0px #ffffff;
+ box-shadow:inset 0px 1px 0px 0px #ffffff;
+ background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ffffff), color-stop(1, #f6f6f6) );
+ background:-moz-linear-gradient( center top, #ffffff 5%, #f6f6f6 100% );
+ filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f6f6f6');
+ background-color:#ffffff;
+ -moz-border-radius:6px;
+ -webkit-border-radius:6px;
+ border-radius:6px;
+ border:1px solid #dcdcdc;
+ display:inline-block;
+ color:#666666;
+ font-family:arial;
+ font-size:15px;
+ font-weight:bold;
+ padding:6px 24px;
+ text-decoration:none;
+ text-shadow:1px 1px 0px #ffffff;
+ }
+
+ .btn-debug:hover {
+ background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #f6f6f6), color-stop(1, #ffffff) );
+ background:-moz-linear-gradient( center top, #f6f6f6 5%, #ffffff 100% );
+ filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f6f6', endColorstr='#ffffff');
+ background-color:#f6f6f6;
+ }
+ </style>
+</head>
+<body>
+ <div id="banner" class="offline">
+ <h1 id="title">Karma - starting</h1>
+ </div>
+ <script src="socket.io/socket.io.js"></script>
+ <script src="karma.js"></script>
+ <script src="context.js"></script>
+ <!-- The scripts need to be at the end of body, so that some test running frameworks
+ (Angular Scenario, for example) need the body to be loaded so that it can insert its magic
+ into it. If it is before body, then it fails to find the body and crashes and burns in an epic
+ manner. -->
+ <script type="text/javascript">
+ // sets window.__karma__ and overrides console and error handling
+ %CLIENT_CONFIG%
+ window.__karma__.setupContext(window);
+
+ // All served files with the latest timestamps
+ %MAPPINGS%
+ %SCRIPT_URL_ARRAY%
+ </script>
+ <!-- Dynamically replaced with <script> tags -->
+</body>
+</html>
diff --git a/node_modules/karma/static/context.html b/node_modules/karma/static/context.html
new file mode 100644
index 0000000..7d1d071
--- /dev/null
+++ b/node_modules/karma/static/context.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<!--
+This is the execution context.
+Loaded within the iframe.
+Reloaded before every execution run.
+-->
+<html>
+<head>
+ <title></title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
+</head>
+<body>
+ <!-- The scripts need to be in the body DOM element, as some test running frameworks need the body
+ to have already been created so they can insert their magic into it. For example, if loaded
+ before body, Angular Scenario test framework fails to find the body and crashes and burns in
+ an epic manner. -->
+ <script src="context.js"></script>
+ <script type="text/javascript">
+ // Configure our Karma and set up bindings
+ %CLIENT_CONFIG%
+ window.__karma__.setupContext(window);
+
+ // All served files with the latest timestamps
+ %MAPPINGS%
+ </script>
+ <!-- Dynamically replaced with <script> tags -->
+ %SCRIPTS%
+ <!-- Since %SCRIPTS% might include modules, the `loaded()` call needs to be in a module too.
+ This ensures all the tests will have been declared before karma tries to run them. -->
+ <script type="module">
+ window.__karma__.loaded();
+ </script>
+ <script nomodule>
+ window.__karma__.loaded();
+ </script>
+</body>
+</html>
diff --git a/node_modules/karma/static/context.js b/node_modules/karma/static/context.js
new file mode 100644
index 0000000..d175158
--- /dev/null
+++ b/node_modules/karma/static/context.js
@@ -0,0 +1,2635 @@
+(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
+var serialize = require('dom-serialize')
+var instanceOf = require('./util').instanceOf
+
+function isNode (obj) {
+ return (obj.tagName || obj.nodeName) && obj.nodeType
+}
+
+function stringify (obj, depth) {
+ if (depth === 0) {
+ return '...'
+ }
+
+ if (obj === null) {
+ return 'null'
+ }
+
+ switch (typeof obj) {
+ case 'symbol':
+ return obj.toString()
+ case 'string':
+ return "'" + obj + "'"
+ case 'undefined':
+ return 'undefined'
+ case 'function':
+ try {
+ // function abc(a, b, c) { /* code goes here */ }
+ // -> function abc(a, b, c) { ... }
+ return obj.toString().replace(/\{[\s\S]*\}/, '{ ... }')
+ } catch (err) {
+ if (err instanceof TypeError) {
+ // Support older browsers
+ return 'function ' + (obj.name || '') + '() { ... }'
+ } else {
+ throw err
+ }
+ }
+ case 'boolean':
+ return obj ? 'true' : 'false'
+ case 'object':
+ var strs = []
+ if (instanceOf(obj, 'Array')) {
+ strs.push('[')
+ for (var i = 0, ii = obj.length; i < ii; i++) {
+ if (i) {
+ strs.push(', ')
+ }
+ strs.push(stringify(obj[i], depth - 1))
+ }
+ strs.push(']')
+ } else if (instanceOf(obj, 'Date')) {
+ return obj.toString()
+ } else if (instanceOf(obj, 'Text')) {
+ return obj.nodeValue
+ } else if (instanceOf(obj, 'Comment')) {
+ return '<!--' + obj.nodeValue + '-->'
+ } else if (obj.outerHTML) {
+ return obj.outerHTML
+ } else if (isNode(obj)) {
+ return serialize(obj)
+ } else if (instanceOf(obj, 'Error')) {
+ return obj.toString() + '\n' + obj.stack
+ } else {
+ var constructor = 'Object'
+ if (obj.constructor && typeof obj.constructor === 'function') {
+ constructor = obj.constructor.name
+ }
+
+ strs.push(constructor)
+ strs.push('{')
+ var first = true
+ for (var key in obj) {
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
+ if (first) {
+ first = false
+ } else {
+ strs.push(', ')
+ }
+
+ strs.push(key + ': ' + stringify(obj[key], depth - 1))
+ }
+ }
+ strs.push('}')
+ }
+ return strs.join('')
+ default:
+ return obj
+ }
+}
+
+module.exports = stringify
+
+},{"./util":2,"dom-serialize":5}],2:[function(require,module,exports){
+exports.instanceOf = function (value, constructorName) {
+ return Object.prototype.toString.apply(value) === '[object ' + constructorName + ']'
+}
+
+exports.elm = function (id) {
+ return document.getElementById(id)
+}
+
+exports.generateId = function (prefix) {
+ return prefix + Math.floor(Math.random() * 10000)
+}
+
+exports.isUndefined = function (value) {
+ return typeof value === 'undefined'
+}
+
+exports.isDefined = function (value) {
+ return !exports.isUndefined(value)
+}
+
+exports.parseQueryParams = function (locationSearch) {
+ var params = {}
+ var pairs = locationSearch.substr(1).split('&')
+ var keyValue
+
+ for (var i = 0; i < pairs.length; i++) {
+ keyValue = pairs[i].split('=')
+ params[decodeURIComponent(keyValue[0])] = decodeURIComponent(keyValue[1])
+ }
+
+ return params
+}
+
+},{}],3:[function(require,module,exports){
+// Load our dependencies
+var stringify = require('../common/stringify')
+
+// Define our context Karma constructor
+function ContextKarma (callParentKarmaMethod) {
+ // Define local variables
+ var hasError = false
+ var self = this
+ var isLoaded = false
+
+ // Define our loggers
+ // DEV: These are intentionally repeated in client and context
+ this.log = function (type, args) {
+ var values = []
+
+ for (var i = 0; i < args.length; i++) {
+ values.push(this.stringify(args[i], 3))
+ }
+
+ this.info({ log: values.join(', '), type: type })
+ }
+
+ this.stringify = stringify
+
+ // Define our proxy error handler
+ // DEV: We require one in our context to track `hasError`
+ this.error = function () {
+ hasError = true
+ callParentKarmaMethod('error', [].slice.call(arguments))
+ return false
+ }
+
+ // Define our start handler
+ function UNIMPLEMENTED_START () {
+ this.error('You need to include some adapter that implements __karma__.start method!')
+ }
+ // all files loaded, let's start the execution
+ this.loaded = function () {
+ // has error -> cancel
+ if (!hasError && !isLoaded) {
+ isLoaded = true
+ try {
+ this.start(this.config)
+ } catch (error) {
+ this.error(error.stack || error.toString())
+ }
+ }
+
+ // remove reference to child iframe
+ this.start = UNIMPLEMENTED_START
+ }
+ // supposed to be overriden by the context
+ // TODO(vojta): support multiple callbacks (queue)
+ this.start = UNIMPLEMENTED_START
+
+ // Define proxy methods
+ // DEV: This is a closured `for` loop (same as a `forEach`) for IE support
+ var proxyMethods = ['complete', 'info', 'result']
+ for (var i = 0; i < proxyMethods.length; i++) {
+ (function bindProxyMethod (methodName) {
+ self[methodName] = function boundProxyMethod () {
+ callParentKarmaMethod(methodName, [].slice.call(arguments))
+ }
+ }(proxyMethods[i]))
+ }
+
+ // Define bindings for context window
+ this.setupContext = function (contextWindow) {
+ // If we clear the context after every run and we already had an error
+ // then stop now. Otherwise, carry on.
+ if (self.config.clearContext && hasError) {
+ return
+ }
+
+ // Perform window level bindings
+ // DEV: We return `self.error` since we want to `return false` to ignore errors
+ contextWindow.onerror = function () {
+ return self.error.apply(self, arguments)
+ }
+ // DEV: We must defined a function since we don't want to pass the event object
+ contextWindow.onbeforeunload = function (e, b) {
+ callParentKarmaMethod('onbeforeunload', [])
+ }
+
+ contextWindow.dump = function () {
+ self.log('dump', arguments)
+ }
+
+ var _confirm = contextWindow.confirm
+ var _prompt = contextWindow.prompt
+
+ contextWindow.alert = function (msg) {
+ self.log('alert', [msg])
+ }
+
+ contextWindow.confirm = function (msg) {
+ self.log('confirm', [msg])
+ return _confirm(msg)
+ }
+
+ contextWindow.prompt = function (msg, defaultVal) {
+ self.log('prompt', [msg, defaultVal])
+ return _prompt(msg, defaultVal)
+ }
+
+ // If we want to overload our console, then do it
+ function getConsole (currentWindow) {
+ return currentWindow.console || {
+ log: function () {},
+ info: function () {},
+ warn: function () {},
+ error: function () {},
+ debug: function () {}
+ }
+ }
+ if (self.config.captureConsole) {
+ // patch the console
+ var localConsole = contextWindow.console = getConsole(contextWindow)
+ var logMethods = ['log', 'info', 'warn', 'error', 'debug']
+ var patchConsoleMethod = function (method) {
+ var orig = localConsole[method]
+ if (!orig) {
+ return
+ }
+ localConsole[method] = function () {
+ self.log(method, arguments)
+ try {
+ return Function.prototype.apply.call(orig, localConsole, arguments)
+ } catch (error) {
+ self.log('warn', ['Console method ' + method + ' threw: ' + error])
+ }
+ }
+ }
+ for (var i = 0; i < logMethods.length; i++) {
+ patchConsoleMethod(logMethods[i])
+ }
+ }
+ }
+}
+
+// Define call/proxy methods
+ContextKarma.getDirectCallParentKarmaMethod = function (parentWindow) {
+ return function directCallParentKarmaMethod (method, args) {
+ // If the method doesn't exist, then error out
+ if (!parentWindow.karma[method]) {
+ parentWindow.karma.error('Expected Karma method "' + method + '" to exist but it doesn\'t')
+ return
+ }
+
+ // Otherwise, run our method
+ parentWindow.karma[method].apply(parentWindow.karma, args)
+ }
+}
+ContextKarma.getPostMessageCallParentKarmaMethod = function (parentWindow) {
+ return function postMessageCallParentKarmaMethod (method, args) {
+ parentWindow.postMessage({ __karmaMethod: method, __karmaArguments: args }, window.location.origin)
+ }
+}
+
+// Export our module
+module.exports = ContextKarma
+
+},{"../common/stringify":1}],4:[function(require,module,exports){
+// Load in our dependencies
+var ContextKarma = require('./karma')
+
+// Resolve our parent window
+var parentWindow = window.opener || window.parent
+
+// Define a remote call method for Karma
+var callParentKarmaMethod = ContextKarma.getDirectCallParentKarmaMethod(parentWindow)
+
+// If we don't have access to the window, then use `postMessage`
+// DEV: In Electron, we don't have access to the parent window due to it being in a separate process
+// DEV: We avoid using this in Internet Explorer as they only support strings
+// http://caniuse.com/#search=postmessage
+var haveParentAccess = false
+try { haveParentAccess = !!parentWindow.window } catch (err) { /* Ignore errors (likely permisison errors) */ }
+if (!haveParentAccess) {
+ callParentKarmaMethod = ContextKarma.getPostMessageCallParentKarmaMethod(parentWindow)
+}
+
+// Define a window-scoped Karma
+window.__karma__ = new ContextKarma(callParentKarmaMethod)
+
+},{"./karma":3}],5:[function(require,module,exports){
+
+/**
+ * Module dependencies.
+ */
+
+var extend = require('extend');
+var encode = require('ent/encode');
+var CustomEvent = require('custom-event');
+var voidElements = require('void-elements');
+
+/**
+ * Module exports.
+ */
+
+exports = module.exports = serialize;
+exports.serializeElement = serializeElement;
+exports.serializeAttribute = serializeAttribute;
+exports.serializeText = serializeText;
+exports.serializeComment = serializeComment;
+exports.serializeDocument = serializeDocument;
+exports.serializeDoctype = serializeDoctype;
+exports.serializeDocumentFragment = serializeDocumentFragment;
+exports.serializeNodeList = serializeNodeList;
+
+/**
+ * Serializes any DOM node. Returns a string.
+ *
+ * @param {Node} node - DOM Node to serialize
+ * @param {String} [context] - optional arbitrary "context" string to use (useful for event listeners)
+ * @param {Function} [fn] - optional callback function to use in the "serialize" event for this call
+ * @param {EventTarget} [eventTarget] - optional EventTarget instance to emit the "serialize" event on (defaults to `node`)
+ * return {String}
+ * @public
+ */
+
+function serialize (node, context, fn, eventTarget) {
+ if (!node) return '';
+ if ('function' === typeof context) {
+ fn = context;
+ context = null;
+ }
+ if (!context) context = null;
+
+ var rtn;
+ var nodeType = node.nodeType;
+
+ if (!nodeType && 'number' === typeof node.length) {
+ // assume it's a NodeList or Array of Nodes
+ rtn = exports.serializeNodeList(node, context, fn);
+ } else {
+
+ if ('function' === typeof fn) {
+ // one-time "serialize" event listener
+ node.addEventListener('serialize', fn, false);
+ }
+
+ // emit a custom "serialize" event on `node`, in case there
+ // are event listeners for custom serialization of this node
+ var e = new CustomEvent('serialize', {
+ bubbles: true,
+ cancelable: true,
+ detail: {
+ serialize: null,
+ context: context
+ }
+ });
+
+ e.serializeTarget = node;
+
+ var target = eventTarget || node;
+ var cancelled = !target.dispatchEvent(e);
+
+ // `e.detail.serialize` can be set to a:
+ // String - returned directly
+ // Node - goes through serializer logic instead of `node`
+ // Anything else - get Stringified first, and then returned directly
+ var s = e.detail.serialize;
+ if (s != null) {
+ if ('string' === typeof s) {
+ rtn = s;
+ } else if ('number' === typeof s.nodeType) {
+ // make it go through the serialization logic
+ rtn = serialize(s, context, null, target);
+ } else {
+ rtn = String(s);
+ }
+ } else if (!cancelled) {
+ // default serialization logic
+ switch (nodeType) {
+ case 1 /* element */:
+ rtn = exports.serializeElement(node, context, eventTarget);
+ break;
+ case 2 /* attribute */:
+ rtn = exports.serializeAttribute(node);
+ break;
+ case 3 /* text */:
+ rtn = exports.serializeText(node);
+ break;
+ case 8 /* comment */:
+ rtn = exports.serializeComment(node);
+ break;
+ case 9 /* document */:
+ rtn = exports.serializeDocument(node, context, eventTarget);
+ break;
+ case 10 /* doctype */:
+ rtn = exports.serializeDoctype(node);
+ break;
+ case 11 /* document fragment */:
+ rtn = exports.serializeDocumentFragment(node, context, eventTarget);
+ break;
+ }
+ }
+
+ if ('function' === typeof fn) {
+ node.removeEventListener('serialize', fn, false);
+ }
+ }
+
+ return rtn || '';
+}
+
+/**
+ * Serialize an Attribute node.
+ */
+
+function serializeAttribute (node, opts) {
+ return node.name + '="' + encode(node.value, extend({
+ named: true
+ }, opts)) + '"';
+}
+
+/**
+ * Serialize a DOM element.
+ */
+
+function serializeElement (node, context, eventTarget) {
+ var c, i, l;
+ var name = node.nodeName.toLowerCase();
+
+ // opening tag
+ var r = '<' + name;
+
+ // attributes
+ for (i = 0, c = node.attributes, l = c.length; i < l; i++) {
+ r += ' ' + exports.serializeAttribute(c[i]);
+ }
+
+ r += '>';
+
+ // child nodes
+ r += exports.serializeNodeList(node.childNodes, context, null, eventTarget);
+
+ // closing tag, only for non-void elements
+ if (!voidElements[name]) {
+ r += '</' + name + '>';
+ }
+
+ return r;
+}
+
+/**
+ * Serialize a text node.
+ */
+
+function serializeText (node, opts) {
+ return encode(node.nodeValue, extend({
+ named: true,
+ special: { '<': true, '>': true, '&': true }
+ }, opts));
+}
+
+/**
+ * Serialize a comment node.
+ */
+
+function serializeComment (node) {
+ return '<!--' + node.nodeValue + '-->';
+}
+
+/**
+ * Serialize a Document node.
+ */
+
+function serializeDocument (node, context, eventTarget) {
+ return exports.serializeNodeList(node.childNodes, context, null, eventTarget);
+}
+
+/**
+ * Serialize a DOCTYPE node.
+ * See: http://stackoverflow.com/a/10162353
+ */
+
+function serializeDoctype (node) {
+ var r = '<!DOCTYPE ' + node.name;
+
+ if (node.publicId) {
+ r += ' PUBLIC "' + node.publicId + '"';
+ }
+
+ if (!node.publicId && node.systemId) {
+ r += ' SYSTEM';
+ }
+
+ if (node.systemId) {
+ r += ' "' + node.systemId + '"';
+ }
+
+ r += '>';
+ return r;
+}
+
+/**
+ * Serialize a DocumentFragment instance.
+ */
+
+function serializeDocumentFragment (node, context, eventTarget) {
+ return exports.serializeNodeList(node.childNodes, context, null, eventTarget);
+}
+
+/**
+ * Serialize a NodeList/Array of nodes.
+ */
+
+function serializeNodeList (list, context, fn, eventTarget) {
+ var r = '';
+ for (var i = 0, l = list.length; i < l; i++) {
+ r += serialize(list[i], context, fn, eventTarget);
+ }
+ return r;
+}
+
+},{"custom-event":6,"ent/encode":7,"extend":9,"void-elements":10}],6:[function(require,module,exports){
+(function (global){
+
+var NativeCustomEvent = global.CustomEvent;
+
+function useNative () {
+ try {
+ var p = new NativeCustomEvent('cat', { detail: { foo: 'bar' } });
+ return 'cat' === p.type && 'bar' === p.detail.foo;
+ } catch (e) {
+ }
+ return false;
+}
+
+/**
+ * Cross-browser `CustomEvent` constructor.
+ *
+ * https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent.CustomEvent
+ *
+ * @public
+ */
+
+module.exports = useNative() ? NativeCustomEvent :
+
+// IE >= 9
+'undefined' !== typeof document && 'function' === typeof document.createEvent ? function CustomEvent (type, params) {
+ var e = document.createEvent('CustomEvent');
+ if (params) {
+ e.initCustomEvent(type, params.bubbles, params.cancelable, params.detail);
+ } else {
+ e.initCustomEvent(type, false, false, void 0);
+ }
+ return e;
+} :
+
+// IE <= 8
+function CustomEvent (type, params) {
+ var e = document.createEventObject();
+ e.type = type;
+ if (params) {
+ e.bubbles = Boolean(params.bubbles);
+ e.cancelable = Boolean(params.cancelable);
+ e.detail = params.detail;
+ } else {
+ e.bubbles = false;
+ e.cancelable = false;
+ e.detail = void 0;
+ }
+ return e;
+}
+
+}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
+},{}],7:[function(require,module,exports){
+var punycode = require('punycode');
+var revEntities = require('./reversed.json');
+
+module.exports = encode;
+
+function encode (str, opts) {
+ if (typeof str !== 'string') {
+ throw new TypeError('Expected a String');
+ }
+ if (!opts) opts = {};
+
+ var numeric = true;
+ if (opts.named) numeric = false;
+ if (opts.numeric !== undefined) numeric = opts.numeric;
+
+ var special = opts.special || {
+ '"': true, "'": true,
+ '<': true, '>': true,
+ '&': true
+ };
+
+ var codePoints = punycode.ucs2.decode(str);
+ var chars = [];
+ for (var i = 0; i < codePoints.length; i++) {
+ var cc = codePoints[i];
+ var c = punycode.ucs2.encode([ cc ]);
+ var e = revEntities[cc];
+ if (e && (cc >= 127 || special[c]) && !numeric) {
+ chars.push('&' + (/;$/.test(e) ? e : e + ';'));
+ }
+ else if (cc < 32 || cc >= 127 || special[c]) {
+ chars.push('&#' + cc + ';');
+ }
+ else {
+ chars.push(c);
+ }
+ }
+ return chars.join('');
+}
+
+},{"./reversed.json":8,"punycode":11}],8:[function(require,module,exports){
+module.exports={
+ "9": "Tab;",
+ "10": "NewLine;",
+ "33": "excl;",
+ "34": "quot;",
+ "35": "num;",
+ "36": "dollar;",
+ "37": "percnt;",
+ "38": "amp;",
+ "39": "apos;",
+ "40": "lpar;",
+ "41": "rpar;",
+ "42": "midast;",
+ "43": "plus;",
+ "44": "comma;",
+ "46": "period;",
+ "47": "sol;",
+ "58": "colon;",
+ "59": "semi;",
+ "60": "lt;",
+ "61": "equals;",
+ "62": "gt;",
+ "63": "quest;",
+ "64": "commat;",
+ "91": "lsqb;",
+ "92": "bsol;",
+ "93": "rsqb;",
+ "94": "Hat;",
+ "95": "UnderBar;",
+ "96": "grave;",
+ "123": "lcub;",
+ "124": "VerticalLine;",
+ "125": "rcub;",
+ "160": "NonBreakingSpace;",
+ "161": "iexcl;",
+ "162": "cent;",
+ "163": "pound;",
+ "164": "curren;",
+ "165": "yen;",
+ "166": "brvbar;",
+ "167": "sect;",
+ "168": "uml;",
+ "169": "copy;",
+ "170": "ordf;",
+ "171": "laquo;",
+ "172": "not;",
+ "173": "shy;",
+ "174": "reg;",
+ "175": "strns;",
+ "176": "deg;",
+ "177": "pm;",
+ "178": "sup2;",
+ "179": "sup3;",
+ "180": "DiacriticalAcute;",
+ "181": "micro;",
+ "182": "para;",
+ "183": "middot;",
+ "184": "Cedilla;",
+ "185": "sup1;",
+ "186": "ordm;",
+ "187": "raquo;",
+ "188": "frac14;",
+ "189": "half;",
+ "190": "frac34;",
+ "191": "iquest;",
+ "192": "Agrave;",
+ "193": "Aacute;",
+ "194": "Acirc;",
+ "195": "Atilde;",
+ "196": "Auml;",
+ "197": "Aring;",
+ "198": "AElig;",
+ "199": "Ccedil;",
+ "200": "Egrave;",
+ "201": "Eacute;",
+ "202": "Ecirc;",
+ "203": "Euml;",
+ "204": "Igrave;",
+ "205": "Iacute;",
+ "206": "Icirc;",
+ "207": "Iuml;",
+ "208": "ETH;",
+ "209": "Ntilde;",
+ "210": "Ograve;",
+ "211": "Oacute;",
+ "212": "Ocirc;",
+ "213": "Otilde;",
+ "214": "Ouml;",
+ "215": "times;",
+ "216": "Oslash;",
+ "217": "Ugrave;",
+ "218": "Uacute;",
+ "219": "Ucirc;",
+ "220": "Uuml;",
+ "221": "Yacute;",
+ "222": "THORN;",
+ "223": "szlig;",
+ "224": "agrave;",
+ "225": "aacute;",
+ "226": "acirc;",
+ "227": "atilde;",
+ "228": "auml;",
+ "229": "aring;",
+ "230": "aelig;",
+ "231": "ccedil;",
+ "232": "egrave;",
+ "233": "eacute;",
+ "234": "ecirc;",
+ "235": "euml;",
+ "236": "igrave;",
+ "237": "iacute;",
+ "238": "icirc;",
+ "239": "iuml;",
+ "240": "eth;",
+ "241": "ntilde;",
+ "242": "ograve;",
+ "243": "oacute;",
+ "244": "ocirc;",
+ "245": "otilde;",
+ "246": "ouml;",
+ "247": "divide;",
+ "248": "oslash;",
+ "249": "ugrave;",
+ "250": "uacute;",
+ "251": "ucirc;",
+ "252": "uuml;",
+ "253": "yacute;",
+ "254": "thorn;",
+ "255": "yuml;",
+ "256": "Amacr;",
+ "257": "amacr;",
+ "258": "Abreve;",
+ "259": "abreve;",
+ "260": "Aogon;",
+ "261": "aogon;",
+ "262": "Cacute;",
+ "263": "cacute;",
+ "264": "Ccirc;",
+ "265": "ccirc;",
+ "266": "Cdot;",
+ "267": "cdot;",
+ "268": "Ccaron;",
+ "269": "ccaron;",
+ "270": "Dcaron;",
+ "271": "dcaron;",
+ "272": "Dstrok;",
+ "273": "dstrok;",
+ "274": "Emacr;",
+ "275": "emacr;",
+ "278": "Edot;",
+ "279": "edot;",
+ "280": "Eogon;",
+ "281": "eogon;",
+ "282": "Ecaron;",
+ "283": "ecaron;",
+ "284": "Gcirc;",
+ "285": "gcirc;",
+ "286": "Gbreve;",
+ "287": "gbreve;",
+ "288": "Gdot;",
+ "289": "gdot;",
+ "290": "Gcedil;",
+ "292": "Hcirc;",
+ "293": "hcirc;",
+ "294": "Hstrok;",
+ "295": "hstrok;",
+ "296": "Itilde;",
+ "297": "itilde;",
+ "298": "Imacr;",
+ "299": "imacr;",
+ "302": "Iogon;",
+ "303": "iogon;",
+ "304": "Idot;",
+ "305": "inodot;",
+ "306": "IJlig;",
+ "307": "ijlig;",
+ "308": "Jcirc;",
+ "309": "jcirc;",
+ "310": "Kcedil;",
+ "311": "kcedil;",
+ "312": "kgreen;",
+ "313": "Lacute;",
+ "314": "lacute;",
+ "315": "Lcedil;",
+ "316": "lcedil;",
+ "317": "Lcaron;",
+ "318": "lcaron;",
+ "319": "Lmidot;",
+ "320": "lmidot;",
+ "321": "Lstrok;",
+ "322": "lstrok;",
+ "323": "Nacute;",
+ "324": "nacute;",
+ "325": "Ncedil;",
+ "326": "ncedil;",
+ "327": "Ncaron;",
+ "328": "ncaron;",
+ "329": "napos;",
+ "330": "ENG;",
+ "331": "eng;",
+ "332": "Omacr;",
+ "333": "omacr;",
+ "336": "Odblac;",
+ "337": "odblac;",
+ "338": "OElig;",
+ "339": "oelig;",
+ "340": "Racute;",
+ "341": "racute;",
+ "342": "Rcedil;",
+ "343": "rcedil;",
+ "344": "Rcaron;",
+ "345": "rcaron;",
+ "346": "Sacute;",
+ "347": "sacute;",
+ "348": "Scirc;",
+ "349": "scirc;",
+ "350": "Scedil;",
+ "351": "scedil;",
+ "352": "Scaron;",
+ "353": "scaron;",
+ "354": "Tcedil;",
+ "355": "tcedil;",
+ "356": "Tcaron;",
+ "357": "tcaron;",
+ "358": "Tstrok;",
+ "359": "tstrok;",
+ "360": "Utilde;",
+ "361": "utilde;",
+ "362": "Umacr;",
+ "363": "umacr;",
+ "364": "Ubreve;",
+ "365": "ubreve;",
+ "366": "Uring;",
+ "367": "uring;",
+ "368": "Udblac;",
+ "369": "udblac;",
+ "370": "Uogon;",
+ "371": "uogon;",
+ "372": "Wcirc;",
+ "373": "wcirc;",
+ "374": "Ycirc;",
+ "375": "ycirc;",
+ "376": "Yuml;",
+ "377": "Zacute;",
+ "378": "zacute;",
+ "379": "Zdot;",
+ "380": "zdot;",
+ "381": "Zcaron;",
+ "382": "zcaron;",
+ "402": "fnof;",
+ "437": "imped;",
+ "501": "gacute;",
+ "567": "jmath;",
+ "710": "circ;",
+ "711": "Hacek;",
+ "728": "breve;",
+ "729": "dot;",
+ "730": "ring;",
+ "731": "ogon;",
+ "732": "tilde;",
+ "733": "DiacriticalDoubleAcute;",
+ "785": "DownBreve;",
+ "913": "Alpha;",
+ "914": "Beta;",
+ "915": "Gamma;",
+ "916": "Delta;",
+ "917": "Epsilon;",
+ "918": "Zeta;",
+ "919": "Eta;",
+ "920": "Theta;",
+ "921": "Iota;",
+ "922": "Kappa;",
+ "923": "Lambda;",
+ "924": "Mu;",
+ "925": "Nu;",
+ "926": "Xi;",
+ "927": "Omicron;",
+ "928": "Pi;",
+ "929": "Rho;",
+ "931": "Sigma;",
+ "932": "Tau;",
+ "933": "Upsilon;",
+ "934": "Phi;",
+ "935": "Chi;",
+ "936": "Psi;",
+ "937": "Omega;",
+ "945": "alpha;",
+ "946": "beta;",
+ "947": "gamma;",
+ "948": "delta;",
+ "949": "epsilon;",
+ "950": "zeta;",
+ "951": "eta;",
+ "952": "theta;",
+ "953": "iota;",
+ "954": "kappa;",
+ "955": "lambda;",
+ "956": "mu;",
+ "957": "nu;",
+ "958": "xi;",
+ "959": "omicron;",
+ "960": "pi;",
+ "961": "rho;",
+ "962": "varsigma;",
+ "963": "sigma;",
+ "964": "tau;",
+ "965": "upsilon;",
+ "966": "phi;",
+ "967": "chi;",
+ "968": "psi;",
+ "969": "omega;",
+ "977": "vartheta;",
+ "978": "upsih;",
+ "981": "varphi;",
+ "982": "varpi;",
+ "988": "Gammad;",
+ "989": "gammad;",
+ "1008": "varkappa;",
+ "1009": "varrho;",
+ "1013": "varepsilon;",
+ "1014": "bepsi;",
+ "1025": "IOcy;",
+ "1026": "DJcy;",
+ "1027": "GJcy;",
+ "1028": "Jukcy;",
+ "1029": "DScy;",
+ "1030": "Iukcy;",
+ "1031": "YIcy;",
+ "1032": "Jsercy;",
+ "1033": "LJcy;",
+ "1034": "NJcy;",
+ "1035": "TSHcy;",
+ "1036": "KJcy;",
+ "1038": "Ubrcy;",
+ "1039": "DZcy;",
+ "1040": "Acy;",
+ "1041": "Bcy;",
+ "1042": "Vcy;",
+ "1043": "Gcy;",
+ "1044": "Dcy;",
+ "1045": "IEcy;",
+ "1046": "ZHcy;",
+ "1047": "Zcy;",
+ "1048": "Icy;",
+ "1049": "Jcy;",
+ "1050": "Kcy;",
+ "1051": "Lcy;",
+ "1052": "Mcy;",
+ "1053": "Ncy;",
+ "1054": "Ocy;",
+ "1055": "Pcy;",
+ "1056": "Rcy;",
+ "1057": "Scy;",
+ "1058": "Tcy;",
+ "1059": "Ucy;",
+ "1060": "Fcy;",
+ "1061": "KHcy;",
+ "1062": "TScy;",
+ "1063": "CHcy;",
+ "1064": "SHcy;",
+ "1065": "SHCHcy;",
+ "1066": "HARDcy;",
+ "1067": "Ycy;",
+ "1068": "SOFTcy;",
+ "1069": "Ecy;",
+ "1070": "YUcy;",
+ "1071": "YAcy;",
+ "1072": "acy;",
+ "1073": "bcy;",
+ "1074": "vcy;",
+ "1075": "gcy;",
+ "1076": "dcy;",
+ "1077": "iecy;",
+ "1078": "zhcy;",
+ "1079": "zcy;",
+ "1080": "icy;",
+ "1081": "jcy;",
+ "1082": "kcy;",
+ "1083": "lcy;",
+ "1084": "mcy;",
+ "1085": "ncy;",
+ "1086": "ocy;",
+ "1087": "pcy;",
+ "1088": "rcy;",
+ "1089": "scy;",
+ "1090": "tcy;",
+ "1091": "ucy;",
+ "1092": "fcy;",
+ "1093": "khcy;",
+ "1094": "tscy;",
+ "1095": "chcy;",
+ "1096": "shcy;",
+ "1097": "shchcy;",
+ "1098": "hardcy;",
+ "1099": "ycy;",
+ "1100": "softcy;",
+ "1101": "ecy;",
+ "1102": "yucy;",
+ "1103": "yacy;",
+ "1105": "iocy;",
+ "1106": "djcy;",
+ "1107": "gjcy;",
+ "1108": "jukcy;",
+ "1109": "dscy;",
+ "1110": "iukcy;",
+ "1111": "yicy;",
+ "1112": "jsercy;",
+ "1113": "ljcy;",
+ "1114": "njcy;",
+ "1115": "tshcy;",
+ "1116": "kjcy;",
+ "1118": "ubrcy;",
+ "1119": "dzcy;",
+ "8194": "ensp;",
+ "8195": "emsp;",
+ "8196": "emsp13;",
+ "8197": "emsp14;",
+ "8199": "numsp;",
+ "8200": "puncsp;",
+ "8201": "ThinSpace;",
+ "8202": "VeryThinSpace;",
+ "8203": "ZeroWidthSpace;",
+ "8204": "zwnj;",
+ "8205": "zwj;",
+ "8206": "lrm;",
+ "8207": "rlm;",
+ "8208": "hyphen;",
+ "8211": "ndash;",
+ "8212": "mdash;",
+ "8213": "horbar;",
+ "8214": "Vert;",
+ "8216": "OpenCurlyQuote;",
+ "8217": "rsquor;",
+ "8218": "sbquo;",
+ "8220": "OpenCurlyDoubleQuote;",
+ "8221": "rdquor;",
+ "8222": "ldquor;",
+ "8224": "dagger;",
+ "8225": "ddagger;",
+ "8226": "bullet;",
+ "8229": "nldr;",
+ "8230": "mldr;",
+ "8240": "permil;",
+ "8241": "pertenk;",
+ "8242": "prime;",
+ "8243": "Prime;",
+ "8244": "tprime;",
+ "8245": "bprime;",
+ "8249": "lsaquo;",
+ "8250": "rsaquo;",
+ "8254": "OverBar;",
+ "8257": "caret;",
+ "8259": "hybull;",
+ "8260": "frasl;",
+ "8271": "bsemi;",
+ "8279": "qprime;",
+ "8287": "MediumSpace;",
+ "8288": "NoBreak;",
+ "8289": "ApplyFunction;",
+ "8290": "it;",
+ "8291": "InvisibleComma;",
+ "8364": "euro;",
+ "8411": "TripleDot;",
+ "8412": "DotDot;",
+ "8450": "Copf;",
+ "8453": "incare;",
+ "8458": "gscr;",
+ "8459": "Hscr;",
+ "8460": "Poincareplane;",
+ "8461": "quaternions;",
+ "8462": "planckh;",
+ "8463": "plankv;",
+ "8464": "Iscr;",
+ "8465": "imagpart;",
+ "8466": "Lscr;",
+ "8467": "ell;",
+ "8469": "Nopf;",
+ "8470": "numero;",
+ "8471": "copysr;",
+ "8472": "wp;",
+ "8473": "primes;",
+ "8474": "rationals;",
+ "8475": "Rscr;",
+ "8476": "Rfr;",
+ "8477": "Ropf;",
+ "8478": "rx;",
+ "8482": "trade;",
+ "8484": "Zopf;",
+ "8487": "mho;",
+ "8488": "Zfr;",
+ "8489": "iiota;",
+ "8492": "Bscr;",
+ "8493": "Cfr;",
+ "8495": "escr;",
+ "8496": "expectation;",
+ "8497": "Fscr;",
+ "8499": "phmmat;",
+ "8500": "oscr;",
+ "8501": "aleph;",
+ "8502": "beth;",
+ "8503": "gimel;",
+ "8504": "daleth;",
+ "8517": "DD;",
+ "8518": "DifferentialD;",
+ "8519": "exponentiale;",
+ "8520": "ImaginaryI;",
+ "8531": "frac13;",
+ "8532": "frac23;",
+ "8533": "frac15;",
+ "8534": "frac25;",
+ "8535": "frac35;",
+ "8536": "frac45;",
+ "8537": "frac16;",
+ "8538": "frac56;",
+ "8539": "frac18;",
+ "8540": "frac38;",
+ "8541": "frac58;",
+ "8542": "frac78;",
+ "8592": "slarr;",
+ "8593": "uparrow;",
+ "8594": "srarr;",
+ "8595": "ShortDownArrow;",
+ "8596": "leftrightarrow;",
+ "8597": "varr;",
+ "8598": "UpperLeftArrow;",
+ "8599": "UpperRightArrow;",
+ "8600": "searrow;",
+ "8601": "swarrow;",
+ "8602": "nleftarrow;",
+ "8603": "nrightarrow;",
+ "8605": "rightsquigarrow;",
+ "8606": "twoheadleftarrow;",
+ "8607": "Uarr;",
+ "8608": "twoheadrightarrow;",
+ "8609": "Darr;",
+ "8610": "leftarrowtail;",
+ "8611": "rightarrowtail;",
+ "8612": "mapstoleft;",
+ "8613": "UpTeeArrow;",
+ "8614": "RightTeeArrow;",
+ "8615": "mapstodown;",
+ "8617": "larrhk;",
+ "8618": "rarrhk;",
+ "8619": "looparrowleft;",
+ "8620": "rarrlp;",
+ "8621": "leftrightsquigarrow;",
+ "8622": "nleftrightarrow;",
+ "8624": "lsh;",
+ "8625": "rsh;",
+ "8626": "ldsh;",
+ "8627": "rdsh;",
+ "8629": "crarr;",
+ "8630": "curvearrowleft;",
+ "8631": "curvearrowright;",
+ "8634": "olarr;",
+ "8635": "orarr;",
+ "8636": "lharu;",
+ "8637": "lhard;",
+ "8638": "upharpoonright;",
+ "8639": "upharpoonleft;",
+ "8640": "RightVector;",
+ "8641": "rightharpoondown;",
+ "8642": "RightDownVector;",
+ "8643": "LeftDownVector;",
+ "8644": "rlarr;",
+ "8645": "UpArrowDownArrow;",
+ "8646": "lrarr;",
+ "8647": "llarr;",
+ "8648": "uuarr;",
+ "8649": "rrarr;",
+ "8650": "downdownarrows;",
+ "8651": "ReverseEquilibrium;",
+ "8652": "rlhar;",
+ "8653": "nLeftarrow;",
+ "8654": "nLeftrightarrow;",
+ "8655": "nRightarrow;",
+ "8656": "Leftarrow;",
+ "8657": "Uparrow;",
+ "8658": "Rightarrow;",
+ "8659": "Downarrow;",
+ "8660": "Leftrightarrow;",
+ "8661": "vArr;",
+ "8662": "nwArr;",
+ "8663": "neArr;",
+ "8664": "seArr;",
+ "8665": "swArr;",
+ "8666": "Lleftarrow;",
+ "8667": "Rrightarrow;",
+ "8669": "zigrarr;",
+ "8676": "LeftArrowBar;",
+ "8677": "RightArrowBar;",
+ "8693": "duarr;",
+ "8701": "loarr;",
+ "8702": "roarr;",
+ "8703": "hoarr;",
+ "8704": "forall;",
+ "8705": "complement;",
+ "8706": "PartialD;",
+ "8707": "Exists;",
+ "8708": "NotExists;",
+ "8709": "varnothing;",
+ "8711": "nabla;",
+ "8712": "isinv;",
+ "8713": "notinva;",
+ "8715": "SuchThat;",
+ "8716": "NotReverseElement;",
+ "8719": "Product;",
+ "8720": "Coproduct;",
+ "8721": "sum;",
+ "8722": "minus;",
+ "8723": "mp;",
+ "8724": "plusdo;",
+ "8726": "ssetmn;",
+ "8727": "lowast;",
+ "8728": "SmallCircle;",
+ "8730": "Sqrt;",
+ "8733": "vprop;",
+ "8734": "infin;",
+ "8735": "angrt;",
+ "8736": "angle;",
+ "8737": "measuredangle;",
+ "8738": "angsph;",
+ "8739": "VerticalBar;",
+ "8740": "nsmid;",
+ "8741": "spar;",
+ "8742": "nspar;",
+ "8743": "wedge;",
+ "8744": "vee;",
+ "8745": "cap;",
+ "8746": "cup;",
+ "8747": "Integral;",
+ "8748": "Int;",
+ "8749": "tint;",
+ "8750": "oint;",
+ "8751": "DoubleContourIntegral;",
+ "8752": "Cconint;",
+ "8753": "cwint;",
+ "8754": "cwconint;",
+ "8755": "CounterClockwiseContourIntegral;",
+ "8756": "therefore;",
+ "8757": "because;",
+ "8758": "ratio;",
+ "8759": "Proportion;",
+ "8760": "minusd;",
+ "8762": "mDDot;",
+ "8763": "homtht;",
+ "8764": "Tilde;",
+ "8765": "bsim;",
+ "8766": "mstpos;",
+ "8767": "acd;",
+ "8768": "wreath;",
+ "8769": "nsim;",
+ "8770": "esim;",
+ "8771": "TildeEqual;",
+ "8772": "nsimeq;",
+ "8773": "TildeFullEqual;",
+ "8774": "simne;",
+ "8775": "NotTildeFullEqual;",
+ "8776": "TildeTilde;",
+ "8777": "NotTildeTilde;",
+ "8778": "approxeq;",
+ "8779": "apid;",
+ "8780": "bcong;",
+ "8781": "CupCap;",
+ "8782": "HumpDownHump;",
+ "8783": "HumpEqual;",
+ "8784": "esdot;",
+ "8785": "eDot;",
+ "8786": "fallingdotseq;",
+ "8787": "risingdotseq;",
+ "8788": "coloneq;",
+ "8789": "eqcolon;",
+ "8790": "eqcirc;",
+ "8791": "cire;",
+ "8793": "wedgeq;",
+ "8794": "veeeq;",
+ "8796": "trie;",
+ "8799": "questeq;",
+ "8800": "NotEqual;",
+ "8801": "equiv;",
+ "8802": "NotCongruent;",
+ "8804": "leq;",
+ "8805": "GreaterEqual;",
+ "8806": "LessFullEqual;",
+ "8807": "GreaterFullEqual;",
+ "8808": "lneqq;",
+ "8809": "gneqq;",
+ "8810": "NestedLessLess;",
+ "8811": "NestedGreaterGreater;",
+ "8812": "twixt;",
+ "8813": "NotCupCap;",
+ "8814": "NotLess;",
+ "8815": "NotGreater;",
+ "8816": "NotLessEqual;",
+ "8817": "NotGreaterEqual;",
+ "8818": "lsim;",
+ "8819": "gtrsim;",
+ "8820": "NotLessTilde;",
+ "8821": "NotGreaterTilde;",
+ "8822": "lg;",
+ "8823": "gtrless;",
+ "8824": "ntlg;",
+ "8825": "ntgl;",
+ "8826": "Precedes;",
+ "8827": "Succeeds;",
+ "8828": "PrecedesSlantEqual;",
+ "8829": "SucceedsSlantEqual;",
+ "8830": "prsim;",
+ "8831": "succsim;",
+ "8832": "nprec;",
+ "8833": "nsucc;",
+ "8834": "subset;",
+ "8835": "supset;",
+ "8836": "nsub;",
+ "8837": "nsup;",
+ "8838": "SubsetEqual;",
+ "8839": "supseteq;",
+ "8840": "nsubseteq;",
+ "8841": "nsupseteq;",
+ "8842": "subsetneq;",
+ "8843": "supsetneq;",
+ "8845": "cupdot;",
+ "8846": "uplus;",
+ "8847": "SquareSubset;",
+ "8848": "SquareSuperset;",
+ "8849": "SquareSubsetEqual;",
+ "8850": "SquareSupersetEqual;",
+ "8851": "SquareIntersection;",
+ "8852": "SquareUnion;",
+ "8853": "oplus;",
+ "8854": "ominus;",
+ "8855": "otimes;",
+ "8856": "osol;",
+ "8857": "odot;",
+ "8858": "ocir;",
+ "8859": "oast;",
+ "8861": "odash;",
+ "8862": "plusb;",
+ "8863": "minusb;",
+ "8864": "timesb;",
+ "8865": "sdotb;",
+ "8866": "vdash;",
+ "8867": "LeftTee;",
+ "8868": "top;",
+ "8869": "UpTee;",
+ "8871": "models;",
+ "8872": "vDash;",
+ "8873": "Vdash;",
+ "8874": "Vvdash;",
+ "8875": "VDash;",
+ "8876": "nvdash;",
+ "8877": "nvDash;",
+ "8878": "nVdash;",
+ "8879": "nVDash;",
+ "8880": "prurel;",
+ "8882": "vltri;",
+ "8883": "vrtri;",
+ "8884": "trianglelefteq;",
+ "8885": "trianglerighteq;",
+ "8886": "origof;",
+ "8887": "imof;",
+ "8888": "mumap;",
+ "8889": "hercon;",
+ "8890": "intercal;",
+ "8891": "veebar;",
+ "8893": "barvee;",
+ "8894": "angrtvb;",
+ "8895": "lrtri;",
+ "8896": "xwedge;",
+ "8897": "xvee;",
+ "8898": "xcap;",
+ "8899": "xcup;",
+ "8900": "diamond;",
+ "8901": "sdot;",
+ "8902": "Star;",
+ "8903": "divonx;",
+ "8904": "bowtie;",
+ "8905": "ltimes;",
+ "8906": "rtimes;",
+ "8907": "lthree;",
+ "8908": "rthree;",
+ "8909": "bsime;",
+ "8910": "cuvee;",
+ "8911": "cuwed;",
+ "8912": "Subset;",
+ "8913": "Supset;",
+ "8914": "Cap;",
+ "8915": "Cup;",
+ "8916": "pitchfork;",
+ "8917": "epar;",
+ "8918": "ltdot;",
+ "8919": "gtrdot;",
+ "8920": "Ll;",
+ "8921": "ggg;",
+ "8922": "LessEqualGreater;",
+ "8923": "gtreqless;",
+ "8926": "curlyeqprec;",
+ "8927": "curlyeqsucc;",
+ "8928": "nprcue;",
+ "8929": "nsccue;",
+ "8930": "nsqsube;",
+ "8931": "nsqsupe;",
+ "8934": "lnsim;",
+ "8935": "gnsim;",
+ "8936": "prnsim;",
+ "8937": "succnsim;",
+ "8938": "ntriangleleft;",
+ "8939": "ntriangleright;",
+ "8940": "ntrianglelefteq;",
+ "8941": "ntrianglerighteq;",
+ "8942": "vellip;",
+ "8943": "ctdot;",
+ "8944": "utdot;",
+ "8945": "dtdot;",
+ "8946": "disin;",
+ "8947": "isinsv;",
+ "8948": "isins;",
+ "8949": "isindot;",
+ "8950": "notinvc;",
+ "8951": "notinvb;",
+ "8953": "isinE;",
+ "8954": "nisd;",
+ "8955": "xnis;",
+ "8956": "nis;",
+ "8957": "notnivc;",
+ "8958": "notnivb;",
+ "8965": "barwedge;",
+ "8966": "doublebarwedge;",
+ "8968": "LeftCeiling;",
+ "8969": "RightCeiling;",
+ "8970": "lfloor;",
+ "8971": "RightFloor;",
+ "8972": "drcrop;",
+ "8973": "dlcrop;",
+ "8974": "urcrop;",
+ "8975": "ulcrop;",
+ "8976": "bnot;",
+ "8978": "profline;",
+ "8979": "profsurf;",
+ "8981": "telrec;",
+ "8982": "target;",
+ "8988": "ulcorner;",
+ "8989": "urcorner;",
+ "8990": "llcorner;",
+ "8991": "lrcorner;",
+ "8994": "sfrown;",
+ "8995": "ssmile;",
+ "9005": "cylcty;",
+ "9006": "profalar;",
+ "9014": "topbot;",
+ "9021": "ovbar;",
+ "9023": "solbar;",
+ "9084": "angzarr;",
+ "9136": "lmoustache;",
+ "9137": "rmoustache;",
+ "9140": "tbrk;",
+ "9141": "UnderBracket;",
+ "9142": "bbrktbrk;",
+ "9180": "OverParenthesis;",
+ "9181": "UnderParenthesis;",
+ "9182": "OverBrace;",
+ "9183": "UnderBrace;",
+ "9186": "trpezium;",
+ "9191": "elinters;",
+ "9251": "blank;",
+ "9416": "oS;",
+ "9472": "HorizontalLine;",
+ "9474": "boxv;",
+ "9484": "boxdr;",
+ "9488": "boxdl;",
+ "9492": "boxur;",
+ "9496": "boxul;",
+ "9500": "boxvr;",
+ "9508": "boxvl;",
+ "9516": "boxhd;",
+ "9524": "boxhu;",
+ "9532": "boxvh;",
+ "9552": "boxH;",
+ "9553": "boxV;",
+ "9554": "boxdR;",
+ "9555": "boxDr;",
+ "9556": "boxDR;",
+ "9557": "boxdL;",
+ "9558": "boxDl;",
+ "9559": "boxDL;",
+ "9560": "boxuR;",
+ "9561": "boxUr;",
+ "9562": "boxUR;",
+ "9563": "boxuL;",
+ "9564": "boxUl;",
+ "9565": "boxUL;",
+ "9566": "boxvR;",
+ "9567": "boxVr;",
+ "9568": "boxVR;",
+ "9569": "boxvL;",
+ "9570": "boxVl;",
+ "9571": "boxVL;",
+ "9572": "boxHd;",
+ "9573": "boxhD;",
+ "9574": "boxHD;",
+ "9575": "boxHu;",
+ "9576": "boxhU;",
+ "9577": "boxHU;",
+ "9578": "boxvH;",
+ "9579": "boxVh;",
+ "9580": "boxVH;",
+ "9600": "uhblk;",
+ "9604": "lhblk;",
+ "9608": "block;",
+ "9617": "blk14;",
+ "9618": "blk12;",
+ "9619": "blk34;",
+ "9633": "square;",
+ "9642": "squf;",
+ "9643": "EmptyVerySmallSquare;",
+ "9645": "rect;",
+ "9646": "marker;",
+ "9649": "fltns;",
+ "9651": "xutri;",
+ "9652": "utrif;",
+ "9653": "utri;",
+ "9656": "rtrif;",
+ "9657": "triangleright;",
+ "9661": "xdtri;",
+ "9662": "dtrif;",
+ "9663": "triangledown;",
+ "9666": "ltrif;",
+ "9667": "triangleleft;",
+ "9674": "lozenge;",
+ "9675": "cir;",
+ "9708": "tridot;",
+ "9711": "xcirc;",
+ "9720": "ultri;",
+ "9721": "urtri;",
+ "9722": "lltri;",
+ "9723": "EmptySmallSquare;",
+ "9724": "FilledSmallSquare;",
+ "9733": "starf;",
+ "9734": "star;",
+ "9742": "phone;",
+ "9792": "female;",
+ "9794": "male;",
+ "9824": "spadesuit;",
+ "9827": "clubsuit;",
+ "9829": "heartsuit;",
+ "9830": "diams;",
+ "9834": "sung;",
+ "9837": "flat;",
+ "9838": "natural;",
+ "9839": "sharp;",
+ "10003": "checkmark;",
+ "10007": "cross;",
+ "10016": "maltese;",
+ "10038": "sext;",
+ "10072": "VerticalSeparator;",
+ "10098": "lbbrk;",
+ "10099": "rbbrk;",
+ "10184": "bsolhsub;",
+ "10185": "suphsol;",
+ "10214": "lobrk;",
+ "10215": "robrk;",
+ "10216": "LeftAngleBracket;",
+ "10217": "RightAngleBracket;",
+ "10218": "Lang;",
+ "10219": "Rang;",
+ "10220": "loang;",
+ "10221": "roang;",
+ "10229": "xlarr;",
+ "10230": "xrarr;",
+ "10231": "xharr;",
+ "10232": "xlArr;",
+ "10233": "xrArr;",
+ "10234": "xhArr;",
+ "10236": "xmap;",
+ "10239": "dzigrarr;",
+ "10498": "nvlArr;",
+ "10499": "nvrArr;",
+ "10500": "nvHarr;",
+ "10501": "Map;",
+ "10508": "lbarr;",
+ "10509": "rbarr;",
+ "10510": "lBarr;",
+ "10511": "rBarr;",
+ "10512": "RBarr;",
+ "10513": "DDotrahd;",
+ "10514": "UpArrowBar;",
+ "10515": "DownArrowBar;",
+ "10518": "Rarrtl;",
+ "10521": "latail;",
+ "10522": "ratail;",
+ "10523": "lAtail;",
+ "10524": "rAtail;",
+ "10525": "larrfs;",
+ "10526": "rarrfs;",
+ "10527": "larrbfs;",
+ "10528": "rarrbfs;",
+ "10531": "nwarhk;",
+ "10532": "nearhk;",
+ "10533": "searhk;",
+ "10534": "swarhk;",
+ "10535": "nwnear;",
+ "10536": "toea;",
+ "10537": "tosa;",
+ "10538": "swnwar;",
+ "10547": "rarrc;",
+ "10549": "cudarrr;",
+ "10550": "ldca;",
+ "10551": "rdca;",
+ "10552": "cudarrl;",
+ "10553": "larrpl;",
+ "10556": "curarrm;",
+ "10557": "cularrp;",
+ "10565": "rarrpl;",
+ "10568": "harrcir;",
+ "10569": "Uarrocir;",
+ "10570": "lurdshar;",
+ "10571": "ldrushar;",
+ "10574": "LeftRightVector;",
+ "10575": "RightUpDownVector;",
+ "10576": "DownLeftRightVector;",
+ "10577": "LeftUpDownVector;",
+ "10578": "LeftVectorBar;",
+ "10579": "RightVectorBar;",
+ "10580": "RightUpVectorBar;",
+ "10581": "RightDownVectorBar;",
+ "10582": "DownLeftVectorBar;",
+ "10583": "DownRightVectorBar;",
+ "10584": "LeftUpVectorBar;",
+ "10585": "LeftDownVectorBar;",
+ "10586": "LeftTeeVector;",
+ "10587": "RightTeeVector;",
+ "10588": "RightUpTeeVector;",
+ "10589": "RightDownTeeVector;",
+ "10590": "DownLeftTeeVector;",
+ "10591": "DownRightTeeVector;",
+ "10592": "LeftUpTeeVector;",
+ "10593": "LeftDownTeeVector;",
+ "10594": "lHar;",
+ "10595": "uHar;",
+ "10596": "rHar;",
+ "10597": "dHar;",
+ "10598": "luruhar;",
+ "10599": "ldrdhar;",
+ "10600": "ruluhar;",
+ "10601": "rdldhar;",
+ "10602": "lharul;",
+ "10603": "llhard;",
+ "10604": "rharul;",
+ "10605": "lrhard;",
+ "10606": "UpEquilibrium;",
+ "10607": "ReverseUpEquilibrium;",
+ "10608": "RoundImplies;",
+ "10609": "erarr;",
+ "10610": "simrarr;",
+ "10611": "larrsim;",
+ "10612": "rarrsim;",
+ "10613": "rarrap;",
+ "10614": "ltlarr;",
+ "10616": "gtrarr;",
+ "10617": "subrarr;",
+ "10619": "suplarr;",
+ "10620": "lfisht;",
+ "10621": "rfisht;",
+ "10622": "ufisht;",
+ "10623": "dfisht;",
+ "10629": "lopar;",
+ "10630": "ropar;",
+ "10635": "lbrke;",
+ "10636": "rbrke;",
+ "10637": "lbrkslu;",
+ "10638": "rbrksld;",
+ "10639": "lbrksld;",
+ "10640": "rbrkslu;",
+ "10641": "langd;",
+ "10642": "rangd;",
+ "10643": "lparlt;",
+ "10644": "rpargt;",
+ "10645": "gtlPar;",
+ "10646": "ltrPar;",
+ "10650": "vzigzag;",
+ "10652": "vangrt;",
+ "10653": "angrtvbd;",
+ "10660": "ange;",
+ "10661": "range;",
+ "10662": "dwangle;",
+ "10663": "uwangle;",
+ "10664": "angmsdaa;",
+ "10665": "angmsdab;",
+ "10666": "angmsdac;",
+ "10667": "angmsdad;",
+ "10668": "angmsdae;",
+ "10669": "angmsdaf;",
+ "10670": "angmsdag;",
+ "10671": "angmsdah;",
+ "10672": "bemptyv;",
+ "10673": "demptyv;",
+ "10674": "cemptyv;",
+ "10675": "raemptyv;",
+ "10676": "laemptyv;",
+ "10677": "ohbar;",
+ "10678": "omid;",
+ "10679": "opar;",
+ "10681": "operp;",
+ "10683": "olcross;",
+ "10684": "odsold;",
+ "10686": "olcir;",
+ "10687": "ofcir;",
+ "10688": "olt;",
+ "10689": "ogt;",
+ "10690": "cirscir;",
+ "10691": "cirE;",
+ "10692": "solb;",
+ "10693": "bsolb;",
+ "10697": "boxbox;",
+ "10701": "trisb;",
+ "10702": "rtriltri;",
+ "10703": "LeftTriangleBar;",
+ "10704": "RightTriangleBar;",
+ "10716": "iinfin;",
+ "10717": "infintie;",
+ "10718": "nvinfin;",
+ "10723": "eparsl;",
+ "10724": "smeparsl;",
+ "10725": "eqvparsl;",
+ "10731": "lozf;",
+ "10740": "RuleDelayed;",
+ "10742": "dsol;",
+ "10752": "xodot;",
+ "10753": "xoplus;",
+ "10754": "xotime;",
+ "10756": "xuplus;",
+ "10758": "xsqcup;",
+ "10764": "qint;",
+ "10765": "fpartint;",
+ "10768": "cirfnint;",
+ "10769": "awint;",
+ "10770": "rppolint;",
+ "10771": "scpolint;",
+ "10772": "npolint;",
+ "10773": "pointint;",
+ "10774": "quatint;",
+ "10775": "intlarhk;",
+ "10786": "pluscir;",
+ "10787": "plusacir;",
+ "10788": "simplus;",
+ "10789": "plusdu;",
+ "10790": "plussim;",
+ "10791": "plustwo;",
+ "10793": "mcomma;",
+ "10794": "minusdu;",
+ "10797": "loplus;",
+ "10798": "roplus;",
+ "10799": "Cross;",
+ "10800": "timesd;",
+ "10801": "timesbar;",
+ "10803": "smashp;",
+ "10804": "lotimes;",
+ "10805": "rotimes;",
+ "10806": "otimesas;",
+ "10807": "Otimes;",
+ "10808": "odiv;",
+ "10809": "triplus;",
+ "10810": "triminus;",
+ "10811": "tritime;",
+ "10812": "iprod;",
+ "10815": "amalg;",
+ "10816": "capdot;",
+ "10818": "ncup;",
+ "10819": "ncap;",
+ "10820": "capand;",
+ "10821": "cupor;",
+ "10822": "cupcap;",
+ "10823": "capcup;",
+ "10824": "cupbrcap;",
+ "10825": "capbrcup;",
+ "10826": "cupcup;",
+ "10827": "capcap;",
+ "10828": "ccups;",
+ "10829": "ccaps;",
+ "10832": "ccupssm;",
+ "10835": "And;",
+ "10836": "Or;",
+ "10837": "andand;",
+ "10838": "oror;",
+ "10839": "orslope;",
+ "10840": "andslope;",
+ "10842": "andv;",
+ "10843": "orv;",
+ "10844": "andd;",
+ "10845": "ord;",
+ "10847": "wedbar;",
+ "10854": "sdote;",
+ "10858": "simdot;",
+ "10861": "congdot;",
+ "10862": "easter;",
+ "10863": "apacir;",
+ "10864": "apE;",
+ "10865": "eplus;",
+ "10866": "pluse;",
+ "10867": "Esim;",
+ "10868": "Colone;",
+ "10869": "Equal;",
+ "10871": "eDDot;",
+ "10872": "equivDD;",
+ "10873": "ltcir;",
+ "10874": "gtcir;",
+ "10875": "ltquest;",
+ "10876": "gtquest;",
+ "10877": "LessSlantEqual;",
+ "10878": "GreaterSlantEqual;",
+ "10879": "lesdot;",
+ "10880": "gesdot;",
+ "10881": "lesdoto;",
+ "10882": "gesdoto;",
+ "10883": "lesdotor;",
+ "10884": "gesdotol;",
+ "10885": "lessapprox;",
+ "10886": "gtrapprox;",
+ "10887": "lneq;",
+ "10888": "gneq;",
+ "10889": "lnapprox;",
+ "10890": "gnapprox;",
+ "10891": "lesseqqgtr;",
+ "10892": "gtreqqless;",
+ "10893": "lsime;",
+ "10894": "gsime;",
+ "10895": "lsimg;",
+ "10896": "gsiml;",
+ "10897": "lgE;",
+ "10898": "glE;",
+ "10899": "lesges;",
+ "10900": "gesles;",
+ "10901": "eqslantless;",
+ "10902": "eqslantgtr;",
+ "10903": "elsdot;",
+ "10904": "egsdot;",
+ "10905": "el;",
+ "10906": "eg;",
+ "10909": "siml;",
+ "10910": "simg;",
+ "10911": "simlE;",
+ "10912": "simgE;",
+ "10913": "LessLess;",
+ "10914": "GreaterGreater;",
+ "10916": "glj;",
+ "10917": "gla;",
+ "10918": "ltcc;",
+ "10919": "gtcc;",
+ "10920": "lescc;",
+ "10921": "gescc;",
+ "10922": "smt;",
+ "10923": "lat;",
+ "10924": "smte;",
+ "10925": "late;",
+ "10926": "bumpE;",
+ "10927": "preceq;",
+ "10928": "succeq;",
+ "10931": "prE;",
+ "10932": "scE;",
+ "10933": "prnE;",
+ "10934": "succneqq;",
+ "10935": "precapprox;",
+ "10936": "succapprox;",
+ "10937": "prnap;",
+ "10938": "succnapprox;",
+ "10939": "Pr;",
+ "10940": "Sc;",
+ "10941": "subdot;",
+ "10942": "supdot;",
+ "10943": "subplus;",
+ "10944": "supplus;",
+ "10945": "submult;",
+ "10946": "supmult;",
+ "10947": "subedot;",
+ "10948": "supedot;",
+ "10949": "subseteqq;",
+ "10950": "supseteqq;",
+ "10951": "subsim;",
+ "10952": "supsim;",
+ "10955": "subsetneqq;",
+ "10956": "supsetneqq;",
+ "10959": "csub;",
+ "10960": "csup;",
+ "10961": "csube;",
+ "10962": "csupe;",
+ "10963": "subsup;",
+ "10964": "supsub;",
+ "10965": "subsub;",
+ "10966": "supsup;",
+ "10967": "suphsub;",
+ "10968": "supdsub;",
+ "10969": "forkv;",
+ "10970": "topfork;",
+ "10971": "mlcp;",
+ "10980": "DoubleLeftTee;",
+ "10982": "Vdashl;",
+ "10983": "Barv;",
+ "10984": "vBar;",
+ "10985": "vBarv;",
+ "10987": "Vbar;",
+ "10988": "Not;",
+ "10989": "bNot;",
+ "10990": "rnmid;",
+ "10991": "cirmid;",
+ "10992": "midcir;",
+ "10993": "topcir;",
+ "10994": "nhpar;",
+ "10995": "parsim;",
+ "11005": "parsl;",
+ "64256": "fflig;",
+ "64257": "filig;",
+ "64258": "fllig;",
+ "64259": "ffilig;",
+ "64260": "ffllig;"
+}
+},{}],9:[function(require,module,exports){
+'use strict';
+
+var hasOwn = Object.prototype.hasOwnProperty;
+var toStr = Object.prototype.toString;
+var defineProperty = Object.defineProperty;
+var gOPD = Object.getOwnPropertyDescriptor;
+
+var isArray = function isArray(arr) {
+ if (typeof Array.isArray === 'function') {
+ return Array.isArray(arr);
+ }
+
+ return toStr.call(arr) === '[object Array]';
+};
+
+var isPlainObject = function isPlainObject(obj) {
+ if (!obj || toStr.call(obj) !== '[object Object]') {
+ return false;
+ }
+
+ var hasOwnConstructor = hasOwn.call(obj, 'constructor');
+ var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');
+ // Not own constructor property must be Object
+ if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {
+ return false;
+ }
+
+ // Own properties are enumerated firstly, so to speed up,
+ // if last one is own, then all properties are own.
+ var key;
+ for (key in obj) { /**/ }
+
+ return typeof key === 'undefined' || hasOwn.call(obj, key);
+};
+
+// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target
+var setProperty = function setProperty(target, options) {
+ if (defineProperty && options.name === '__proto__') {
+ defineProperty(target, options.name, {
+ enumerable: true,
+ configurable: true,
+ value: options.newValue,
+ writable: true
+ });
+ } else {
+ target[options.name] = options.newValue;
+ }
+};
+
+// Return undefined instead of __proto__ if '__proto__' is not an own property
+var getProperty = function getProperty(obj, name) {
+ if (name === '__proto__') {
+ if (!hasOwn.call(obj, name)) {
+ return void 0;
+ } else if (gOPD) {
+ // In early versions of node, obj['__proto__'] is buggy when obj has
+ // __proto__ as an own property. Object.getOwnPropertyDescriptor() works.
+ return gOPD(obj, name).value;
+ }
+ }
+
+ return obj[name];
+};
+
+module.exports = function extend() {
+ var options, name, src, copy, copyIsArray, clone;
+ var target = arguments[0];
+ var i = 1;
+ var length = arguments.length;
+ var deep = false;
+
+ // Handle a deep copy situation
+ if (typeof target === 'boolean') {
+ deep = target;
+ target = arguments[1] || {};
+ // skip the boolean and the target
+ i = 2;
+ }
+ if (target == null || (typeof target !== 'object' && typeof target !== 'function')) {
+ target = {};
+ }
+
+ for (; i < length; ++i) {
+ options = arguments[i];
+ // Only deal with non-null/undefined values
+ if (options != null) {
+ // Extend the base object
+ for (name in options) {
+ src = getProperty(target, name);
+ copy = getProperty(options, name);
+
+ // Prevent never-ending loop
+ if (target !== copy) {
+ // Recurse if we're merging plain objects or arrays
+ if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {
+ if (copyIsArray) {
+ copyIsArray = false;
+ clone = src && isArray(src) ? src : [];
+ } else {
+ clone = src && isPlainObject(src) ? src : {};
+ }
+
+ // Never move original objects, clone them
+ setProperty(target, { name: name, newValue: extend(deep, clone, copy) });
+
+ // Don't bring in undefined values
+ } else if (typeof copy !== 'undefined') {
+ setProperty(target, { name: name, newValue: copy });
+ }
+ }
+ }
+ }
+ }
+
+ // Return the modified object
+ return target;
+};
+
+},{}],10:[function(require,module,exports){
+/**
+ * This file automatically generated from `pre-publish.js`.
+ * Do not manually edit.
+ */
+
+module.exports = {
+ "area": true,
+ "base": true,
+ "br": true,
+ "col": true,
+ "embed": true,
+ "hr": true,
+ "img": true,
+ "input": true,
+ "keygen": true,
+ "link": true,
+ "menuitem": true,
+ "meta": true,
+ "param": true,
+ "source": true,
+ "track": true,
+ "wbr": true
+};
+
+},{}],11:[function(require,module,exports){
+(function (global){
+/*! https://mths.be/punycode v1.4.1 by @mathias */
+;(function(root) {
+
+ /** Detect free variables */
+ var freeExports = typeof exports == 'object' && exports &&
+ !exports.nodeType && exports;
+ var freeModule = typeof module == 'object' && module &&
+ !module.nodeType && module;
+ var freeGlobal = typeof global == 'object' && global;
+ if (
+ freeGlobal.global === freeGlobal ||
+ freeGlobal.window === freeGlobal ||
+ freeGlobal.self === freeGlobal
+ ) {
+ root = freeGlobal;
+ }
+
+ /**
+ * The `punycode` object.
+ * @name punycode
+ * @type Object
+ */
+ var punycode,
+
+ /** Highest positive signed 32-bit float value */
+ maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1
+
+ /** Bootstring parameters */
+ base = 36,
+ tMin = 1,
+ tMax = 26,
+ skew = 38,
+ damp = 700,
+ initialBias = 72,
+ initialN = 128, // 0x80
+ delimiter = '-', // '\x2D'
+
+ /** Regular expressions */
+ regexPunycode = /^xn--/,
+ regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars
+ regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators
+
+ /** Error messages */
+ errors = {
+ 'overflow': 'Overflow: input needs wider integers to process',
+ 'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
+ 'invalid-input': 'Invalid input'
+ },
+
+ /** Convenience shortcuts */
+ baseMinusTMin = base - tMin,
+ floor = Math.floor,
+ stringFromCharCode = String.fromCharCode,
+
+ /** Temporary variable */
+ key;
+
+ /*--------------------------------------------------------------------------*/
+
+ /**
+ * A generic error utility function.
+ * @private
+ * @param {String} type The error type.
+ * @returns {Error} Throws a `RangeError` with the applicable error message.
+ */
+ function error(type) {
+ throw new RangeError(errors[type]);
+ }
+
+ /**
+ * A generic `Array#map` utility function.
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} callback The function that gets called for every array
+ * item.
+ * @returns {Array} A new array of values returned by the callback function.
+ */
+ function map(array, fn) {
+ var length = array.length;
+ var result = [];
+ while (length--) {
+ result[length] = fn(array[length]);
+ }
+ return result;
+ }
+
+ /**
+ * A simple `Array#map`-like wrapper to work with domain name strings or email
+ * addresses.
+ * @private
+ * @param {String} domain The domain name or email address.
+ * @param {Function} callback The function that gets called for every
+ * character.
+ * @returns {Array} A new string of characters returned by the callback
+ * function.
+ */
+ function mapDomain(string, fn) {
+ var parts = string.split('@');
+ var result = '';
+ if (parts.length > 1) {
+ // In email addresses, only the domain name should be punycoded. Leave
+ // the local part (i.e. everything up to `@`) intact.
+ result = parts[0] + '@';
+ string = parts[1];
+ }
+ // Avoid `split(regex)` for IE8 compatibility. See #17.
+ string = string.replace(regexSeparators, '\x2E');
+ var labels = string.split('.');
+ var encoded = map(labels, fn).join('.');
+ return result + encoded;
+ }
+
+ /**
+ * Creates an array containing the numeric code points of each Unicode
+ * character in the string. While JavaScript uses UCS-2 internally,
+ * this function will convert a pair of surrogate halves (each of which
+ * UCS-2 exposes as separate characters) into a single code point,
+ * matching UTF-16.
+ * @see `punycode.ucs2.encode`
+ * @see <https://mathiasbynens.be/notes/javascript-encoding>
+ * @memberOf punycode.ucs2
+ * @name decode
+ * @param {String} string The Unicode input string (UCS-2).
+ * @returns {Array} The new array of code points.
+ */
+ function ucs2decode(string) {
+ var output = [],
+ counter = 0,
+ length = string.length,
+ value,
+ extra;
+ while (counter < length) {
+ value = string.charCodeAt(counter++);
+ if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
+ // high surrogate, and there is a next character
+ extra = string.charCodeAt(counter++);
+ if ((extra & 0xFC00) == 0xDC00) { // low surrogate
+ output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
+ } else {
+ // unmatched surrogate; only append this code unit, in case the next
+ // code unit is the high surrogate of a surrogate pair
+ output.push(value);
+ counter--;
+ }
+ } else {
+ output.push(value);
+ }
+ }
+ return output;
+ }
+
+ /**
+ * Creates a string based on an array of numeric code points.
+ * @see `punycode.ucs2.decode`
+ * @memberOf punycode.ucs2
+ * @name encode
+ * @param {Array} codePoints The array of numeric code points.
+ * @returns {String} The new Unicode string (UCS-2).
+ */
+ function ucs2encode(array) {
+ return map(array, function(value) {
+ var output = '';
+ if (value > 0xFFFF) {
+ value -= 0x10000;
+ output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);
+ value = 0xDC00 | value & 0x3FF;
+ }
+ output += stringFromCharCode(value);
+ return output;
+ }).join('');
+ }
+
+ /**
+ * Converts a basic code point into a digit/integer.
+ * @see `digitToBasic()`
+ * @private
+ * @param {Number} codePoint The basic numeric code point value.
+ * @returns {Number} The numeric value of a basic code point (for use in
+ * representing integers) in the range `0` to `base - 1`, or `base` if
+ * the code point does not represent a value.
+ */
+ function basicToDigit(codePoint) {
+ if (codePoint - 48 < 10) {
+ return codePoint - 22;
+ }
+ if (codePoint - 65 < 26) {
+ return codePoint - 65;
+ }
+ if (codePoint - 97 < 26) {
+ return codePoint - 97;
+ }
+ return base;
+ }
+
+ /**
+ * Converts a digit/integer into a basic code point.
+ * @see `basicToDigit()`
+ * @private
+ * @param {Number} digit The numeric value of a basic code point.
+ * @returns {Number} The basic code point whose value (when used for
+ * representing integers) is `digit`, which needs to be in the range
+ * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is
+ * used; else, the lowercase form is used. The behavior is undefined
+ * if `flag` is non-zero and `digit` has no uppercase form.
+ */
+ function digitToBasic(digit, flag) {
+ // 0..25 map to ASCII a..z or A..Z
+ // 26..35 map to ASCII 0..9
+ return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
+ }
+
+ /**
+ * Bias adaptation function as per section 3.4 of RFC 3492.
+ * https://tools.ietf.org/html/rfc3492#section-3.4
+ * @private
+ */
+ function adapt(delta, numPoints, firstTime) {
+ var k = 0;
+ delta = firstTime ? floor(delta / damp) : delta >> 1;
+ delta += floor(delta / numPoints);
+ for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {
+ delta = floor(delta / baseMinusTMin);
+ }
+ return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
+ }
+
+ /**
+ * Converts a Punycode string of ASCII-only symbols to a string of Unicode
+ * symbols.
+ * @memberOf punycode
+ * @param {String} input The Punycode string of ASCII-only symbols.
+ * @returns {String} The resulting string of Unicode symbols.
+ */
+ function decode(input) {
+ // Don't use UCS-2
+ var output = [],
+ inputLength = input.length,
+ out,
+ i = 0,
+ n = initialN,
+ bias = initialBias,
+ basic,
+ j,
+ index,
+ oldi,
+ w,
+ k,
+ digit,
+ t,
+ /** Cached calculation results */
+ baseMinusT;
+
+ // Handle the basic code points: let `basic` be the number of input code
+ // points before the last delimiter, or `0` if there is none, then copy
+ // the first basic code points to the output.
+
+ basic = input.lastIndexOf(delimiter);
+ if (basic < 0) {
+ basic = 0;
+ }
+
+ for (j = 0; j < basic; ++j) {
+ // if it's not a basic code point
+ if (input.charCodeAt(j) >= 0x80) {
+ error('not-basic');
+ }
+ output.push(input.charCodeAt(j));
+ }
+
+ // Main decoding loop: start just after the last delimiter if any basic code
+ // points were copied; start at the beginning otherwise.
+
+ for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {
+
+ // `index` is the index of the next character to be consumed.
+ // Decode a generalized variable-length integer into `delta`,
+ // which gets added to `i`. The overflow checking is easier
+ // if we increase `i` as we go, then subtract off its starting
+ // value at the end to obtain `delta`.
+ for (oldi = i, w = 1, k = base; /* no condition */; k += base) {
+
+ if (index >= inputLength) {
+ error('invalid-input');
+ }
+
+ digit = basicToDigit(input.charCodeAt(index++));
+
+ if (digit >= base || digit > floor((maxInt - i) / w)) {
+ error('overflow');
+ }
+
+ i += digit * w;
+ t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
+
+ if (digit < t) {
+ break;
+ }
+
+ baseMinusT = base - t;
+ if (w > floor(maxInt / baseMinusT)) {
+ error('overflow');
+ }
+
+ w *= baseMinusT;
+
+ }
+
+ out = output.length + 1;
+ bias = adapt(i - oldi, out, oldi == 0);
+
+ // `i` was supposed to wrap around from `out` to `0`,
+ // incrementing `n` each time, so we'll fix that now:
+ if (floor(i / out) > maxInt - n) {
+ error('overflow');
+ }
+
+ n += floor(i / out);
+ i %= out;
+
+ // Insert `n` at position `i` of the output
+ output.splice(i++, 0, n);
+
+ }
+
+ return ucs2encode(output);
+ }
+
+ /**
+ * Converts a string of Unicode symbols (e.g. a domain name label) to a
+ * Punycode string of ASCII-only symbols.
+ * @memberOf punycode
+ * @param {String} input The string of Unicode symbols.
+ * @returns {String} The resulting Punycode string of ASCII-only symbols.
+ */
+ function encode(input) {
+ var n,
+ delta,
+ handledCPCount,
+ basicLength,
+ bias,
+ j,
+ m,
+ q,
+ k,
+ t,
+ currentValue,
+ output = [],
+ /** `inputLength` will hold the number of code points in `input`. */
+ inputLength,
+ /** Cached calculation results */
+ handledCPCountPlusOne,
+ baseMinusT,
+ qMinusT;
+
+ // Convert the input in UCS-2 to Unicode
+ input = ucs2decode(input);
+
+ // Cache the length
+ inputLength = input.length;
+
+ // Initialize the state
+ n = initialN;
+ delta = 0;
+ bias = initialBias;
+
+ // Handle the basic code points
+ for (j = 0; j < inputLength; ++j) {
+ currentValue = input[j];
+ if (currentValue < 0x80) {
+ output.push(stringFromCharCode(currentValue));
+ }
+ }
+
+ handledCPCount = basicLength = output.length;
+
+ // `handledCPCount` is the number of code points that have been handled;
+ // `basicLength` is the number of basic code points.
+
+ // Finish the basic string - if it is not empty - with a delimiter
+ if (basicLength) {
+ output.push(delimiter);
+ }
+
+ // Main encoding loop:
+ while (handledCPCount < inputLength) {
+
+ // All non-basic code points < n have been handled already. Find the next
+ // larger one:
+ for (m = maxInt, j = 0; j < inputLength; ++j) {
+ currentValue = input[j];
+ if (currentValue >= n && currentValue < m) {
+ m = currentValue;
+ }
+ }
+
+ // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,
+ // but guard against overflow
+ handledCPCountPlusOne = handledCPCount + 1;
+ if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
+ error('overflow');
+ }
+
+ delta += (m - n) * handledCPCountPlusOne;
+ n = m;
+
+ for (j = 0; j < inputLength; ++j) {
+ currentValue = input[j];
+
+ if (currentValue < n && ++delta > maxInt) {
+ error('overflow');
+ }
+
+ if (currentValue == n) {
+ // Represent delta as a generalized variable-length integer
+ for (q = delta, k = base; /* no condition */; k += base) {
+ t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
+ if (q < t) {
+ break;
+ }
+ qMinusT = q - t;
+ baseMinusT = base - t;
+ output.push(
+ stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))
+ );
+ q = floor(qMinusT / baseMinusT);
+ }
+
+ output.push(stringFromCharCode(digitToBasic(q, 0)));
+ bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
+ delta = 0;
+ ++handledCPCount;
+ }
+ }
+
+ ++delta;
+ ++n;
+
+ }
+ return output.join('');
+ }
+
+ /**
+ * Converts a Punycode string representing a domain name or an email address
+ * to Unicode. Only the Punycoded parts of the input will be converted, i.e.
+ * it doesn't matter if you call it on a string that has already been
+ * converted to Unicode.
+ * @memberOf punycode
+ * @param {String} input The Punycoded domain name or email address to
+ * convert to Unicode.
+ * @returns {String} The Unicode representation of the given Punycode
+ * string.
+ */
+ function toUnicode(input) {
+ return mapDomain(input, function(string) {
+ return regexPunycode.test(string)
+ ? decode(string.slice(4).toLowerCase())
+ : string;
+ });
+ }
+
+ /**
+ * Converts a Unicode string representing a domain name or an email address to
+ * Punycode. Only the non-ASCII parts of the domain name will be converted,
+ * i.e. it doesn't matter if you call it with a domain that's already in
+ * ASCII.
+ * @memberOf punycode
+ * @param {String} input The domain name or email address to convert, as a
+ * Unicode string.
+ * @returns {String} The Punycode representation of the given domain name or
+ * email address.
+ */
+ function toASCII(input) {
+ return mapDomain(input, function(string) {
+ return regexNonASCII.test(string)
+ ? 'xn--' + encode(string)
+ : string;
+ });
+ }
+
+ /*--------------------------------------------------------------------------*/
+
+ /** Define the public API */
+ punycode = {
+ /**
+ * A string representing the current Punycode.js version number.
+ * @memberOf punycode
+ * @type String
+ */
+ 'version': '1.4.1',
+ /**
+ * An object of methods to convert from JavaScript's internal character
+ * representation (UCS-2) to Unicode code points, and back.
+ * @see <https://mathiasbynens.be/notes/javascript-encoding>
+ * @memberOf punycode
+ * @type Object
+ */
+ 'ucs2': {
+ 'decode': ucs2decode,
+ 'encode': ucs2encode
+ },
+ 'decode': decode,
+ 'encode': encode,
+ 'toASCII': toASCII,
+ 'toUnicode': toUnicode
+ };
+
+ /** Expose `punycode` */
+ // Some AMD build optimizers, like r.js, check for specific condition patterns
+ // like the following:
+ if (
+ typeof define == 'function' &&
+ typeof define.amd == 'object' &&
+ define.amd
+ ) {
+ define('punycode', function() {
+ return punycode;
+ });
+ } else if (freeExports && freeModule) {
+ if (module.exports == freeExports) {
+ // in Node.js, io.js, or RingoJS v0.8.0+
+ freeModule.exports = punycode;
+ } else {
+ // in Narwhal or RingoJS v0.7.0-
+ for (key in punycode) {
+ punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);
+ }
+ }
+ } else {
+ // in Rhino or a web browser
+ root.punycode = punycode;
+ }
+
+}(this));
+
+}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
+},{}]},{},[4]);
diff --git a/node_modules/karma/static/debug.html b/node_modules/karma/static/debug.html
new file mode 100644
index 0000000..3fc6173
--- /dev/null
+++ b/node_modules/karma/static/debug.html
@@ -0,0 +1,40 @@
+<!doctype html>
+<!--
+This file is almost the same as context.html - loads all source files,
+but its purpose is to be loaded in the main frame (not within an iframe),
+just for immediate execution, without reporting to Karma server.
+-->
+<html>
+<head>
+%X_UA_COMPATIBLE%
+ <title>Karma DEBUG RUNNER</title>
+ <link href="favicon.ico" rel="icon" type="image/x-icon" />
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
+</head>
+<body>
+ <!-- The scripts need to be at the end of body, so that some test running frameworks
+ (Angular Scenario, for example) need the body to be loaded so that it can insert its magic
+ into it. If it is before body, then it fails to find the body and crashes and burns in an epic
+ manner. -->
+ <script src="context.js"></script>
+ <script src="debug.js"></script>
+ <script type="text/javascript">
+ // Configure our Karma
+ %CLIENT_CONFIG%
+
+ // All served files with the latest timestamps
+ %MAPPINGS%
+ </script>
+ <!-- Dynamically replaced with <script> tags -->
+ %SCRIPTS%
+ <!-- Since %SCRIPTS% might include modules, the `loaded()` call needs to be in a module too.
+ This ensures all the tests will have been declared before karma tries to run them. -->
+ <script type="module">
+ window.__karma__.loaded();
+ </script>
+ <script nomodule>
+ window.__karma__.loaded();
+ </script>
+</body>
+</html>
diff --git a/node_modules/karma/static/debug.js b/node_modules/karma/static/debug.js
new file mode 100644
index 0000000..cc9c7c9
--- /dev/null
+++ b/node_modules/karma/static/debug.js
@@ -0,0 +1,28 @@
+// Override the Karma setup for local debugging
+window.__karma__.info = function (info) {
+ if (info.dump && window.console) window.console.log(info.dump)
+}
+window.__karma__.complete = function () {
+ if (window.console) window.console.log('Skipped ' + this.skipped + ' tests')
+}
+window.__karma__.skipped = 0
+window.__karma__.result = window.console ? function (result) {
+ if (result.skipped) {
+ this.skipped++
+ return
+ }
+ var msg = result.success ? 'SUCCESS ' : 'FAILED '
+ window.console.log(msg + result.suite.join(' ') + ' ' + result.description)
+
+ for (var i = 0; i < result.log.length; i++) {
+ // Printing error without losing stack trace
+ (function (err) {
+ setTimeout(function () {
+ window.console.error(err)
+ })
+ })(result.log[i])
+ }
+} : function () {}
+window.__karma__.loaded = function () {
+ this.start()
+}
diff --git a/node_modules/karma/static/favicon.ico b/node_modules/karma/static/favicon.ico
new file mode 100644
index 0000000..c70744a
--- /dev/null
+++ b/node_modules/karma/static/favicon.ico
Binary files differ
diff --git a/node_modules/karma/static/karma.js b/node_modules/karma/static/karma.js
new file mode 100644
index 0000000..4454584
--- /dev/null
+++ b/node_modules/karma/static/karma.js
@@ -0,0 +1,13171 @@
+(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
+module.exports = {
+ VERSION: '%KARMA_VERSION%',
+ KARMA_URL_ROOT: '%KARMA_URL_ROOT%',
+ KARMA_PROXY_PATH: '%KARMA_PROXY_PATH%',
+ BROWSER_SOCKET_TIMEOUT: '%BROWSER_SOCKET_TIMEOUT%',
+ CONTEXT_URL: 'context.html'
+}
+
+},{}],2:[function(require,module,exports){
+var stringify = require('../common/stringify')
+var constant = require('./constants')
+var util = require('../common/util')
+
+function Karma (socket, iframe, opener, navigator, location) {
+ var startEmitted = false
+ var reloadingContext = false
+ var self = this
+ var queryParams = util.parseQueryParams(location.search)
+ var browserId = queryParams.id || util.generateId('manual-')
+ var displayName = queryParams.displayName
+ var returnUrl = queryParams['return_url' + ''] || null
+
+ var resultsBufferLimit = 50
+ var resultsBuffer = []
+
+ // This variable will be set to "true" whenever the socket lost connection and was able to
+ // reconnect to the Karma server. This will be passed to the Karma server then, so that
+ // Karma can differentiate between a socket client reconnect and a full browser reconnect.
+ var socketReconnect = false
+
+ this.VERSION = constant.VERSION
+ this.config = {}
+
+ // Expose for testing purposes as there is no global socket.io
+ // registry anymore.
+ this.socket = socket
+
+ // Set up postMessage bindings for current window
+ // DEV: These are to allow windows in separate processes execute local tasks
+ // Electron is one of these environments
+ if (window.addEventListener) {
+ window.addEventListener('message', function handleMessage (evt) {
+ // Resolve the origin of our message
+ var origin = evt.origin || evt.originalEvent.origin
+
+ // If the message isn't from our host, then reject it
+ if (origin !== window.location.origin) {
+ return
+ }
+
+ // Take action based on the message type
+ var method = evt.data.__karmaMethod
+ if (method) {
+ if (!self[method]) {
+ self.error('Received `postMessage` for "' + method + '" but the method doesn\'t exist')
+ return
+ }
+ self[method].apply(self, evt.data.__karmaArguments)
+ }
+ }, false)
+ }
+
+ var childWindow = null
+ function navigateContextTo (url) {
+ if (self.config.useIframe === false) {
+ // run in new window
+ if (self.config.runInParent === false) {
+ // If there is a window already open, then close it
+ // DEV: In some environments (e.g. Electron), we don't have setter access for location
+ if (childWindow !== null && childWindow.closed !== true) {
+ childWindow.close()
+ }
+ childWindow = opener(url)
+ // run context on parent element (client_with_context)
+ // using window.__karma__.scriptUrls to get the html element strings and load them dynamically
+ } else if (url !== 'about:blank') {
+ var loadScript = function (idx) {
+ if (idx < window.__karma__.scriptUrls.length) {
+ var parser = new DOMParser()
+ // Revert escaped characters with special roles in HTML before parsing
+ var string = window.__karma__.scriptUrls[idx]
+ .replace(/\\x3C/g, '<')
+ .replace(/\\x3E/g, '>')
+ var doc = parser.parseFromString(string, 'text/html')
+ var ele = doc.head.firstChild || doc.body.firstChild
+ // script elements created by DomParser are marked as unexecutable,
+ // create a new script element manually and copy necessary properties
+ // so it is executable
+ if (ele.tagName && ele.tagName.toLowerCase() === 'script') {
+ var tmp = ele
+ ele = document.createElement('script')
+ ele.src = tmp.src
+ ele.crossOrigin = tmp.crossOrigin
+ }
+ ele.onload = function () {
+ loadScript(idx + 1)
+ }
+ document.body.appendChild(ele)
+ } else {
+ window.__karma__.loaded()
+ }
+ }
+ loadScript(0)
+ }
+ // run in iframe
+ } else {
+ iframe.src = url
+ }
+ }
+
+ this.onbeforeunload = function () {
+ if (!reloadingContext) {
+ // TODO(vojta): show what test (with explanation about jasmine.UPDATE_INTERVAL)
+ self.error('Some of your tests did a full page reload!')
+ }
+ }
+
+ this.log = function (type, args) {
+ var values = []
+
+ for (var i = 0; i < args.length; i++) {
+ values.push(this.stringify(args[i], 3))
+ }
+
+ this.info({ log: values.join(', '), type: type })
+ }
+
+ this.stringify = stringify
+
+ function clearContext () {
+ reloadingContext = true
+
+ navigateContextTo('about:blank')
+ }
+
+ function getLocation (url, lineno, colno) {
+ var location = ''
+
+ if (url !== undefined) {
+ location += url
+ }
+
+ if (lineno !== undefined) {
+ location += ':' + lineno
+ }
+
+ if (colno !== undefined) {
+ location += ':' + colno
+ }
+
+ return location
+ }
+
+ // error during js file loading (most likely syntax error)
+ // we are not going to execute at all. `window.onerror` callback.
+ this.error = function (messageOrEvent, source, lineno, colno, error) {
+ var message
+ if (typeof messageOrEvent === 'string') {
+ message = messageOrEvent
+
+ var location = getLocation(source, lineno, colno)
+ if (location !== '') {
+ message += '\nat ' + location
+ }
+ if (error && error.stack) {
+ message += '\n\n' + error.stack
+ }
+ } else {
+ // create an object with the string representation of the message to
+ // ensure all its content is properly transferred to the console log
+ message = { message: messageOrEvent, str: messageOrEvent.toString() }
+ }
+
+ socket.emit('karma_error', message)
+ this.complete()
+ return false
+ }
+
+ this.result = function (originalResult) {
+ var convertedResult = {}
+
+ // Convert all array-like objects to real arrays.
+ for (var propertyName in originalResult) {
+ if (originalResult.hasOwnProperty(propertyName)) {
+ var propertyValue = originalResult[propertyName]
+
+ if (Object.prototype.toString.call(propertyValue) === '[object Array]') {
+ convertedResult[propertyName] = Array.prototype.slice.call(propertyValue)
+ } else {
+ convertedResult[propertyName] = propertyValue
+ }
+ }
+ }
+
+ if (!startEmitted) {
+ socket.emit('start', { total: null })
+ startEmitted = true
+ }
+
+ if (resultsBufferLimit === 1) {
+ return socket.emit('result', convertedResult)
+ }
+
+ resultsBuffer.push(convertedResult)
+
+ if (resultsBuffer.length === resultsBufferLimit) {
+ socket.emit('result', resultsBuffer)
+ resultsBuffer = []
+ }
+ }
+
+ this.complete = function (result) {
+ if (resultsBuffer.length) {
+ socket.emit('result', resultsBuffer)
+ resultsBuffer = []
+ }
+
+ if (self.config.clearContext) {
+ // give the browser some time to breath, there could be a page reload, but because a bunch of
+ // tests could run in the same event loop, we wouldn't notice.
+ setTimeout(function () {
+ clearContext()
+ }, 0)
+ }
+
+ socket.emit('complete', result || {}, function () {
+ if (returnUrl) {
+ location.href = returnUrl
+ }
+ })
+ }
+
+ this.info = function (info) {
+ // TODO(vojta): introduce special API for this
+ if (!startEmitted && util.isDefined(info.total)) {
+ socket.emit('start', info)
+ startEmitted = true
+ } else {
+ socket.emit('info', info)
+ }
+ }
+
+ socket.on('execute', function (cfg) {
+ // reset startEmitted and reload the iframe
+ startEmitted = false
+ self.config = cfg
+ // if not clearing context, reloadingContext always true to prevent beforeUnload error
+ reloadingContext = !self.config.clearContext
+ navigateContextTo(constant.CONTEXT_URL)
+
+ // clear the console before run
+ // works only on FF (Safari, Chrome do not allow to clear console from js source)
+ if (window.console && window.console.clear) {
+ window.console.clear()
+ }
+ })
+ socket.on('stop', function () {
+ this.complete()
+ }.bind(this))
+
+ // Report the browser name and Id. Note that this event can also fire if the connection has
+ // been temporarily lost, but the socket reconnected automatically. Read more in the docs:
+ // https://socket.io/docs/client-api/#Event-%E2%80%98connect%E2%80%99
+ socket.on('connect', function () {
+ socket.io.engine.on('upgrade', function () {
+ resultsBufferLimit = 1
+ })
+ var info = {
+ name: navigator.userAgent,
+ id: browserId,
+ isSocketReconnect: socketReconnect
+ }
+ if (displayName) {
+ info.displayName = displayName
+ }
+ socket.emit('register', info)
+ })
+
+ socket.on('reconnect', function () {
+ socketReconnect = true
+ })
+}
+
+module.exports = Karma
+
+},{"../common/stringify":5,"../common/util":6,"./constants":1}],3:[function(require,module,exports){
+/* global io */
+/* eslint-disable no-new */
+
+require('core-js/stable')
+var Karma = require('./karma')
+var StatusUpdater = require('./updater')
+var util = require('../common/util')
+var constants = require('./constants')
+
+var KARMA_URL_ROOT = constants.KARMA_URL_ROOT
+var KARMA_PROXY_PATH = constants.KARMA_PROXY_PATH
+var BROWSER_SOCKET_TIMEOUT = constants.BROWSER_SOCKET_TIMEOUT
+
+// Connect to the server using socket.io http://socket.io
+var socket = io(location.host, {
+ reconnectionDelay: 500,
+ reconnectionDelayMax: Infinity,
+ timeout: BROWSER_SOCKET_TIMEOUT,
+ path: KARMA_PROXY_PATH + KARMA_URL_ROOT.substr(1) + 'socket.io',
+ 'sync disconnect on unload': true
+})
+
+// instantiate the updater of the view
+new StatusUpdater(socket, util.elm('title'), util.elm('banner'), util.elm('browsers'))
+window.karma = new Karma(socket, util.elm('context'), window.open,
+ window.navigator, window.location)
+
+},{"../common/util":6,"./constants":1,"./karma":2,"./updater":4,"core-js/stable":363}],4:[function(require,module,exports){
+var VERSION = require('./constants').VERSION
+
+function StatusUpdater (socket, titleElement, bannerElement, browsersElement) {
+ function updateBrowsersInfo (browsers) {
+ if (!browsersElement) {
+ return
+ }
+ var items = []
+ var status
+ for (var i = 0; i < browsers.length; i++) {
+ status = browsers[i].isConnected ? 'idle' : 'executing'
+ items.push('<li class="' + status + '">' + browsers[i].name + ' is ' + status + '</li>')
+ }
+ browsersElement.innerHTML = items.join('\n')
+ }
+
+ function updateBanner (status) {
+ return function (param) {
+ if (!titleElement || !bannerElement) {
+ return
+ }
+ var paramStatus = param ? status.replace('$', param) : status
+ titleElement.innerHTML = 'Karma v' + VERSION + ' - ' + paramStatus
+ bannerElement.className = status === 'connected' ? 'online' : 'offline'
+ }
+ }
+
+ socket.on('connect', updateBanner('connected'))
+ socket.on('disconnect', updateBanner('disconnected'))
+ socket.on('reconnecting', updateBanner('reconnecting in $ seconds...'))
+ socket.on('reconnect', updateBanner('connected'))
+ socket.on('reconnect_failed', updateBanner('failed to reconnect'))
+ socket.on('info', updateBrowsersInfo)
+ socket.on('disconnect', function () {
+ updateBrowsersInfo([])
+ })
+}
+
+module.exports = StatusUpdater
+
+},{"./constants":1}],5:[function(require,module,exports){
+var serialize = require('dom-serialize')
+var instanceOf = require('./util').instanceOf
+
+function isNode (obj) {
+ return (obj.tagName || obj.nodeName) && obj.nodeType
+}
+
+function stringify (obj, depth) {
+ if (depth === 0) {
+ return '...'
+ }
+
+ if (obj === null) {
+ return 'null'
+ }
+
+ switch (typeof obj) {
+ case 'symbol':
+ return obj.toString()
+ case 'string':
+ return "'" + obj + "'"
+ case 'undefined':
+ return 'undefined'
+ case 'function':
+ try {
+ // function abc(a, b, c) { /* code goes here */ }
+ // -> function abc(a, b, c) { ... }
+ return obj.toString().replace(/\{[\s\S]*\}/, '{ ... }')
+ } catch (err) {
+ if (err instanceof TypeError) {
+ // Support older browsers
+ return 'function ' + (obj.name || '') + '() { ... }'
+ } else {
+ throw err
+ }
+ }
+ case 'boolean':
+ return obj ? 'true' : 'false'
+ case 'object':
+ var strs = []
+ if (instanceOf(obj, 'Array')) {
+ strs.push('[')
+ for (var i = 0, ii = obj.length; i < ii; i++) {
+ if (i) {
+ strs.push(', ')
+ }
+ strs.push(stringify(obj[i], depth - 1))
+ }
+ strs.push(']')
+ } else if (instanceOf(obj, 'Date')) {
+ return obj.toString()
+ } else if (instanceOf(obj, 'Text')) {
+ return obj.nodeValue
+ } else if (instanceOf(obj, 'Comment')) {
+ return '<!--' + obj.nodeValue + '-->'
+ } else if (obj.outerHTML) {
+ return obj.outerHTML
+ } else if (isNode(obj)) {
+ return serialize(obj)
+ } else if (instanceOf(obj, 'Error')) {
+ return obj.toString() + '\n' + obj.stack
+ } else {
+ var constructor = 'Object'
+ if (obj.constructor && typeof obj.constructor === 'function') {
+ constructor = obj.constructor.name
+ }
+
+ strs.push(constructor)
+ strs.push('{')
+ var first = true
+ for (var key in obj) {
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
+ if (first) {
+ first = false
+ } else {
+ strs.push(', ')
+ }
+
+ strs.push(key + ': ' + stringify(obj[key], depth - 1))
+ }
+ }
+ strs.push('}')
+ }
+ return strs.join('')
+ default:
+ return obj
+ }
+}
+
+module.exports = stringify
+
+},{"./util":6,"dom-serialize":365}],6:[function(require,module,exports){
+exports.instanceOf = function (value, constructorName) {
+ return Object.prototype.toString.apply(value) === '[object ' + constructorName + ']'
+}
+
+exports.elm = function (id) {
+ return document.getElementById(id)
+}
+
+exports.generateId = function (prefix) {
+ return prefix + Math.floor(Math.random() * 10000)
+}
+
+exports.isUndefined = function (value) {
+ return typeof value === 'undefined'
+}
+
+exports.isDefined = function (value) {
+ return !exports.isUndefined(value)
+}
+
+exports.parseQueryParams = function (locationSearch) {
+ var params = {}
+ var pairs = locationSearch.substr(1).split('&')
+ var keyValue
+
+ for (var i = 0; i < pairs.length; i++) {
+ keyValue = pairs[i].split('=')
+ params[decodeURIComponent(keyValue[0])] = decodeURIComponent(keyValue[1])
+ }
+
+ return params
+}
+
+},{}],7:[function(require,module,exports){
+require('../modules/es.symbol');
+require('../modules/es.symbol.async-iterator');
+require('../modules/es.symbol.description');
+require('../modules/es.symbol.has-instance');
+require('../modules/es.symbol.is-concat-spreadable');
+require('../modules/es.symbol.iterator');
+require('../modules/es.symbol.match');
+require('../modules/es.symbol.match-all');
+require('../modules/es.symbol.replace');
+require('../modules/es.symbol.search');
+require('../modules/es.symbol.species');
+require('../modules/es.symbol.split');
+require('../modules/es.symbol.to-primitive');
+require('../modules/es.symbol.to-string-tag');
+require('../modules/es.symbol.unscopables');
+require('../modules/es.object.assign');
+require('../modules/es.object.create');
+require('../modules/es.object.define-property');
+require('../modules/es.object.define-properties');
+require('../modules/es.object.entries');
+require('../modules/es.object.freeze');
+require('../modules/es.object.from-entries');
+require('../modules/es.object.get-own-property-descriptor');
+require('../modules/es.object.get-own-property-descriptors');
+require('../modules/es.object.get-own-property-names');
+require('../modules/es.object.get-prototype-of');
+require('../modules/es.object.is');
+require('../modules/es.object.is-extensible');
+require('../modules/es.object.is-frozen');
+require('../modules/es.object.is-sealed');
+require('../modules/es.object.keys');
+require('../modules/es.object.prevent-extensions');
+require('../modules/es.object.seal');
+require('../modules/es.object.set-prototype-of');
+require('../modules/es.object.values');
+require('../modules/es.object.to-string');
+require('../modules/es.object.define-getter');
+require('../modules/es.object.define-setter');
+require('../modules/es.object.lookup-getter');
+require('../modules/es.object.lookup-setter');
+require('../modules/es.function.bind');
+require('../modules/es.function.name');
+require('../modules/es.function.has-instance');
+require('../modules/es.array.from');
+require('../modules/es.array.is-array');
+require('../modules/es.array.of');
+require('../modules/es.array.concat');
+require('../modules/es.array.copy-within');
+require('../modules/es.array.every');
+require('../modules/es.array.fill');
+require('../modules/es.array.filter');
+require('../modules/es.array.find');
+require('../modules/es.array.find-index');
+require('../modules/es.array.flat');
+require('../modules/es.array.flat-map');
+require('../modules/es.array.for-each');
+require('../modules/es.array.includes');
+require('../modules/es.array.index-of');
+require('../modules/es.array.join');
+require('../modules/es.array.last-index-of');
+require('../modules/es.array.map');
+require('../modules/es.array.reduce');
+require('../modules/es.array.reduce-right');
+require('../modules/es.array.reverse');
+require('../modules/es.array.slice');
+require('../modules/es.array.some');
+require('../modules/es.array.sort');
+require('../modules/es.array.splice');
+require('../modules/es.array.species');
+require('../modules/es.array.unscopables.flat');
+require('../modules/es.array.unscopables.flat-map');
+require('../modules/es.array.iterator');
+require('../modules/es.string.from-code-point');
+require('../modules/es.string.raw');
+require('../modules/es.string.code-point-at');
+require('../modules/es.string.ends-with');
+require('../modules/es.string.includes');
+require('../modules/es.string.match');
+require('../modules/es.string.match-all');
+require('../modules/es.string.pad-end');
+require('../modules/es.string.pad-start');
+require('../modules/es.string.repeat');
+require('../modules/es.string.replace');
+require('../modules/es.string.search');
+require('../modules/es.string.split');
+require('../modules/es.string.starts-with');
+require('../modules/es.string.trim');
+require('../modules/es.string.trim-start');
+require('../modules/es.string.trim-end');
+require('../modules/es.string.iterator');
+require('../modules/es.string.anchor');
+require('../modules/es.string.big');
+require('../modules/es.string.blink');
+require('../modules/es.string.bold');
+require('../modules/es.string.fixed');
+require('../modules/es.string.fontcolor');
+require('../modules/es.string.fontsize');
+require('../modules/es.string.italics');
+require('../modules/es.string.link');
+require('../modules/es.string.small');
+require('../modules/es.string.strike');
+require('../modules/es.string.sub');
+require('../modules/es.string.sup');
+require('../modules/es.regexp.constructor');
+require('../modules/es.regexp.exec');
+require('../modules/es.regexp.flags');
+require('../modules/es.regexp.to-string');
+require('../modules/es.parse-int');
+require('../modules/es.parse-float');
+require('../modules/es.number.constructor');
+require('../modules/es.number.epsilon');
+require('../modules/es.number.is-finite');
+require('../modules/es.number.is-integer');
+require('../modules/es.number.is-nan');
+require('../modules/es.number.is-safe-integer');
+require('../modules/es.number.max-safe-integer');
+require('../modules/es.number.min-safe-integer');
+require('../modules/es.number.parse-float');
+require('../modules/es.number.parse-int');
+require('../modules/es.number.to-fixed');
+require('../modules/es.number.to-precision');
+require('../modules/es.math.acosh');
+require('../modules/es.math.asinh');
+require('../modules/es.math.atanh');
+require('../modules/es.math.cbrt');
+require('../modules/es.math.clz32');
+require('../modules/es.math.cosh');
+require('../modules/es.math.expm1');
+require('../modules/es.math.fround');
+require('../modules/es.math.hypot');
+require('../modules/es.math.imul');
+require('../modules/es.math.log10');
+require('../modules/es.math.log1p');
+require('../modules/es.math.log2');
+require('../modules/es.math.sign');
+require('../modules/es.math.sinh');
+require('../modules/es.math.tanh');
+require('../modules/es.math.to-string-tag');
+require('../modules/es.math.trunc');
+require('../modules/es.date.now');
+require('../modules/es.date.to-json');
+require('../modules/es.date.to-iso-string');
+require('../modules/es.date.to-string');
+require('../modules/es.date.to-primitive');
+require('../modules/es.json.to-string-tag');
+require('../modules/es.promise');
+require('../modules/es.promise.finally');
+require('../modules/es.map');
+require('../modules/es.set');
+require('../modules/es.weak-map');
+require('../modules/es.weak-set');
+require('../modules/es.array-buffer.constructor');
+require('../modules/es.array-buffer.is-view');
+require('../modules/es.array-buffer.slice');
+require('../modules/es.data-view');
+require('../modules/es.typed-array.int8-array');
+require('../modules/es.typed-array.uint8-array');
+require('../modules/es.typed-array.uint8-clamped-array');
+require('../modules/es.typed-array.int16-array');
+require('../modules/es.typed-array.uint16-array');
+require('../modules/es.typed-array.int32-array');
+require('../modules/es.typed-array.uint32-array');
+require('../modules/es.typed-array.float32-array');
+require('../modules/es.typed-array.float64-array');
+require('../modules/es.typed-array.from');
+require('../modules/es.typed-array.of');
+require('../modules/es.typed-array.copy-within');
+require('../modules/es.typed-array.every');
+require('../modules/es.typed-array.fill');
+require('../modules/es.typed-array.filter');
+require('../modules/es.typed-array.find');
+require('../modules/es.typed-array.find-index');
+require('../modules/es.typed-array.for-each');
+require('../modules/es.typed-array.includes');
+require('../modules/es.typed-array.index-of');
+require('../modules/es.typed-array.iterator');
+require('../modules/es.typed-array.join');
+require('../modules/es.typed-array.last-index-of');
+require('../modules/es.typed-array.map');
+require('../modules/es.typed-array.reduce');
+require('../modules/es.typed-array.reduce-right');
+require('../modules/es.typed-array.reverse');
+require('../modules/es.typed-array.set');
+require('../modules/es.typed-array.slice');
+require('../modules/es.typed-array.some');
+require('../modules/es.typed-array.sort');
+require('../modules/es.typed-array.subarray');
+require('../modules/es.typed-array.to-locale-string');
+require('../modules/es.typed-array.to-string');
+require('../modules/es.reflect.apply');
+require('../modules/es.reflect.construct');
+require('../modules/es.reflect.define-property');
+require('../modules/es.reflect.delete-property');
+require('../modules/es.reflect.get');
+require('../modules/es.reflect.get-own-property-descriptor');
+require('../modules/es.reflect.get-prototype-of');
+require('../modules/es.reflect.has');
+require('../modules/es.reflect.is-extensible');
+require('../modules/es.reflect.own-keys');
+require('../modules/es.reflect.prevent-extensions');
+require('../modules/es.reflect.set');
+require('../modules/es.reflect.set-prototype-of');
+
+module.exports = require('../internals/path');
+
+},{"../internals/path":112,"../modules/es.array-buffer.constructor":153,"../modules/es.array-buffer.is-view":154,"../modules/es.array-buffer.slice":155,"../modules/es.array.concat":156,"../modules/es.array.copy-within":157,"../modules/es.array.every":158,"../modules/es.array.fill":159,"../modules/es.array.filter":160,"../modules/es.array.find":162,"../modules/es.array.find-index":161,"../modules/es.array.flat":164,"../modules/es.array.flat-map":163,"../modules/es.array.for-each":165,"../modules/es.array.from":166,"../modules/es.array.includes":167,"../modules/es.array.index-of":168,"../modules/es.array.is-array":169,"../modules/es.array.iterator":170,"../modules/es.array.join":171,"../modules/es.array.last-index-of":172,"../modules/es.array.map":173,"../modules/es.array.of":174,"../modules/es.array.reduce":176,"../modules/es.array.reduce-right":175,"../modules/es.array.reverse":177,"../modules/es.array.slice":178,"../modules/es.array.some":179,"../modules/es.array.sort":180,"../modules/es.array.species":181,"../modules/es.array.splice":182,"../modules/es.array.unscopables.flat":184,"../modules/es.array.unscopables.flat-map":183,"../modules/es.data-view":185,"../modules/es.date.now":186,"../modules/es.date.to-iso-string":187,"../modules/es.date.to-json":188,"../modules/es.date.to-primitive":189,"../modules/es.date.to-string":190,"../modules/es.function.bind":191,"../modules/es.function.has-instance":192,"../modules/es.function.name":193,"../modules/es.json.to-string-tag":194,"../modules/es.map":195,"../modules/es.math.acosh":196,"../modules/es.math.asinh":197,"../modules/es.math.atanh":198,"../modules/es.math.cbrt":199,"../modules/es.math.clz32":200,"../modules/es.math.cosh":201,"../modules/es.math.expm1":202,"../modules/es.math.fround":203,"../modules/es.math.hypot":204,"../modules/es.math.imul":205,"../modules/es.math.log10":206,"../modules/es.math.log1p":207,"../modules/es.math.log2":208,"../modules/es.math.sign":209,"../modules/es.math.sinh":210,"../modules/es.math.tanh":211,"../modules/es.math.to-string-tag":212,"../modules/es.math.trunc":213,"../modules/es.number.constructor":214,"../modules/es.number.epsilon":215,"../modules/es.number.is-finite":216,"../modules/es.number.is-integer":217,"../modules/es.number.is-nan":218,"../modules/es.number.is-safe-integer":219,"../modules/es.number.max-safe-integer":220,"../modules/es.number.min-safe-integer":221,"../modules/es.number.parse-float":222,"../modules/es.number.parse-int":223,"../modules/es.number.to-fixed":224,"../modules/es.number.to-precision":225,"../modules/es.object.assign":226,"../modules/es.object.create":227,"../modules/es.object.define-getter":228,"../modules/es.object.define-properties":229,"../modules/es.object.define-property":230,"../modules/es.object.define-setter":231,"../modules/es.object.entries":232,"../modules/es.object.freeze":233,"../modules/es.object.from-entries":234,"../modules/es.object.get-own-property-descriptor":235,"../modules/es.object.get-own-property-descriptors":236,"../modules/es.object.get-own-property-names":237,"../modules/es.object.get-prototype-of":238,"../modules/es.object.is":242,"../modules/es.object.is-extensible":239,"../modules/es.object.is-frozen":240,"../modules/es.object.is-sealed":241,"../modules/es.object.keys":243,"../modules/es.object.lookup-getter":244,"../modules/es.object.lookup-setter":245,"../modules/es.object.prevent-extensions":246,"../modules/es.object.seal":247,"../modules/es.object.set-prototype-of":248,"../modules/es.object.to-string":249,"../modules/es.object.values":250,"../modules/es.parse-float":251,"../modules/es.parse-int":252,"../modules/es.promise":254,"../modules/es.promise.finally":253,"../modules/es.reflect.apply":255,"../modules/es.reflect.construct":256,"../modules/es.reflect.define-property":257,"../modules/es.reflect.delete-property":258,"../modules/es.reflect.get":261,"../modules/es.reflect.get-own-property-descriptor":259,"../modules/es.reflect.get-prototype-of":260,"../modules/es.reflect.has":262,"../modules/es.reflect.is-extensible":263,"../modules/es.reflect.own-keys":264,"../modules/es.reflect.prevent-extensions":265,"../modules/es.reflect.set":267,"../modules/es.reflect.set-prototype-of":266,"../modules/es.regexp.constructor":268,"../modules/es.regexp.exec":269,"../modules/es.regexp.flags":270,"../modules/es.regexp.to-string":271,"../modules/es.set":272,"../modules/es.string.anchor":273,"../modules/es.string.big":274,"../modules/es.string.blink":275,"../modules/es.string.bold":276,"../modules/es.string.code-point-at":277,"../modules/es.string.ends-with":278,"../modules/es.string.fixed":279,"../modules/es.string.fontcolor":280,"../modules/es.string.fontsize":281,"../modules/es.string.from-code-point":282,"../modules/es.string.includes":283,"../modules/es.string.italics":284,"../modules/es.string.iterator":285,"../modules/es.string.link":286,"../modules/es.string.match":288,"../modules/es.string.match-all":287,"../modules/es.string.pad-end":289,"../modules/es.string.pad-start":290,"../modules/es.string.raw":291,"../modules/es.string.repeat":292,"../modules/es.string.replace":293,"../modules/es.string.search":294,"../modules/es.string.small":295,"../modules/es.string.split":296,"../modules/es.string.starts-with":297,"../modules/es.string.strike":298,"../modules/es.string.sub":299,"../modules/es.string.sup":300,"../modules/es.string.trim":303,"../modules/es.string.trim-end":301,"../modules/es.string.trim-start":302,"../modules/es.symbol":309,"../modules/es.symbol.async-iterator":304,"../modules/es.symbol.description":305,"../modules/es.symbol.has-instance":306,"../modules/es.symbol.is-concat-spreadable":307,"../modules/es.symbol.iterator":308,"../modules/es.symbol.match":311,"../modules/es.symbol.match-all":310,"../modules/es.symbol.replace":312,"../modules/es.symbol.search":313,"../modules/es.symbol.species":314,"../modules/es.symbol.split":315,"../modules/es.symbol.to-primitive":316,"../modules/es.symbol.to-string-tag":317,"../modules/es.symbol.unscopables":318,"../modules/es.typed-array.copy-within":319,"../modules/es.typed-array.every":320,"../modules/es.typed-array.fill":321,"../modules/es.typed-array.filter":322,"../modules/es.typed-array.find":324,"../modules/es.typed-array.find-index":323,"../modules/es.typed-array.float32-array":325,"../modules/es.typed-array.float64-array":326,"../modules/es.typed-array.for-each":327,"../modules/es.typed-array.from":328,"../modules/es.typed-array.includes":329,"../modules/es.typed-array.index-of":330,"../modules/es.typed-array.int16-array":331,"../modules/es.typed-array.int32-array":332,"../modules/es.typed-array.int8-array":333,"../modules/es.typed-array.iterator":334,"../modules/es.typed-array.join":335,"../modules/es.typed-array.last-index-of":336,"../modules/es.typed-array.map":337,"../modules/es.typed-array.of":338,"../modules/es.typed-array.reduce":340,"../modules/es.typed-array.reduce-right":339,"../modules/es.typed-array.reverse":341,"../modules/es.typed-array.set":342,"../modules/es.typed-array.slice":343,"../modules/es.typed-array.some":344,"../modules/es.typed-array.sort":345,"../modules/es.typed-array.subarray":346,"../modules/es.typed-array.to-locale-string":347,"../modules/es.typed-array.to-string":348,"../modules/es.typed-array.uint16-array":349,"../modules/es.typed-array.uint32-array":350,"../modules/es.typed-array.uint8-array":351,"../modules/es.typed-array.uint8-clamped-array":352,"../modules/es.weak-map":353,"../modules/es.weak-set":354}],8:[function(require,module,exports){
+module.exports = function (it) {
+ if (typeof it != 'function') {
+ throw TypeError(String(it) + ' is not a function');
+ } return it;
+};
+
+},{}],9:[function(require,module,exports){
+var isObject = require('../internals/is-object');
+
+module.exports = function (it) {
+ if (!isObject(it) && it !== null) {
+ throw TypeError("Can't set " + String(it) + ' as a prototype');
+ } return it;
+};
+
+},{"../internals/is-object":77}],10:[function(require,module,exports){
+var wellKnownSymbol = require('../internals/well-known-symbol');
+var create = require('../internals/object-create');
+var hide = require('../internals/hide');
+
+var UNSCOPABLES = wellKnownSymbol('unscopables');
+var ArrayPrototype = Array.prototype;
+
+// Array.prototype[@@unscopables]
+// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
+if (ArrayPrototype[UNSCOPABLES] == undefined) {
+ hide(ArrayPrototype, UNSCOPABLES, create(null));
+}
+
+// add a key to Array.prototype[@@unscopables]
+module.exports = function (key) {
+ ArrayPrototype[UNSCOPABLES][key] = true;
+};
+
+},{"../internals/hide":65,"../internals/object-create":95,"../internals/well-known-symbol":150}],11:[function(require,module,exports){
+'use strict';
+var charAt = require('../internals/string-multibyte').charAt;
+
+// `AdvanceStringIndex` abstract operation
+// https://tc39.github.io/ecma262/#sec-advancestringindex
+module.exports = function (S, index, unicode) {
+ return index + (unicode ? charAt(S, index).length : 1);
+};
+
+},{"../internals/string-multibyte":130}],12:[function(require,module,exports){
+module.exports = function (it, Constructor, name) {
+ if (!(it instanceof Constructor)) {
+ throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
+ } return it;
+};
+
+},{}],13:[function(require,module,exports){
+var isObject = require('../internals/is-object');
+
+module.exports = function (it) {
+ if (!isObject(it)) {
+ throw TypeError(String(it) + ' is not an object');
+ } return it;
+};
+
+},{"../internals/is-object":77}],14:[function(require,module,exports){
+'use strict';
+var DESCRIPTORS = require('../internals/descriptors');
+var global = require('../internals/global');
+var isObject = require('../internals/is-object');
+var has = require('../internals/has');
+var classof = require('../internals/classof');
+var hide = require('../internals/hide');
+var redefine = require('../internals/redefine');
+var defineProperty = require('../internals/object-define-property').f;
+var getPrototypeOf = require('../internals/object-get-prototype-of');
+var setPrototypeOf = require('../internals/object-set-prototype-of');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+var uid = require('../internals/uid');
+
+var DataView = global.DataView;
+var DataViewPrototype = DataView && DataView.prototype;
+var Int8Array = global.Int8Array;
+var Int8ArrayPrototype = Int8Array && Int8Array.prototype;
+var Uint8ClampedArray = global.Uint8ClampedArray;
+var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;
+var TypedArray = Int8Array && getPrototypeOf(Int8Array);
+var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);
+var ObjectPrototype = Object.prototype;
+var isPrototypeOf = ObjectPrototype.isPrototypeOf;
+
+var TO_STRING_TAG = wellKnownSymbol('toStringTag');
+var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');
+var NATIVE_ARRAY_BUFFER = !!(global.ArrayBuffer && DataView);
+var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf;
+var TYPED_ARRAY_TAG_REQIRED = false;
+var NAME;
+
+var TypedArrayConstructorsList = {
+ Int8Array: 1,
+ Uint8Array: 1,
+ Uint8ClampedArray: 1,
+ Int16Array: 2,
+ Uint16Array: 2,
+ Int32Array: 4,
+ Uint32Array: 4,
+ Float32Array: 4,
+ Float64Array: 8
+};
+
+var isView = function isView(it) {
+ var klass = classof(it);
+ return klass === 'DataView' || has(TypedArrayConstructorsList, klass);
+};
+
+var isTypedArray = function (it) {
+ return isObject(it) && has(TypedArrayConstructorsList, classof(it));
+};
+
+var aTypedArray = function (it) {
+ if (isTypedArray(it)) return it;
+ throw TypeError('Target is not a typed array');
+};
+
+var aTypedArrayConstructor = function (C) {
+ if (setPrototypeOf) {
+ if (isPrototypeOf.call(TypedArray, C)) return C;
+ } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {
+ var TypedArrayConstructor = global[ARRAY];
+ if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {
+ return C;
+ }
+ } throw TypeError('Target is not a typed array constructor');
+};
+
+var exportProto = function (KEY, property, forced) {
+ if (!DESCRIPTORS) return;
+ if (forced) for (var ARRAY in TypedArrayConstructorsList) {
+ var TypedArrayConstructor = global[ARRAY];
+ if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {
+ delete TypedArrayConstructor.prototype[KEY];
+ }
+ }
+ if (!TypedArrayPrototype[KEY] || forced) {
+ redefine(TypedArrayPrototype, KEY, forced ? property
+ : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);
+ }
+};
+
+var exportStatic = function (KEY, property, forced) {
+ var ARRAY, TypedArrayConstructor;
+ if (!DESCRIPTORS) return;
+ if (setPrototypeOf) {
+ if (forced) for (ARRAY in TypedArrayConstructorsList) {
+ TypedArrayConstructor = global[ARRAY];
+ if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {
+ delete TypedArrayConstructor[KEY];
+ }
+ }
+ if (!TypedArray[KEY] || forced) {
+ // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable
+ try {
+ return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);
+ } catch (error) { /* empty */ }
+ } else return;
+ }
+ for (ARRAY in TypedArrayConstructorsList) {
+ TypedArrayConstructor = global[ARRAY];
+ if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {
+ redefine(TypedArrayConstructor, KEY, property);
+ }
+ }
+};
+
+for (NAME in TypedArrayConstructorsList) {
+ if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;
+}
+
+// WebKit bug - typed arrays constructors prototype is Object.prototype
+if (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {
+ // eslint-disable-next-line no-shadow
+ TypedArray = function TypedArray() {
+ throw TypeError('Incorrect invocation');
+ };
+ if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {
+ if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);
+ }
+}
+
+if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {
+ TypedArrayPrototype = TypedArray.prototype;
+ if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {
+ if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);
+ }
+}
+
+// WebKit bug - one more object in Uint8ClampedArray prototype chain
+if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {
+ setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);
+}
+
+if (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {
+ TYPED_ARRAY_TAG_REQIRED = true;
+ defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {
+ return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;
+ } });
+ for (NAME in TypedArrayConstructorsList) if (global[NAME]) {
+ hide(global[NAME], TYPED_ARRAY_TAG, NAME);
+ }
+}
+
+// WebKit bug - the same parent prototype for typed arrays and data view
+if (NATIVE_ARRAY_BUFFER && setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {
+ setPrototypeOf(DataViewPrototype, ObjectPrototype);
+}
+
+module.exports = {
+ NATIVE_ARRAY_BUFFER: NATIVE_ARRAY_BUFFER,
+ NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,
+ TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,
+ aTypedArray: aTypedArray,
+ aTypedArrayConstructor: aTypedArrayConstructor,
+ exportProto: exportProto,
+ exportStatic: exportStatic,
+ isView: isView,
+ isTypedArray: isTypedArray,
+ TypedArray: TypedArray,
+ TypedArrayPrototype: TypedArrayPrototype
+};
+
+},{"../internals/classof":30,"../internals/descriptors":45,"../internals/global":62,"../internals/has":63,"../internals/hide":65,"../internals/is-object":77,"../internals/object-define-property":97,"../internals/object-get-prototype-of":102,"../internals/object-set-prototype-of":106,"../internals/redefine":117,"../internals/uid":147,"../internals/well-known-symbol":150}],15:[function(require,module,exports){
+'use strict';
+var global = require('../internals/global');
+var DESCRIPTORS = require('../internals/descriptors');
+var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER;
+var hide = require('../internals/hide');
+var redefineAll = require('../internals/redefine-all');
+var fails = require('../internals/fails');
+var anInstance = require('../internals/an-instance');
+var toInteger = require('../internals/to-integer');
+var toLength = require('../internals/to-length');
+var toIndex = require('../internals/to-index');
+var getOwnPropertyNames = require('../internals/object-get-own-property-names').f;
+var defineProperty = require('../internals/object-define-property').f;
+var arrayFill = require('../internals/array-fill');
+var setToStringTag = require('../internals/set-to-string-tag');
+var InternalStateModule = require('../internals/internal-state');
+
+var getInternalState = InternalStateModule.get;
+var setInternalState = InternalStateModule.set;
+var ARRAY_BUFFER = 'ArrayBuffer';
+var DATA_VIEW = 'DataView';
+var PROTOTYPE = 'prototype';
+var WRONG_LENGTH = 'Wrong length';
+var WRONG_INDEX = 'Wrong index';
+var NativeArrayBuffer = global[ARRAY_BUFFER];
+var $ArrayBuffer = NativeArrayBuffer;
+var $DataView = global[DATA_VIEW];
+var Math = global.Math;
+var RangeError = global.RangeError;
+// eslint-disable-next-line no-shadow-restricted-names
+var Infinity = 1 / 0;
+var abs = Math.abs;
+var pow = Math.pow;
+var floor = Math.floor;
+var log = Math.log;
+var LN2 = Math.LN2;
+
+// IEEE754 conversions based on https://github.com/feross/ieee754
+var packIEEE754 = function (number, mantissaLength, bytes) {
+ var buffer = new Array(bytes);
+ var exponentLength = bytes * 8 - mantissaLength - 1;
+ var eMax = (1 << exponentLength) - 1;
+ var eBias = eMax >> 1;
+ var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;
+ var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;
+ var index = 0;
+ var exponent, mantissa, c;
+ number = abs(number);
+ // eslint-disable-next-line no-self-compare
+ if (number != number || number === Infinity) {
+ // eslint-disable-next-line no-self-compare
+ mantissa = number != number ? 1 : 0;
+ exponent = eMax;
+ } else {
+ exponent = floor(log(number) / LN2);
+ if (number * (c = pow(2, -exponent)) < 1) {
+ exponent--;
+ c *= 2;
+ }
+ if (exponent + eBias >= 1) {
+ number += rt / c;
+ } else {
+ number += rt * pow(2, 1 - eBias);
+ }
+ if (number * c >= 2) {
+ exponent++;
+ c /= 2;
+ }
+ if (exponent + eBias >= eMax) {
+ mantissa = 0;
+ exponent = eMax;
+ } else if (exponent + eBias >= 1) {
+ mantissa = (number * c - 1) * pow(2, mantissaLength);
+ exponent = exponent + eBias;
+ } else {
+ mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);
+ exponent = 0;
+ }
+ }
+ for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8);
+ exponent = exponent << mantissaLength | mantissa;
+ exponentLength += mantissaLength;
+ for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8);
+ buffer[--index] |= sign * 128;
+ return buffer;
+};
+
+var unpackIEEE754 = function (buffer, mantissaLength) {
+ var bytes = buffer.length;
+ var exponentLength = bytes * 8 - mantissaLength - 1;
+ var eMax = (1 << exponentLength) - 1;
+ var eBias = eMax >> 1;
+ var nBits = exponentLength - 7;
+ var index = bytes - 1;
+ var sign = buffer[index--];
+ var exponent = sign & 127;
+ var mantissa;
+ sign >>= 7;
+ for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8);
+ mantissa = exponent & (1 << -nBits) - 1;
+ exponent >>= -nBits;
+ nBits += mantissaLength;
+ for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8);
+ if (exponent === 0) {
+ exponent = 1 - eBias;
+ } else if (exponent === eMax) {
+ return mantissa ? NaN : sign ? -Infinity : Infinity;
+ } else {
+ mantissa = mantissa + pow(2, mantissaLength);
+ exponent = exponent - eBias;
+ } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);
+};
+
+var unpackInt32 = function (buffer) {
+ return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];
+};
+
+var packInt8 = function (number) {
+ return [number & 0xFF];
+};
+
+var packInt16 = function (number) {
+ return [number & 0xFF, number >> 8 & 0xFF];
+};
+
+var packInt32 = function (number) {
+ return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];
+};
+
+var packFloat32 = function (number) {
+ return packIEEE754(number, 23, 4);
+};
+
+var packFloat64 = function (number) {
+ return packIEEE754(number, 52, 8);
+};
+
+var addGetter = function (Constructor, key) {
+ defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });
+};
+
+var get = function (view, count, index, isLittleEndian) {
+ var numIndex = +index;
+ var intIndex = toIndex(numIndex);
+ var store = getInternalState(view);
+ if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);
+ var bytes = getInternalState(store.buffer).bytes;
+ var start = intIndex + store.byteOffset;
+ var pack = bytes.slice(start, start + count);
+ return isLittleEndian ? pack : pack.reverse();
+};
+
+var set = function (view, count, index, conversion, value, isLittleEndian) {
+ var numIndex = +index;
+ var intIndex = toIndex(numIndex);
+ var store = getInternalState(view);
+ if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);
+ var bytes = getInternalState(store.buffer).bytes;
+ var start = intIndex + store.byteOffset;
+ var pack = conversion(+value);
+ for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];
+};
+
+if (!NATIVE_ARRAY_BUFFER) {
+ $ArrayBuffer = function ArrayBuffer(length) {
+ anInstance(this, $ArrayBuffer, ARRAY_BUFFER);
+ var byteLength = toIndex(length);
+ setInternalState(this, {
+ bytes: arrayFill.call(new Array(byteLength), 0),
+ byteLength: byteLength
+ });
+ if (!DESCRIPTORS) this.byteLength = byteLength;
+ };
+
+ $DataView = function DataView(buffer, byteOffset, byteLength) {
+ anInstance(this, $DataView, DATA_VIEW);
+ anInstance(buffer, $ArrayBuffer, DATA_VIEW);
+ var bufferLength = getInternalState(buffer).byteLength;
+ var offset = toInteger(byteOffset);
+ if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');
+ byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);
+ if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);
+ setInternalState(this, {
+ buffer: buffer,
+ byteLength: byteLength,
+ byteOffset: offset
+ });
+ if (!DESCRIPTORS) {
+ this.buffer = buffer;
+ this.byteLength = byteLength;
+ this.byteOffset = offset;
+ }
+ };
+
+ if (DESCRIPTORS) {
+ addGetter($ArrayBuffer, 'byteLength');
+ addGetter($DataView, 'buffer');
+ addGetter($DataView, 'byteLength');
+ addGetter($DataView, 'byteOffset');
+ }
+
+ redefineAll($DataView[PROTOTYPE], {
+ getInt8: function getInt8(byteOffset) {
+ return get(this, 1, byteOffset)[0] << 24 >> 24;
+ },
+ getUint8: function getUint8(byteOffset) {
+ return get(this, 1, byteOffset)[0];
+ },
+ getInt16: function getInt16(byteOffset /* , littleEndian */) {
+ var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);
+ return (bytes[1] << 8 | bytes[0]) << 16 >> 16;
+ },
+ getUint16: function getUint16(byteOffset /* , littleEndian */) {
+ var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);
+ return bytes[1] << 8 | bytes[0];
+ },
+ getInt32: function getInt32(byteOffset /* , littleEndian */) {
+ return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));
+ },
+ getUint32: function getUint32(byteOffset /* , littleEndian */) {
+ return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;
+ },
+ getFloat32: function getFloat32(byteOffset /* , littleEndian */) {
+ return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);
+ },
+ getFloat64: function getFloat64(byteOffset /* , littleEndian */) {
+ return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);
+ },
+ setInt8: function setInt8(byteOffset, value) {
+ set(this, 1, byteOffset, packInt8, value);
+ },
+ setUint8: function setUint8(byteOffset, value) {
+ set(this, 1, byteOffset, packInt8, value);
+ },
+ setInt16: function setInt16(byteOffset, value /* , littleEndian */) {
+ set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);
+ },
+ setUint16: function setUint16(byteOffset, value /* , littleEndian */) {
+ set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);
+ },
+ setInt32: function setInt32(byteOffset, value /* , littleEndian */) {
+ set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);
+ },
+ setUint32: function setUint32(byteOffset, value /* , littleEndian */) {
+ set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);
+ },
+ setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {
+ set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);
+ },
+ setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {
+ set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);
+ }
+ });
+} else {
+ if (!fails(function () {
+ NativeArrayBuffer(1);
+ }) || !fails(function () {
+ new NativeArrayBuffer(-1); // eslint-disable-line no-new
+ }) || fails(function () {
+ new NativeArrayBuffer(); // eslint-disable-line no-new
+ new NativeArrayBuffer(1.5); // eslint-disable-line no-new
+ new NativeArrayBuffer(NaN); // eslint-disable-line no-new
+ return NativeArrayBuffer.name != ARRAY_BUFFER;
+ })) {
+ $ArrayBuffer = function ArrayBuffer(length) {
+ anInstance(this, $ArrayBuffer);
+ return new NativeArrayBuffer(toIndex(length));
+ };
+ var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE];
+ for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {
+ if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, NativeArrayBuffer[key]);
+ }
+ ArrayBufferPrototype.constructor = $ArrayBuffer;
+ }
+ // iOS Safari 7.x bug
+ var testView = new $DataView(new $ArrayBuffer(2));
+ var nativeSetInt8 = $DataView[PROTOTYPE].setInt8;
+ testView.setInt8(0, 2147483648);
+ testView.setInt8(1, 2147483649);
+ if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataView[PROTOTYPE], {
+ setInt8: function setInt8(byteOffset, value) {
+ nativeSetInt8.call(this, byteOffset, value << 24 >> 24);
+ },
+ setUint8: function setUint8(byteOffset, value) {
+ nativeSetInt8.call(this, byteOffset, value << 24 >> 24);
+ }
+ }, { unsafe: true });
+}
+
+setToStringTag($ArrayBuffer, ARRAY_BUFFER);
+setToStringTag($DataView, DATA_VIEW);
+exports[ARRAY_BUFFER] = $ArrayBuffer;
+exports[DATA_VIEW] = $DataView;
+
+},{"../internals/an-instance":12,"../internals/array-buffer-view-core":14,"../internals/array-fill":17,"../internals/descriptors":45,"../internals/fails":50,"../internals/global":62,"../internals/hide":65,"../internals/internal-state":72,"../internals/object-define-property":97,"../internals/object-get-own-property-names":100,"../internals/redefine-all":116,"../internals/set-to-string-tag":125,"../internals/to-index":137,"../internals/to-integer":139,"../internals/to-length":140}],16:[function(require,module,exports){
+'use strict';
+var toObject = require('../internals/to-object');
+var toAbsoluteIndex = require('../internals/to-absolute-index');
+var toLength = require('../internals/to-length');
+
+var min = Math.min;
+
+// `Array.prototype.copyWithin` method implementation
+// https://tc39.github.io/ecma262/#sec-array.prototype.copywithin
+module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {
+ var O = toObject(this);
+ var len = toLength(O.length);
+ var to = toAbsoluteIndex(target, len);
+ var from = toAbsoluteIndex(start, len);
+ var end = arguments.length > 2 ? arguments[2] : undefined;
+ var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);
+ var inc = 1;
+ if (from < to && to < from + count) {
+ inc = -1;
+ from += count - 1;
+ to += count - 1;
+ }
+ while (count-- > 0) {
+ if (from in O) O[to] = O[from];
+ else delete O[to];
+ to += inc;
+ from += inc;
+ } return O;
+};
+
+},{"../internals/to-absolute-index":136,"../internals/to-length":140,"../internals/to-object":141}],17:[function(require,module,exports){
+'use strict';
+var toObject = require('../internals/to-object');
+var toAbsoluteIndex = require('../internals/to-absolute-index');
+var toLength = require('../internals/to-length');
+
+// `Array.prototype.fill` method implementation
+// https://tc39.github.io/ecma262/#sec-array.prototype.fill
+module.exports = function fill(value /* , start = 0, end = @length */) {
+ var O = toObject(this);
+ var length = toLength(O.length);
+ var argumentsLength = arguments.length;
+ var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);
+ var end = argumentsLength > 2 ? arguments[2] : undefined;
+ var endPos = end === undefined ? length : toAbsoluteIndex(end, length);
+ while (endPos > index) O[index++] = value;
+ return O;
+};
+
+},{"../internals/to-absolute-index":136,"../internals/to-length":140,"../internals/to-object":141}],18:[function(require,module,exports){
+'use strict';
+var $forEach = require('../internals/array-iteration').forEach;
+var sloppyArrayMethod = require('../internals/sloppy-array-method');
+
+// `Array.prototype.forEach` method implementation
+// https://tc39.github.io/ecma262/#sec-array.prototype.foreach
+module.exports = sloppyArrayMethod('forEach') ? function forEach(callbackfn /* , thisArg */) {
+ return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+} : [].forEach;
+
+},{"../internals/array-iteration":21,"../internals/sloppy-array-method":128}],19:[function(require,module,exports){
+'use strict';
+var bind = require('../internals/bind-context');
+var toObject = require('../internals/to-object');
+var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');
+var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
+var toLength = require('../internals/to-length');
+var createProperty = require('../internals/create-property');
+var getIteratorMethod = require('../internals/get-iterator-method');
+
+// `Array.from` method implementation
+// https://tc39.github.io/ecma262/#sec-array.from
+module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
+ var O = toObject(arrayLike);
+ var C = typeof this == 'function' ? this : Array;
+ var argumentsLength = arguments.length;
+ var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
+ var mapping = mapfn !== undefined;
+ var index = 0;
+ var iteratorMethod = getIteratorMethod(O);
+ var length, result, step, iterator;
+ if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);
+ // if the target is not iterable or it's an array with the default iterator - use a simple case
+ if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
+ iterator = iteratorMethod.call(O);
+ result = new C();
+ for (;!(step = iterator.next()).done; index++) {
+ createProperty(result, index, mapping
+ ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true)
+ : step.value
+ );
+ }
+ } else {
+ length = toLength(O.length);
+ result = new C(length);
+ for (;length > index; index++) {
+ createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
+ }
+ }
+ result.length = index;
+ return result;
+};
+
+},{"../internals/bind-context":26,"../internals/call-with-safe-iteration-closing":27,"../internals/create-property":40,"../internals/get-iterator-method":60,"../internals/is-array-iterator-method":73,"../internals/to-length":140,"../internals/to-object":141}],20:[function(require,module,exports){
+var toIndexedObject = require('../internals/to-indexed-object');
+var toLength = require('../internals/to-length');
+var toAbsoluteIndex = require('../internals/to-absolute-index');
+
+// `Array.prototype.{ indexOf, includes }` methods implementation
+var createMethod = function (IS_INCLUDES) {
+ return function ($this, el, fromIndex) {
+ var O = toIndexedObject($this);
+ var length = toLength(O.length);
+ var index = toAbsoluteIndex(fromIndex, length);
+ var value;
+ // Array#includes uses SameValueZero equality algorithm
+ // eslint-disable-next-line no-self-compare
+ if (IS_INCLUDES && el != el) while (length > index) {
+ value = O[index++];
+ // eslint-disable-next-line no-self-compare
+ if (value != value) return true;
+ // Array#indexOf ignores holes, Array#includes - not
+ } else for (;length > index; index++) {
+ if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
+ } return !IS_INCLUDES && -1;
+ };
+};
+
+module.exports = {
+ // `Array.prototype.includes` method
+ // https://tc39.github.io/ecma262/#sec-array.prototype.includes
+ includes: createMethod(true),
+ // `Array.prototype.indexOf` method
+ // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
+ indexOf: createMethod(false)
+};
+
+},{"../internals/to-absolute-index":136,"../internals/to-indexed-object":138,"../internals/to-length":140}],21:[function(require,module,exports){
+var bind = require('../internals/bind-context');
+var IndexedObject = require('../internals/indexed-object');
+var toObject = require('../internals/to-object');
+var toLength = require('../internals/to-length');
+var arraySpeciesCreate = require('../internals/array-species-create');
+
+var push = [].push;
+
+// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
+var createMethod = function (TYPE) {
+ var IS_MAP = TYPE == 1;
+ var IS_FILTER = TYPE == 2;
+ var IS_SOME = TYPE == 3;
+ var IS_EVERY = TYPE == 4;
+ var IS_FIND_INDEX = TYPE == 6;
+ var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
+ return function ($this, callbackfn, that, specificCreate) {
+ var O = toObject($this);
+ var self = IndexedObject(O);
+ var boundFunction = bind(callbackfn, that, 3);
+ var length = toLength(self.length);
+ var index = 0;
+ var create = specificCreate || arraySpeciesCreate;
+ var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
+ var value, result;
+ for (;length > index; index++) if (NO_HOLES || index in self) {
+ value = self[index];
+ result = boundFunction(value, index, O);
+ if (TYPE) {
+ if (IS_MAP) target[index] = result; // map
+ else if (result) switch (TYPE) {
+ case 3: return true; // some
+ case 5: return value; // find
+ case 6: return index; // findIndex
+ case 2: push.call(target, value); // filter
+ } else if (IS_EVERY) return false; // every
+ }
+ }
+ return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
+ };
+};
+
+module.exports = {
+ // `Array.prototype.forEach` method
+ // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
+ forEach: createMethod(0),
+ // `Array.prototype.map` method
+ // https://tc39.github.io/ecma262/#sec-array.prototype.map
+ map: createMethod(1),
+ // `Array.prototype.filter` method
+ // https://tc39.github.io/ecma262/#sec-array.prototype.filter
+ filter: createMethod(2),
+ // `Array.prototype.some` method
+ // https://tc39.github.io/ecma262/#sec-array.prototype.some
+ some: createMethod(3),
+ // `Array.prototype.every` method
+ // https://tc39.github.io/ecma262/#sec-array.prototype.every
+ every: createMethod(4),
+ // `Array.prototype.find` method
+ // https://tc39.github.io/ecma262/#sec-array.prototype.find
+ find: createMethod(5),
+ // `Array.prototype.findIndex` method
+ // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
+ findIndex: createMethod(6)
+};
+
+},{"../internals/array-species-create":25,"../internals/bind-context":26,"../internals/indexed-object":69,"../internals/to-length":140,"../internals/to-object":141}],22:[function(require,module,exports){
+'use strict';
+var toIndexedObject = require('../internals/to-indexed-object');
+var toInteger = require('../internals/to-integer');
+var toLength = require('../internals/to-length');
+var sloppyArrayMethod = require('../internals/sloppy-array-method');
+
+var min = Math.min;
+var nativeLastIndexOf = [].lastIndexOf;
+var NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;
+var SLOPPY_METHOD = sloppyArrayMethod('lastIndexOf');
+
+// `Array.prototype.lastIndexOf` method implementation
+// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof
+module.exports = (NEGATIVE_ZERO || SLOPPY_METHOD) ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {
+ // convert -0 to +0
+ if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0;
+ var O = toIndexedObject(this);
+ var length = toLength(O.length);
+ var index = length - 1;
+ if (arguments.length > 1) index = min(index, toInteger(arguments[1]));
+ if (index < 0) index = length + index;
+ for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;
+ return -1;
+} : nativeLastIndexOf;
+
+},{"../internals/sloppy-array-method":128,"../internals/to-indexed-object":138,"../internals/to-integer":139,"../internals/to-length":140}],23:[function(require,module,exports){
+var fails = require('../internals/fails');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+
+var SPECIES = wellKnownSymbol('species');
+
+module.exports = function (METHOD_NAME) {
+ return !fails(function () {
+ var array = [];
+ var constructor = array.constructor = {};
+ constructor[SPECIES] = function () {
+ return { foo: 1 };
+ };
+ return array[METHOD_NAME](Boolean).foo !== 1;
+ });
+};
+
+},{"../internals/fails":50,"../internals/well-known-symbol":150}],24:[function(require,module,exports){
+var aFunction = require('../internals/a-function');
+var toObject = require('../internals/to-object');
+var IndexedObject = require('../internals/indexed-object');
+var toLength = require('../internals/to-length');
+
+// `Array.prototype.{ reduce, reduceRight }` methods implementation
+var createMethod = function (IS_RIGHT) {
+ return function (that, callbackfn, argumentsLength, memo) {
+ aFunction(callbackfn);
+ var O = toObject(that);
+ var self = IndexedObject(O);
+ var length = toLength(O.length);
+ var index = IS_RIGHT ? length - 1 : 0;
+ var i = IS_RIGHT ? -1 : 1;
+ if (argumentsLength < 2) while (true) {
+ if (index in self) {
+ memo = self[index];
+ index += i;
+ break;
+ }
+ index += i;
+ if (IS_RIGHT ? index < 0 : length <= index) {
+ throw TypeError('Reduce of empty array with no initial value');
+ }
+ }
+ for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {
+ memo = callbackfn(memo, self[index], index, O);
+ }
+ return memo;
+ };
+};
+
+module.exports = {
+ // `Array.prototype.reduce` method
+ // https://tc39.github.io/ecma262/#sec-array.prototype.reduce
+ left: createMethod(false),
+ // `Array.prototype.reduceRight` method
+ // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright
+ right: createMethod(true)
+};
+
+},{"../internals/a-function":8,"../internals/indexed-object":69,"../internals/to-length":140,"../internals/to-object":141}],25:[function(require,module,exports){
+var isObject = require('../internals/is-object');
+var isArray = require('../internals/is-array');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+
+var SPECIES = wellKnownSymbol('species');
+
+// `ArraySpeciesCreate` abstract operation
+// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
+module.exports = function (originalArray, length) {
+ var C;
+ if (isArray(originalArray)) {
+ C = originalArray.constructor;
+ // cross-realm fallback
+ if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
+ else if (isObject(C)) {
+ C = C[SPECIES];
+ if (C === null) C = undefined;
+ }
+ } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
+};
+
+},{"../internals/is-array":74,"../internals/is-object":77,"../internals/well-known-symbol":150}],26:[function(require,module,exports){
+var aFunction = require('../internals/a-function');
+
+// optional / simple context binding
+module.exports = function (fn, that, length) {
+ aFunction(fn);
+ if (that === undefined) return fn;
+ switch (length) {
+ case 0: return function () {
+ return fn.call(that);
+ };
+ case 1: return function (a) {
+ return fn.call(that, a);
+ };
+ case 2: return function (a, b) {
+ return fn.call(that, a, b);
+ };
+ case 3: return function (a, b, c) {
+ return fn.call(that, a, b, c);
+ };
+ }
+ return function (/* ...args */) {
+ return fn.apply(that, arguments);
+ };
+};
+
+},{"../internals/a-function":8}],27:[function(require,module,exports){
+var anObject = require('../internals/an-object');
+
+// call something on iterator step with safe closing on error
+module.exports = function (iterator, fn, value, ENTRIES) {
+ try {
+ return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
+ // 7.4.6 IteratorClose(iterator, completion)
+ } catch (error) {
+ var returnMethod = iterator['return'];
+ if (returnMethod !== undefined) anObject(returnMethod.call(iterator));
+ throw error;
+ }
+};
+
+},{"../internals/an-object":13}],28:[function(require,module,exports){
+var wellKnownSymbol = require('../internals/well-known-symbol');
+
+var ITERATOR = wellKnownSymbol('iterator');
+var SAFE_CLOSING = false;
+
+try {
+ var called = 0;
+ var iteratorWithReturn = {
+ next: function () {
+ return { done: !!called++ };
+ },
+ 'return': function () {
+ SAFE_CLOSING = true;
+ }
+ };
+ iteratorWithReturn[ITERATOR] = function () {
+ return this;
+ };
+ // eslint-disable-next-line no-throw-literal
+ Array.from(iteratorWithReturn, function () { throw 2; });
+} catch (error) { /* empty */ }
+
+module.exports = function (exec, SKIP_CLOSING) {
+ if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
+ var ITERATION_SUPPORT = false;
+ try {
+ var object = {};
+ object[ITERATOR] = function () {
+ return {
+ next: function () {
+ return { done: ITERATION_SUPPORT = true };
+ }
+ };
+ };
+ exec(object);
+ } catch (error) { /* empty */ }
+ return ITERATION_SUPPORT;
+};
+
+},{"../internals/well-known-symbol":150}],29:[function(require,module,exports){
+var toString = {}.toString;
+
+module.exports = function (it) {
+ return toString.call(it).slice(8, -1);
+};
+
+},{}],30:[function(require,module,exports){
+var classofRaw = require('../internals/classof-raw');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+
+var TO_STRING_TAG = wellKnownSymbol('toStringTag');
+// ES3 wrong here
+var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
+
+// fallback for IE11 Script Access Denied error
+var tryGet = function (it, key) {
+ try {
+ return it[key];
+ } catch (error) { /* empty */ }
+};
+
+// getting tag from ES6+ `Object.prototype.toString`
+module.exports = function (it) {
+ var O, tag, result;
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
+ // @@toStringTag case
+ : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag
+ // builtinTag case
+ : CORRECT_ARGUMENTS ? classofRaw(O)
+ // ES3 arguments fallback
+ : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
+};
+
+},{"../internals/classof-raw":29,"../internals/well-known-symbol":150}],31:[function(require,module,exports){
+'use strict';
+var defineProperty = require('../internals/object-define-property').f;
+var create = require('../internals/object-create');
+var redefineAll = require('../internals/redefine-all');
+var bind = require('../internals/bind-context');
+var anInstance = require('../internals/an-instance');
+var iterate = require('../internals/iterate');
+var defineIterator = require('../internals/define-iterator');
+var setSpecies = require('../internals/set-species');
+var DESCRIPTORS = require('../internals/descriptors');
+var fastKey = require('../internals/internal-metadata').fastKey;
+var InternalStateModule = require('../internals/internal-state');
+
+var setInternalState = InternalStateModule.set;
+var internalStateGetterFor = InternalStateModule.getterFor;
+
+module.exports = {
+ getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
+ var C = wrapper(function (that, iterable) {
+ anInstance(that, C, CONSTRUCTOR_NAME);
+ setInternalState(that, {
+ type: CONSTRUCTOR_NAME,
+ index: create(null),
+ first: undefined,
+ last: undefined,
+ size: 0
+ });
+ if (!DESCRIPTORS) that.size = 0;
+ if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);
+ });
+
+ var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
+
+ var define = function (that, key, value) {
+ var state = getInternalState(that);
+ var entry = getEntry(that, key);
+ var previous, index;
+ // change existing entry
+ if (entry) {
+ entry.value = value;
+ // create new entry
+ } else {
+ state.last = entry = {
+ index: index = fastKey(key, true),
+ key: key,
+ value: value,
+ previous: previous = state.last,
+ next: undefined,
+ removed: false
+ };
+ if (!state.first) state.first = entry;
+ if (previous) previous.next = entry;
+ if (DESCRIPTORS) state.size++;
+ else that.size++;
+ // add to index
+ if (index !== 'F') state.index[index] = entry;
+ } return that;
+ };
+
+ var getEntry = function (that, key) {
+ var state = getInternalState(that);
+ // fast case
+ var index = fastKey(key);
+ var entry;
+ if (index !== 'F') return state.index[index];
+ // frozen object case
+ for (entry = state.first; entry; entry = entry.next) {
+ if (entry.key == key) return entry;
+ }
+ };
+
+ redefineAll(C.prototype, {
+ // 23.1.3.1 Map.prototype.clear()
+ // 23.2.3.2 Set.prototype.clear()
+ clear: function clear() {
+ var that = this;
+ var state = getInternalState(that);
+ var data = state.index;
+ var entry = state.first;
+ while (entry) {
+ entry.removed = true;
+ if (entry.previous) entry.previous = entry.previous.next = undefined;
+ delete data[entry.index];
+ entry = entry.next;
+ }
+ state.first = state.last = undefined;
+ if (DESCRIPTORS) state.size = 0;
+ else that.size = 0;
+ },
+ // 23.1.3.3 Map.prototype.delete(key)
+ // 23.2.3.4 Set.prototype.delete(value)
+ 'delete': function (key) {
+ var that = this;
+ var state = getInternalState(that);
+ var entry = getEntry(that, key);
+ if (entry) {
+ var next = entry.next;
+ var prev = entry.previous;
+ delete state.index[entry.index];
+ entry.removed = true;
+ if (prev) prev.next = next;
+ if (next) next.previous = prev;
+ if (state.first == entry) state.first = next;
+ if (state.last == entry) state.last = prev;
+ if (DESCRIPTORS) state.size--;
+ else that.size--;
+ } return !!entry;
+ },
+ // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
+ // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
+ forEach: function forEach(callbackfn /* , that = undefined */) {
+ var state = getInternalState(this);
+ var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
+ var entry;
+ while (entry = entry ? entry.next : state.first) {
+ boundFunction(entry.value, entry.key, this);
+ // revert to the last existing entry
+ while (entry && entry.removed) entry = entry.previous;
+ }
+ },
+ // 23.1.3.7 Map.prototype.has(key)
+ // 23.2.3.7 Set.prototype.has(value)
+ has: function has(key) {
+ return !!getEntry(this, key);
+ }
+ });
+
+ redefineAll(C.prototype, IS_MAP ? {
+ // 23.1.3.6 Map.prototype.get(key)
+ get: function get(key) {
+ var entry = getEntry(this, key);
+ return entry && entry.value;
+ },
+ // 23.1.3.9 Map.prototype.set(key, value)
+ set: function set(key, value) {
+ return define(this, key === 0 ? 0 : key, value);
+ }
+ } : {
+ // 23.2.3.1 Set.prototype.add(value)
+ add: function add(value) {
+ return define(this, value = value === 0 ? 0 : value, value);
+ }
+ });
+ if (DESCRIPTORS) defineProperty(C.prototype, 'size', {
+ get: function () {
+ return getInternalState(this).size;
+ }
+ });
+ return C;
+ },
+ setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {
+ var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';
+ var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);
+ var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);
+ // add .keys, .values, .entries, [@@iterator]
+ // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
+ defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {
+ setInternalState(this, {
+ type: ITERATOR_NAME,
+ target: iterated,
+ state: getInternalCollectionState(iterated),
+ kind: kind,
+ last: undefined
+ });
+ }, function () {
+ var state = getInternalIteratorState(this);
+ var kind = state.kind;
+ var entry = state.last;
+ // revert to the last existing entry
+ while (entry && entry.removed) entry = entry.previous;
+ // get next entry
+ if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {
+ // or finish the iteration
+ state.target = undefined;
+ return { value: undefined, done: true };
+ }
+ // return step by kind
+ if (kind == 'keys') return { value: entry.key, done: false };
+ if (kind == 'values') return { value: entry.value, done: false };
+ return { value: [entry.key, entry.value], done: false };
+ }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
+
+ // add [@@species], 23.1.2.2, 23.2.2.2
+ setSpecies(CONSTRUCTOR_NAME);
+ }
+};
+
+},{"../internals/an-instance":12,"../internals/bind-context":26,"../internals/define-iterator":43,"../internals/descriptors":45,"../internals/internal-metadata":71,"../internals/internal-state":72,"../internals/iterate":80,"../internals/object-create":95,"../internals/object-define-property":97,"../internals/redefine-all":116,"../internals/set-species":124}],32:[function(require,module,exports){
+'use strict';
+var redefineAll = require('../internals/redefine-all');
+var getWeakData = require('../internals/internal-metadata').getWeakData;
+var anObject = require('../internals/an-object');
+var isObject = require('../internals/is-object');
+var anInstance = require('../internals/an-instance');
+var iterate = require('../internals/iterate');
+var ArrayIterationModule = require('../internals/array-iteration');
+var $has = require('../internals/has');
+var InternalStateModule = require('../internals/internal-state');
+
+var setInternalState = InternalStateModule.set;
+var internalStateGetterFor = InternalStateModule.getterFor;
+var find = ArrayIterationModule.find;
+var findIndex = ArrayIterationModule.findIndex;
+var id = 0;
+
+// fallback for uncaught frozen keys
+var uncaughtFrozenStore = function (store) {
+ return store.frozen || (store.frozen = new UncaughtFrozenStore());
+};
+
+var UncaughtFrozenStore = function () {
+ this.entries = [];
+};
+
+var findUncaughtFrozen = function (store, key) {
+ return find(store.entries, function (it) {
+ return it[0] === key;
+ });
+};
+
+UncaughtFrozenStore.prototype = {
+ get: function (key) {
+ var entry = findUncaughtFrozen(this, key);
+ if (entry) return entry[1];
+ },
+ has: function (key) {
+ return !!findUncaughtFrozen(this, key);
+ },
+ set: function (key, value) {
+ var entry = findUncaughtFrozen(this, key);
+ if (entry) entry[1] = value;
+ else this.entries.push([key, value]);
+ },
+ 'delete': function (key) {
+ var index = findIndex(this.entries, function (it) {
+ return it[0] === key;
+ });
+ if (~index) this.entries.splice(index, 1);
+ return !!~index;
+ }
+};
+
+module.exports = {
+ getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
+ var C = wrapper(function (that, iterable) {
+ anInstance(that, C, CONSTRUCTOR_NAME);
+ setInternalState(that, {
+ type: CONSTRUCTOR_NAME,
+ id: id++,
+ frozen: undefined
+ });
+ if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);
+ });
+
+ var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
+
+ var define = function (that, key, value) {
+ var state = getInternalState(that);
+ var data = getWeakData(anObject(key), true);
+ if (data === true) uncaughtFrozenStore(state).set(key, value);
+ else data[state.id] = value;
+ return that;
+ };
+
+ redefineAll(C.prototype, {
+ // 23.3.3.2 WeakMap.prototype.delete(key)
+ // 23.4.3.3 WeakSet.prototype.delete(value)
+ 'delete': function (key) {
+ var state = getInternalState(this);
+ if (!isObject(key)) return false;
+ var data = getWeakData(key);
+ if (data === true) return uncaughtFrozenStore(state)['delete'](key);
+ return data && $has(data, state.id) && delete data[state.id];
+ },
+ // 23.3.3.4 WeakMap.prototype.has(key)
+ // 23.4.3.4 WeakSet.prototype.has(value)
+ has: function has(key) {
+ var state = getInternalState(this);
+ if (!isObject(key)) return false;
+ var data = getWeakData(key);
+ if (data === true) return uncaughtFrozenStore(state).has(key);
+ return data && $has(data, state.id);
+ }
+ });
+
+ redefineAll(C.prototype, IS_MAP ? {
+ // 23.3.3.3 WeakMap.prototype.get(key)
+ get: function get(key) {
+ var state = getInternalState(this);
+ if (isObject(key)) {
+ var data = getWeakData(key);
+ if (data === true) return uncaughtFrozenStore(state).get(key);
+ return data ? data[state.id] : undefined;
+ }
+ },
+ // 23.3.3.5 WeakMap.prototype.set(key, value)
+ set: function set(key, value) {
+ return define(this, key, value);
+ }
+ } : {
+ // 23.4.3.1 WeakSet.prototype.add(value)
+ add: function add(value) {
+ return define(this, value, true);
+ }
+ });
+
+ return C;
+ }
+};
+
+},{"../internals/an-instance":12,"../internals/an-object":13,"../internals/array-iteration":21,"../internals/has":63,"../internals/internal-metadata":71,"../internals/internal-state":72,"../internals/is-object":77,"../internals/iterate":80,"../internals/redefine-all":116}],33:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var global = require('../internals/global');
+var isForced = require('../internals/is-forced');
+var redefine = require('../internals/redefine');
+var InternalMetadataModule = require('../internals/internal-metadata');
+var iterate = require('../internals/iterate');
+var anInstance = require('../internals/an-instance');
+var isObject = require('../internals/is-object');
+var fails = require('../internals/fails');
+var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');
+var setToStringTag = require('../internals/set-to-string-tag');
+var inheritIfRequired = require('../internals/inherit-if-required');
+
+module.exports = function (CONSTRUCTOR_NAME, wrapper, common, IS_MAP, IS_WEAK) {
+ var NativeConstructor = global[CONSTRUCTOR_NAME];
+ var NativePrototype = NativeConstructor && NativeConstructor.prototype;
+ var Constructor = NativeConstructor;
+ var ADDER = IS_MAP ? 'set' : 'add';
+ var exported = {};
+
+ var fixMethod = function (KEY) {
+ var nativeMethod = NativePrototype[KEY];
+ redefine(NativePrototype, KEY,
+ KEY == 'add' ? function add(a) {
+ nativeMethod.call(this, a === 0 ? 0 : a);
+ return this;
+ } : KEY == 'delete' ? function (a) {
+ return IS_WEAK && !isObject(a) ? false : nativeMethod.call(this, a === 0 ? 0 : a);
+ } : KEY == 'get' ? function get(a) {
+ return IS_WEAK && !isObject(a) ? undefined : nativeMethod.call(this, a === 0 ? 0 : a);
+ } : KEY == 'has' ? function has(a) {
+ return IS_WEAK && !isObject(a) ? false : nativeMethod.call(this, a === 0 ? 0 : a);
+ } : function set(a, b) {
+ nativeMethod.call(this, a === 0 ? 0 : a, b);
+ return this;
+ }
+ );
+ };
+
+ // eslint-disable-next-line max-len
+ if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {
+ new NativeConstructor().entries().next();
+ })))) {
+ // create collection constructor
+ Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);
+ InternalMetadataModule.REQUIRED = true;
+ } else if (isForced(CONSTRUCTOR_NAME, true)) {
+ var instance = new Constructor();
+ // early implementations not supports chaining
+ var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
+ // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
+ var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });
+ // most early implementations doesn't supports iterables, most modern - not close it correctly
+ // eslint-disable-next-line no-new
+ var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });
+ // for early implementations -0 and +0 not the same
+ var BUGGY_ZERO = !IS_WEAK && fails(function () {
+ // V8 ~ Chromium 42- fails only with 5+ elements
+ var $instance = new NativeConstructor();
+ var index = 5;
+ while (index--) $instance[ADDER](index, index);
+ return !$instance.has(-0);
+ });
+
+ if (!ACCEPT_ITERABLES) {
+ Constructor = wrapper(function (dummy, iterable) {
+ anInstance(dummy, Constructor, CONSTRUCTOR_NAME);
+ var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
+ if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);
+ return that;
+ });
+ Constructor.prototype = NativePrototype;
+ NativePrototype.constructor = Constructor;
+ }
+
+ if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
+ fixMethod('delete');
+ fixMethod('has');
+ IS_MAP && fixMethod('get');
+ }
+
+ if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);
+
+ // weak collections should not contains .clear method
+ if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;
+ }
+
+ exported[CONSTRUCTOR_NAME] = Constructor;
+ $({ global: true, forced: Constructor != NativeConstructor }, exported);
+
+ setToStringTag(Constructor, CONSTRUCTOR_NAME);
+
+ if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);
+
+ return Constructor;
+};
+
+},{"../internals/an-instance":12,"../internals/check-correctness-of-iteration":28,"../internals/export":49,"../internals/fails":50,"../internals/global":62,"../internals/inherit-if-required":70,"../internals/internal-metadata":71,"../internals/is-forced":75,"../internals/is-object":77,"../internals/iterate":80,"../internals/redefine":117,"../internals/set-to-string-tag":125}],34:[function(require,module,exports){
+var has = require('../internals/has');
+var ownKeys = require('../internals/own-keys');
+var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');
+var definePropertyModule = require('../internals/object-define-property');
+
+module.exports = function (target, source) {
+ var keys = ownKeys(source);
+ var defineProperty = definePropertyModule.f;
+ var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
+ for (var i = 0; i < keys.length; i++) {
+ var key = keys[i];
+ if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
+ }
+};
+
+},{"../internals/has":63,"../internals/object-define-property":97,"../internals/object-get-own-property-descriptor":98,"../internals/own-keys":109}],35:[function(require,module,exports){
+var wellKnownSymbol = require('../internals/well-known-symbol');
+
+var MATCH = wellKnownSymbol('match');
+
+module.exports = function (METHOD_NAME) {
+ var regexp = /./;
+ try {
+ '/./'[METHOD_NAME](regexp);
+ } catch (e) {
+ try {
+ regexp[MATCH] = false;
+ return '/./'[METHOD_NAME](regexp);
+ } catch (f) { /* empty */ }
+ } return false;
+};
+
+},{"../internals/well-known-symbol":150}],36:[function(require,module,exports){
+var fails = require('../internals/fails');
+
+module.exports = !fails(function () {
+ function F() { /* empty */ }
+ F.prototype.constructor = null;
+ return Object.getPrototypeOf(new F()) !== F.prototype;
+});
+
+},{"../internals/fails":50}],37:[function(require,module,exports){
+var requireObjectCoercible = require('../internals/require-object-coercible');
+
+var quot = /"/g;
+
+// B.2.3.2.1 CreateHTML(string, tag, attribute, value)
+// https://tc39.github.io/ecma262/#sec-createhtml
+module.exports = function (string, tag, attribute, value) {
+ var S = String(requireObjectCoercible(string));
+ var p1 = '<' + tag;
+ if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"';
+ return p1 + '>' + S + '</' + tag + '>';
+};
+
+},{"../internals/require-object-coercible":121}],38:[function(require,module,exports){
+'use strict';
+var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;
+var create = require('../internals/object-create');
+var createPropertyDescriptor = require('../internals/create-property-descriptor');
+var setToStringTag = require('../internals/set-to-string-tag');
+var Iterators = require('../internals/iterators');
+
+var returnThis = function () { return this; };
+
+module.exports = function (IteratorConstructor, NAME, next) {
+ var TO_STRING_TAG = NAME + ' Iterator';
+ IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });
+ setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
+ Iterators[TO_STRING_TAG] = returnThis;
+ return IteratorConstructor;
+};
+
+},{"../internals/create-property-descriptor":39,"../internals/iterators":82,"../internals/iterators-core":81,"../internals/object-create":95,"../internals/set-to-string-tag":125}],39:[function(require,module,exports){
+module.exports = function (bitmap, value) {
+ return {
+ enumerable: !(bitmap & 1),
+ configurable: !(bitmap & 2),
+ writable: !(bitmap & 4),
+ value: value
+ };
+};
+
+},{}],40:[function(require,module,exports){
+'use strict';
+var toPrimitive = require('../internals/to-primitive');
+var definePropertyModule = require('../internals/object-define-property');
+var createPropertyDescriptor = require('../internals/create-property-descriptor');
+
+module.exports = function (object, key, value) {
+ var propertyKey = toPrimitive(key);
+ if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
+ else object[propertyKey] = value;
+};
+
+},{"../internals/create-property-descriptor":39,"../internals/object-define-property":97,"../internals/to-primitive":143}],41:[function(require,module,exports){
+'use strict';
+var fails = require('../internals/fails');
+var padStart = require('../internals/string-pad').start;
+
+var abs = Math.abs;
+var DatePrototype = Date.prototype;
+var getTime = DatePrototype.getTime;
+var nativeDateToISOString = DatePrototype.toISOString;
+
+// `Date.prototype.toISOString` method implementation
+// https://tc39.github.io/ecma262/#sec-date.prototype.toisostring
+// PhantomJS / old WebKit fails here:
+module.exports = (fails(function () {
+ return nativeDateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';
+}) || !fails(function () {
+ nativeDateToISOString.call(new Date(NaN));
+})) ? function toISOString() {
+ if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');
+ var date = this;
+ var year = date.getUTCFullYear();
+ var milliseconds = date.getUTCMilliseconds();
+ var sign = year < 0 ? '-' : year > 9999 ? '+' : '';
+ return sign + padStart(abs(year), sign ? 6 : 4, 0) +
+ '-' + padStart(date.getUTCMonth() + 1, 2, 0) +
+ '-' + padStart(date.getUTCDate(), 2, 0) +
+ 'T' + padStart(date.getUTCHours(), 2, 0) +
+ ':' + padStart(date.getUTCMinutes(), 2, 0) +
+ ':' + padStart(date.getUTCSeconds(), 2, 0) +
+ '.' + padStart(milliseconds, 3, 0) +
+ 'Z';
+} : nativeDateToISOString;
+
+},{"../internals/fails":50,"../internals/string-pad":131}],42:[function(require,module,exports){
+'use strict';
+var anObject = require('../internals/an-object');
+var toPrimitive = require('../internals/to-primitive');
+
+module.exports = function (hint) {
+ if (hint !== 'string' && hint !== 'number' && hint !== 'default') {
+ throw TypeError('Incorrect hint');
+ } return toPrimitive(anObject(this), hint !== 'number');
+};
+
+},{"../internals/an-object":13,"../internals/to-primitive":143}],43:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var createIteratorConstructor = require('../internals/create-iterator-constructor');
+var getPrototypeOf = require('../internals/object-get-prototype-of');
+var setPrototypeOf = require('../internals/object-set-prototype-of');
+var setToStringTag = require('../internals/set-to-string-tag');
+var hide = require('../internals/hide');
+var redefine = require('../internals/redefine');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+var IS_PURE = require('../internals/is-pure');
+var Iterators = require('../internals/iterators');
+var IteratorsCore = require('../internals/iterators-core');
+
+var IteratorPrototype = IteratorsCore.IteratorPrototype;
+var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
+var ITERATOR = wellKnownSymbol('iterator');
+var KEYS = 'keys';
+var VALUES = 'values';
+var ENTRIES = 'entries';
+
+var returnThis = function () { return this; };
+
+module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
+ createIteratorConstructor(IteratorConstructor, NAME, next);
+
+ var getIterationMethod = function (KIND) {
+ if (KIND === DEFAULT && defaultIterator) return defaultIterator;
+ if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];
+ switch (KIND) {
+ case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
+ case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
+ case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
+ } return function () { return new IteratorConstructor(this); };
+ };
+
+ var TO_STRING_TAG = NAME + ' Iterator';
+ var INCORRECT_VALUES_NAME = false;
+ var IterablePrototype = Iterable.prototype;
+ var nativeIterator = IterablePrototype[ITERATOR]
+ || IterablePrototype['@@iterator']
+ || DEFAULT && IterablePrototype[DEFAULT];
+ var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
+ var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
+ var CurrentIteratorPrototype, methods, KEY;
+
+ // fix native
+ if (anyNativeIterator) {
+ CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
+ if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
+ if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
+ if (setPrototypeOf) {
+ setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
+ } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {
+ hide(CurrentIteratorPrototype, ITERATOR, returnThis);
+ }
+ }
+ // Set @@toStringTag to native iterators
+ setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
+ if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;
+ }
+ }
+
+ // fix Array#{values, @@iterator}.name in V8 / FF
+ if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
+ INCORRECT_VALUES_NAME = true;
+ defaultIterator = function values() { return nativeIterator.call(this); };
+ }
+
+ // define iterator
+ if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
+ hide(IterablePrototype, ITERATOR, defaultIterator);
+ }
+ Iterators[NAME] = defaultIterator;
+
+ // export additional methods
+ if (DEFAULT) {
+ methods = {
+ values: getIterationMethod(VALUES),
+ keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
+ entries: getIterationMethod(ENTRIES)
+ };
+ if (FORCED) for (KEY in methods) {
+ if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
+ redefine(IterablePrototype, KEY, methods[KEY]);
+ }
+ } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
+ }
+
+ return methods;
+};
+
+},{"../internals/create-iterator-constructor":38,"../internals/export":49,"../internals/hide":65,"../internals/is-pure":78,"../internals/iterators":82,"../internals/iterators-core":81,"../internals/object-get-prototype-of":102,"../internals/object-set-prototype-of":106,"../internals/redefine":117,"../internals/set-to-string-tag":125,"../internals/well-known-symbol":150}],44:[function(require,module,exports){
+var path = require('../internals/path');
+var has = require('../internals/has');
+var wrappedWellKnownSymbolModule = require('../internals/wrapped-well-known-symbol');
+var defineProperty = require('../internals/object-define-property').f;
+
+module.exports = function (NAME) {
+ var Symbol = path.Symbol || (path.Symbol = {});
+ if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {
+ value: wrappedWellKnownSymbolModule.f(NAME)
+ });
+};
+
+},{"../internals/has":63,"../internals/object-define-property":97,"../internals/path":112,"../internals/wrapped-well-known-symbol":152}],45:[function(require,module,exports){
+var fails = require('../internals/fails');
+
+// Thank's IE8 for his funny defineProperty
+module.exports = !fails(function () {
+ return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
+});
+
+},{"../internals/fails":50}],46:[function(require,module,exports){
+var global = require('../internals/global');
+var isObject = require('../internals/is-object');
+
+var document = global.document;
+// typeof document.createElement is 'object' in old IE
+var EXISTS = isObject(document) && isObject(document.createElement);
+
+module.exports = function (it) {
+ return EXISTS ? document.createElement(it) : {};
+};
+
+},{"../internals/global":62,"../internals/is-object":77}],47:[function(require,module,exports){
+// iterable DOM collections
+// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
+module.exports = {
+ CSSRuleList: 0,
+ CSSStyleDeclaration: 0,
+ CSSValueList: 0,
+ ClientRectList: 0,
+ DOMRectList: 0,
+ DOMStringList: 0,
+ DOMTokenList: 1,
+ DataTransferItemList: 0,
+ FileList: 0,
+ HTMLAllCollection: 0,
+ HTMLCollection: 0,
+ HTMLFormElement: 0,
+ HTMLSelectElement: 0,
+ MediaList: 0,
+ MimeTypeArray: 0,
+ NamedNodeMap: 0,
+ NodeList: 1,
+ PaintRequestList: 0,
+ Plugin: 0,
+ PluginArray: 0,
+ SVGLengthList: 0,
+ SVGNumberList: 0,
+ SVGPathSegList: 0,
+ SVGPointList: 0,
+ SVGStringList: 0,
+ SVGTransformList: 0,
+ SourceBufferList: 0,
+ StyleSheetList: 0,
+ TextTrackCueList: 0,
+ TextTrackList: 0,
+ TouchList: 0
+};
+
+},{}],48:[function(require,module,exports){
+// IE8- don't enum bug keys
+module.exports = [
+ 'constructor',
+ 'hasOwnProperty',
+ 'isPrototypeOf',
+ 'propertyIsEnumerable',
+ 'toLocaleString',
+ 'toString',
+ 'valueOf'
+];
+
+},{}],49:[function(require,module,exports){
+var global = require('../internals/global');
+var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
+var hide = require('../internals/hide');
+var redefine = require('../internals/redefine');
+var setGlobal = require('../internals/set-global');
+var copyConstructorProperties = require('../internals/copy-constructor-properties');
+var isForced = require('../internals/is-forced');
+
+/*
+ options.target - name of the target object
+ options.global - target is the global object
+ options.stat - export as static methods of target
+ options.proto - export as prototype methods of target
+ options.real - real prototype method for the `pure` version
+ options.forced - export even if the native feature is available
+ options.bind - bind methods to the target, required for the `pure` version
+ options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
+ options.unsafe - use the simple assignment of property instead of delete + defineProperty
+ options.sham - add a flag to not completely full polyfills
+ options.enumerable - export as enumerable property
+ options.noTargetGet - prevent calling a getter on target
+*/
+module.exports = function (options, source) {
+ var TARGET = options.target;
+ var GLOBAL = options.global;
+ var STATIC = options.stat;
+ var FORCED, target, key, targetProperty, sourceProperty, descriptor;
+ if (GLOBAL) {
+ target = global;
+ } else if (STATIC) {
+ target = global[TARGET] || setGlobal(TARGET, {});
+ } else {
+ target = (global[TARGET] || {}).prototype;
+ }
+ if (target) for (key in source) {
+ sourceProperty = source[key];
+ if (options.noTargetGet) {
+ descriptor = getOwnPropertyDescriptor(target, key);
+ targetProperty = descriptor && descriptor.value;
+ } else targetProperty = target[key];
+ FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
+ // contained in target
+ if (!FORCED && targetProperty !== undefined) {
+ if (typeof sourceProperty === typeof targetProperty) continue;
+ copyConstructorProperties(sourceProperty, targetProperty);
+ }
+ // add a flag to not completely full polyfills
+ if (options.sham || (targetProperty && targetProperty.sham)) {
+ hide(sourceProperty, 'sham', true);
+ }
+ // extend global
+ redefine(target, key, sourceProperty, options);
+ }
+};
+
+},{"../internals/copy-constructor-properties":34,"../internals/global":62,"../internals/hide":65,"../internals/is-forced":75,"../internals/object-get-own-property-descriptor":98,"../internals/redefine":117,"../internals/set-global":123}],50:[function(require,module,exports){
+module.exports = function (exec) {
+ try {
+ return !!exec();
+ } catch (error) {
+ return true;
+ }
+};
+
+},{}],51:[function(require,module,exports){
+'use strict';
+var hide = require('../internals/hide');
+var redefine = require('../internals/redefine');
+var fails = require('../internals/fails');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+var regexpExec = require('../internals/regexp-exec');
+
+var SPECIES = wellKnownSymbol('species');
+
+var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
+ // #replace needs built-in support for named groups.
+ // #match works fine because it just return the exec results, even if it has
+ // a "grops" property.
+ var re = /./;
+ re.exec = function () {
+ var result = [];
+ result.groups = { a: '7' };
+ return result;
+ };
+ return ''.replace(re, '$<a>') !== '7';
+});
+
+// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
+// Weex JS has frozen built-in prototypes, so use try / catch wrapper
+var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
+ var re = /(?:)/;
+ var originalExec = re.exec;
+ re.exec = function () { return originalExec.apply(this, arguments); };
+ var result = 'ab'.split(re);
+ return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
+});
+
+module.exports = function (KEY, length, exec, sham) {
+ var SYMBOL = wellKnownSymbol(KEY);
+
+ var DELEGATES_TO_SYMBOL = !fails(function () {
+ // String methods call symbol-named RegEp methods
+ var O = {};
+ O[SYMBOL] = function () { return 7; };
+ return ''[KEY](O) != 7;
+ });
+
+ var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
+ // Symbol-named RegExp methods call .exec
+ var execCalled = false;
+ var re = /a/;
+ re.exec = function () { execCalled = true; return null; };
+
+ if (KEY === 'split') {
+ // RegExp[@@split] doesn't call the regex's exec method, but first creates
+ // a new one. We need to return the patched regex when creating the new one.
+ re.constructor = {};
+ re.constructor[SPECIES] = function () { return re; };
+ }
+
+ re[SYMBOL]('');
+ return !execCalled;
+ });
+
+ if (
+ !DELEGATES_TO_SYMBOL ||
+ !DELEGATES_TO_EXEC ||
+ (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||
+ (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
+ ) {
+ var nativeRegExpMethod = /./[SYMBOL];
+ var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
+ if (regexp.exec === regexpExec) {
+ if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
+ // The native String method already delegates to @@method (this
+ // polyfilled function), leasing to infinite recursion.
+ // We avoid it by directly calling the native @@method method.
+ return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
+ }
+ return { done: true, value: nativeMethod.call(str, regexp, arg2) };
+ }
+ return { done: false };
+ });
+ var stringMethod = methods[0];
+ var regexMethod = methods[1];
+
+ redefine(String.prototype, KEY, stringMethod);
+ redefine(RegExp.prototype, SYMBOL, length == 2
+ // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
+ // 21.2.5.11 RegExp.prototype[@@split](string, limit)
+ ? function (string, arg) { return regexMethod.call(string, this, arg); }
+ // 21.2.5.6 RegExp.prototype[@@match](string)
+ // 21.2.5.9 RegExp.prototype[@@search](string)
+ : function (string) { return regexMethod.call(string, this); }
+ );
+ if (sham) hide(RegExp.prototype[SYMBOL], 'sham', true);
+ }
+};
+
+},{"../internals/fails":50,"../internals/hide":65,"../internals/redefine":117,"../internals/regexp-exec":119,"../internals/well-known-symbol":150}],52:[function(require,module,exports){
+'use strict';
+var isArray = require('../internals/is-array');
+var toLength = require('../internals/to-length');
+var bind = require('../internals/bind-context');
+
+// `FlattenIntoArray` abstract operation
+// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray
+var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {
+ var targetIndex = start;
+ var sourceIndex = 0;
+ var mapFn = mapper ? bind(mapper, thisArg, 3) : false;
+ var element;
+
+ while (sourceIndex < sourceLen) {
+ if (sourceIndex in source) {
+ element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];
+
+ if (depth > 0 && isArray(element)) {
+ targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;
+ } else {
+ if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length');
+ target[targetIndex] = element;
+ }
+
+ targetIndex++;
+ }
+ sourceIndex++;
+ }
+ return targetIndex;
+};
+
+module.exports = flattenIntoArray;
+
+},{"../internals/bind-context":26,"../internals/is-array":74,"../internals/to-length":140}],53:[function(require,module,exports){
+'use strict';
+var IS_PURE = require('../internals/is-pure');
+var global = require('../internals/global');
+var fails = require('../internals/fails');
+
+// Forced replacement object prototype accessors methods
+module.exports = IS_PURE || !fails(function () {
+ var key = Math.random();
+ // In FF throws only define methods
+ // eslint-disable-next-line no-undef, no-useless-call
+ __defineSetter__.call(null, key, function () { /* empty */ });
+ delete global[key];
+});
+
+},{"../internals/fails":50,"../internals/global":62,"../internals/is-pure":78}],54:[function(require,module,exports){
+var fails = require('../internals/fails');
+
+// check the existence of a method, lowercase
+// of a tag and escaping quotes in arguments
+module.exports = function (METHOD_NAME) {
+ return fails(function () {
+ var test = ''[METHOD_NAME]('"');
+ return test !== test.toLowerCase() || test.split('"').length > 3;
+ });
+};
+
+},{"../internals/fails":50}],55:[function(require,module,exports){
+var fails = require('../internals/fails');
+var whitespaces = require('../internals/whitespaces');
+
+var non = '\u200B\u0085\u180E';
+
+// check that a method works with the correct list
+// of whitespaces and has a correct name
+module.exports = function (METHOD_NAME) {
+ return fails(function () {
+ return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;
+ });
+};
+
+},{"../internals/fails":50,"../internals/whitespaces":151}],56:[function(require,module,exports){
+var fails = require('../internals/fails');
+
+module.exports = !fails(function () {
+ return Object.isExtensible(Object.preventExtensions({}));
+});
+
+},{"../internals/fails":50}],57:[function(require,module,exports){
+'use strict';
+var aFunction = require('../internals/a-function');
+var isObject = require('../internals/is-object');
+
+var slice = [].slice;
+var factories = {};
+
+var construct = function (C, argsLength, args) {
+ if (!(argsLength in factories)) {
+ for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';
+ // eslint-disable-next-line no-new-func
+ factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');
+ } return factories[argsLength](C, args);
+};
+
+// `Function.prototype.bind` method implementation
+// https://tc39.github.io/ecma262/#sec-function.prototype.bind
+module.exports = Function.bind || function bind(that /* , ...args */) {
+ var fn = aFunction(this);
+ var partArgs = slice.call(arguments, 1);
+ var boundFunction = function bound(/* args... */) {
+ var args = partArgs.concat(slice.call(arguments));
+ return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);
+ };
+ if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;
+ return boundFunction;
+};
+
+},{"../internals/a-function":8,"../internals/is-object":77}],58:[function(require,module,exports){
+var shared = require('../internals/shared');
+
+module.exports = shared('native-function-to-string', Function.toString);
+
+},{"../internals/shared":127}],59:[function(require,module,exports){
+var path = require('../internals/path');
+var global = require('../internals/global');
+
+var aFunction = function (variable) {
+ return typeof variable == 'function' ? variable : undefined;
+};
+
+module.exports = function (namespace, method) {
+ return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])
+ : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];
+};
+
+},{"../internals/global":62,"../internals/path":112}],60:[function(require,module,exports){
+var classof = require('../internals/classof');
+var Iterators = require('../internals/iterators');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+
+var ITERATOR = wellKnownSymbol('iterator');
+
+module.exports = function (it) {
+ if (it != undefined) return it[ITERATOR]
+ || it['@@iterator']
+ || Iterators[classof(it)];
+};
+
+},{"../internals/classof":30,"../internals/iterators":82,"../internals/well-known-symbol":150}],61:[function(require,module,exports){
+var anObject = require('../internals/an-object');
+var getIteratorMethod = require('../internals/get-iterator-method');
+
+module.exports = function (it) {
+ var iteratorMethod = getIteratorMethod(it);
+ if (typeof iteratorMethod != 'function') {
+ throw TypeError(String(it) + ' is not iterable');
+ } return anObject(iteratorMethod.call(it));
+};
+
+},{"../internals/an-object":13,"../internals/get-iterator-method":60}],62:[function(require,module,exports){
+(function (global){
+var O = 'object';
+var check = function (it) {
+ return it && it.Math == Math && it;
+};
+
+// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
+module.exports =
+ // eslint-disable-next-line no-undef
+ check(typeof globalThis == O && globalThis) ||
+ check(typeof window == O && window) ||
+ check(typeof self == O && self) ||
+ check(typeof global == O && global) ||
+ // eslint-disable-next-line no-new-func
+ Function('return this')();
+
+}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
+},{}],63:[function(require,module,exports){
+var hasOwnProperty = {}.hasOwnProperty;
+
+module.exports = function (it, key) {
+ return hasOwnProperty.call(it, key);
+};
+
+},{}],64:[function(require,module,exports){
+module.exports = {};
+
+},{}],65:[function(require,module,exports){
+var DESCRIPTORS = require('../internals/descriptors');
+var definePropertyModule = require('../internals/object-define-property');
+var createPropertyDescriptor = require('../internals/create-property-descriptor');
+
+module.exports = DESCRIPTORS ? function (object, key, value) {
+ return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
+} : function (object, key, value) {
+ object[key] = value;
+ return object;
+};
+
+},{"../internals/create-property-descriptor":39,"../internals/descriptors":45,"../internals/object-define-property":97}],66:[function(require,module,exports){
+var global = require('../internals/global');
+
+module.exports = function (a, b) {
+ var console = global.console;
+ if (console && console.error) {
+ arguments.length === 1 ? console.error(a) : console.error(a, b);
+ }
+};
+
+},{"../internals/global":62}],67:[function(require,module,exports){
+var getBuiltIn = require('../internals/get-built-in');
+
+module.exports = getBuiltIn('document', 'documentElement');
+
+},{"../internals/get-built-in":59}],68:[function(require,module,exports){
+var DESCRIPTORS = require('../internals/descriptors');
+var fails = require('../internals/fails');
+var createElement = require('../internals/document-create-element');
+
+// Thank's IE8 for his funny defineProperty
+module.exports = !DESCRIPTORS && !fails(function () {
+ return Object.defineProperty(createElement('div'), 'a', {
+ get: function () { return 7; }
+ }).a != 7;
+});
+
+},{"../internals/descriptors":45,"../internals/document-create-element":46,"../internals/fails":50}],69:[function(require,module,exports){
+var fails = require('../internals/fails');
+var classof = require('../internals/classof-raw');
+
+var split = ''.split;
+
+// fallback for non-array-like ES3 and non-enumerable old V8 strings
+module.exports = fails(function () {
+ // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
+ // eslint-disable-next-line no-prototype-builtins
+ return !Object('z').propertyIsEnumerable(0);
+}) ? function (it) {
+ return classof(it) == 'String' ? split.call(it, '') : Object(it);
+} : Object;
+
+},{"../internals/classof-raw":29,"../internals/fails":50}],70:[function(require,module,exports){
+var isObject = require('../internals/is-object');
+var setPrototypeOf = require('../internals/object-set-prototype-of');
+
+// makes subclassing work correct for wrapped built-ins
+module.exports = function ($this, dummy, Wrapper) {
+ var NewTarget, NewTargetPrototype;
+ if (
+ // it can work only with native `setPrototypeOf`
+ setPrototypeOf &&
+ // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
+ typeof (NewTarget = dummy.constructor) == 'function' &&
+ NewTarget !== Wrapper &&
+ isObject(NewTargetPrototype = NewTarget.prototype) &&
+ NewTargetPrototype !== Wrapper.prototype
+ ) setPrototypeOf($this, NewTargetPrototype);
+ return $this;
+};
+
+},{"../internals/is-object":77,"../internals/object-set-prototype-of":106}],71:[function(require,module,exports){
+var hiddenKeys = require('../internals/hidden-keys');
+var isObject = require('../internals/is-object');
+var has = require('../internals/has');
+var defineProperty = require('../internals/object-define-property').f;
+var uid = require('../internals/uid');
+var FREEZING = require('../internals/freezing');
+
+var METADATA = uid('meta');
+var id = 0;
+
+var isExtensible = Object.isExtensible || function () {
+ return true;
+};
+
+var setMetadata = function (it) {
+ defineProperty(it, METADATA, { value: {
+ objectID: 'O' + ++id, // object ID
+ weakData: {} // weak collections IDs
+ } });
+};
+
+var fastKey = function (it, create) {
+ // return a primitive with prefix
+ if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
+ if (!has(it, METADATA)) {
+ // can't set metadata to uncaught frozen object
+ if (!isExtensible(it)) return 'F';
+ // not necessary to add metadata
+ if (!create) return 'E';
+ // add missing metadata
+ setMetadata(it);
+ // return object ID
+ } return it[METADATA].objectID;
+};
+
+var getWeakData = function (it, create) {
+ if (!has(it, METADATA)) {
+ // can't set metadata to uncaught frozen object
+ if (!isExtensible(it)) return true;
+ // not necessary to add metadata
+ if (!create) return false;
+ // add missing metadata
+ setMetadata(it);
+ // return the store of weak collections IDs
+ } return it[METADATA].weakData;
+};
+
+// add metadata on freeze-family methods calling
+var onFreeze = function (it) {
+ if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);
+ return it;
+};
+
+var meta = module.exports = {
+ REQUIRED: false,
+ fastKey: fastKey,
+ getWeakData: getWeakData,
+ onFreeze: onFreeze
+};
+
+hiddenKeys[METADATA] = true;
+
+},{"../internals/freezing":56,"../internals/has":63,"../internals/hidden-keys":64,"../internals/is-object":77,"../internals/object-define-property":97,"../internals/uid":147}],72:[function(require,module,exports){
+var NATIVE_WEAK_MAP = require('../internals/native-weak-map');
+var global = require('../internals/global');
+var isObject = require('../internals/is-object');
+var hide = require('../internals/hide');
+var objectHas = require('../internals/has');
+var sharedKey = require('../internals/shared-key');
+var hiddenKeys = require('../internals/hidden-keys');
+
+var WeakMap = global.WeakMap;
+var set, get, has;
+
+var enforce = function (it) {
+ return has(it) ? get(it) : set(it, {});
+};
+
+var getterFor = function (TYPE) {
+ return function (it) {
+ var state;
+ if (!isObject(it) || (state = get(it)).type !== TYPE) {
+ throw TypeError('Incompatible receiver, ' + TYPE + ' required');
+ } return state;
+ };
+};
+
+if (NATIVE_WEAK_MAP) {
+ var store = new WeakMap();
+ var wmget = store.get;
+ var wmhas = store.has;
+ var wmset = store.set;
+ set = function (it, metadata) {
+ wmset.call(store, it, metadata);
+ return metadata;
+ };
+ get = function (it) {
+ return wmget.call(store, it) || {};
+ };
+ has = function (it) {
+ return wmhas.call(store, it);
+ };
+} else {
+ var STATE = sharedKey('state');
+ hiddenKeys[STATE] = true;
+ set = function (it, metadata) {
+ hide(it, STATE, metadata);
+ return metadata;
+ };
+ get = function (it) {
+ return objectHas(it, STATE) ? it[STATE] : {};
+ };
+ has = function (it) {
+ return objectHas(it, STATE);
+ };
+}
+
+module.exports = {
+ set: set,
+ get: get,
+ has: has,
+ enforce: enforce,
+ getterFor: getterFor
+};
+
+},{"../internals/global":62,"../internals/has":63,"../internals/hidden-keys":64,"../internals/hide":65,"../internals/is-object":77,"../internals/native-weak-map":90,"../internals/shared-key":126}],73:[function(require,module,exports){
+var wellKnownSymbol = require('../internals/well-known-symbol');
+var Iterators = require('../internals/iterators');
+
+var ITERATOR = wellKnownSymbol('iterator');
+var ArrayPrototype = Array.prototype;
+
+// check on default Array iterator
+module.exports = function (it) {
+ return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
+};
+
+},{"../internals/iterators":82,"../internals/well-known-symbol":150}],74:[function(require,module,exports){
+var classof = require('../internals/classof-raw');
+
+// `IsArray` abstract operation
+// https://tc39.github.io/ecma262/#sec-isarray
+module.exports = Array.isArray || function isArray(arg) {
+ return classof(arg) == 'Array';
+};
+
+},{"../internals/classof-raw":29}],75:[function(require,module,exports){
+var fails = require('../internals/fails');
+
+var replacement = /#|\.prototype\./;
+
+var isForced = function (feature, detection) {
+ var value = data[normalize(feature)];
+ return value == POLYFILL ? true
+ : value == NATIVE ? false
+ : typeof detection == 'function' ? fails(detection)
+ : !!detection;
+};
+
+var normalize = isForced.normalize = function (string) {
+ return String(string).replace(replacement, '.').toLowerCase();
+};
+
+var data = isForced.data = {};
+var NATIVE = isForced.NATIVE = 'N';
+var POLYFILL = isForced.POLYFILL = 'P';
+
+module.exports = isForced;
+
+},{"../internals/fails":50}],76:[function(require,module,exports){
+var isObject = require('../internals/is-object');
+
+var floor = Math.floor;
+
+// `Number.isInteger` method implementation
+// https://tc39.github.io/ecma262/#sec-number.isinteger
+module.exports = function isInteger(it) {
+ return !isObject(it) && isFinite(it) && floor(it) === it;
+};
+
+},{"../internals/is-object":77}],77:[function(require,module,exports){
+module.exports = function (it) {
+ return typeof it === 'object' ? it !== null : typeof it === 'function';
+};
+
+},{}],78:[function(require,module,exports){
+module.exports = false;
+
+},{}],79:[function(require,module,exports){
+var isObject = require('../internals/is-object');
+var classof = require('../internals/classof-raw');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+
+var MATCH = wellKnownSymbol('match');
+
+// `IsRegExp` abstract operation
+// https://tc39.github.io/ecma262/#sec-isregexp
+module.exports = function (it) {
+ var isRegExp;
+ return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');
+};
+
+},{"../internals/classof-raw":29,"../internals/is-object":77,"../internals/well-known-symbol":150}],80:[function(require,module,exports){
+var anObject = require('../internals/an-object');
+var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
+var toLength = require('../internals/to-length');
+var bind = require('../internals/bind-context');
+var getIteratorMethod = require('../internals/get-iterator-method');
+var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');
+
+var Result = function (stopped, result) {
+ this.stopped = stopped;
+ this.result = result;
+};
+
+var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {
+ var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);
+ var iterator, iterFn, index, length, result, step;
+
+ if (IS_ITERATOR) {
+ iterator = iterable;
+ } else {
+ iterFn = getIteratorMethod(iterable);
+ if (typeof iterFn != 'function') throw TypeError('Target is not iterable');
+ // optimisation for array iterators
+ if (isArrayIteratorMethod(iterFn)) {
+ for (index = 0, length = toLength(iterable.length); length > index; index++) {
+ result = AS_ENTRIES
+ ? boundFunction(anObject(step = iterable[index])[0], step[1])
+ : boundFunction(iterable[index]);
+ if (result && result instanceof Result) return result;
+ } return new Result(false);
+ }
+ iterator = iterFn.call(iterable);
+ }
+
+ while (!(step = iterator.next()).done) {
+ result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);
+ if (result && result instanceof Result) return result;
+ } return new Result(false);
+};
+
+iterate.stop = function (result) {
+ return new Result(true, result);
+};
+
+},{"../internals/an-object":13,"../internals/bind-context":26,"../internals/call-with-safe-iteration-closing":27,"../internals/get-iterator-method":60,"../internals/is-array-iterator-method":73,"../internals/to-length":140}],81:[function(require,module,exports){
+'use strict';
+var getPrototypeOf = require('../internals/object-get-prototype-of');
+var hide = require('../internals/hide');
+var has = require('../internals/has');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+var IS_PURE = require('../internals/is-pure');
+
+var ITERATOR = wellKnownSymbol('iterator');
+var BUGGY_SAFARI_ITERATORS = false;
+
+var returnThis = function () { return this; };
+
+// `%IteratorPrototype%` object
+// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object
+var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
+
+if ([].keys) {
+ arrayIterator = [].keys();
+ // Safari 8 has buggy iterators w/o `next`
+ if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
+ else {
+ PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
+ if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
+ }
+}
+
+if (IteratorPrototype == undefined) IteratorPrototype = {};
+
+// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
+if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);
+
+module.exports = {
+ IteratorPrototype: IteratorPrototype,
+ BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
+};
+
+},{"../internals/has":63,"../internals/hide":65,"../internals/is-pure":78,"../internals/object-get-prototype-of":102,"../internals/well-known-symbol":150}],82:[function(require,module,exports){
+arguments[4][64][0].apply(exports,arguments)
+},{"dup":64}],83:[function(require,module,exports){
+var nativeExpm1 = Math.expm1;
+var exp = Math.exp;
+
+// `Math.expm1` method implementation
+// https://tc39.github.io/ecma262/#sec-math.expm1
+module.exports = (!nativeExpm1
+ // Old FF bug
+ || nativeExpm1(10) > 22025.465794806719 || nativeExpm1(10) < 22025.4657948067165168
+ // Tor Browser bug
+ || nativeExpm1(-2e-17) != -2e-17
+) ? function expm1(x) {
+ return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : exp(x) - 1;
+} : nativeExpm1;
+
+},{}],84:[function(require,module,exports){
+var sign = require('../internals/math-sign');
+
+var abs = Math.abs;
+var pow = Math.pow;
+var EPSILON = pow(2, -52);
+var EPSILON32 = pow(2, -23);
+var MAX32 = pow(2, 127) * (2 - EPSILON32);
+var MIN32 = pow(2, -126);
+
+var roundTiesToEven = function (n) {
+ return n + 1 / EPSILON - 1 / EPSILON;
+};
+
+// `Math.fround` method implementation
+// https://tc39.github.io/ecma262/#sec-math.fround
+module.exports = Math.fround || function fround(x) {
+ var $abs = abs(x);
+ var $sign = sign(x);
+ var a, result;
+ if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
+ a = (1 + EPSILON32 / EPSILON) * $abs;
+ result = a - (a - $abs);
+ // eslint-disable-next-line no-self-compare
+ if (result > MAX32 || result != result) return $sign * Infinity;
+ return $sign * result;
+};
+
+},{"../internals/math-sign":86}],85:[function(require,module,exports){
+var log = Math.log;
+
+// `Math.log1p` method implementation
+// https://tc39.github.io/ecma262/#sec-math.log1p
+module.exports = Math.log1p || function log1p(x) {
+ return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log(1 + x);
+};
+
+},{}],86:[function(require,module,exports){
+// `Math.sign` method implementation
+// https://tc39.github.io/ecma262/#sec-math.sign
+module.exports = Math.sign || function sign(x) {
+ // eslint-disable-next-line no-self-compare
+ return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
+};
+
+},{}],87:[function(require,module,exports){
+var global = require('../internals/global');
+var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
+var classof = require('../internals/classof-raw');
+var macrotask = require('../internals/task').set;
+var userAgent = require('../internals/user-agent');
+
+var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
+var process = global.process;
+var Promise = global.Promise;
+var IS_NODE = classof(process) == 'process';
+// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`
+var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');
+var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
+
+var flush, head, last, notify, toggle, node, promise;
+
+// modern engines have queueMicrotask method
+if (!queueMicrotask) {
+ flush = function () {
+ var parent, fn;
+ if (IS_NODE && (parent = process.domain)) parent.exit();
+ while (head) {
+ fn = head.fn;
+ head = head.next;
+ try {
+ fn();
+ } catch (error) {
+ if (head) notify();
+ else last = undefined;
+ throw error;
+ }
+ } last = undefined;
+ if (parent) parent.enter();
+ };
+
+ // Node.js
+ if (IS_NODE) {
+ notify = function () {
+ process.nextTick(flush);
+ };
+ // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339
+ } else if (MutationObserver && !/(iphone|ipod|ipad).*applewebkit/i.test(userAgent)) {
+ toggle = true;
+ node = document.createTextNode('');
+ new MutationObserver(flush).observe(node, { characterData: true }); // eslint-disable-line no-new
+ notify = function () {
+ node.data = toggle = !toggle;
+ };
+ // environments with maybe non-completely correct, but existent Promise
+ } else if (Promise && Promise.resolve) {
+ // Promise.resolve without an argument throws an error in LG WebOS 2
+ promise = Promise.resolve(undefined);
+ notify = function () {
+ promise.then(flush);
+ };
+ // for other environments - macrotask based on:
+ // - setImmediate
+ // - MessageChannel
+ // - window.postMessag
+ // - onreadystatechange
+ // - setTimeout
+ } else {
+ notify = function () {
+ // strange IE + webpack dev server bug - use .call(global)
+ macrotask.call(global, flush);
+ };
+ }
+}
+
+module.exports = queueMicrotask || function (fn) {
+ var task = { fn: fn, next: undefined };
+ if (last) last.next = task;
+ if (!head) {
+ head = task;
+ notify();
+ } last = task;
+};
+
+},{"../internals/classof-raw":29,"../internals/global":62,"../internals/object-get-own-property-descriptor":98,"../internals/task":134,"../internals/user-agent":148}],88:[function(require,module,exports){
+var fails = require('../internals/fails');
+
+module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
+ // Chrome 38 Symbol has incorrect toString conversion
+ // eslint-disable-next-line no-undef
+ return !String(Symbol());
+});
+
+},{"../internals/fails":50}],89:[function(require,module,exports){
+var fails = require('../internals/fails');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+var IS_PURE = require('../internals/is-pure');
+
+var ITERATOR = wellKnownSymbol('iterator');
+
+module.exports = !fails(function () {
+ var url = new URL('b?e=1', 'http://a');
+ var searchParams = url.searchParams;
+ url.pathname = 'c%20d';
+ return (IS_PURE && !url.toJSON)
+ || !searchParams.sort
+ || url.href !== 'http://a/c%20d?e=1'
+ || searchParams.get('e') !== '1'
+ || String(new URLSearchParams('?a=1')) !== 'a=1'
+ || !searchParams[ITERATOR]
+ // throws in Edge
+ || new URL('https://a@b').username !== 'a'
+ || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'
+ // not punycoded in Edge
+ || new URL('http://тест').host !== 'xn--e1aybc'
+ // not escaped in Chrome 62-
+ || new URL('http://a#б').hash !== '#%D0%B1';
+});
+
+},{"../internals/fails":50,"../internals/is-pure":78,"../internals/well-known-symbol":150}],90:[function(require,module,exports){
+var global = require('../internals/global');
+var nativeFunctionToString = require('../internals/function-to-string');
+
+var WeakMap = global.WeakMap;
+
+module.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));
+
+},{"../internals/function-to-string":58,"../internals/global":62}],91:[function(require,module,exports){
+'use strict';
+var aFunction = require('../internals/a-function');
+
+var PromiseCapability = function (C) {
+ var resolve, reject;
+ this.promise = new C(function ($$resolve, $$reject) {
+ if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
+ resolve = $$resolve;
+ reject = $$reject;
+ });
+ this.resolve = aFunction(resolve);
+ this.reject = aFunction(reject);
+};
+
+// 25.4.1.5 NewPromiseCapability(C)
+module.exports.f = function (C) {
+ return new PromiseCapability(C);
+};
+
+},{"../internals/a-function":8}],92:[function(require,module,exports){
+var isRegExp = require('../internals/is-regexp');
+
+module.exports = function (it) {
+ if (isRegExp(it)) {
+ throw TypeError("The method doesn't accept regular expressions");
+ } return it;
+};
+
+},{"../internals/is-regexp":79}],93:[function(require,module,exports){
+var global = require('../internals/global');
+
+var globalIsFinite = global.isFinite;
+
+// `Number.isFinite` method
+// https://tc39.github.io/ecma262/#sec-number.isfinite
+module.exports = Number.isFinite || function isFinite(it) {
+ return typeof it == 'number' && globalIsFinite(it);
+};
+
+},{"../internals/global":62}],94:[function(require,module,exports){
+'use strict';
+var DESCRIPTORS = require('../internals/descriptors');
+var fails = require('../internals/fails');
+var objectKeys = require('../internals/object-keys');
+var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');
+var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');
+var toObject = require('../internals/to-object');
+var IndexedObject = require('../internals/indexed-object');
+
+var nativeAssign = Object.assign;
+
+// `Object.assign` method
+// https://tc39.github.io/ecma262/#sec-object.assign
+// should work with symbols and should have deterministic property order (V8 bug)
+module.exports = !nativeAssign || fails(function () {
+ var A = {};
+ var B = {};
+ // eslint-disable-next-line no-undef
+ var symbol = Symbol();
+ var alphabet = 'abcdefghijklmnopqrst';
+ A[symbol] = 7;
+ alphabet.split('').forEach(function (chr) { B[chr] = chr; });
+ return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
+}) ? function assign(target, source) { // eslint-disable-line no-unused-vars
+ var T = toObject(target);
+ var argumentsLength = arguments.length;
+ var index = 1;
+ var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
+ var propertyIsEnumerable = propertyIsEnumerableModule.f;
+ while (argumentsLength > index) {
+ var S = IndexedObject(arguments[index++]);
+ var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
+ var length = keys.length;
+ var j = 0;
+ var key;
+ while (length > j) {
+ key = keys[j++];
+ if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];
+ }
+ } return T;
+} : nativeAssign;
+
+},{"../internals/descriptors":45,"../internals/fails":50,"../internals/indexed-object":69,"../internals/object-get-own-property-symbols":101,"../internals/object-keys":104,"../internals/object-property-is-enumerable":105,"../internals/to-object":141}],95:[function(require,module,exports){
+var anObject = require('../internals/an-object');
+var defineProperties = require('../internals/object-define-properties');
+var enumBugKeys = require('../internals/enum-bug-keys');
+var hiddenKeys = require('../internals/hidden-keys');
+var html = require('../internals/html');
+var documentCreateElement = require('../internals/document-create-element');
+var sharedKey = require('../internals/shared-key');
+var IE_PROTO = sharedKey('IE_PROTO');
+
+var PROTOTYPE = 'prototype';
+var Empty = function () { /* empty */ };
+
+// Create object with fake `null` prototype: use iframe Object with cleared prototype
+var createDict = function () {
+ // Thrash, waste and sodomy: IE GC bug
+ var iframe = documentCreateElement('iframe');
+ var length = enumBugKeys.length;
+ var lt = '<';
+ var script = 'script';
+ var gt = '>';
+ var js = 'java' + script + ':';
+ var iframeDocument;
+ iframe.style.display = 'none';
+ html.appendChild(iframe);
+ iframe.src = String(js);
+ iframeDocument = iframe.contentWindow.document;
+ iframeDocument.open();
+ iframeDocument.write(lt + script + gt + 'document.F=Object' + lt + '/' + script + gt);
+ iframeDocument.close();
+ createDict = iframeDocument.F;
+ while (length--) delete createDict[PROTOTYPE][enumBugKeys[length]];
+ return createDict();
+};
+
+// `Object.create` method
+// https://tc39.github.io/ecma262/#sec-object.create
+module.exports = Object.create || function create(O, Properties) {
+ var result;
+ if (O !== null) {
+ Empty[PROTOTYPE] = anObject(O);
+ result = new Empty();
+ Empty[PROTOTYPE] = null;
+ // add "__proto__" for Object.getPrototypeOf polyfill
+ result[IE_PROTO] = O;
+ } else result = createDict();
+ return Properties === undefined ? result : defineProperties(result, Properties);
+};
+
+hiddenKeys[IE_PROTO] = true;
+
+},{"../internals/an-object":13,"../internals/document-create-element":46,"../internals/enum-bug-keys":48,"../internals/hidden-keys":64,"../internals/html":67,"../internals/object-define-properties":96,"../internals/shared-key":126}],96:[function(require,module,exports){
+var DESCRIPTORS = require('../internals/descriptors');
+var definePropertyModule = require('../internals/object-define-property');
+var anObject = require('../internals/an-object');
+var objectKeys = require('../internals/object-keys');
+
+// `Object.defineProperties` method
+// https://tc39.github.io/ecma262/#sec-object.defineproperties
+module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
+ anObject(O);
+ var keys = objectKeys(Properties);
+ var length = keys.length;
+ var index = 0;
+ var key;
+ while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);
+ return O;
+};
+
+},{"../internals/an-object":13,"../internals/descriptors":45,"../internals/object-define-property":97,"../internals/object-keys":104}],97:[function(require,module,exports){
+var DESCRIPTORS = require('../internals/descriptors');
+var IE8_DOM_DEFINE = require('../internals/ie8-dom-define');
+var anObject = require('../internals/an-object');
+var toPrimitive = require('../internals/to-primitive');
+
+var nativeDefineProperty = Object.defineProperty;
+
+// `Object.defineProperty` method
+// https://tc39.github.io/ecma262/#sec-object.defineproperty
+exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
+ anObject(O);
+ P = toPrimitive(P, true);
+ anObject(Attributes);
+ if (IE8_DOM_DEFINE) try {
+ return nativeDefineProperty(O, P, Attributes);
+ } catch (error) { /* empty */ }
+ if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
+ if ('value' in Attributes) O[P] = Attributes.value;
+ return O;
+};
+
+},{"../internals/an-object":13,"../internals/descriptors":45,"../internals/ie8-dom-define":68,"../internals/to-primitive":143}],98:[function(require,module,exports){
+var DESCRIPTORS = require('../internals/descriptors');
+var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');
+var createPropertyDescriptor = require('../internals/create-property-descriptor');
+var toIndexedObject = require('../internals/to-indexed-object');
+var toPrimitive = require('../internals/to-primitive');
+var has = require('../internals/has');
+var IE8_DOM_DEFINE = require('../internals/ie8-dom-define');
+
+var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
+
+// `Object.getOwnPropertyDescriptor` method
+// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
+exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
+ O = toIndexedObject(O);
+ P = toPrimitive(P, true);
+ if (IE8_DOM_DEFINE) try {
+ return nativeGetOwnPropertyDescriptor(O, P);
+ } catch (error) { /* empty */ }
+ if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
+};
+
+},{"../internals/create-property-descriptor":39,"../internals/descriptors":45,"../internals/has":63,"../internals/ie8-dom-define":68,"../internals/object-property-is-enumerable":105,"../internals/to-indexed-object":138,"../internals/to-primitive":143}],99:[function(require,module,exports){
+var toIndexedObject = require('../internals/to-indexed-object');
+var nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;
+
+var toString = {}.toString;
+
+var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
+ ? Object.getOwnPropertyNames(window) : [];
+
+var getWindowNames = function (it) {
+ try {
+ return nativeGetOwnPropertyNames(it);
+ } catch (error) {
+ return windowNames.slice();
+ }
+};
+
+// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
+module.exports.f = function getOwnPropertyNames(it) {
+ return windowNames && toString.call(it) == '[object Window]'
+ ? getWindowNames(it)
+ : nativeGetOwnPropertyNames(toIndexedObject(it));
+};
+
+},{"../internals/object-get-own-property-names":100,"../internals/to-indexed-object":138}],100:[function(require,module,exports){
+var internalObjectKeys = require('../internals/object-keys-internal');
+var enumBugKeys = require('../internals/enum-bug-keys');
+
+var hiddenKeys = enumBugKeys.concat('length', 'prototype');
+
+// `Object.getOwnPropertyNames` method
+// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
+exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
+ return internalObjectKeys(O, hiddenKeys);
+};
+
+},{"../internals/enum-bug-keys":48,"../internals/object-keys-internal":103}],101:[function(require,module,exports){
+exports.f = Object.getOwnPropertySymbols;
+
+},{}],102:[function(require,module,exports){
+var has = require('../internals/has');
+var toObject = require('../internals/to-object');
+var sharedKey = require('../internals/shared-key');
+var CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');
+
+var IE_PROTO = sharedKey('IE_PROTO');
+var ObjectPrototype = Object.prototype;
+
+// `Object.getPrototypeOf` method
+// https://tc39.github.io/ecma262/#sec-object.getprototypeof
+module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
+ O = toObject(O);
+ if (has(O, IE_PROTO)) return O[IE_PROTO];
+ if (typeof O.constructor == 'function' && O instanceof O.constructor) {
+ return O.constructor.prototype;
+ } return O instanceof Object ? ObjectPrototype : null;
+};
+
+},{"../internals/correct-prototype-getter":36,"../internals/has":63,"../internals/shared-key":126,"../internals/to-object":141}],103:[function(require,module,exports){
+var has = require('../internals/has');
+var toIndexedObject = require('../internals/to-indexed-object');
+var indexOf = require('../internals/array-includes').indexOf;
+var hiddenKeys = require('../internals/hidden-keys');
+
+module.exports = function (object, names) {
+ var O = toIndexedObject(object);
+ var i = 0;
+ var result = [];
+ var key;
+ for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
+ // Don't enum bug & hidden keys
+ while (names.length > i) if (has(O, key = names[i++])) {
+ ~indexOf(result, key) || result.push(key);
+ }
+ return result;
+};
+
+},{"../internals/array-includes":20,"../internals/has":63,"../internals/hidden-keys":64,"../internals/to-indexed-object":138}],104:[function(require,module,exports){
+var internalObjectKeys = require('../internals/object-keys-internal');
+var enumBugKeys = require('../internals/enum-bug-keys');
+
+// `Object.keys` method
+// https://tc39.github.io/ecma262/#sec-object.keys
+module.exports = Object.keys || function keys(O) {
+ return internalObjectKeys(O, enumBugKeys);
+};
+
+},{"../internals/enum-bug-keys":48,"../internals/object-keys-internal":103}],105:[function(require,module,exports){
+'use strict';
+var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
+var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
+
+// Nashorn ~ JDK8 bug
+var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
+
+// `Object.prototype.propertyIsEnumerable` method implementation
+// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
+exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
+ var descriptor = getOwnPropertyDescriptor(this, V);
+ return !!descriptor && descriptor.enumerable;
+} : nativePropertyIsEnumerable;
+
+},{}],106:[function(require,module,exports){
+var anObject = require('../internals/an-object');
+var aPossiblePrototype = require('../internals/a-possible-prototype');
+
+// `Object.setPrototypeOf` method
+// https://tc39.github.io/ecma262/#sec-object.setprototypeof
+// Works with __proto__ only. Old v8 can't work with null proto objects.
+/* eslint-disable no-proto */
+module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
+ var CORRECT_SETTER = false;
+ var test = {};
+ var setter;
+ try {
+ setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
+ setter.call(test, []);
+ CORRECT_SETTER = test instanceof Array;
+ } catch (error) { /* empty */ }
+ return function setPrototypeOf(O, proto) {
+ anObject(O);
+ aPossiblePrototype(proto);
+ if (CORRECT_SETTER) setter.call(O, proto);
+ else O.__proto__ = proto;
+ return O;
+ };
+}() : undefined);
+
+},{"../internals/a-possible-prototype":9,"../internals/an-object":13}],107:[function(require,module,exports){
+var DESCRIPTORS = require('../internals/descriptors');
+var objectKeys = require('../internals/object-keys');
+var toIndexedObject = require('../internals/to-indexed-object');
+var propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;
+
+// `Object.{ entries, values }` methods implementation
+var createMethod = function (TO_ENTRIES) {
+ return function (it) {
+ var O = toIndexedObject(it);
+ var keys = objectKeys(O);
+ var length = keys.length;
+ var i = 0;
+ var result = [];
+ var key;
+ while (length > i) {
+ key = keys[i++];
+ if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {
+ result.push(TO_ENTRIES ? [key, O[key]] : O[key]);
+ }
+ }
+ return result;
+ };
+};
+
+module.exports = {
+ // `Object.entries` method
+ // https://tc39.github.io/ecma262/#sec-object.entries
+ entries: createMethod(true),
+ // `Object.values` method
+ // https://tc39.github.io/ecma262/#sec-object.values
+ values: createMethod(false)
+};
+
+},{"../internals/descriptors":45,"../internals/object-keys":104,"../internals/object-property-is-enumerable":105,"../internals/to-indexed-object":138}],108:[function(require,module,exports){
+'use strict';
+var classof = require('../internals/classof');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+
+var TO_STRING_TAG = wellKnownSymbol('toStringTag');
+var test = {};
+
+test[TO_STRING_TAG] = 'z';
+
+// `Object.prototype.toString` method implementation
+// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
+module.exports = String(test) !== '[object z]' ? function toString() {
+ return '[object ' + classof(this) + ']';
+} : test.toString;
+
+},{"../internals/classof":30,"../internals/well-known-symbol":150}],109:[function(require,module,exports){
+var getBuiltIn = require('../internals/get-built-in');
+var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');
+var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');
+var anObject = require('../internals/an-object');
+
+// all object keys, includes non-enumerable and symbols
+module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
+ var keys = getOwnPropertyNamesModule.f(anObject(it));
+ var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
+ return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
+};
+
+},{"../internals/an-object":13,"../internals/get-built-in":59,"../internals/object-get-own-property-names":100,"../internals/object-get-own-property-symbols":101}],110:[function(require,module,exports){
+var global = require('../internals/global');
+var trim = require('../internals/string-trim').trim;
+var whitespaces = require('../internals/whitespaces');
+
+var nativeParseFloat = global.parseFloat;
+var FORCED = 1 / nativeParseFloat(whitespaces + '-0') !== -Infinity;
+
+// `parseFloat` method
+// https://tc39.github.io/ecma262/#sec-parsefloat-string
+module.exports = FORCED ? function parseFloat(string) {
+ var trimmedString = trim(String(string));
+ var result = nativeParseFloat(trimmedString);
+ return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result;
+} : nativeParseFloat;
+
+},{"../internals/global":62,"../internals/string-trim":133,"../internals/whitespaces":151}],111:[function(require,module,exports){
+var global = require('../internals/global');
+var trim = require('../internals/string-trim').trim;
+var whitespaces = require('../internals/whitespaces');
+
+var nativeParseInt = global.parseInt;
+var hex = /^[+-]?0[Xx]/;
+var FORCED = nativeParseInt(whitespaces + '08') !== 8 || nativeParseInt(whitespaces + '0x16') !== 22;
+
+// `parseInt` method
+// https://tc39.github.io/ecma262/#sec-parseint-string-radix
+module.exports = FORCED ? function parseInt(string, radix) {
+ var S = trim(String(string));
+ return nativeParseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));
+} : nativeParseInt;
+
+},{"../internals/global":62,"../internals/string-trim":133,"../internals/whitespaces":151}],112:[function(require,module,exports){
+module.exports = require('../internals/global');
+
+},{"../internals/global":62}],113:[function(require,module,exports){
+module.exports = function (exec) {
+ try {
+ return { error: false, value: exec() };
+ } catch (error) {
+ return { error: true, value: error };
+ }
+};
+
+},{}],114:[function(require,module,exports){
+var anObject = require('../internals/an-object');
+var isObject = require('../internals/is-object');
+var newPromiseCapability = require('../internals/new-promise-capability');
+
+module.exports = function (C, x) {
+ anObject(C);
+ if (isObject(x) && x.constructor === C) return x;
+ var promiseCapability = newPromiseCapability.f(C);
+ var resolve = promiseCapability.resolve;
+ resolve(x);
+ return promiseCapability.promise;
+};
+
+},{"../internals/an-object":13,"../internals/is-object":77,"../internals/new-promise-capability":91}],115:[function(require,module,exports){
+'use strict';
+// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js
+var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1
+var base = 36;
+var tMin = 1;
+var tMax = 26;
+var skew = 38;
+var damp = 700;
+var initialBias = 72;
+var initialN = 128; // 0x80
+var delimiter = '-'; // '\x2D'
+var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars
+var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators
+var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';
+var baseMinusTMin = base - tMin;
+var floor = Math.floor;
+var stringFromCharCode = String.fromCharCode;
+
+/**
+ * Creates an array containing the numeric code points of each Unicode
+ * character in the string. While JavaScript uses UCS-2 internally,
+ * this function will convert a pair of surrogate halves (each of which
+ * UCS-2 exposes as separate characters) into a single code point,
+ * matching UTF-16.
+ */
+var ucs2decode = function (string) {
+ var output = [];
+ var counter = 0;
+ var length = string.length;
+ while (counter < length) {
+ var value = string.charCodeAt(counter++);
+ if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
+ // It's a high surrogate, and there is a next character.
+ var extra = string.charCodeAt(counter++);
+ if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.
+ output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
+ } else {
+ // It's an unmatched surrogate; only append this code unit, in case the
+ // next code unit is the high surrogate of a surrogate pair.
+ output.push(value);
+ counter--;
+ }
+ } else {
+ output.push(value);
+ }
+ }
+ return output;
+};
+
+/**
+ * Converts a digit/integer into a basic code point.
+ */
+var digitToBasic = function (digit) {
+ // 0..25 map to ASCII a..z or A..Z
+ // 26..35 map to ASCII 0..9
+ return digit + 22 + 75 * (digit < 26);
+};
+
+/**
+ * Bias adaptation function as per section 3.4 of RFC 3492.
+ * https://tools.ietf.org/html/rfc3492#section-3.4
+ */
+var adapt = function (delta, numPoints, firstTime) {
+ var k = 0;
+ delta = firstTime ? floor(delta / damp) : delta >> 1;
+ delta += floor(delta / numPoints);
+ for (; delta > baseMinusTMin * tMax >> 1; k += base) {
+ delta = floor(delta / baseMinusTMin);
+ }
+ return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
+};
+
+/**
+ * Converts a string of Unicode symbols (e.g. a domain name label) to a
+ * Punycode string of ASCII-only symbols.
+ */
+// eslint-disable-next-line max-statements
+var encode = function (input) {
+ var output = [];
+
+ // Convert the input in UCS-2 to an array of Unicode code points.
+ input = ucs2decode(input);
+
+ // Cache the length.
+ var inputLength = input.length;
+
+ // Initialize the state.
+ var n = initialN;
+ var delta = 0;
+ var bias = initialBias;
+ var i, currentValue;
+
+ // Handle the basic code points.
+ for (i = 0; i < input.length; i++) {
+ currentValue = input[i];
+ if (currentValue < 0x80) {
+ output.push(stringFromCharCode(currentValue));
+ }
+ }
+
+ var basicLength = output.length; // number of basic code points.
+ var handledCPCount = basicLength; // number of code points that have been handled;
+
+ // Finish the basic string with a delimiter unless it's empty.
+ if (basicLength) {
+ output.push(delimiter);
+ }
+
+ // Main encoding loop:
+ while (handledCPCount < inputLength) {
+ // All non-basic code points < n have been handled already. Find the next larger one:
+ var m = maxInt;
+ for (i = 0; i < input.length; i++) {
+ currentValue = input[i];
+ if (currentValue >= n && currentValue < m) {
+ m = currentValue;
+ }
+ }
+
+ // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.
+ var handledCPCountPlusOne = handledCPCount + 1;
+ if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
+ throw RangeError(OVERFLOW_ERROR);
+ }
+
+ delta += (m - n) * handledCPCountPlusOne;
+ n = m;
+
+ for (i = 0; i < input.length; i++) {
+ currentValue = input[i];
+ if (currentValue < n && ++delta > maxInt) {
+ throw RangeError(OVERFLOW_ERROR);
+ }
+ if (currentValue == n) {
+ // Represent delta as a generalized variable-length integer.
+ var q = delta;
+ for (var k = base; /* no condition */; k += base) {
+ var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
+ if (q < t) break;
+ var qMinusT = q - t;
+ var baseMinusT = base - t;
+ output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
+ q = floor(qMinusT / baseMinusT);
+ }
+
+ output.push(stringFromCharCode(digitToBasic(q)));
+ bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
+ delta = 0;
+ ++handledCPCount;
+ }
+ }
+
+ ++delta;
+ ++n;
+ }
+ return output.join('');
+};
+
+module.exports = function (input) {
+ var encoded = [];
+ var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.');
+ var i, label;
+ for (i = 0; i < labels.length; i++) {
+ label = labels[i];
+ encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);
+ }
+ return encoded.join('.');
+};
+
+},{}],116:[function(require,module,exports){
+var redefine = require('../internals/redefine');
+
+module.exports = function (target, src, options) {
+ for (var key in src) redefine(target, key, src[key], options);
+ return target;
+};
+
+},{"../internals/redefine":117}],117:[function(require,module,exports){
+var global = require('../internals/global');
+var shared = require('../internals/shared');
+var hide = require('../internals/hide');
+var has = require('../internals/has');
+var setGlobal = require('../internals/set-global');
+var nativeFunctionToString = require('../internals/function-to-string');
+var InternalStateModule = require('../internals/internal-state');
+
+var getInternalState = InternalStateModule.get;
+var enforceInternalState = InternalStateModule.enforce;
+var TEMPLATE = String(nativeFunctionToString).split('toString');
+
+shared('inspectSource', function (it) {
+ return nativeFunctionToString.call(it);
+});
+
+(module.exports = function (O, key, value, options) {
+ var unsafe = options ? !!options.unsafe : false;
+ var simple = options ? !!options.enumerable : false;
+ var noTargetGet = options ? !!options.noTargetGet : false;
+ if (typeof value == 'function') {
+ if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);
+ enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
+ }
+ if (O === global) {
+ if (simple) O[key] = value;
+ else setGlobal(key, value);
+ return;
+ } else if (!unsafe) {
+ delete O[key];
+ } else if (!noTargetGet && O[key]) {
+ simple = true;
+ }
+ if (simple) O[key] = value;
+ else hide(O, key, value);
+// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
+})(Function.prototype, 'toString', function toString() {
+ return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);
+});
+
+},{"../internals/function-to-string":58,"../internals/global":62,"../internals/has":63,"../internals/hide":65,"../internals/internal-state":72,"../internals/set-global":123,"../internals/shared":127}],118:[function(require,module,exports){
+var classof = require('./classof-raw');
+var regexpExec = require('./regexp-exec');
+
+// `RegExpExec` abstract operation
+// https://tc39.github.io/ecma262/#sec-regexpexec
+module.exports = function (R, S) {
+ var exec = R.exec;
+ if (typeof exec === 'function') {
+ var result = exec.call(R, S);
+ if (typeof result !== 'object') {
+ throw TypeError('RegExp exec method returned something other than an Object or null');
+ }
+ return result;
+ }
+
+ if (classof(R) !== 'RegExp') {
+ throw TypeError('RegExp#exec called on incompatible receiver');
+ }
+
+ return regexpExec.call(R, S);
+};
+
+
+},{"./classof-raw":29,"./regexp-exec":119}],119:[function(require,module,exports){
+'use strict';
+var regexpFlags = require('./regexp-flags');
+
+var nativeExec = RegExp.prototype.exec;
+// This always refers to the native implementation, because the
+// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
+// which loads this file before patching the method.
+var nativeReplace = String.prototype.replace;
+
+var patchedExec = nativeExec;
+
+var UPDATES_LAST_INDEX_WRONG = (function () {
+ var re1 = /a/;
+ var re2 = /b*/g;
+ nativeExec.call(re1, 'a');
+ nativeExec.call(re2, 'a');
+ return re1.lastIndex !== 0 || re2.lastIndex !== 0;
+})();
+
+// nonparticipating capturing group, copied from es5-shim's String#split patch.
+var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
+
+var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;
+
+if (PATCH) {
+ patchedExec = function exec(str) {
+ var re = this;
+ var lastIndex, reCopy, match, i;
+
+ if (NPCG_INCLUDED) {
+ reCopy = new RegExp('^' + re.source + '$(?!\\s)', regexpFlags.call(re));
+ }
+ if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
+
+ match = nativeExec.call(re, str);
+
+ if (UPDATES_LAST_INDEX_WRONG && match) {
+ re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
+ }
+ if (NPCG_INCLUDED && match && match.length > 1) {
+ // Fix browsers whose `exec` methods don't consistently return `undefined`
+ // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
+ nativeReplace.call(match[0], reCopy, function () {
+ for (i = 1; i < arguments.length - 2; i++) {
+ if (arguments[i] === undefined) match[i] = undefined;
+ }
+ });
+ }
+
+ return match;
+ };
+}
+
+module.exports = patchedExec;
+
+},{"./regexp-flags":120}],120:[function(require,module,exports){
+'use strict';
+var anObject = require('../internals/an-object');
+
+// `RegExp.prototype.flags` getter implementation
+// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
+module.exports = function () {
+ var that = anObject(this);
+ var result = '';
+ if (that.global) result += 'g';
+ if (that.ignoreCase) result += 'i';
+ if (that.multiline) result += 'm';
+ if (that.dotAll) result += 's';
+ if (that.unicode) result += 'u';
+ if (that.sticky) result += 'y';
+ return result;
+};
+
+},{"../internals/an-object":13}],121:[function(require,module,exports){
+// `RequireObjectCoercible` abstract operation
+// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
+module.exports = function (it) {
+ if (it == undefined) throw TypeError("Can't call method on " + it);
+ return it;
+};
+
+},{}],122:[function(require,module,exports){
+// `SameValue` abstract operation
+// https://tc39.github.io/ecma262/#sec-samevalue
+module.exports = Object.is || function is(x, y) {
+ // eslint-disable-next-line no-self-compare
+ return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
+};
+
+},{}],123:[function(require,module,exports){
+var global = require('../internals/global');
+var hide = require('../internals/hide');
+
+module.exports = function (key, value) {
+ try {
+ hide(global, key, value);
+ } catch (error) {
+ global[key] = value;
+ } return value;
+};
+
+},{"../internals/global":62,"../internals/hide":65}],124:[function(require,module,exports){
+'use strict';
+var getBuiltIn = require('../internals/get-built-in');
+var definePropertyModule = require('../internals/object-define-property');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+var DESCRIPTORS = require('../internals/descriptors');
+
+var SPECIES = wellKnownSymbol('species');
+
+module.exports = function (CONSTRUCTOR_NAME) {
+ var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
+ var defineProperty = definePropertyModule.f;
+
+ if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
+ defineProperty(Constructor, SPECIES, {
+ configurable: true,
+ get: function () { return this; }
+ });
+ }
+};
+
+},{"../internals/descriptors":45,"../internals/get-built-in":59,"../internals/object-define-property":97,"../internals/well-known-symbol":150}],125:[function(require,module,exports){
+var defineProperty = require('../internals/object-define-property').f;
+var has = require('../internals/has');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+
+var TO_STRING_TAG = wellKnownSymbol('toStringTag');
+
+module.exports = function (it, TAG, STATIC) {
+ if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
+ defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });
+ }
+};
+
+},{"../internals/has":63,"../internals/object-define-property":97,"../internals/well-known-symbol":150}],126:[function(require,module,exports){
+var shared = require('../internals/shared');
+var uid = require('../internals/uid');
+
+var keys = shared('keys');
+
+module.exports = function (key) {
+ return keys[key] || (keys[key] = uid(key));
+};
+
+},{"../internals/shared":127,"../internals/uid":147}],127:[function(require,module,exports){
+var global = require('../internals/global');
+var setGlobal = require('../internals/set-global');
+var IS_PURE = require('../internals/is-pure');
+
+var SHARED = '__core-js_shared__';
+var store = global[SHARED] || setGlobal(SHARED, {});
+
+(module.exports = function (key, value) {
+ return store[key] || (store[key] = value !== undefined ? value : {});
+})('versions', []).push({
+ version: '3.1.3',
+ mode: IS_PURE ? 'pure' : 'global',
+ copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
+});
+
+},{"../internals/global":62,"../internals/is-pure":78,"../internals/set-global":123}],128:[function(require,module,exports){
+'use strict';
+var fails = require('../internals/fails');
+
+module.exports = function (METHOD_NAME, argument) {
+ var method = [][METHOD_NAME];
+ return !method || !fails(function () {
+ // eslint-disable-next-line no-useless-call,no-throw-literal
+ method.call(null, argument || function () { throw 1; }, 1);
+ });
+};
+
+},{"../internals/fails":50}],129:[function(require,module,exports){
+var anObject = require('../internals/an-object');
+var aFunction = require('../internals/a-function');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+
+var SPECIES = wellKnownSymbol('species');
+
+// `SpeciesConstructor` abstract operation
+// https://tc39.github.io/ecma262/#sec-speciesconstructor
+module.exports = function (O, defaultConstructor) {
+ var C = anObject(O).constructor;
+ var S;
+ return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);
+};
+
+},{"../internals/a-function":8,"../internals/an-object":13,"../internals/well-known-symbol":150}],130:[function(require,module,exports){
+var toInteger = require('../internals/to-integer');
+var requireObjectCoercible = require('../internals/require-object-coercible');
+
+// `String.prototype.{ codePointAt, at }` methods implementation
+var createMethod = function (CONVERT_TO_STRING) {
+ return function ($this, pos) {
+ var S = String(requireObjectCoercible($this));
+ var position = toInteger(pos);
+ var size = S.length;
+ var first, second;
+ if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
+ first = S.charCodeAt(position);
+ return first < 0xD800 || first > 0xDBFF || position + 1 === size
+ || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
+ ? CONVERT_TO_STRING ? S.charAt(position) : first
+ : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
+ };
+};
+
+module.exports = {
+ // `String.prototype.codePointAt` method
+ // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
+ codeAt: createMethod(false),
+ // `String.prototype.at` method
+ // https://github.com/mathiasbynens/String.prototype.at
+ charAt: createMethod(true)
+};
+
+},{"../internals/require-object-coercible":121,"../internals/to-integer":139}],131:[function(require,module,exports){
+// https://github.com/tc39/proposal-string-pad-start-end
+var toLength = require('../internals/to-length');
+var repeat = require('../internals/string-repeat');
+var requireObjectCoercible = require('../internals/require-object-coercible');
+
+var ceil = Math.ceil;
+
+// `String.prototype.{ padStart, padEnd }` methods implementation
+var createMethod = function (IS_END) {
+ return function ($this, maxLength, fillString) {
+ var S = String(requireObjectCoercible($this));
+ var stringLength = S.length;
+ var fillStr = fillString === undefined ? ' ' : String(fillString);
+ var intMaxLength = toLength(maxLength);
+ var fillLen, stringFiller;
+ if (intMaxLength <= stringLength || fillStr == '') return S;
+ fillLen = intMaxLength - stringLength;
+ stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));
+ if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);
+ return IS_END ? S + stringFiller : stringFiller + S;
+ };
+};
+
+module.exports = {
+ // `String.prototype.padStart` method
+ // https://tc39.github.io/ecma262/#sec-string.prototype.padstart
+ start: createMethod(false),
+ // `String.prototype.padEnd` method
+ // https://tc39.github.io/ecma262/#sec-string.prototype.padend
+ end: createMethod(true)
+};
+
+},{"../internals/require-object-coercible":121,"../internals/string-repeat":132,"../internals/to-length":140}],132:[function(require,module,exports){
+'use strict';
+var toInteger = require('../internals/to-integer');
+var requireObjectCoercible = require('../internals/require-object-coercible');
+
+// `String.prototype.repeat` method implementation
+// https://tc39.github.io/ecma262/#sec-string.prototype.repeat
+module.exports = ''.repeat || function repeat(count) {
+ var str = String(requireObjectCoercible(this));
+ var result = '';
+ var n = toInteger(count);
+ if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');
+ for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;
+ return result;
+};
+
+},{"../internals/require-object-coercible":121,"../internals/to-integer":139}],133:[function(require,module,exports){
+var requireObjectCoercible = require('../internals/require-object-coercible');
+var whitespaces = require('../internals/whitespaces');
+
+var whitespace = '[' + whitespaces + ']';
+var ltrim = RegExp('^' + whitespace + whitespace + '*');
+var rtrim = RegExp(whitespace + whitespace + '*$');
+
+// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
+var createMethod = function (TYPE) {
+ return function ($this) {
+ var string = String(requireObjectCoercible($this));
+ if (TYPE & 1) string = string.replace(ltrim, '');
+ if (TYPE & 2) string = string.replace(rtrim, '');
+ return string;
+ };
+};
+
+module.exports = {
+ // `String.prototype.{ trimLeft, trimStart }` methods
+ // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart
+ start: createMethod(1),
+ // `String.prototype.{ trimRight, trimEnd }` methods
+ // https://tc39.github.io/ecma262/#sec-string.prototype.trimend
+ end: createMethod(2),
+ // `String.prototype.trim` method
+ // https://tc39.github.io/ecma262/#sec-string.prototype.trim
+ trim: createMethod(3)
+};
+
+},{"../internals/require-object-coercible":121,"../internals/whitespaces":151}],134:[function(require,module,exports){
+var global = require('../internals/global');
+var fails = require('../internals/fails');
+var classof = require('../internals/classof-raw');
+var bind = require('../internals/bind-context');
+var html = require('../internals/html');
+var createElement = require('../internals/document-create-element');
+
+var location = global.location;
+var set = global.setImmediate;
+var clear = global.clearImmediate;
+var process = global.process;
+var MessageChannel = global.MessageChannel;
+var Dispatch = global.Dispatch;
+var counter = 0;
+var queue = {};
+var ONREADYSTATECHANGE = 'onreadystatechange';
+var defer, channel, port;
+
+var run = function (id) {
+ // eslint-disable-next-line no-prototype-builtins
+ if (queue.hasOwnProperty(id)) {
+ var fn = queue[id];
+ delete queue[id];
+ fn();
+ }
+};
+
+var runner = function (id) {
+ return function () {
+ run(id);
+ };
+};
+
+var listener = function (event) {
+ run(event.data);
+};
+
+var post = function (id) {
+ // old engines have not location.origin
+ global.postMessage(id + '', location.protocol + '//' + location.host);
+};
+
+// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
+if (!set || !clear) {
+ set = function setImmediate(fn) {
+ var args = [];
+ var i = 1;
+ while (arguments.length > i) args.push(arguments[i++]);
+ queue[++counter] = function () {
+ // eslint-disable-next-line no-new-func
+ (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);
+ };
+ defer(counter);
+ return counter;
+ };
+ clear = function clearImmediate(id) {
+ delete queue[id];
+ };
+ // Node.js 0.8-
+ if (classof(process) == 'process') {
+ defer = function (id) {
+ process.nextTick(runner(id));
+ };
+ // Sphere (JS game engine) Dispatch API
+ } else if (Dispatch && Dispatch.now) {
+ defer = function (id) {
+ Dispatch.now(runner(id));
+ };
+ // Browsers with MessageChannel, includes WebWorkers
+ } else if (MessageChannel) {
+ channel = new MessageChannel();
+ port = channel.port2;
+ channel.port1.onmessage = listener;
+ defer = bind(port.postMessage, port, 1);
+ // Browsers with postMessage, skip WebWorkers
+ // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
+ } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {
+ defer = post;
+ global.addEventListener('message', listener, false);
+ // IE8-
+ } else if (ONREADYSTATECHANGE in createElement('script')) {
+ defer = function (id) {
+ html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {
+ html.removeChild(this);
+ run(id);
+ };
+ };
+ // Rest old browsers
+ } else {
+ defer = function (id) {
+ setTimeout(runner(id), 0);
+ };
+ }
+}
+
+module.exports = {
+ set: set,
+ clear: clear
+};
+
+},{"../internals/bind-context":26,"../internals/classof-raw":29,"../internals/document-create-element":46,"../internals/fails":50,"../internals/global":62,"../internals/html":67}],135:[function(require,module,exports){
+var classof = require('../internals/classof-raw');
+
+// `thisNumberValue` abstract operation
+// https://tc39.github.io/ecma262/#sec-thisnumbervalue
+module.exports = function (value) {
+ if (typeof value != 'number' && classof(value) != 'Number') {
+ throw TypeError('Incorrect invocation');
+ }
+ return +value;
+};
+
+},{"../internals/classof-raw":29}],136:[function(require,module,exports){
+var toInteger = require('../internals/to-integer');
+
+var max = Math.max;
+var min = Math.min;
+
+// Helper for a popular repeating case of the spec:
+// Let integer be ? ToInteger(index).
+// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).
+module.exports = function (index, length) {
+ var integer = toInteger(index);
+ return integer < 0 ? max(integer + length, 0) : min(integer, length);
+};
+
+},{"../internals/to-integer":139}],137:[function(require,module,exports){
+var toInteger = require('../internals/to-integer');
+var toLength = require('../internals/to-length');
+
+// `ToIndex` abstract operation
+// https://tc39.github.io/ecma262/#sec-toindex
+module.exports = function (it) {
+ if (it === undefined) return 0;
+ var number = toInteger(it);
+ var length = toLength(number);
+ if (number !== length) throw RangeError('Wrong length or index');
+ return length;
+};
+
+},{"../internals/to-integer":139,"../internals/to-length":140}],138:[function(require,module,exports){
+// toObject with fallback for non-array-like ES3 strings
+var IndexedObject = require('../internals/indexed-object');
+var requireObjectCoercible = require('../internals/require-object-coercible');
+
+module.exports = function (it) {
+ return IndexedObject(requireObjectCoercible(it));
+};
+
+},{"../internals/indexed-object":69,"../internals/require-object-coercible":121}],139:[function(require,module,exports){
+var ceil = Math.ceil;
+var floor = Math.floor;
+
+// `ToInteger` abstract operation
+// https://tc39.github.io/ecma262/#sec-tointeger
+module.exports = function (argument) {
+ return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
+};
+
+},{}],140:[function(require,module,exports){
+var toInteger = require('../internals/to-integer');
+
+var min = Math.min;
+
+// `ToLength` abstract operation
+// https://tc39.github.io/ecma262/#sec-tolength
+module.exports = function (argument) {
+ return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
+};
+
+},{"../internals/to-integer":139}],141:[function(require,module,exports){
+var requireObjectCoercible = require('../internals/require-object-coercible');
+
+// `ToObject` abstract operation
+// https://tc39.github.io/ecma262/#sec-toobject
+module.exports = function (argument) {
+ return Object(requireObjectCoercible(argument));
+};
+
+},{"../internals/require-object-coercible":121}],142:[function(require,module,exports){
+var toInteger = require('../internals/to-integer');
+
+module.exports = function (it, BYTES) {
+ var offset = toInteger(it);
+ if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset');
+ return offset;
+};
+
+},{"../internals/to-integer":139}],143:[function(require,module,exports){
+var isObject = require('../internals/is-object');
+
+// `ToPrimitive` abstract operation
+// https://tc39.github.io/ecma262/#sec-toprimitive
+// instead of the ES6 spec version, we didn't implement @@toPrimitive case
+// and the second argument - flag - preferred type is a string
+module.exports = function (input, PREFERRED_STRING) {
+ if (!isObject(input)) return input;
+ var fn, val;
+ if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
+ if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
+ if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
+ throw TypeError("Can't convert object to primitive value");
+};
+
+},{"../internals/is-object":77}],144:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var global = require('../internals/global');
+var DESCRIPTORS = require('../internals/descriptors');
+var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-arrays-constructors-requires-wrappers');
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var ArrayBufferModule = require('../internals/array-buffer');
+var anInstance = require('../internals/an-instance');
+var createPropertyDescriptor = require('../internals/create-property-descriptor');
+var hide = require('../internals/hide');
+var toLength = require('../internals/to-length');
+var toIndex = require('../internals/to-index');
+var toOffset = require('../internals/to-offset');
+var toPrimitive = require('../internals/to-primitive');
+var has = require('../internals/has');
+var classof = require('../internals/classof');
+var isObject = require('../internals/is-object');
+var create = require('../internals/object-create');
+var setPrototypeOf = require('../internals/object-set-prototype-of');
+var getOwnPropertyNames = require('../internals/object-get-own-property-names').f;
+var typedArrayFrom = require('../internals/typed-array-from');
+var forEach = require('../internals/array-iteration').forEach;
+var setSpecies = require('../internals/set-species');
+var definePropertyModule = require('../internals/object-define-property');
+var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');
+var InternalStateModule = require('../internals/internal-state');
+
+var getInternalState = InternalStateModule.get;
+var setInternalState = InternalStateModule.set;
+var nativeDefineProperty = definePropertyModule.f;
+var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
+var round = Math.round;
+var RangeError = global.RangeError;
+var ArrayBuffer = ArrayBufferModule.ArrayBuffer;
+var DataView = ArrayBufferModule.DataView;
+var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;
+var TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;
+var TypedArray = ArrayBufferViewCore.TypedArray;
+var TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;
+var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
+var isTypedArray = ArrayBufferViewCore.isTypedArray;
+var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';
+var WRONG_LENGTH = 'Wrong length';
+
+var fromList = function (C, list) {
+ var index = 0;
+ var length = list.length;
+ var result = new (aTypedArrayConstructor(C))(length);
+ while (length > index) result[index] = list[index++];
+ return result;
+};
+
+var addGetter = function (it, key) {
+ nativeDefineProperty(it, key, { get: function () {
+ return getInternalState(this)[key];
+ } });
+};
+
+var isArrayBuffer = function (it) {
+ var klass;
+ return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';
+};
+
+var isTypedArrayIndex = function (target, key) {
+ return isTypedArray(target)
+ && typeof key != 'symbol'
+ && key in target
+ && String(+key) == String(key);
+};
+
+var wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {
+ return isTypedArrayIndex(target, key = toPrimitive(key, true))
+ ? createPropertyDescriptor(2, target[key])
+ : nativeGetOwnPropertyDescriptor(target, key);
+};
+
+var wrappedDefineProperty = function defineProperty(target, key, descriptor) {
+ if (isTypedArrayIndex(target, key = toPrimitive(key, true))
+ && isObject(descriptor)
+ && has(descriptor, 'value')
+ && !has(descriptor, 'get')
+ && !has(descriptor, 'set')
+ // TODO: add validation descriptor w/o calling accessors
+ && !descriptor.configurable
+ && (!has(descriptor, 'writable') || descriptor.writable)
+ && (!has(descriptor, 'enumerable') || descriptor.enumerable)
+ ) {
+ target[key] = descriptor.value;
+ return target;
+ } return nativeDefineProperty(target, key, descriptor);
+};
+
+if (DESCRIPTORS) {
+ if (!NATIVE_ARRAY_BUFFER_VIEWS) {
+ getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;
+ definePropertyModule.f = wrappedDefineProperty;
+ addGetter(TypedArrayPrototype, 'buffer');
+ addGetter(TypedArrayPrototype, 'byteOffset');
+ addGetter(TypedArrayPrototype, 'byteLength');
+ addGetter(TypedArrayPrototype, 'length');
+ }
+
+ $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {
+ getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,
+ defineProperty: wrappedDefineProperty
+ });
+
+ // eslint-disable-next-line max-statements
+ module.exports = function (TYPE, BYTES, wrapper, CLAMPED) {
+ var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';
+ var GETTER = 'get' + TYPE;
+ var SETTER = 'set' + TYPE;
+ var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];
+ var TypedArrayConstructor = NativeTypedArrayConstructor;
+ var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;
+ var exported = {};
+
+ var getter = function (that, index) {
+ var data = getInternalState(that);
+ return data.view[GETTER](index * BYTES + data.byteOffset, true);
+ };
+
+ var setter = function (that, index, value) {
+ var data = getInternalState(that);
+ if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;
+ data.view[SETTER](index * BYTES + data.byteOffset, value, true);
+ };
+
+ var addElement = function (that, index) {
+ nativeDefineProperty(that, index, {
+ get: function () {
+ return getter(this, index);
+ },
+ set: function (value) {
+ return setter(this, index, value);
+ },
+ enumerable: true
+ });
+ };
+
+ if (!NATIVE_ARRAY_BUFFER_VIEWS) {
+ TypedArrayConstructor = wrapper(function (that, data, offset, $length) {
+ anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME);
+ var index = 0;
+ var byteOffset = 0;
+ var buffer, byteLength, length;
+ if (!isObject(data)) {
+ length = toIndex(data);
+ byteLength = length * BYTES;
+ buffer = new ArrayBuffer(byteLength);
+ } else if (isArrayBuffer(data)) {
+ buffer = data;
+ byteOffset = toOffset(offset, BYTES);
+ var $len = data.byteLength;
+ if ($length === undefined) {
+ if ($len % BYTES) throw RangeError(WRONG_LENGTH);
+ byteLength = $len - byteOffset;
+ if (byteLength < 0) throw RangeError(WRONG_LENGTH);
+ } else {
+ byteLength = toLength($length) * BYTES;
+ if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);
+ }
+ length = byteLength / BYTES;
+ } else if (isTypedArray(data)) {
+ return fromList(TypedArrayConstructor, data);
+ } else {
+ return typedArrayFrom.call(TypedArrayConstructor, data);
+ }
+ setInternalState(that, {
+ buffer: buffer,
+ byteOffset: byteOffset,
+ byteLength: byteLength,
+ length: length,
+ view: new DataView(buffer)
+ });
+ while (index < length) addElement(that, index++);
+ });
+
+ if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);
+ TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);
+ } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {
+ TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {
+ anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME);
+ if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));
+ if (isArrayBuffer(data)) return $length !== undefined
+ ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)
+ : typedArrayOffset !== undefined
+ ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))
+ : new NativeTypedArrayConstructor(data);
+ if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);
+ return typedArrayFrom.call(TypedArrayConstructor, data);
+ });
+
+ if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);
+ forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {
+ if (!(key in TypedArrayConstructor)) hide(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);
+ });
+ TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;
+ }
+
+ if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {
+ hide(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);
+ }
+
+ if (TYPED_ARRAY_TAG) hide(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);
+
+ exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;
+
+ $({
+ global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS
+ }, exported);
+
+ if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {
+ hide(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);
+ }
+
+ if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {
+ hide(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);
+ }
+
+ setSpecies(CONSTRUCTOR_NAME);
+ };
+} else module.exports = function () { /* empty */ };
+
+},{"../internals/an-instance":12,"../internals/array-buffer":15,"../internals/array-buffer-view-core":14,"../internals/array-iteration":21,"../internals/classof":30,"../internals/create-property-descriptor":39,"../internals/descriptors":45,"../internals/export":49,"../internals/global":62,"../internals/has":63,"../internals/hide":65,"../internals/internal-state":72,"../internals/is-object":77,"../internals/object-create":95,"../internals/object-define-property":97,"../internals/object-get-own-property-descriptor":98,"../internals/object-get-own-property-names":100,"../internals/object-set-prototype-of":106,"../internals/set-species":124,"../internals/to-index":137,"../internals/to-length":140,"../internals/to-offset":142,"../internals/to-primitive":143,"../internals/typed-array-from":145,"../internals/typed-arrays-constructors-requires-wrappers":146}],145:[function(require,module,exports){
+var toObject = require('../internals/to-object');
+var toLength = require('../internals/to-length');
+var getIteratorMethod = require('../internals/get-iterator-method');
+var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
+var bind = require('../internals/bind-context');
+var aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;
+
+module.exports = function from(source /* , mapfn, thisArg */) {
+ var O = toObject(source);
+ var argumentsLength = arguments.length;
+ var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
+ var mapping = mapfn !== undefined;
+ var iteratorMethod = getIteratorMethod(O);
+ var i, length, result, step, iterator;
+ if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) {
+ iterator = iteratorMethod.call(O);
+ O = [];
+ while (!(step = iterator.next()).done) {
+ O.push(step.value);
+ }
+ }
+ if (mapping && argumentsLength > 2) {
+ mapfn = bind(mapfn, arguments[2], 2);
+ }
+ length = toLength(O.length);
+ result = new (aTypedArrayConstructor(this))(length);
+ for (i = 0; length > i; i++) {
+ result[i] = mapping ? mapfn(O[i], i) : O[i];
+ }
+ return result;
+};
+
+},{"../internals/array-buffer-view-core":14,"../internals/bind-context":26,"../internals/get-iterator-method":60,"../internals/is-array-iterator-method":73,"../internals/to-length":140,"../internals/to-object":141}],146:[function(require,module,exports){
+/* eslint-disable no-new */
+var global = require('../internals/global');
+var fails = require('../internals/fails');
+var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');
+var NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS;
+
+var ArrayBuffer = global.ArrayBuffer;
+var Int8Array = global.Int8Array;
+
+module.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {
+ Int8Array(1);
+}) || !fails(function () {
+ new Int8Array(-1);
+}) || !checkCorrectnessOfIteration(function (iterable) {
+ new Int8Array();
+ new Int8Array(null);
+ new Int8Array(1.5);
+ new Int8Array(iterable);
+}, true) || fails(function () {
+ // Safari 11 bug
+ return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;
+});
+
+},{"../internals/array-buffer-view-core":14,"../internals/check-correctness-of-iteration":28,"../internals/fails":50,"../internals/global":62}],147:[function(require,module,exports){
+var id = 0;
+var postfix = Math.random();
+
+module.exports = function (key) {
+ return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
+};
+
+},{}],148:[function(require,module,exports){
+var getBuiltIn = require('../internals/get-built-in');
+
+module.exports = getBuiltIn('navigator', 'userAgent') || '';
+
+},{"../internals/get-built-in":59}],149:[function(require,module,exports){
+// https://github.com/zloirock/core-js/issues/280
+var userAgent = require('../internals/user-agent');
+
+// eslint-disable-next-line unicorn/no-unsafe-regex
+module.exports = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent);
+
+},{"../internals/user-agent":148}],150:[function(require,module,exports){
+var global = require('../internals/global');
+var shared = require('../internals/shared');
+var uid = require('../internals/uid');
+var NATIVE_SYMBOL = require('../internals/native-symbol');
+
+var Symbol = global.Symbol;
+var store = shared('wks');
+
+module.exports = function (name) {
+ return store[name] || (store[name] = NATIVE_SYMBOL && Symbol[name]
+ || (NATIVE_SYMBOL ? Symbol : uid)('Symbol.' + name));
+};
+
+},{"../internals/global":62,"../internals/native-symbol":88,"../internals/shared":127,"../internals/uid":147}],151:[function(require,module,exports){
+// a string of all valid unicode whitespaces
+// eslint-disable-next-line max-len
+module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
+
+},{}],152:[function(require,module,exports){
+exports.f = require('../internals/well-known-symbol');
+
+},{"../internals/well-known-symbol":150}],153:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var global = require('../internals/global');
+var arrayBufferModule = require('../internals/array-buffer');
+var setSpecies = require('../internals/set-species');
+
+var ARRAY_BUFFER = 'ArrayBuffer';
+var ArrayBuffer = arrayBufferModule[ARRAY_BUFFER];
+var NativeArrayBuffer = global[ARRAY_BUFFER];
+
+// `ArrayBuffer` constructor
+// https://tc39.github.io/ecma262/#sec-arraybuffer-constructor
+$({ global: true, forced: NativeArrayBuffer !== ArrayBuffer }, {
+ ArrayBuffer: ArrayBuffer
+});
+
+setSpecies(ARRAY_BUFFER);
+
+},{"../internals/array-buffer":15,"../internals/export":49,"../internals/global":62,"../internals/set-species":124}],154:[function(require,module,exports){
+var $ = require('../internals/export');
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+
+var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;
+
+// `ArrayBuffer.isView` method
+// https://tc39.github.io/ecma262/#sec-arraybuffer.isview
+$({ target: 'ArrayBuffer', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {
+ isView: ArrayBufferViewCore.isView
+});
+
+},{"../internals/array-buffer-view-core":14,"../internals/export":49}],155:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var fails = require('../internals/fails');
+var ArrayBufferModule = require('../internals/array-buffer');
+var anObject = require('../internals/an-object');
+var toAbsoluteIndex = require('../internals/to-absolute-index');
+var toLength = require('../internals/to-length');
+var speciesConstructor = require('../internals/species-constructor');
+
+var ArrayBuffer = ArrayBufferModule.ArrayBuffer;
+var DataView = ArrayBufferModule.DataView;
+var nativeArrayBufferSlice = ArrayBuffer.prototype.slice;
+
+var INCORRECT_SLICE = fails(function () {
+ return !new ArrayBuffer(2).slice(1, undefined).byteLength;
+});
+
+// `ArrayBuffer.prototype.slice` method
+// https://tc39.github.io/ecma262/#sec-arraybuffer.prototype.slice
+$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, {
+ slice: function slice(start, end) {
+ if (nativeArrayBufferSlice !== undefined && end === undefined) {
+ return nativeArrayBufferSlice.call(anObject(this), start); // FF fix
+ }
+ var length = anObject(this).byteLength;
+ var first = toAbsoluteIndex(start, length);
+ var fin = toAbsoluteIndex(end === undefined ? length : end, length);
+ var result = new (speciesConstructor(this, ArrayBuffer))(toLength(fin - first));
+ var viewSource = new DataView(this);
+ var viewTarget = new DataView(result);
+ var index = 0;
+ while (first < fin) {
+ viewTarget.setUint8(index++, viewSource.getUint8(first++));
+ } return result;
+ }
+});
+
+},{"../internals/an-object":13,"../internals/array-buffer":15,"../internals/export":49,"../internals/fails":50,"../internals/species-constructor":129,"../internals/to-absolute-index":136,"../internals/to-length":140}],156:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var fails = require('../internals/fails');
+var isArray = require('../internals/is-array');
+var isObject = require('../internals/is-object');
+var toObject = require('../internals/to-object');
+var toLength = require('../internals/to-length');
+var createProperty = require('../internals/create-property');
+var arraySpeciesCreate = require('../internals/array-species-create');
+var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+
+var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
+var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
+var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
+
+var IS_CONCAT_SPREADABLE_SUPPORT = !fails(function () {
+ var array = [];
+ array[IS_CONCAT_SPREADABLE] = false;
+ return array.concat()[0] !== array;
+});
+
+var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
+
+var isConcatSpreadable = function (O) {
+ if (!isObject(O)) return false;
+ var spreadable = O[IS_CONCAT_SPREADABLE];
+ return spreadable !== undefined ? !!spreadable : isArray(O);
+};
+
+var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
+
+// `Array.prototype.concat` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.concat
+// with adding support of @@isConcatSpreadable and @@species
+$({ target: 'Array', proto: true, forced: FORCED }, {
+ concat: function concat(arg) { // eslint-disable-line no-unused-vars
+ var O = toObject(this);
+ var A = arraySpeciesCreate(O, 0);
+ var n = 0;
+ var i, k, length, len, E;
+ for (i = -1, length = arguments.length; i < length; i++) {
+ E = i === -1 ? O : arguments[i];
+ if (isConcatSpreadable(E)) {
+ len = toLength(E.length);
+ if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
+ for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
+ } else {
+ if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
+ createProperty(A, n++, E);
+ }
+ }
+ A.length = n;
+ return A;
+ }
+});
+
+},{"../internals/array-method-has-species-support":23,"../internals/array-species-create":25,"../internals/create-property":40,"../internals/export":49,"../internals/fails":50,"../internals/is-array":74,"../internals/is-object":77,"../internals/to-length":140,"../internals/to-object":141,"../internals/well-known-symbol":150}],157:[function(require,module,exports){
+var $ = require('../internals/export');
+var copyWithin = require('../internals/array-copy-within');
+var addToUnscopables = require('../internals/add-to-unscopables');
+
+// `Array.prototype.copyWithin` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.copywithin
+$({ target: 'Array', proto: true }, {
+ copyWithin: copyWithin
+});
+
+// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
+addToUnscopables('copyWithin');
+
+},{"../internals/add-to-unscopables":10,"../internals/array-copy-within":16,"../internals/export":49}],158:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var $every = require('../internals/array-iteration').every;
+var sloppyArrayMethod = require('../internals/sloppy-array-method');
+
+// `Array.prototype.every` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.every
+$({ target: 'Array', proto: true, forced: sloppyArrayMethod('every') }, {
+ every: function every(callbackfn /* , thisArg */) {
+ return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+ }
+});
+
+},{"../internals/array-iteration":21,"../internals/export":49,"../internals/sloppy-array-method":128}],159:[function(require,module,exports){
+var $ = require('../internals/export');
+var fill = require('../internals/array-fill');
+var addToUnscopables = require('../internals/add-to-unscopables');
+
+// `Array.prototype.fill` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.fill
+$({ target: 'Array', proto: true }, {
+ fill: fill
+});
+
+// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
+addToUnscopables('fill');
+
+},{"../internals/add-to-unscopables":10,"../internals/array-fill":17,"../internals/export":49}],160:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var $filter = require('../internals/array-iteration').filter;
+var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
+
+// `Array.prototype.filter` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.filter
+// with adding support of @@species
+$({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('filter') }, {
+ filter: function filter(callbackfn /* , thisArg */) {
+ return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+ }
+});
+
+},{"../internals/array-iteration":21,"../internals/array-method-has-species-support":23,"../internals/export":49}],161:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var $findIndex = require('../internals/array-iteration').findIndex;
+var addToUnscopables = require('../internals/add-to-unscopables');
+
+var FIND_INDEX = 'findIndex';
+var SKIPS_HOLES = true;
+
+// Shouldn't skip holes
+if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });
+
+// `Array.prototype.findIndex` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.findindex
+$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
+ findIndex: function findIndex(callbackfn /* , that = undefined */) {
+ return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+ }
+});
+
+// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
+addToUnscopables(FIND_INDEX);
+
+},{"../internals/add-to-unscopables":10,"../internals/array-iteration":21,"../internals/export":49}],162:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var $find = require('../internals/array-iteration').find;
+var addToUnscopables = require('../internals/add-to-unscopables');
+
+var FIND = 'find';
+var SKIPS_HOLES = true;
+
+// Shouldn't skip holes
+if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
+
+// `Array.prototype.find` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.find
+$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
+ find: function find(callbackfn /* , that = undefined */) {
+ return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+ }
+});
+
+// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
+addToUnscopables(FIND);
+
+},{"../internals/add-to-unscopables":10,"../internals/array-iteration":21,"../internals/export":49}],163:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var flattenIntoArray = require('../internals/flatten-into-array');
+var toObject = require('../internals/to-object');
+var toLength = require('../internals/to-length');
+var aFunction = require('../internals/a-function');
+var arraySpeciesCreate = require('../internals/array-species-create');
+
+// `Array.prototype.flatMap` method
+// https://github.com/tc39/proposal-flatMap
+$({ target: 'Array', proto: true }, {
+ flatMap: function flatMap(callbackfn /* , thisArg */) {
+ var O = toObject(this);
+ var sourceLen = toLength(O.length);
+ var A;
+ aFunction(callbackfn);
+ A = arraySpeciesCreate(O, 0);
+ A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+ return A;
+ }
+});
+
+},{"../internals/a-function":8,"../internals/array-species-create":25,"../internals/export":49,"../internals/flatten-into-array":52,"../internals/to-length":140,"../internals/to-object":141}],164:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var flattenIntoArray = require('../internals/flatten-into-array');
+var toObject = require('../internals/to-object');
+var toLength = require('../internals/to-length');
+var toInteger = require('../internals/to-integer');
+var arraySpeciesCreate = require('../internals/array-species-create');
+
+// `Array.prototype.flat` method
+// https://github.com/tc39/proposal-flatMap
+$({ target: 'Array', proto: true }, {
+ flat: function flat(/* depthArg = 1 */) {
+ var depthArg = arguments.length ? arguments[0] : undefined;
+ var O = toObject(this);
+ var sourceLen = toLength(O.length);
+ var A = arraySpeciesCreate(O, 0);
+ A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));
+ return A;
+ }
+});
+
+},{"../internals/array-species-create":25,"../internals/export":49,"../internals/flatten-into-array":52,"../internals/to-integer":139,"../internals/to-length":140,"../internals/to-object":141}],165:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var forEach = require('../internals/array-for-each');
+
+// `Array.prototype.forEach` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.foreach
+$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {
+ forEach: forEach
+});
+
+},{"../internals/array-for-each":18,"../internals/export":49}],166:[function(require,module,exports){
+var $ = require('../internals/export');
+var from = require('../internals/array-from');
+var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');
+
+var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
+ Array.from(iterable);
+});
+
+// `Array.from` method
+// https://tc39.github.io/ecma262/#sec-array.from
+$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {
+ from: from
+});
+
+},{"../internals/array-from":19,"../internals/check-correctness-of-iteration":28,"../internals/export":49}],167:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var $includes = require('../internals/array-includes').includes;
+var addToUnscopables = require('../internals/add-to-unscopables');
+
+// `Array.prototype.includes` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.includes
+$({ target: 'Array', proto: true }, {
+ includes: function includes(el /* , fromIndex = 0 */) {
+ return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
+ }
+});
+
+// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
+addToUnscopables('includes');
+
+},{"../internals/add-to-unscopables":10,"../internals/array-includes":20,"../internals/export":49}],168:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var $indexOf = require('../internals/array-includes').indexOf;
+var sloppyArrayMethod = require('../internals/sloppy-array-method');
+
+var nativeIndexOf = [].indexOf;
+
+var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
+var SLOPPY_METHOD = sloppyArrayMethod('indexOf');
+
+// `Array.prototype.indexOf` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
+$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || SLOPPY_METHOD }, {
+ indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
+ return NEGATIVE_ZERO
+ // convert -0 to +0
+ ? nativeIndexOf.apply(this, arguments) || 0
+ : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
+ }
+});
+
+},{"../internals/array-includes":20,"../internals/export":49,"../internals/sloppy-array-method":128}],169:[function(require,module,exports){
+var $ = require('../internals/export');
+var isArray = require('../internals/is-array');
+
+// `Array.isArray` method
+// https://tc39.github.io/ecma262/#sec-array.isarray
+$({ target: 'Array', stat: true }, {
+ isArray: isArray
+});
+
+},{"../internals/export":49,"../internals/is-array":74}],170:[function(require,module,exports){
+'use strict';
+var toIndexedObject = require('../internals/to-indexed-object');
+var addToUnscopables = require('../internals/add-to-unscopables');
+var Iterators = require('../internals/iterators');
+var InternalStateModule = require('../internals/internal-state');
+var defineIterator = require('../internals/define-iterator');
+
+var ARRAY_ITERATOR = 'Array Iterator';
+var setInternalState = InternalStateModule.set;
+var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
+
+// `Array.prototype.entries` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.entries
+// `Array.prototype.keys` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.keys
+// `Array.prototype.values` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.values
+// `Array.prototype[@@iterator]` method
+// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator
+// `CreateArrayIterator` internal method
+// https://tc39.github.io/ecma262/#sec-createarrayiterator
+module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
+ setInternalState(this, {
+ type: ARRAY_ITERATOR,
+ target: toIndexedObject(iterated), // target
+ index: 0, // next index
+ kind: kind // kind
+ });
+// `%ArrayIteratorPrototype%.next` method
+// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next
+}, function () {
+ var state = getInternalState(this);
+ var target = state.target;
+ var kind = state.kind;
+ var index = state.index++;
+ if (!target || index >= target.length) {
+ state.target = undefined;
+ return { value: undefined, done: true };
+ }
+ if (kind == 'keys') return { value: index, done: false };
+ if (kind == 'values') return { value: target[index], done: false };
+ return { value: [index, target[index]], done: false };
+}, 'values');
+
+// argumentsList[@@iterator] is %ArrayProto_values%
+// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject
+// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject
+Iterators.Arguments = Iterators.Array;
+
+// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
+addToUnscopables('keys');
+addToUnscopables('values');
+addToUnscopables('entries');
+
+},{"../internals/add-to-unscopables":10,"../internals/define-iterator":43,"../internals/internal-state":72,"../internals/iterators":82,"../internals/to-indexed-object":138}],171:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var IndexedObject = require('../internals/indexed-object');
+var toIndexedObject = require('../internals/to-indexed-object');
+var sloppyArrayMethod = require('../internals/sloppy-array-method');
+
+var nativeJoin = [].join;
+
+var ES3_STRINGS = IndexedObject != Object;
+var SLOPPY_METHOD = sloppyArrayMethod('join', ',');
+
+// `Array.prototype.join` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.join
+$({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, {
+ join: function join(separator) {
+ return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
+ }
+});
+
+},{"../internals/export":49,"../internals/indexed-object":69,"../internals/sloppy-array-method":128,"../internals/to-indexed-object":138}],172:[function(require,module,exports){
+var $ = require('../internals/export');
+var lastIndexOf = require('../internals/array-last-index-of');
+
+// `Array.prototype.lastIndexOf` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof
+$({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, {
+ lastIndexOf: lastIndexOf
+});
+
+},{"../internals/array-last-index-of":22,"../internals/export":49}],173:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var $map = require('../internals/array-iteration').map;
+var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
+
+// `Array.prototype.map` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.map
+// with adding support of @@species
+$({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('map') }, {
+ map: function map(callbackfn /* , thisArg */) {
+ return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+ }
+});
+
+},{"../internals/array-iteration":21,"../internals/array-method-has-species-support":23,"../internals/export":49}],174:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var fails = require('../internals/fails');
+var createProperty = require('../internals/create-property');
+
+var ISNT_GENERIC = fails(function () {
+ function F() { /* empty */ }
+ return !(Array.of.call(F) instanceof F);
+});
+
+// `Array.of` method
+// https://tc39.github.io/ecma262/#sec-array.of
+// WebKit Array.of isn't generic
+$({ target: 'Array', stat: true, forced: ISNT_GENERIC }, {
+ of: function of(/* ...args */) {
+ var index = 0;
+ var argumentsLength = arguments.length;
+ var result = new (typeof this == 'function' ? this : Array)(argumentsLength);
+ while (argumentsLength > index) createProperty(result, index, arguments[index++]);
+ result.length = argumentsLength;
+ return result;
+ }
+});
+
+},{"../internals/create-property":40,"../internals/export":49,"../internals/fails":50}],175:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var $reduceRight = require('../internals/array-reduce').right;
+var sloppyArrayMethod = require('../internals/sloppy-array-method');
+
+// `Array.prototype.reduceRight` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.reduceright
+$({ target: 'Array', proto: true, forced: sloppyArrayMethod('reduceRight') }, {
+ reduceRight: function reduceRight(callbackfn /* , initialValue */) {
+ return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
+ }
+});
+
+},{"../internals/array-reduce":24,"../internals/export":49,"../internals/sloppy-array-method":128}],176:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var $reduce = require('../internals/array-reduce').left;
+var sloppyArrayMethod = require('../internals/sloppy-array-method');
+
+// `Array.prototype.reduce` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.reduce
+$({ target: 'Array', proto: true, forced: sloppyArrayMethod('reduce') }, {
+ reduce: function reduce(callbackfn /* , initialValue */) {
+ return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
+ }
+});
+
+},{"../internals/array-reduce":24,"../internals/export":49,"../internals/sloppy-array-method":128}],177:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var isArray = require('../internals/is-array');
+
+var nativeReverse = [].reverse;
+var test = [1, 2];
+
+// `Array.prototype.reverse` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.reverse
+// fix for Safari 12.0 bug
+// https://bugs.webkit.org/show_bug.cgi?id=188794
+$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {
+ reverse: function reverse() {
+ if (isArray(this)) this.length = this.length;
+ return nativeReverse.call(this);
+ }
+});
+
+},{"../internals/export":49,"../internals/is-array":74}],178:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var isObject = require('../internals/is-object');
+var isArray = require('../internals/is-array');
+var toAbsoluteIndex = require('../internals/to-absolute-index');
+var toLength = require('../internals/to-length');
+var toIndexedObject = require('../internals/to-indexed-object');
+var createProperty = require('../internals/create-property');
+var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+
+var SPECIES = wellKnownSymbol('species');
+var nativeSlice = [].slice;
+var max = Math.max;
+
+// `Array.prototype.slice` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.slice
+// fallback for not array-like ES3 strings and DOM objects
+$({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('slice') }, {
+ slice: function slice(start, end) {
+ var O = toIndexedObject(this);
+ var length = toLength(O.length);
+ var k = toAbsoluteIndex(start, length);
+ var fin = toAbsoluteIndex(end === undefined ? length : end, length);
+ // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
+ var Constructor, result, n;
+ if (isArray(O)) {
+ Constructor = O.constructor;
+ // cross-realm fallback
+ if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
+ Constructor = undefined;
+ } else if (isObject(Constructor)) {
+ Constructor = Constructor[SPECIES];
+ if (Constructor === null) Constructor = undefined;
+ }
+ if (Constructor === Array || Constructor === undefined) {
+ return nativeSlice.call(O, k, fin);
+ }
+ }
+ result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));
+ for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
+ result.length = n;
+ return result;
+ }
+});
+
+},{"../internals/array-method-has-species-support":23,"../internals/create-property":40,"../internals/export":49,"../internals/is-array":74,"../internals/is-object":77,"../internals/to-absolute-index":136,"../internals/to-indexed-object":138,"../internals/to-length":140,"../internals/well-known-symbol":150}],179:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var $some = require('../internals/array-iteration').some;
+var sloppyArrayMethod = require('../internals/sloppy-array-method');
+
+// `Array.prototype.some` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.some
+$({ target: 'Array', proto: true, forced: sloppyArrayMethod('some') }, {
+ some: function some(callbackfn /* , thisArg */) {
+ return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+ }
+});
+
+},{"../internals/array-iteration":21,"../internals/export":49,"../internals/sloppy-array-method":128}],180:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var aFunction = require('../internals/a-function');
+var toObject = require('../internals/to-object');
+var fails = require('../internals/fails');
+var sloppyArrayMethod = require('../internals/sloppy-array-method');
+
+var nativeSort = [].sort;
+var test = [1, 2, 3];
+
+// IE8-
+var FAILS_ON_UNDEFINED = fails(function () {
+ test.sort(undefined);
+});
+// V8 bug
+var FAILS_ON_NULL = fails(function () {
+ test.sort(null);
+});
+// Old WebKit
+var SLOPPY_METHOD = sloppyArrayMethod('sort');
+
+var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || SLOPPY_METHOD;
+
+// `Array.prototype.sort` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.sort
+$({ target: 'Array', proto: true, forced: FORCED }, {
+ sort: function sort(comparefn) {
+ return comparefn === undefined
+ ? nativeSort.call(toObject(this))
+ : nativeSort.call(toObject(this), aFunction(comparefn));
+ }
+});
+
+},{"../internals/a-function":8,"../internals/export":49,"../internals/fails":50,"../internals/sloppy-array-method":128,"../internals/to-object":141}],181:[function(require,module,exports){
+var setSpecies = require('../internals/set-species');
+
+// `Array[@@species]` getter
+// https://tc39.github.io/ecma262/#sec-get-array-@@species
+setSpecies('Array');
+
+},{"../internals/set-species":124}],182:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var toAbsoluteIndex = require('../internals/to-absolute-index');
+var toInteger = require('../internals/to-integer');
+var toLength = require('../internals/to-length');
+var toObject = require('../internals/to-object');
+var arraySpeciesCreate = require('../internals/array-species-create');
+var createProperty = require('../internals/create-property');
+var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
+
+var max = Math.max;
+var min = Math.min;
+var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
+var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';
+
+// `Array.prototype.splice` method
+// https://tc39.github.io/ecma262/#sec-array.prototype.splice
+// with adding support of @@species
+$({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('splice') }, {
+ splice: function splice(start, deleteCount /* , ...items */) {
+ var O = toObject(this);
+ var len = toLength(O.length);
+ var actualStart = toAbsoluteIndex(start, len);
+ var argumentsLength = arguments.length;
+ var insertCount, actualDeleteCount, A, k, from, to;
+ if (argumentsLength === 0) {
+ insertCount = actualDeleteCount = 0;
+ } else if (argumentsLength === 1) {
+ insertCount = 0;
+ actualDeleteCount = len - actualStart;
+ } else {
+ insertCount = argumentsLength - 2;
+ actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);
+ }
+ if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {
+ throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);
+ }
+ A = arraySpeciesCreate(O, actualDeleteCount);
+ for (k = 0; k < actualDeleteCount; k++) {
+ from = actualStart + k;
+ if (from in O) createProperty(A, k, O[from]);
+ }
+ A.length = actualDeleteCount;
+ if (insertCount < actualDeleteCount) {
+ for (k = actualStart; k < len - actualDeleteCount; k++) {
+ from = k + actualDeleteCount;
+ to = k + insertCount;
+ if (from in O) O[to] = O[from];
+ else delete O[to];
+ }
+ for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];
+ } else if (insertCount > actualDeleteCount) {
+ for (k = len - actualDeleteCount; k > actualStart; k--) {
+ from = k + actualDeleteCount - 1;
+ to = k + insertCount - 1;
+ if (from in O) O[to] = O[from];
+ else delete O[to];
+ }
+ }
+ for (k = 0; k < insertCount; k++) {
+ O[k + actualStart] = arguments[k + 2];
+ }
+ O.length = len - actualDeleteCount + insertCount;
+ return A;
+ }
+});
+
+},{"../internals/array-method-has-species-support":23,"../internals/array-species-create":25,"../internals/create-property":40,"../internals/export":49,"../internals/to-absolute-index":136,"../internals/to-integer":139,"../internals/to-length":140,"../internals/to-object":141}],183:[function(require,module,exports){
+// this method was added to unscopables after implementation
+// in popular engines, so it's moved to a separate module
+var addToUnscopables = require('../internals/add-to-unscopables');
+
+addToUnscopables('flatMap');
+
+},{"../internals/add-to-unscopables":10}],184:[function(require,module,exports){
+// this method was added to unscopables after implementation
+// in popular engines, so it's moved to a separate module
+var addToUnscopables = require('../internals/add-to-unscopables');
+
+addToUnscopables('flat');
+
+},{"../internals/add-to-unscopables":10}],185:[function(require,module,exports){
+var $ = require('../internals/export');
+var ArrayBufferModule = require('../internals/array-buffer');
+var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER;
+
+// `DataView` constructor
+// https://tc39.github.io/ecma262/#sec-dataview-constructor
+$({ global: true, forced: !NATIVE_ARRAY_BUFFER }, {
+ DataView: ArrayBufferModule.DataView
+});
+
+},{"../internals/array-buffer":15,"../internals/array-buffer-view-core":14,"../internals/export":49}],186:[function(require,module,exports){
+var $ = require('../internals/export');
+
+// `Date.now` method
+// https://tc39.github.io/ecma262/#sec-date.now
+$({ target: 'Date', stat: true }, {
+ now: function now() {
+ return new Date().getTime();
+ }
+});
+
+},{"../internals/export":49}],187:[function(require,module,exports){
+var $ = require('../internals/export');
+var toISOString = require('../internals/date-to-iso-string');
+
+// `Date.prototype.toISOString` method
+// https://tc39.github.io/ecma262/#sec-date.prototype.toisostring
+// PhantomJS / old WebKit has a broken implementations
+$({ target: 'Date', proto: true, forced: Date.prototype.toISOString !== toISOString }, {
+ toISOString: toISOString
+});
+
+},{"../internals/date-to-iso-string":41,"../internals/export":49}],188:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var fails = require('../internals/fails');
+var toObject = require('../internals/to-object');
+var toPrimitive = require('../internals/to-primitive');
+
+var FORCED = fails(function () {
+ return new Date(NaN).toJSON() !== null
+ || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;
+});
+
+// `Date.prototype.toJSON` method
+// https://tc39.github.io/ecma262/#sec-date.prototype.tojson
+$({ target: 'Date', proto: true, forced: FORCED }, {
+ // eslint-disable-next-line no-unused-vars
+ toJSON: function toJSON(key) {
+ var O = toObject(this);
+ var pv = toPrimitive(O);
+ return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();
+ }
+});
+
+},{"../internals/export":49,"../internals/fails":50,"../internals/to-object":141,"../internals/to-primitive":143}],189:[function(require,module,exports){
+var hide = require('../internals/hide');
+var dateToPrimitive = require('../internals/date-to-primitive');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+
+var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
+var DatePrototype = Date.prototype;
+
+// `Date.prototype[@@toPrimitive]` method
+// https://tc39.github.io/ecma262/#sec-date.prototype-@@toprimitive
+if (!(TO_PRIMITIVE in DatePrototype)) hide(DatePrototype, TO_PRIMITIVE, dateToPrimitive);
+
+},{"../internals/date-to-primitive":42,"../internals/hide":65,"../internals/well-known-symbol":150}],190:[function(require,module,exports){
+var redefine = require('../internals/redefine');
+
+var DatePrototype = Date.prototype;
+var INVALID_DATE = 'Invalid Date';
+var TO_STRING = 'toString';
+var nativeDateToString = DatePrototype[TO_STRING];
+var getTime = DatePrototype.getTime;
+
+// `Date.prototype.toString` method
+// https://tc39.github.io/ecma262/#sec-date.prototype.tostring
+if (new Date(NaN) + '' != INVALID_DATE) {
+ redefine(DatePrototype, TO_STRING, function toString() {
+ var value = getTime.call(this);
+ // eslint-disable-next-line no-self-compare
+ return value === value ? nativeDateToString.call(this) : INVALID_DATE;
+ });
+}
+
+},{"../internals/redefine":117}],191:[function(require,module,exports){
+var $ = require('../internals/export');
+var bind = require('../internals/function-bind');
+
+// `Function.prototype.bind` method
+// https://tc39.github.io/ecma262/#sec-function.prototype.bind
+$({ target: 'Function', proto: true }, {
+ bind: bind
+});
+
+},{"../internals/export":49,"../internals/function-bind":57}],192:[function(require,module,exports){
+'use strict';
+var isObject = require('../internals/is-object');
+var definePropertyModule = require('../internals/object-define-property');
+var getPrototypeOf = require('../internals/object-get-prototype-of');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+
+var HAS_INSTANCE = wellKnownSymbol('hasInstance');
+var FunctionPrototype = Function.prototype;
+
+// `Function.prototype[@@hasInstance]` method
+// https://tc39.github.io/ecma262/#sec-function.prototype-@@hasinstance
+if (!(HAS_INSTANCE in FunctionPrototype)) {
+ definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: function (O) {
+ if (typeof this != 'function' || !isObject(O)) return false;
+ if (!isObject(this.prototype)) return O instanceof this;
+ // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
+ while (O = getPrototypeOf(O)) if (this.prototype === O) return true;
+ return false;
+ } });
+}
+
+},{"../internals/is-object":77,"../internals/object-define-property":97,"../internals/object-get-prototype-of":102,"../internals/well-known-symbol":150}],193:[function(require,module,exports){
+var DESCRIPTORS = require('../internals/descriptors');
+var defineProperty = require('../internals/object-define-property').f;
+
+var FunctionPrototype = Function.prototype;
+var FunctionPrototypeToString = FunctionPrototype.toString;
+var nameRE = /^\s*function ([^ (]*)/;
+var NAME = 'name';
+
+// Function instances `.name` property
+// https://tc39.github.io/ecma262/#sec-function-instances-name
+if (DESCRIPTORS && !(NAME in FunctionPrototype)) {
+ defineProperty(FunctionPrototype, NAME, {
+ configurable: true,
+ get: function () {
+ try {
+ return FunctionPrototypeToString.call(this).match(nameRE)[1];
+ } catch (error) {
+ return '';
+ }
+ }
+ });
+}
+
+},{"../internals/descriptors":45,"../internals/object-define-property":97}],194:[function(require,module,exports){
+var global = require('../internals/global');
+var setToStringTag = require('../internals/set-to-string-tag');
+
+// JSON[@@toStringTag] property
+// https://tc39.github.io/ecma262/#sec-json-@@tostringtag
+setToStringTag(global.JSON, 'JSON', true);
+
+},{"../internals/global":62,"../internals/set-to-string-tag":125}],195:[function(require,module,exports){
+'use strict';
+var collection = require('../internals/collection');
+var collectionStrong = require('../internals/collection-strong');
+
+// `Map` constructor
+// https://tc39.github.io/ecma262/#sec-map-objects
+module.exports = collection('Map', function (get) {
+ return function Map() { return get(this, arguments.length ? arguments[0] : undefined); };
+}, collectionStrong, true);
+
+},{"../internals/collection":33,"../internals/collection-strong":31}],196:[function(require,module,exports){
+var $ = require('../internals/export');
+var log1p = require('../internals/math-log1p');
+
+var nativeAcosh = Math.acosh;
+var log = Math.log;
+var sqrt = Math.sqrt;
+var LN2 = Math.LN2;
+
+var FORCED = !nativeAcosh
+ // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509
+ || Math.floor(nativeAcosh(Number.MAX_VALUE)) != 710
+ // Tor Browser bug: Math.acosh(Infinity) -> NaN
+ || nativeAcosh(Infinity) != Infinity;
+
+// `Math.acosh` method
+// https://tc39.github.io/ecma262/#sec-math.acosh
+$({ target: 'Math', stat: true, forced: FORCED }, {
+ acosh: function acosh(x) {
+ return (x = +x) < 1 ? NaN : x > 94906265.62425156
+ ? log(x) + LN2
+ : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));
+ }
+});
+
+},{"../internals/export":49,"../internals/math-log1p":85}],197:[function(require,module,exports){
+var $ = require('../internals/export');
+
+var nativeAsinh = Math.asinh;
+var log = Math.log;
+var sqrt = Math.sqrt;
+
+function asinh(x) {
+ return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : log(x + sqrt(x * x + 1));
+}
+
+// `Math.asinh` method
+// https://tc39.github.io/ecma262/#sec-math.asinh
+// Tor Browser bug: Math.asinh(0) -> -0
+$({ target: 'Math', stat: true, forced: !(nativeAsinh && 1 / nativeAsinh(0) > 0) }, {
+ asinh: asinh
+});
+
+},{"../internals/export":49}],198:[function(require,module,exports){
+var $ = require('../internals/export');
+
+var nativeAtanh = Math.atanh;
+var log = Math.log;
+
+// `Math.atanh` method
+// https://tc39.github.io/ecma262/#sec-math.atanh
+// Tor Browser bug: Math.atanh(-0) -> 0
+$({ target: 'Math', stat: true, forced: !(nativeAtanh && 1 / nativeAtanh(-0) < 0) }, {
+ atanh: function atanh(x) {
+ return (x = +x) == 0 ? x : log((1 + x) / (1 - x)) / 2;
+ }
+});
+
+},{"../internals/export":49}],199:[function(require,module,exports){
+var $ = require('../internals/export');
+var sign = require('../internals/math-sign');
+
+var abs = Math.abs;
+var pow = Math.pow;
+
+// `Math.cbrt` method
+// https://tc39.github.io/ecma262/#sec-math.cbrt
+$({ target: 'Math', stat: true }, {
+ cbrt: function cbrt(x) {
+ return sign(x = +x) * pow(abs(x), 1 / 3);
+ }
+});
+
+},{"../internals/export":49,"../internals/math-sign":86}],200:[function(require,module,exports){
+var $ = require('../internals/export');
+
+var floor = Math.floor;
+var log = Math.log;
+var LOG2E = Math.LOG2E;
+
+// `Math.clz32` method
+// https://tc39.github.io/ecma262/#sec-math.clz32
+$({ target: 'Math', stat: true }, {
+ clz32: function clz32(x) {
+ return (x >>>= 0) ? 31 - floor(log(x + 0.5) * LOG2E) : 32;
+ }
+});
+
+},{"../internals/export":49}],201:[function(require,module,exports){
+var $ = require('../internals/export');
+var expm1 = require('../internals/math-expm1');
+
+var nativeCosh = Math.cosh;
+var abs = Math.abs;
+var E = Math.E;
+
+// `Math.cosh` method
+// https://tc39.github.io/ecma262/#sec-math.cosh
+$({ target: 'Math', stat: true, forced: !nativeCosh || nativeCosh(710) === Infinity }, {
+ cosh: function cosh(x) {
+ var t = expm1(abs(x) - 1) + 1;
+ return (t + 1 / (t * E * E)) * (E / 2);
+ }
+});
+
+},{"../internals/export":49,"../internals/math-expm1":83}],202:[function(require,module,exports){
+var $ = require('../internals/export');
+var expm1 = require('../internals/math-expm1');
+
+// `Math.expm1` method
+// https://tc39.github.io/ecma262/#sec-math.expm1
+$({ target: 'Math', stat: true, forced: expm1 != Math.expm1 }, { expm1: expm1 });
+
+},{"../internals/export":49,"../internals/math-expm1":83}],203:[function(require,module,exports){
+var $ = require('../internals/export');
+var fround = require('../internals/math-fround');
+
+// `Math.fround` method
+// https://tc39.github.io/ecma262/#sec-math.fround
+$({ target: 'Math', stat: true }, { fround: fround });
+
+},{"../internals/export":49,"../internals/math-fround":84}],204:[function(require,module,exports){
+var $ = require('../internals/export');
+
+var abs = Math.abs;
+var sqrt = Math.sqrt;
+
+// `Math.hypot` method
+// https://tc39.github.io/ecma262/#sec-math.hypot
+$({ target: 'Math', stat: true }, {
+ hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars
+ var sum = 0;
+ var i = 0;
+ var aLen = arguments.length;
+ var larg = 0;
+ var arg, div;
+ while (i < aLen) {
+ arg = abs(arguments[i++]);
+ if (larg < arg) {
+ div = larg / arg;
+ sum = sum * div * div + 1;
+ larg = arg;
+ } else if (arg > 0) {
+ div = arg / larg;
+ sum += div * div;
+ } else sum += arg;
+ }
+ return larg === Infinity ? Infinity : larg * sqrt(sum);
+ }
+});
+
+},{"../internals/export":49}],205:[function(require,module,exports){
+var $ = require('../internals/export');
+var fails = require('../internals/fails');
+
+var nativeImul = Math.imul;
+
+var FORCED = fails(function () {
+ return nativeImul(0xFFFFFFFF, 5) != -5 || nativeImul.length != 2;
+});
+
+// `Math.imul` method
+// https://tc39.github.io/ecma262/#sec-math.imul
+// some WebKit versions fails with big numbers, some has wrong arity
+$({ target: 'Math', stat: true, forced: FORCED }, {
+ imul: function imul(x, y) {
+ var UINT16 = 0xFFFF;
+ var xn = +x;
+ var yn = +y;
+ var xl = UINT16 & xn;
+ var yl = UINT16 & yn;
+ return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);
+ }
+});
+
+},{"../internals/export":49,"../internals/fails":50}],206:[function(require,module,exports){
+var $ = require('../internals/export');
+
+var log = Math.log;
+var LOG10E = Math.LOG10E;
+
+// `Math.log10` method
+// https://tc39.github.io/ecma262/#sec-math.log10
+$({ target: 'Math', stat: true }, {
+ log10: function log10(x) {
+ return log(x) * LOG10E;
+ }
+});
+
+},{"../internals/export":49}],207:[function(require,module,exports){
+var $ = require('../internals/export');
+var log1p = require('../internals/math-log1p');
+
+// `Math.log1p` method
+// https://tc39.github.io/ecma262/#sec-math.log1p
+$({ target: 'Math', stat: true }, { log1p: log1p });
+
+},{"../internals/export":49,"../internals/math-log1p":85}],208:[function(require,module,exports){
+var $ = require('../internals/export');
+
+var log = Math.log;
+var LN2 = Math.LN2;
+
+// `Math.log2` method
+// https://tc39.github.io/ecma262/#sec-math.log2
+$({ target: 'Math', stat: true }, {
+ log2: function log2(x) {
+ return log(x) / LN2;
+ }
+});
+
+},{"../internals/export":49}],209:[function(require,module,exports){
+var $ = require('../internals/export');
+var sign = require('../internals/math-sign');
+
+// `Math.sign` method
+// https://tc39.github.io/ecma262/#sec-math.sign
+$({ target: 'Math', stat: true }, {
+ sign: sign
+});
+
+},{"../internals/export":49,"../internals/math-sign":86}],210:[function(require,module,exports){
+var $ = require('../internals/export');
+var fails = require('../internals/fails');
+var expm1 = require('../internals/math-expm1');
+
+var abs = Math.abs;
+var exp = Math.exp;
+var E = Math.E;
+
+var FORCED = fails(function () {
+ return Math.sinh(-2e-17) != -2e-17;
+});
+
+// `Math.sinh` method
+// https://tc39.github.io/ecma262/#sec-math.sinh
+// V8 near Chromium 38 has a problem with very small numbers
+$({ target: 'Math', stat: true, forced: FORCED }, {
+ sinh: function sinh(x) {
+ return abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (E / 2);
+ }
+});
+
+},{"../internals/export":49,"../internals/fails":50,"../internals/math-expm1":83}],211:[function(require,module,exports){
+var $ = require('../internals/export');
+var expm1 = require('../internals/math-expm1');
+
+var exp = Math.exp;
+
+// `Math.tanh` method
+// https://tc39.github.io/ecma262/#sec-math.tanh
+$({ target: 'Math', stat: true }, {
+ tanh: function tanh(x) {
+ var a = expm1(x = +x);
+ var b = expm1(-x);
+ return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));
+ }
+});
+
+},{"../internals/export":49,"../internals/math-expm1":83}],212:[function(require,module,exports){
+var setToStringTag = require('../internals/set-to-string-tag');
+
+// Math[@@toStringTag] property
+// https://tc39.github.io/ecma262/#sec-math-@@tostringtag
+setToStringTag(Math, 'Math', true);
+
+},{"../internals/set-to-string-tag":125}],213:[function(require,module,exports){
+var $ = require('../internals/export');
+
+var ceil = Math.ceil;
+var floor = Math.floor;
+
+// `Math.trunc` method
+// https://tc39.github.io/ecma262/#sec-math.trunc
+$({ target: 'Math', stat: true }, {
+ trunc: function trunc(it) {
+ return (it > 0 ? floor : ceil)(it);
+ }
+});
+
+},{"../internals/export":49}],214:[function(require,module,exports){
+'use strict';
+var DESCRIPTORS = require('../internals/descriptors');
+var global = require('../internals/global');
+var isForced = require('../internals/is-forced');
+var redefine = require('../internals/redefine');
+var has = require('../internals/has');
+var classof = require('../internals/classof-raw');
+var inheritIfRequired = require('../internals/inherit-if-required');
+var toPrimitive = require('../internals/to-primitive');
+var fails = require('../internals/fails');
+var create = require('../internals/object-create');
+var getOwnPropertyNames = require('../internals/object-get-own-property-names').f;
+var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
+var defineProperty = require('../internals/object-define-property').f;
+var trim = require('../internals/string-trim').trim;
+
+var NUMBER = 'Number';
+var NativeNumber = global[NUMBER];
+var NumberPrototype = NativeNumber.prototype;
+
+// Opera ~12 has broken Object#toString
+var BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;
+
+// `ToNumber` abstract operation
+// https://tc39.github.io/ecma262/#sec-tonumber
+var toNumber = function (argument) {
+ var it = toPrimitive(argument, false);
+ var first, third, radix, maxCode, digits, length, index, code;
+ if (typeof it == 'string' && it.length > 2) {
+ it = trim(it);
+ first = it.charCodeAt(0);
+ if (first === 43 || first === 45) {
+ third = it.charCodeAt(2);
+ if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix
+ } else if (first === 48) {
+ switch (it.charCodeAt(1)) {
+ case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i
+ case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i
+ default: return +it;
+ }
+ digits = it.slice(2);
+ length = digits.length;
+ for (index = 0; index < length; index++) {
+ code = digits.charCodeAt(index);
+ // parseInt parses a string to a first unavailable symbol
+ // but ToNumber should return NaN if a string contains unavailable symbols
+ if (code < 48 || code > maxCode) return NaN;
+ } return parseInt(digits, radix);
+ }
+ } return +it;
+};
+
+// `Number` constructor
+// https://tc39.github.io/ecma262/#sec-number-constructor
+if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {
+ var NumberWrapper = function Number(value) {
+ var it = arguments.length < 1 ? 0 : value;
+ var dummy = this;
+ return dummy instanceof NumberWrapper
+ // check on 1..constructor(foo) case
+ && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)
+ ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);
+ };
+ for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (
+ // ES3:
+ 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
+ // ES2015 (in case, if modules with ES2015 Number statics required before):
+ 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
+ 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'
+ ).split(','), j = 0, key; keys.length > j; j++) {
+ if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {
+ defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));
+ }
+ }
+ NumberWrapper.prototype = NumberPrototype;
+ NumberPrototype.constructor = NumberWrapper;
+ redefine(global, NUMBER, NumberWrapper);
+}
+
+},{"../internals/classof-raw":29,"../internals/descriptors":45,"../internals/fails":50,"../internals/global":62,"../internals/has":63,"../internals/inherit-if-required":70,"../internals/is-forced":75,"../internals/object-create":95,"../internals/object-define-property":97,"../internals/object-get-own-property-descriptor":98,"../internals/object-get-own-property-names":100,"../internals/redefine":117,"../internals/string-trim":133,"../internals/to-primitive":143}],215:[function(require,module,exports){
+var $ = require('../internals/export');
+
+// `Number.EPSILON` constant
+// https://tc39.github.io/ecma262/#sec-number.epsilon
+$({ target: 'Number', stat: true }, {
+ EPSILON: Math.pow(2, -52)
+});
+
+},{"../internals/export":49}],216:[function(require,module,exports){
+var $ = require('../internals/export');
+var numberIsFinite = require('../internals/number-is-finite');
+
+// `Number.isFinite` method
+// https://tc39.github.io/ecma262/#sec-number.isfinite
+$({ target: 'Number', stat: true }, { isFinite: numberIsFinite });
+
+},{"../internals/export":49,"../internals/number-is-finite":93}],217:[function(require,module,exports){
+var $ = require('../internals/export');
+var isInteger = require('../internals/is-integer');
+
+// `Number.isInteger` method
+// https://tc39.github.io/ecma262/#sec-number.isinteger
+$({ target: 'Number', stat: true }, {
+ isInteger: isInteger
+});
+
+},{"../internals/export":49,"../internals/is-integer":76}],218:[function(require,module,exports){
+var $ = require('../internals/export');
+
+// `Number.isNaN` method
+// https://tc39.github.io/ecma262/#sec-number.isnan
+$({ target: 'Number', stat: true }, {
+ isNaN: function isNaN(number) {
+ // eslint-disable-next-line no-self-compare
+ return number != number;
+ }
+});
+
+},{"../internals/export":49}],219:[function(require,module,exports){
+var $ = require('../internals/export');
+var isInteger = require('../internals/is-integer');
+
+var abs = Math.abs;
+
+// `Number.isSafeInteger` method
+// https://tc39.github.io/ecma262/#sec-number.issafeinteger
+$({ target: 'Number', stat: true }, {
+ isSafeInteger: function isSafeInteger(number) {
+ return isInteger(number) && abs(number) <= 0x1FFFFFFFFFFFFF;
+ }
+});
+
+},{"../internals/export":49,"../internals/is-integer":76}],220:[function(require,module,exports){
+var $ = require('../internals/export');
+
+// `Number.MAX_SAFE_INTEGER` constant
+// https://tc39.github.io/ecma262/#sec-number.max_safe_integer
+$({ target: 'Number', stat: true }, {
+ MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF
+});
+
+},{"../internals/export":49}],221:[function(require,module,exports){
+var $ = require('../internals/export');
+
+// `Number.MIN_SAFE_INTEGER` constant
+// https://tc39.github.io/ecma262/#sec-number.min_safe_integer
+$({ target: 'Number', stat: true }, {
+ MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF
+});
+
+},{"../internals/export":49}],222:[function(require,module,exports){
+var $ = require('../internals/export');
+var parseFloat = require('../internals/parse-float');
+
+// `Number.parseFloat` method
+// https://tc39.github.io/ecma262/#sec-number.parseFloat
+$({ target: 'Number', stat: true, forced: Number.parseFloat != parseFloat }, {
+ parseFloat: parseFloat
+});
+
+},{"../internals/export":49,"../internals/parse-float":110}],223:[function(require,module,exports){
+var $ = require('../internals/export');
+var parseInt = require('../internals/parse-int');
+
+// `Number.parseInt` method
+// https://tc39.github.io/ecma262/#sec-number.parseint
+$({ target: 'Number', stat: true, forced: Number.parseInt != parseInt }, {
+ parseInt: parseInt
+});
+
+},{"../internals/export":49,"../internals/parse-int":111}],224:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var toInteger = require('../internals/to-integer');
+var thisNumberValue = require('../internals/this-number-value');
+var repeat = require('../internals/string-repeat');
+var fails = require('../internals/fails');
+
+var nativeToFixed = 1.0.toFixed;
+var floor = Math.floor;
+
+var pow = function (x, n, acc) {
+ return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);
+};
+
+var log = function (x) {
+ var n = 0;
+ var x2 = x;
+ while (x2 >= 4096) {
+ n += 12;
+ x2 /= 4096;
+ }
+ while (x2 >= 2) {
+ n += 1;
+ x2 /= 2;
+ } return n;
+};
+
+var FORCED = nativeToFixed && (
+ 0.00008.toFixed(3) !== '0.000' ||
+ 0.9.toFixed(0) !== '1' ||
+ 1.255.toFixed(2) !== '1.25' ||
+ 1000000000000000128.0.toFixed(0) !== '1000000000000000128'
+) || !fails(function () {
+ // V8 ~ Android 4.3-
+ nativeToFixed.call({});
+});
+
+// `Number.prototype.toFixed` method
+// https://tc39.github.io/ecma262/#sec-number.prototype.tofixed
+$({ target: 'Number', proto: true, forced: FORCED }, {
+ // eslint-disable-next-line max-statements
+ toFixed: function toFixed(fractionDigits) {
+ var number = thisNumberValue(this);
+ var fractDigits = toInteger(fractionDigits);
+ var data = [0, 0, 0, 0, 0, 0];
+ var sign = '';
+ var result = '0';
+ var e, z, j, k;
+
+ var multiply = function (n, c) {
+ var index = -1;
+ var c2 = c;
+ while (++index < 6) {
+ c2 += n * data[index];
+ data[index] = c2 % 1e7;
+ c2 = floor(c2 / 1e7);
+ }
+ };
+
+ var divide = function (n) {
+ var index = 6;
+ var c = 0;
+ while (--index >= 0) {
+ c += data[index];
+ data[index] = floor(c / n);
+ c = (c % n) * 1e7;
+ }
+ };
+
+ var dataToString = function () {
+ var index = 6;
+ var s = '';
+ while (--index >= 0) {
+ if (s !== '' || index === 0 || data[index] !== 0) {
+ var t = String(data[index]);
+ s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t;
+ }
+ } return s;
+ };
+
+ if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');
+ // eslint-disable-next-line no-self-compare
+ if (number != number) return 'NaN';
+ if (number <= -1e21 || number >= 1e21) return String(number);
+ if (number < 0) {
+ sign = '-';
+ number = -number;
+ }
+ if (number > 1e-21) {
+ e = log(number * pow(2, 69, 1)) - 69;
+ z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);
+ z *= 0x10000000000000;
+ e = 52 - e;
+ if (e > 0) {
+ multiply(0, z);
+ j = fractDigits;
+ while (j >= 7) {
+ multiply(1e7, 0);
+ j -= 7;
+ }
+ multiply(pow(10, j, 1), 0);
+ j = e - 1;
+ while (j >= 23) {
+ divide(1 << 23);
+ j -= 23;
+ }
+ divide(1 << j);
+ multiply(1, 1);
+ divide(2);
+ result = dataToString();
+ } else {
+ multiply(0, z);
+ multiply(1 << -e, 0);
+ result = dataToString() + repeat.call('0', fractDigits);
+ }
+ }
+ if (fractDigits > 0) {
+ k = result.length;
+ result = sign + (k <= fractDigits
+ ? '0.' + repeat.call('0', fractDigits - k) + result
+ : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));
+ } else {
+ result = sign + result;
+ } return result;
+ }
+});
+
+},{"../internals/export":49,"../internals/fails":50,"../internals/string-repeat":132,"../internals/this-number-value":135,"../internals/to-integer":139}],225:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var fails = require('../internals/fails');
+var thisNumberValue = require('../internals/this-number-value');
+
+var nativeToPrecision = 1.0.toPrecision;
+
+var FORCED = fails(function () {
+ // IE7-
+ return nativeToPrecision.call(1, undefined) !== '1';
+}) || !fails(function () {
+ // V8 ~ Android 4.3-
+ nativeToPrecision.call({});
+});
+
+// `Number.prototype.toPrecision` method
+// https://tc39.github.io/ecma262/#sec-number.prototype.toprecision
+$({ target: 'Number', proto: true, forced: FORCED }, {
+ toPrecision: function toPrecision(precision) {
+ return precision === undefined
+ ? nativeToPrecision.call(thisNumberValue(this))
+ : nativeToPrecision.call(thisNumberValue(this), precision);
+ }
+});
+
+},{"../internals/export":49,"../internals/fails":50,"../internals/this-number-value":135}],226:[function(require,module,exports){
+var $ = require('../internals/export');
+var assign = require('../internals/object-assign');
+
+// `Object.assign` method
+// https://tc39.github.io/ecma262/#sec-object.assign
+$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {
+ assign: assign
+});
+
+},{"../internals/export":49,"../internals/object-assign":94}],227:[function(require,module,exports){
+var $ = require('../internals/export');
+var DESCRIPTORS = require('../internals/descriptors');
+var create = require('../internals/object-create');
+
+// `Object.create` method
+// https://tc39.github.io/ecma262/#sec-object.create
+$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {
+ create: create
+});
+
+},{"../internals/descriptors":45,"../internals/export":49,"../internals/object-create":95}],228:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var DESCRIPTORS = require('../internals/descriptors');
+var FORCED = require('../internals/forced-object-prototype-accessors-methods');
+var toObject = require('../internals/to-object');
+var aFunction = require('../internals/a-function');
+var definePropertyModule = require('../internals/object-define-property');
+
+// `Object.prototype.__defineGetter__` method
+// https://tc39.github.io/ecma262/#sec-object.prototype.__defineGetter__
+if (DESCRIPTORS) {
+ $({ target: 'Object', proto: true, forced: FORCED }, {
+ __defineGetter__: function __defineGetter__(P, getter) {
+ definePropertyModule.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });
+ }
+ });
+}
+
+},{"../internals/a-function":8,"../internals/descriptors":45,"../internals/export":49,"../internals/forced-object-prototype-accessors-methods":53,"../internals/object-define-property":97,"../internals/to-object":141}],229:[function(require,module,exports){
+var $ = require('../internals/export');
+var DESCRIPTORS = require('../internals/descriptors');
+var defineProperties = require('../internals/object-define-properties');
+
+// `Object.defineProperties` method
+// https://tc39.github.io/ecma262/#sec-object.defineproperties
+$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {
+ defineProperties: defineProperties
+});
+
+},{"../internals/descriptors":45,"../internals/export":49,"../internals/object-define-properties":96}],230:[function(require,module,exports){
+var $ = require('../internals/export');
+var DESCRIPTORS = require('../internals/descriptors');
+var objectDefinePropertyModile = require('../internals/object-define-property');
+
+// `Object.defineProperty` method
+// https://tc39.github.io/ecma262/#sec-object.defineproperty
+$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {
+ defineProperty: objectDefinePropertyModile.f
+});
+
+},{"../internals/descriptors":45,"../internals/export":49,"../internals/object-define-property":97}],231:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var DESCRIPTORS = require('../internals/descriptors');
+var FORCED = require('../internals/forced-object-prototype-accessors-methods');
+var toObject = require('../internals/to-object');
+var aFunction = require('../internals/a-function');
+var definePropertyModule = require('../internals/object-define-property');
+
+// `Object.prototype.__defineSetter__` method
+// https://tc39.github.io/ecma262/#sec-object.prototype.__defineSetter__
+if (DESCRIPTORS) {
+ $({ target: 'Object', proto: true, forced: FORCED }, {
+ __defineSetter__: function __defineSetter__(P, setter) {
+ definePropertyModule.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });
+ }
+ });
+}
+
+},{"../internals/a-function":8,"../internals/descriptors":45,"../internals/export":49,"../internals/forced-object-prototype-accessors-methods":53,"../internals/object-define-property":97,"../internals/to-object":141}],232:[function(require,module,exports){
+var $ = require('../internals/export');
+var $entries = require('../internals/object-to-array').entries;
+
+// `Object.entries` method
+// https://tc39.github.io/ecma262/#sec-object.entries
+$({ target: 'Object', stat: true }, {
+ entries: function entries(O) {
+ return $entries(O);
+ }
+});
+
+},{"../internals/export":49,"../internals/object-to-array":107}],233:[function(require,module,exports){
+var $ = require('../internals/export');
+var FREEZING = require('../internals/freezing');
+var fails = require('../internals/fails');
+var isObject = require('../internals/is-object');
+var onFreeze = require('../internals/internal-metadata').onFreeze;
+
+var nativeFreeze = Object.freeze;
+var FAILS_ON_PRIMITIVES = fails(function () { nativeFreeze(1); });
+
+// `Object.freeze` method
+// https://tc39.github.io/ecma262/#sec-object.freeze
+$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {
+ freeze: function freeze(it) {
+ return nativeFreeze && isObject(it) ? nativeFreeze(onFreeze(it)) : it;
+ }
+});
+
+},{"../internals/export":49,"../internals/fails":50,"../internals/freezing":56,"../internals/internal-metadata":71,"../internals/is-object":77}],234:[function(require,module,exports){
+var $ = require('../internals/export');
+var iterate = require('../internals/iterate');
+var createProperty = require('../internals/create-property');
+
+// `Object.fromEntries` method
+// https://github.com/tc39/proposal-object-from-entries
+$({ target: 'Object', stat: true }, {
+ fromEntries: function fromEntries(iterable) {
+ var obj = {};
+ iterate(iterable, function (k, v) {
+ createProperty(obj, k, v);
+ }, undefined, true);
+ return obj;
+ }
+});
+
+},{"../internals/create-property":40,"../internals/export":49,"../internals/iterate":80}],235:[function(require,module,exports){
+var $ = require('../internals/export');
+var fails = require('../internals/fails');
+var toIndexedObject = require('../internals/to-indexed-object');
+var nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
+var DESCRIPTORS = require('../internals/descriptors');
+
+var FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });
+var FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;
+
+// `Object.getOwnPropertyDescriptor` method
+// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
+$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {
+ getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {
+ return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);
+ }
+});
+
+},{"../internals/descriptors":45,"../internals/export":49,"../internals/fails":50,"../internals/object-get-own-property-descriptor":98,"../internals/to-indexed-object":138}],236:[function(require,module,exports){
+var $ = require('../internals/export');
+var DESCRIPTORS = require('../internals/descriptors');
+var ownKeys = require('../internals/own-keys');
+var toIndexedObject = require('../internals/to-indexed-object');
+var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');
+var createProperty = require('../internals/create-property');
+
+// `Object.getOwnPropertyDescriptors` method
+// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors
+$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {
+ getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
+ var O = toIndexedObject(object);
+ var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
+ var keys = ownKeys(O);
+ var result = {};
+ var index = 0;
+ var key, descriptor;
+ while (keys.length > index) {
+ descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);
+ if (descriptor !== undefined) createProperty(result, key, descriptor);
+ }
+ return result;
+ }
+});
+
+},{"../internals/create-property":40,"../internals/descriptors":45,"../internals/export":49,"../internals/object-get-own-property-descriptor":98,"../internals/own-keys":109,"../internals/to-indexed-object":138}],237:[function(require,module,exports){
+var $ = require('../internals/export');
+var fails = require('../internals/fails');
+var nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names-external').f;
+
+var FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); });
+
+// `Object.getOwnPropertyNames` method
+// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
+$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
+ getOwnPropertyNames: nativeGetOwnPropertyNames
+});
+
+},{"../internals/export":49,"../internals/fails":50,"../internals/object-get-own-property-names-external":99}],238:[function(require,module,exports){
+var $ = require('../internals/export');
+var fails = require('../internals/fails');
+var toObject = require('../internals/to-object');
+var nativeGetPrototypeOf = require('../internals/object-get-prototype-of');
+var CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');
+
+var FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });
+
+// `Object.getPrototypeOf` method
+// https://tc39.github.io/ecma262/#sec-object.getprototypeof
+$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {
+ getPrototypeOf: function getPrototypeOf(it) {
+ return nativeGetPrototypeOf(toObject(it));
+ }
+});
+
+
+},{"../internals/correct-prototype-getter":36,"../internals/export":49,"../internals/fails":50,"../internals/object-get-prototype-of":102,"../internals/to-object":141}],239:[function(require,module,exports){
+var $ = require('../internals/export');
+var fails = require('../internals/fails');
+var isObject = require('../internals/is-object');
+
+var nativeIsExtensible = Object.isExtensible;
+var FAILS_ON_PRIMITIVES = fails(function () { nativeIsExtensible(1); });
+
+// `Object.isExtensible` method
+// https://tc39.github.io/ecma262/#sec-object.isextensible
+$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
+ isExtensible: function isExtensible(it) {
+ return isObject(it) ? nativeIsExtensible ? nativeIsExtensible(it) : true : false;
+ }
+});
+
+},{"../internals/export":49,"../internals/fails":50,"../internals/is-object":77}],240:[function(require,module,exports){
+var $ = require('../internals/export');
+var fails = require('../internals/fails');
+var isObject = require('../internals/is-object');
+
+var nativeIsFrozen = Object.isFrozen;
+var FAILS_ON_PRIMITIVES = fails(function () { nativeIsFrozen(1); });
+
+// `Object.isFrozen` method
+// https://tc39.github.io/ecma262/#sec-object.isfrozen
+$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
+ isFrozen: function isFrozen(it) {
+ return isObject(it) ? nativeIsFrozen ? nativeIsFrozen(it) : false : true;
+ }
+});
+
+},{"../internals/export":49,"../internals/fails":50,"../internals/is-object":77}],241:[function(require,module,exports){
+var $ = require('../internals/export');
+var fails = require('../internals/fails');
+var isObject = require('../internals/is-object');
+
+var nativeIsSealed = Object.isSealed;
+var FAILS_ON_PRIMITIVES = fails(function () { nativeIsSealed(1); });
+
+// `Object.isSealed` method
+// https://tc39.github.io/ecma262/#sec-object.issealed
+$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
+ isSealed: function isSealed(it) {
+ return isObject(it) ? nativeIsSealed ? nativeIsSealed(it) : false : true;
+ }
+});
+
+},{"../internals/export":49,"../internals/fails":50,"../internals/is-object":77}],242:[function(require,module,exports){
+var $ = require('../internals/export');
+var is = require('../internals/same-value');
+
+// `Object.is` method
+// https://tc39.github.io/ecma262/#sec-object.is
+$({ target: 'Object', stat: true }, {
+ is: is
+});
+
+},{"../internals/export":49,"../internals/same-value":122}],243:[function(require,module,exports){
+var $ = require('../internals/export');
+var toObject = require('../internals/to-object');
+var nativeKeys = require('../internals/object-keys');
+var fails = require('../internals/fails');
+
+var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });
+
+// `Object.keys` method
+// https://tc39.github.io/ecma262/#sec-object.keys
+$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
+ keys: function keys(it) {
+ return nativeKeys(toObject(it));
+ }
+});
+
+},{"../internals/export":49,"../internals/fails":50,"../internals/object-keys":104,"../internals/to-object":141}],244:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var DESCRIPTORS = require('../internals/descriptors');
+var FORCED = require('../internals/forced-object-prototype-accessors-methods');
+var toObject = require('../internals/to-object');
+var toPrimitive = require('../internals/to-primitive');
+var getPrototypeOf = require('../internals/object-get-prototype-of');
+var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
+
+// `Object.prototype.__lookupGetter__` method
+// https://tc39.github.io/ecma262/#sec-object.prototype.__lookupGetter__
+if (DESCRIPTORS) {
+ $({ target: 'Object', proto: true, forced: FORCED }, {
+ __lookupGetter__: function __lookupGetter__(P) {
+ var O = toObject(this);
+ var key = toPrimitive(P, true);
+ var desc;
+ do {
+ if (desc = getOwnPropertyDescriptor(O, key)) return desc.get;
+ } while (O = getPrototypeOf(O));
+ }
+ });
+}
+
+},{"../internals/descriptors":45,"../internals/export":49,"../internals/forced-object-prototype-accessors-methods":53,"../internals/object-get-own-property-descriptor":98,"../internals/object-get-prototype-of":102,"../internals/to-object":141,"../internals/to-primitive":143}],245:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var DESCRIPTORS = require('../internals/descriptors');
+var FORCED = require('../internals/forced-object-prototype-accessors-methods');
+var toObject = require('../internals/to-object');
+var toPrimitive = require('../internals/to-primitive');
+var getPrototypeOf = require('../internals/object-get-prototype-of');
+var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
+
+// `Object.prototype.__lookupSetter__` method
+// https://tc39.github.io/ecma262/#sec-object.prototype.__lookupSetter__
+if (DESCRIPTORS) {
+ $({ target: 'Object', proto: true, forced: FORCED }, {
+ __lookupSetter__: function __lookupSetter__(P) {
+ var O = toObject(this);
+ var key = toPrimitive(P, true);
+ var desc;
+ do {
+ if (desc = getOwnPropertyDescriptor(O, key)) return desc.set;
+ } while (O = getPrototypeOf(O));
+ }
+ });
+}
+
+},{"../internals/descriptors":45,"../internals/export":49,"../internals/forced-object-prototype-accessors-methods":53,"../internals/object-get-own-property-descriptor":98,"../internals/object-get-prototype-of":102,"../internals/to-object":141,"../internals/to-primitive":143}],246:[function(require,module,exports){
+var $ = require('../internals/export');
+var isObject = require('../internals/is-object');
+var onFreeze = require('../internals/internal-metadata').onFreeze;
+var FREEZING = require('../internals/freezing');
+var fails = require('../internals/fails');
+
+var nativePreventExtensions = Object.preventExtensions;
+var FAILS_ON_PRIMITIVES = fails(function () { nativePreventExtensions(1); });
+
+// `Object.preventExtensions` method
+// https://tc39.github.io/ecma262/#sec-object.preventextensions
+$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {
+ preventExtensions: function preventExtensions(it) {
+ return nativePreventExtensions && isObject(it) ? nativePreventExtensions(onFreeze(it)) : it;
+ }
+});
+
+},{"../internals/export":49,"../internals/fails":50,"../internals/freezing":56,"../internals/internal-metadata":71,"../internals/is-object":77}],247:[function(require,module,exports){
+var $ = require('../internals/export');
+var isObject = require('../internals/is-object');
+var onFreeze = require('../internals/internal-metadata').onFreeze;
+var FREEZING = require('../internals/freezing');
+var fails = require('../internals/fails');
+
+var nativeSeal = Object.seal;
+var FAILS_ON_PRIMITIVES = fails(function () { nativeSeal(1); });
+
+// `Object.seal` method
+// https://tc39.github.io/ecma262/#sec-object.seal
+$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {
+ seal: function seal(it) {
+ return nativeSeal && isObject(it) ? nativeSeal(onFreeze(it)) : it;
+ }
+});
+
+},{"../internals/export":49,"../internals/fails":50,"../internals/freezing":56,"../internals/internal-metadata":71,"../internals/is-object":77}],248:[function(require,module,exports){
+var $ = require('../internals/export');
+var setPrototypeOf = require('../internals/object-set-prototype-of');
+
+// `Object.setPrototypeOf` method
+// https://tc39.github.io/ecma262/#sec-object.setprototypeof
+$({ target: 'Object', stat: true }, {
+ setPrototypeOf: setPrototypeOf
+});
+
+},{"../internals/export":49,"../internals/object-set-prototype-of":106}],249:[function(require,module,exports){
+var redefine = require('../internals/redefine');
+var toString = require('../internals/object-to-string');
+
+var ObjectPrototype = Object.prototype;
+
+// `Object.prototype.toString` method
+// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
+if (toString !== ObjectPrototype.toString) {
+ redefine(ObjectPrototype, 'toString', toString, { unsafe: true });
+}
+
+},{"../internals/object-to-string":108,"../internals/redefine":117}],250:[function(require,module,exports){
+var $ = require('../internals/export');
+var $values = require('../internals/object-to-array').values;
+
+// `Object.values` method
+// https://tc39.github.io/ecma262/#sec-object.values
+$({ target: 'Object', stat: true }, {
+ values: function values(O) {
+ return $values(O);
+ }
+});
+
+},{"../internals/export":49,"../internals/object-to-array":107}],251:[function(require,module,exports){
+var $ = require('../internals/export');
+var parseFloatImplementation = require('../internals/parse-float');
+
+// `parseFloat` method
+// https://tc39.github.io/ecma262/#sec-parsefloat-string
+$({ global: true, forced: parseFloat != parseFloatImplementation }, {
+ parseFloat: parseFloatImplementation
+});
+
+},{"../internals/export":49,"../internals/parse-float":110}],252:[function(require,module,exports){
+var $ = require('../internals/export');
+var parseIntImplementation = require('../internals/parse-int');
+
+// `parseInt` method
+// https://tc39.github.io/ecma262/#sec-parseint-string-radix
+$({ global: true, forced: parseInt != parseIntImplementation }, {
+ parseInt: parseIntImplementation
+});
+
+},{"../internals/export":49,"../internals/parse-int":111}],253:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var getBuiltIn = require('../internals/get-built-in');
+var speciesConstructor = require('../internals/species-constructor');
+var promiseResolve = require('../internals/promise-resolve');
+
+// `Promise.prototype.finally` method
+// https://tc39.github.io/ecma262/#sec-promise.prototype.finally
+$({ target: 'Promise', proto: true, real: true }, {
+ 'finally': function (onFinally) {
+ var C = speciesConstructor(this, getBuiltIn('Promise'));
+ var isFunction = typeof onFinally == 'function';
+ return this.then(
+ isFunction ? function (x) {
+ return promiseResolve(C, onFinally()).then(function () { return x; });
+ } : onFinally,
+ isFunction ? function (e) {
+ return promiseResolve(C, onFinally()).then(function () { throw e; });
+ } : onFinally
+ );
+ }
+});
+
+},{"../internals/export":49,"../internals/get-built-in":59,"../internals/promise-resolve":114,"../internals/species-constructor":129}],254:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var IS_PURE = require('../internals/is-pure');
+var global = require('../internals/global');
+var path = require('../internals/path');
+var redefineAll = require('../internals/redefine-all');
+var setToStringTag = require('../internals/set-to-string-tag');
+var setSpecies = require('../internals/set-species');
+var isObject = require('../internals/is-object');
+var aFunction = require('../internals/a-function');
+var anInstance = require('../internals/an-instance');
+var classof = require('../internals/classof-raw');
+var iterate = require('../internals/iterate');
+var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');
+var speciesConstructor = require('../internals/species-constructor');
+var task = require('../internals/task').set;
+var microtask = require('../internals/microtask');
+var promiseResolve = require('../internals/promise-resolve');
+var hostReportErrors = require('../internals/host-report-errors');
+var newPromiseCapabilityModule = require('../internals/new-promise-capability');
+var perform = require('../internals/perform');
+var userAgent = require('../internals/user-agent');
+var InternalStateModule = require('../internals/internal-state');
+var isForced = require('../internals/is-forced');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+
+var SPECIES = wellKnownSymbol('species');
+var PROMISE = 'Promise';
+var getInternalState = InternalStateModule.get;
+var setInternalState = InternalStateModule.set;
+var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
+var PromiseConstructor = global[PROMISE];
+var TypeError = global.TypeError;
+var document = global.document;
+var process = global.process;
+var $fetch = global.fetch;
+var versions = process && process.versions;
+var v8 = versions && versions.v8 || '';
+var newPromiseCapability = newPromiseCapabilityModule.f;
+var newGenericPromiseCapability = newPromiseCapability;
+var IS_NODE = classof(process) == 'process';
+var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);
+var UNHANDLED_REJECTION = 'unhandledrejection';
+var REJECTION_HANDLED = 'rejectionhandled';
+var PENDING = 0;
+var FULFILLED = 1;
+var REJECTED = 2;
+var HANDLED = 1;
+var UNHANDLED = 2;
+var Internal, OwnPromiseCapability, PromiseWrapper;
+
+var FORCED = isForced(PROMISE, function () {
+ // correct subclassing with @@species support
+ var promise = PromiseConstructor.resolve(1);
+ var empty = function () { /* empty */ };
+ var FakePromise = (promise.constructor = {})[SPECIES] = function (exec) {
+ exec(empty, empty);
+ };
+ // unhandled rejections tracking support, NodeJS Promise without it fails @@species test
+ return !((IS_NODE || typeof PromiseRejectionEvent == 'function')
+ && (!IS_PURE || promise['finally'])
+ && promise.then(empty) instanceof FakePromise
+ // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
+ // we can't detect it synchronously, so just check versions
+ && v8.indexOf('6.6') !== 0
+ && userAgent.indexOf('Chrome/66') === -1);
+});
+
+var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
+ PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });
+});
+
+// helpers
+var isThenable = function (it) {
+ var then;
+ return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
+};
+
+var notify = function (promise, state, isReject) {
+ if (state.notified) return;
+ state.notified = true;
+ var chain = state.reactions;
+ microtask(function () {
+ var value = state.value;
+ var ok = state.state == FULFILLED;
+ var index = 0;
+ // variable length - can't use forEach
+ while (chain.length > index) {
+ var reaction = chain[index++];
+ var handler = ok ? reaction.ok : reaction.fail;
+ var resolve = reaction.resolve;
+ var reject = reaction.reject;
+ var domain = reaction.domain;
+ var result, then, exited;
+ try {
+ if (handler) {
+ if (!ok) {
+ if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);
+ state.rejection = HANDLED;
+ }
+ if (handler === true) result = value;
+ else {
+ if (domain) domain.enter();
+ result = handler(value); // can throw
+ if (domain) {
+ domain.exit();
+ exited = true;
+ }
+ }
+ if (result === reaction.promise) {
+ reject(TypeError('Promise-chain cycle'));
+ } else if (then = isThenable(result)) {
+ then.call(result, resolve, reject);
+ } else resolve(result);
+ } else reject(value);
+ } catch (error) {
+ if (domain && !exited) domain.exit();
+ reject(error);
+ }
+ }
+ state.reactions = [];
+ state.notified = false;
+ if (isReject && !state.rejection) onUnhandled(promise, state);
+ });
+};
+
+var dispatchEvent = function (name, promise, reason) {
+ var event, handler;
+ if (DISPATCH_EVENT) {
+ event = document.createEvent('Event');
+ event.promise = promise;
+ event.reason = reason;
+ event.initEvent(name, false, true);
+ global.dispatchEvent(event);
+ } else event = { promise: promise, reason: reason };
+ if (handler = global['on' + name]) handler(event);
+ else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);
+};
+
+var onUnhandled = function (promise, state) {
+ task.call(global, function () {
+ var value = state.value;
+ var IS_UNHANDLED = isUnhandled(state);
+ var result;
+ if (IS_UNHANDLED) {
+ result = perform(function () {
+ if (IS_NODE) {
+ process.emit('unhandledRejection', value, promise);
+ } else dispatchEvent(UNHANDLED_REJECTION, promise, value);
+ });
+ // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
+ state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
+ if (result.error) throw result.value;
+ }
+ });
+};
+
+var isUnhandled = function (state) {
+ return state.rejection !== HANDLED && !state.parent;
+};
+
+var onHandleUnhandled = function (promise, state) {
+ task.call(global, function () {
+ if (IS_NODE) {
+ process.emit('rejectionHandled', promise);
+ } else dispatchEvent(REJECTION_HANDLED, promise, state.value);
+ });
+};
+
+var bind = function (fn, promise, state, unwrap) {
+ return function (value) {
+ fn(promise, state, value, unwrap);
+ };
+};
+
+var internalReject = function (promise, state, value, unwrap) {
+ if (state.done) return;
+ state.done = true;
+ if (unwrap) state = unwrap;
+ state.value = value;
+ state.state = REJECTED;
+ notify(promise, state, true);
+};
+
+var internalResolve = function (promise, state, value, unwrap) {
+ if (state.done) return;
+ state.done = true;
+ if (unwrap) state = unwrap;
+ try {
+ if (promise === value) throw TypeError("Promise can't be resolved itself");
+ var then = isThenable(value);
+ if (then) {
+ microtask(function () {
+ var wrapper = { done: false };
+ try {
+ then.call(value,
+ bind(internalResolve, promise, wrapper, state),
+ bind(internalReject, promise, wrapper, state)
+ );
+ } catch (error) {
+ internalReject(promise, wrapper, error, state);
+ }
+ });
+ } else {
+ state.value = value;
+ state.state = FULFILLED;
+ notify(promise, state, false);
+ }
+ } catch (error) {
+ internalReject(promise, { done: false }, error, state);
+ }
+};
+
+// constructor polyfill
+if (FORCED) {
+ // 25.4.3.1 Promise(executor)
+ PromiseConstructor = function Promise(executor) {
+ anInstance(this, PromiseConstructor, PROMISE);
+ aFunction(executor);
+ Internal.call(this);
+ var state = getInternalState(this);
+ try {
+ executor(bind(internalResolve, this, state), bind(internalReject, this, state));
+ } catch (error) {
+ internalReject(this, state, error);
+ }
+ };
+ // eslint-disable-next-line no-unused-vars
+ Internal = function Promise(executor) {
+ setInternalState(this, {
+ type: PROMISE,
+ done: false,
+ notified: false,
+ parent: false,
+ reactions: [],
+ rejection: false,
+ state: PENDING,
+ value: undefined
+ });
+ };
+ Internal.prototype = redefineAll(PromiseConstructor.prototype, {
+ // `Promise.prototype.then` method
+ // https://tc39.github.io/ecma262/#sec-promise.prototype.then
+ then: function then(onFulfilled, onRejected) {
+ var state = getInternalPromiseState(this);
+ var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
+ reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
+ reaction.fail = typeof onRejected == 'function' && onRejected;
+ reaction.domain = IS_NODE ? process.domain : undefined;
+ state.parent = true;
+ state.reactions.push(reaction);
+ if (state.state != PENDING) notify(this, state, false);
+ return reaction.promise;
+ },
+ // `Promise.prototype.catch` method
+ // https://tc39.github.io/ecma262/#sec-promise.prototype.catch
+ 'catch': function (onRejected) {
+ return this.then(undefined, onRejected);
+ }
+ });
+ OwnPromiseCapability = function () {
+ var promise = new Internal();
+ var state = getInternalState(promise);
+ this.promise = promise;
+ this.resolve = bind(internalResolve, promise, state);
+ this.reject = bind(internalReject, promise, state);
+ };
+ newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
+ return C === PromiseConstructor || C === PromiseWrapper
+ ? new OwnPromiseCapability(C)
+ : newGenericPromiseCapability(C);
+ };
+
+ // wrap fetch result
+ if (!IS_PURE && typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {
+ // eslint-disable-next-line no-unused-vars
+ fetch: function fetch(input) {
+ return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));
+ }
+ });
+}
+
+$({ global: true, wrap: true, forced: FORCED }, {
+ Promise: PromiseConstructor
+});
+
+setToStringTag(PromiseConstructor, PROMISE, false, true);
+setSpecies(PROMISE);
+
+PromiseWrapper = path[PROMISE];
+
+// statics
+$({ target: PROMISE, stat: true, forced: FORCED }, {
+ // `Promise.reject` method
+ // https://tc39.github.io/ecma262/#sec-promise.reject
+ reject: function reject(r) {
+ var capability = newPromiseCapability(this);
+ capability.reject.call(undefined, r);
+ return capability.promise;
+ }
+});
+
+$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {
+ // `Promise.resolve` method
+ // https://tc39.github.io/ecma262/#sec-promise.resolve
+ resolve: function resolve(x) {
+ return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);
+ }
+});
+
+$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
+ // `Promise.all` method
+ // https://tc39.github.io/ecma262/#sec-promise.all
+ all: function all(iterable) {
+ var C = this;
+ var capability = newPromiseCapability(C);
+ var resolve = capability.resolve;
+ var reject = capability.reject;
+ var result = perform(function () {
+ var $promiseResolve = aFunction(C.resolve);
+ var values = [];
+ var counter = 0;
+ var remaining = 1;
+ iterate(iterable, function (promise) {
+ var index = counter++;
+ var alreadyCalled = false;
+ values.push(undefined);
+ remaining++;
+ $promiseResolve.call(C, promise).then(function (value) {
+ if (alreadyCalled) return;
+ alreadyCalled = true;
+ values[index] = value;
+ --remaining || resolve(values);
+ }, reject);
+ });
+ --remaining || resolve(values);
+ });
+ if (result.error) reject(result.value);
+ return capability.promise;
+ },
+ // `Promise.race` method
+ // https://tc39.github.io/ecma262/#sec-promise.race
+ race: function race(iterable) {
+ var C = this;
+ var capability = newPromiseCapability(C);
+ var reject = capability.reject;
+ var result = perform(function () {
+ var $promiseResolve = aFunction(C.resolve);
+ iterate(iterable, function (promise) {
+ $promiseResolve.call(C, promise).then(capability.resolve, reject);
+ });
+ });
+ if (result.error) reject(result.value);
+ return capability.promise;
+ }
+});
+
+},{"../internals/a-function":8,"../internals/an-instance":12,"../internals/check-correctness-of-iteration":28,"../internals/classof-raw":29,"../internals/export":49,"../internals/global":62,"../internals/host-report-errors":66,"../internals/internal-state":72,"../internals/is-forced":75,"../internals/is-object":77,"../internals/is-pure":78,"../internals/iterate":80,"../internals/microtask":87,"../internals/new-promise-capability":91,"../internals/path":112,"../internals/perform":113,"../internals/promise-resolve":114,"../internals/redefine-all":116,"../internals/set-species":124,"../internals/set-to-string-tag":125,"../internals/species-constructor":129,"../internals/task":134,"../internals/user-agent":148,"../internals/well-known-symbol":150}],255:[function(require,module,exports){
+var $ = require('../internals/export');
+var getBuiltIn = require('../internals/get-built-in');
+var aFunction = require('../internals/a-function');
+var anObject = require('../internals/an-object');
+var fails = require('../internals/fails');
+
+var nativeApply = getBuiltIn('Reflect', 'apply');
+var functionApply = Function.apply;
+
+// MS Edge argumentsList argument is optional
+var OPTIONAL_ARGUMENTS_LIST = !fails(function () {
+ nativeApply(function () { /* empty */ });
+});
+
+// `Reflect.apply` method
+// https://tc39.github.io/ecma262/#sec-reflect.apply
+$({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, {
+ apply: function apply(target, thisArgument, argumentsList) {
+ aFunction(target);
+ anObject(argumentsList);
+ return nativeApply
+ ? nativeApply(target, thisArgument, argumentsList)
+ : functionApply.call(target, thisArgument, argumentsList);
+ }
+});
+
+},{"../internals/a-function":8,"../internals/an-object":13,"../internals/export":49,"../internals/fails":50,"../internals/get-built-in":59}],256:[function(require,module,exports){
+var $ = require('../internals/export');
+var getBuiltIn = require('../internals/get-built-in');
+var aFunction = require('../internals/a-function');
+var anObject = require('../internals/an-object');
+var isObject = require('../internals/is-object');
+var create = require('../internals/object-create');
+var bind = require('../internals/function-bind');
+var fails = require('../internals/fails');
+
+var nativeConstruct = getBuiltIn('Reflect', 'construct');
+
+// `Reflect.construct` method
+// https://tc39.github.io/ecma262/#sec-reflect.construct
+// MS Edge supports only 2 arguments and argumentsList argument is optional
+// FF Nightly sets third argument as `new.target`, but does not create `this` from it
+var NEW_TARGET_BUG = fails(function () {
+ function F() { /* empty */ }
+ return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);
+});
+var ARGS_BUG = !fails(function () {
+ nativeConstruct(function () { /* empty */ });
+});
+var FORCED = NEW_TARGET_BUG || ARGS_BUG;
+
+$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {
+ construct: function construct(Target, args /* , newTarget */) {
+ aFunction(Target);
+ anObject(args);
+ var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
+ if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);
+ if (Target == newTarget) {
+ // w/o altered newTarget, optimization for 0-4 arguments
+ switch (args.length) {
+ case 0: return new Target();
+ case 1: return new Target(args[0]);
+ case 2: return new Target(args[0], args[1]);
+ case 3: return new Target(args[0], args[1], args[2]);
+ case 4: return new Target(args[0], args[1], args[2], args[3]);
+ }
+ // w/o altered newTarget, lot of arguments case
+ var $args = [null];
+ $args.push.apply($args, args);
+ return new (bind.apply(Target, $args))();
+ }
+ // with altered newTarget, not support built-in constructors
+ var proto = newTarget.prototype;
+ var instance = create(isObject(proto) ? proto : Object.prototype);
+ var result = Function.apply.call(Target, instance, args);
+ return isObject(result) ? result : instance;
+ }
+});
+
+},{"../internals/a-function":8,"../internals/an-object":13,"../internals/export":49,"../internals/fails":50,"../internals/function-bind":57,"../internals/get-built-in":59,"../internals/is-object":77,"../internals/object-create":95}],257:[function(require,module,exports){
+var $ = require('../internals/export');
+var DESCRIPTORS = require('../internals/descriptors');
+var anObject = require('../internals/an-object');
+var toPrimitive = require('../internals/to-primitive');
+var definePropertyModule = require('../internals/object-define-property');
+var fails = require('../internals/fails');
+
+// MS Edge has broken Reflect.defineProperty - throwing instead of returning false
+var ERROR_INSTEAD_OF_FALSE = fails(function () {
+ // eslint-disable-next-line no-undef
+ Reflect.defineProperty(definePropertyModule.f({}, 1, { value: 1 }), 1, { value: 2 });
+});
+
+// `Reflect.defineProperty` method
+// https://tc39.github.io/ecma262/#sec-reflect.defineproperty
+$({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !DESCRIPTORS }, {
+ defineProperty: function defineProperty(target, propertyKey, attributes) {
+ anObject(target);
+ var key = toPrimitive(propertyKey, true);
+ anObject(attributes);
+ try {
+ definePropertyModule.f(target, key, attributes);
+ return true;
+ } catch (error) {
+ return false;
+ }
+ }
+});
+
+},{"../internals/an-object":13,"../internals/descriptors":45,"../internals/export":49,"../internals/fails":50,"../internals/object-define-property":97,"../internals/to-primitive":143}],258:[function(require,module,exports){
+var $ = require('../internals/export');
+var anObject = require('../internals/an-object');
+var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
+
+// `Reflect.deleteProperty` method
+// https://tc39.github.io/ecma262/#sec-reflect.deleteproperty
+$({ target: 'Reflect', stat: true }, {
+ deleteProperty: function deleteProperty(target, propertyKey) {
+ var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey);
+ return descriptor && !descriptor.configurable ? false : delete target[propertyKey];
+ }
+});
+
+},{"../internals/an-object":13,"../internals/export":49,"../internals/object-get-own-property-descriptor":98}],259:[function(require,module,exports){
+var $ = require('../internals/export');
+var DESCRIPTORS = require('../internals/descriptors');
+var anObject = require('../internals/an-object');
+var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');
+
+// `Reflect.getOwnPropertyDescriptor` method
+// https://tc39.github.io/ecma262/#sec-reflect.getownpropertydescriptor
+$({ target: 'Reflect', stat: true, sham: !DESCRIPTORS }, {
+ getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {
+ return getOwnPropertyDescriptorModule.f(anObject(target), propertyKey);
+ }
+});
+
+},{"../internals/an-object":13,"../internals/descriptors":45,"../internals/export":49,"../internals/object-get-own-property-descriptor":98}],260:[function(require,module,exports){
+var $ = require('../internals/export');
+var anObject = require('../internals/an-object');
+var objectGetPrototypeOf = require('../internals/object-get-prototype-of');
+var CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');
+
+// `Reflect.getPrototypeOf` method
+// https://tc39.github.io/ecma262/#sec-reflect.getprototypeof
+$({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, {
+ getPrototypeOf: function getPrototypeOf(target) {
+ return objectGetPrototypeOf(anObject(target));
+ }
+});
+
+},{"../internals/an-object":13,"../internals/correct-prototype-getter":36,"../internals/export":49,"../internals/object-get-prototype-of":102}],261:[function(require,module,exports){
+var $ = require('../internals/export');
+var isObject = require('../internals/is-object');
+var anObject = require('../internals/an-object');
+var has = require('../internals/has');
+var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');
+var getPrototypeOf = require('../internals/object-get-prototype-of');
+
+// `Reflect.get` method
+// https://tc39.github.io/ecma262/#sec-reflect.get
+function get(target, propertyKey /* , receiver */) {
+ var receiver = arguments.length < 3 ? target : arguments[2];
+ var descriptor, prototype;
+ if (anObject(target) === receiver) return target[propertyKey];
+ if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value')
+ ? descriptor.value
+ : descriptor.get === undefined
+ ? undefined
+ : descriptor.get.call(receiver);
+ if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver);
+}
+
+$({ target: 'Reflect', stat: true }, {
+ get: get
+});
+
+},{"../internals/an-object":13,"../internals/export":49,"../internals/has":63,"../internals/is-object":77,"../internals/object-get-own-property-descriptor":98,"../internals/object-get-prototype-of":102}],262:[function(require,module,exports){
+var $ = require('../internals/export');
+
+// `Reflect.has` method
+// https://tc39.github.io/ecma262/#sec-reflect.has
+$({ target: 'Reflect', stat: true }, {
+ has: function has(target, propertyKey) {
+ return propertyKey in target;
+ }
+});
+
+},{"../internals/export":49}],263:[function(require,module,exports){
+var $ = require('../internals/export');
+var anObject = require('../internals/an-object');
+
+var objectIsExtensible = Object.isExtensible;
+
+// `Reflect.isExtensible` method
+// https://tc39.github.io/ecma262/#sec-reflect.isextensible
+$({ target: 'Reflect', stat: true }, {
+ isExtensible: function isExtensible(target) {
+ anObject(target);
+ return objectIsExtensible ? objectIsExtensible(target) : true;
+ }
+});
+
+},{"../internals/an-object":13,"../internals/export":49}],264:[function(require,module,exports){
+var $ = require('../internals/export');
+var ownKeys = require('../internals/own-keys');
+
+// `Reflect.ownKeys` method
+// https://tc39.github.io/ecma262/#sec-reflect.ownkeys
+$({ target: 'Reflect', stat: true }, {
+ ownKeys: ownKeys
+});
+
+},{"../internals/export":49,"../internals/own-keys":109}],265:[function(require,module,exports){
+var $ = require('../internals/export');
+var getBuiltIn = require('../internals/get-built-in');
+var anObject = require('../internals/an-object');
+var FREEZING = require('../internals/freezing');
+
+// `Reflect.preventExtensions` method
+// https://tc39.github.io/ecma262/#sec-reflect.preventextensions
+$({ target: 'Reflect', stat: true, sham: !FREEZING }, {
+ preventExtensions: function preventExtensions(target) {
+ anObject(target);
+ try {
+ var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions');
+ if (objectPreventExtensions) objectPreventExtensions(target);
+ return true;
+ } catch (error) {
+ return false;
+ }
+ }
+});
+
+},{"../internals/an-object":13,"../internals/export":49,"../internals/freezing":56,"../internals/get-built-in":59}],266:[function(require,module,exports){
+var $ = require('../internals/export');
+var anObject = require('../internals/an-object');
+var aPossiblePrototype = require('../internals/a-possible-prototype');
+var objectSetPrototypeOf = require('../internals/object-set-prototype-of');
+
+// `Reflect.setPrototypeOf` method
+// https://tc39.github.io/ecma262/#sec-reflect.setprototypeof
+if (objectSetPrototypeOf) $({ target: 'Reflect', stat: true }, {
+ setPrototypeOf: function setPrototypeOf(target, proto) {
+ anObject(target);
+ aPossiblePrototype(proto);
+ try {
+ objectSetPrototypeOf(target, proto);
+ return true;
+ } catch (error) {
+ return false;
+ }
+ }
+});
+
+},{"../internals/a-possible-prototype":9,"../internals/an-object":13,"../internals/export":49,"../internals/object-set-prototype-of":106}],267:[function(require,module,exports){
+var $ = require('../internals/export');
+var anObject = require('../internals/an-object');
+var isObject = require('../internals/is-object');
+var has = require('../internals/has');
+var definePropertyModule = require('../internals/object-define-property');
+var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');
+var getPrototypeOf = require('../internals/object-get-prototype-of');
+var createPropertyDescriptor = require('../internals/create-property-descriptor');
+
+// `Reflect.set` method
+// https://tc39.github.io/ecma262/#sec-reflect.set
+function set(target, propertyKey, V /* , receiver */) {
+ var receiver = arguments.length < 4 ? target : arguments[3];
+ var ownDescriptor = getOwnPropertyDescriptorModule.f(anObject(target), propertyKey);
+ var existingDescriptor, prototype;
+ if (!ownDescriptor) {
+ if (isObject(prototype = getPrototypeOf(target))) {
+ return set(prototype, propertyKey, V, receiver);
+ }
+ ownDescriptor = createPropertyDescriptor(0);
+ }
+ if (has(ownDescriptor, 'value')) {
+ if (ownDescriptor.writable === false || !isObject(receiver)) return false;
+ if (existingDescriptor = getOwnPropertyDescriptorModule.f(receiver, propertyKey)) {
+ if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;
+ existingDescriptor.value = V;
+ definePropertyModule.f(receiver, propertyKey, existingDescriptor);
+ } else definePropertyModule.f(receiver, propertyKey, createPropertyDescriptor(0, V));
+ return true;
+ }
+ return ownDescriptor.set === undefined ? false : (ownDescriptor.set.call(receiver, V), true);
+}
+
+$({ target: 'Reflect', stat: true }, {
+ set: set
+});
+
+},{"../internals/an-object":13,"../internals/create-property-descriptor":39,"../internals/export":49,"../internals/has":63,"../internals/is-object":77,"../internals/object-define-property":97,"../internals/object-get-own-property-descriptor":98,"../internals/object-get-prototype-of":102}],268:[function(require,module,exports){
+var DESCRIPTORS = require('../internals/descriptors');
+var global = require('../internals/global');
+var isForced = require('../internals/is-forced');
+var inheritIfRequired = require('../internals/inherit-if-required');
+var defineProperty = require('../internals/object-define-property').f;
+var getOwnPropertyNames = require('../internals/object-get-own-property-names').f;
+var isRegExp = require('../internals/is-regexp');
+var getFlags = require('../internals/regexp-flags');
+var redefine = require('../internals/redefine');
+var fails = require('../internals/fails');
+var setSpecies = require('../internals/set-species');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+
+var MATCH = wellKnownSymbol('match');
+var NativeRegExp = global.RegExp;
+var RegExpPrototype = NativeRegExp.prototype;
+var re1 = /a/g;
+var re2 = /a/g;
+
+// "new" should create a new object, old webkit bug
+var CORRECT_NEW = new NativeRegExp(re1) !== re1;
+
+var FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || fails(function () {
+ re2[MATCH] = false;
+ // RegExp constructor can alter flags and IsRegExp works correct with @@match
+ return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';
+})));
+
+// `RegExp` constructor
+// https://tc39.github.io/ecma262/#sec-regexp-constructor
+if (FORCED) {
+ var RegExpWrapper = function RegExp(pattern, flags) {
+ var thisIsRegExp = this instanceof RegExpWrapper;
+ var patternIsRegExp = isRegExp(pattern);
+ var flagsAreUndefined = flags === undefined;
+ return !thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined ? pattern
+ : inheritIfRequired(CORRECT_NEW
+ ? new NativeRegExp(patternIsRegExp && !flagsAreUndefined ? pattern.source : pattern, flags)
+ : NativeRegExp((patternIsRegExp = pattern instanceof RegExpWrapper)
+ ? pattern.source
+ : pattern, patternIsRegExp && flagsAreUndefined ? getFlags.call(pattern) : flags)
+ , thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);
+ };
+ var proxy = function (key) {
+ key in RegExpWrapper || defineProperty(RegExpWrapper, key, {
+ configurable: true,
+ get: function () { return NativeRegExp[key]; },
+ set: function (it) { NativeRegExp[key] = it; }
+ });
+ };
+ var keys = getOwnPropertyNames(NativeRegExp);
+ var index = 0;
+ while (keys.length > index) proxy(keys[index++]);
+ RegExpPrototype.constructor = RegExpWrapper;
+ RegExpWrapper.prototype = RegExpPrototype;
+ redefine(global, 'RegExp', RegExpWrapper);
+}
+
+// https://tc39.github.io/ecma262/#sec-get-regexp-@@species
+setSpecies('RegExp');
+
+},{"../internals/descriptors":45,"../internals/fails":50,"../internals/global":62,"../internals/inherit-if-required":70,"../internals/is-forced":75,"../internals/is-regexp":79,"../internals/object-define-property":97,"../internals/object-get-own-property-names":100,"../internals/redefine":117,"../internals/regexp-flags":120,"../internals/set-species":124,"../internals/well-known-symbol":150}],269:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var exec = require('../internals/regexp-exec');
+
+$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {
+ exec: exec
+});
+
+},{"../internals/export":49,"../internals/regexp-exec":119}],270:[function(require,module,exports){
+var DESCRIPTORS = require('../internals/descriptors');
+var objectDefinePropertyModule = require('../internals/object-define-property');
+var regExpFlags = require('../internals/regexp-flags');
+
+// `RegExp.prototype.flags` getter
+// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
+if (DESCRIPTORS && /./g.flags != 'g') {
+ objectDefinePropertyModule.f(RegExp.prototype, 'flags', {
+ configurable: true,
+ get: regExpFlags
+ });
+}
+
+},{"../internals/descriptors":45,"../internals/object-define-property":97,"../internals/regexp-flags":120}],271:[function(require,module,exports){
+'use strict';
+var redefine = require('../internals/redefine');
+var anObject = require('../internals/an-object');
+var fails = require('../internals/fails');
+var flags = require('../internals/regexp-flags');
+
+var TO_STRING = 'toString';
+var RegExpPrototype = RegExp.prototype;
+var nativeToString = RegExpPrototype[TO_STRING];
+
+var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
+// FF44- RegExp#toString has a wrong name
+var INCORRECT_NAME = nativeToString.name != TO_STRING;
+
+// `RegExp.prototype.toString` method
+// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring
+if (NOT_GENERIC || INCORRECT_NAME) {
+ redefine(RegExp.prototype, TO_STRING, function toString() {
+ var R = anObject(this);
+ var p = String(R.source);
+ var rf = R.flags;
+ var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);
+ return '/' + p + '/' + f;
+ }, { unsafe: true });
+}
+
+},{"../internals/an-object":13,"../internals/fails":50,"../internals/redefine":117,"../internals/regexp-flags":120}],272:[function(require,module,exports){
+'use strict';
+var collection = require('../internals/collection');
+var collectionStrong = require('../internals/collection-strong');
+
+// `Set` constructor
+// https://tc39.github.io/ecma262/#sec-set-objects
+module.exports = collection('Set', function (get) {
+ return function Set() { return get(this, arguments.length ? arguments[0] : undefined); };
+}, collectionStrong);
+
+},{"../internals/collection":33,"../internals/collection-strong":31}],273:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var createHTML = require('../internals/create-html');
+var forcedStringHTMLMethod = require('../internals/forced-string-html-method');
+
+// `String.prototype.anchor` method
+// https://tc39.github.io/ecma262/#sec-string.prototype.anchor
+$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, {
+ anchor: function anchor(name) {
+ return createHTML(this, 'a', 'name', name);
+ }
+});
+
+},{"../internals/create-html":37,"../internals/export":49,"../internals/forced-string-html-method":54}],274:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var createHTML = require('../internals/create-html');
+var forcedStringHTMLMethod = require('../internals/forced-string-html-method');
+
+// `String.prototype.big` method
+// https://tc39.github.io/ecma262/#sec-string.prototype.big
+$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('big') }, {
+ big: function big() {
+ return createHTML(this, 'big', '', '');
+ }
+});
+
+},{"../internals/create-html":37,"../internals/export":49,"../internals/forced-string-html-method":54}],275:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var createHTML = require('../internals/create-html');
+var forcedStringHTMLMethod = require('../internals/forced-string-html-method');
+
+// `String.prototype.blink` method
+// https://tc39.github.io/ecma262/#sec-string.prototype.blink
+$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('blink') }, {
+ blink: function blink() {
+ return createHTML(this, 'blink', '', '');
+ }
+});
+
+},{"../internals/create-html":37,"../internals/export":49,"../internals/forced-string-html-method":54}],276:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var createHTML = require('../internals/create-html');
+var forcedStringHTMLMethod = require('../internals/forced-string-html-method');
+
+// `String.prototype.bold` method
+// https://tc39.github.io/ecma262/#sec-string.prototype.bold
+$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('bold') }, {
+ bold: function bold() {
+ return createHTML(this, 'b', '', '');
+ }
+});
+
+},{"../internals/create-html":37,"../internals/export":49,"../internals/forced-string-html-method":54}],277:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var codeAt = require('../internals/string-multibyte').codeAt;
+
+// `String.prototype.codePointAt` method
+// https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
+$({ target: 'String', proto: true }, {
+ codePointAt: function codePointAt(pos) {
+ return codeAt(this, pos);
+ }
+});
+
+},{"../internals/export":49,"../internals/string-multibyte":130}],278:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var toLength = require('../internals/to-length');
+var notARegExp = require('../internals/not-a-regexp');
+var requireObjectCoercible = require('../internals/require-object-coercible');
+var correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');
+
+var nativeEndsWith = ''.endsWith;
+var min = Math.min;
+
+// `String.prototype.endsWith` method
+// https://tc39.github.io/ecma262/#sec-string.prototype.endswith
+$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('endsWith') }, {
+ endsWith: function endsWith(searchString /* , endPosition = @length */) {
+ var that = String(requireObjectCoercible(this));
+ notARegExp(searchString);
+ var endPosition = arguments.length > 1 ? arguments[1] : undefined;
+ var len = toLength(that.length);
+ var end = endPosition === undefined ? len : min(toLength(endPosition), len);
+ var search = String(searchString);
+ return nativeEndsWith
+ ? nativeEndsWith.call(that, search, end)
+ : that.slice(end - search.length, end) === search;
+ }
+});
+
+},{"../internals/correct-is-regexp-logic":35,"../internals/export":49,"../internals/not-a-regexp":92,"../internals/require-object-coercible":121,"../internals/to-length":140}],279:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var createHTML = require('../internals/create-html');
+var forcedStringHTMLMethod = require('../internals/forced-string-html-method');
+
+// `String.prototype.fixed` method
+// https://tc39.github.io/ecma262/#sec-string.prototype.fixed
+$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, {
+ fixed: function fixed() {
+ return createHTML(this, 'tt', '', '');
+ }
+});
+
+},{"../internals/create-html":37,"../internals/export":49,"../internals/forced-string-html-method":54}],280:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var createHTML = require('../internals/create-html');
+var forcedStringHTMLMethod = require('../internals/forced-string-html-method');
+
+// `String.prototype.fontcolor` method
+// https://tc39.github.io/ecma262/#sec-string.prototype.fontcolor
+$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontcolor') }, {
+ fontcolor: function fontcolor(color) {
+ return createHTML(this, 'font', 'color', color);
+ }
+});
+
+},{"../internals/create-html":37,"../internals/export":49,"../internals/forced-string-html-method":54}],281:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var createHTML = require('../internals/create-html');
+var forcedStringHTMLMethod = require('../internals/forced-string-html-method');
+
+// `String.prototype.fontsize` method
+// https://tc39.github.io/ecma262/#sec-string.prototype.fontsize
+$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontsize') }, {
+ fontsize: function fontsize(size) {
+ return createHTML(this, 'font', 'size', size);
+ }
+});
+
+},{"../internals/create-html":37,"../internals/export":49,"../internals/forced-string-html-method":54}],282:[function(require,module,exports){
+var $ = require('../internals/export');
+var toAbsoluteIndex = require('../internals/to-absolute-index');
+
+var fromCharCode = String.fromCharCode;
+var nativeFromCodePoint = String.fromCodePoint;
+
+// length should be 1, old FF problem
+var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;
+
+// `String.fromCodePoint` method
+// https://tc39.github.io/ecma262/#sec-string.fromcodepoint
+$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {
+ fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars
+ var elements = [];
+ var length = arguments.length;
+ var i = 0;
+ var code;
+ while (length > i) {
+ code = +arguments[i++];
+ if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point');
+ elements.push(code < 0x10000
+ ? fromCharCode(code)
+ : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00)
+ );
+ } return elements.join('');
+ }
+});
+
+},{"../internals/export":49,"../internals/to-absolute-index":136}],283:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var notARegExp = require('../internals/not-a-regexp');
+var requireObjectCoercible = require('../internals/require-object-coercible');
+var correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');
+
+// `String.prototype.includes` method
+// https://tc39.github.io/ecma262/#sec-string.prototype.includes
+$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {
+ includes: function includes(searchString /* , position = 0 */) {
+ return !!~String(requireObjectCoercible(this))
+ .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);
+ }
+});
+
+},{"../internals/correct-is-regexp-logic":35,"../internals/export":49,"../internals/not-a-regexp":92,"../internals/require-object-coercible":121}],284:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var createHTML = require('../internals/create-html');
+var forcedStringHTMLMethod = require('../internals/forced-string-html-method');
+
+// `String.prototype.italics` method
+// https://tc39.github.io/ecma262/#sec-string.prototype.italics
+$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('italics') }, {
+ italics: function italics() {
+ return createHTML(this, 'i', '', '');
+ }
+});
+
+},{"../internals/create-html":37,"../internals/export":49,"../internals/forced-string-html-method":54}],285:[function(require,module,exports){
+'use strict';
+var charAt = require('../internals/string-multibyte').charAt;
+var InternalStateModule = require('../internals/internal-state');
+var defineIterator = require('../internals/define-iterator');
+
+var STRING_ITERATOR = 'String Iterator';
+var setInternalState = InternalStateModule.set;
+var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
+
+// `String.prototype[@@iterator]` method
+// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator
+defineIterator(String, 'String', function (iterated) {
+ setInternalState(this, {
+ type: STRING_ITERATOR,
+ string: String(iterated),
+ index: 0
+ });
+// `%StringIteratorPrototype%.next` method
+// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next
+}, function next() {
+ var state = getInternalState(this);
+ var string = state.string;
+ var index = state.index;
+ var point;
+ if (index >= string.length) return { value: undefined, done: true };
+ point = charAt(string, index);
+ state.index += point.length;
+ return { value: point, done: false };
+});
+
+},{"../internals/define-iterator":43,"../internals/internal-state":72,"../internals/string-multibyte":130}],286:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var createHTML = require('../internals/create-html');
+var forcedStringHTMLMethod = require('../internals/forced-string-html-method');
+
+// `String.prototype.link` method
+// https://tc39.github.io/ecma262/#sec-string.prototype.link
+$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, {
+ link: function link(url) {
+ return createHTML(this, 'a', 'href', url);
+ }
+});
+
+},{"../internals/create-html":37,"../internals/export":49,"../internals/forced-string-html-method":54}],287:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var createIteratorConstructor = require('../internals/create-iterator-constructor');
+var requireObjectCoercible = require('../internals/require-object-coercible');
+var toLength = require('../internals/to-length');
+var aFunction = require('../internals/a-function');
+var anObject = require('../internals/an-object');
+var classof = require('../internals/classof');
+var getFlags = require('../internals/regexp-flags');
+var hide = require('../internals/hide');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+var speciesConstructor = require('../internals/species-constructor');
+var advanceStringIndex = require('../internals/advance-string-index');
+var InternalStateModule = require('../internals/internal-state');
+var IS_PURE = require('../internals/is-pure');
+
+var MATCH_ALL = wellKnownSymbol('matchAll');
+var REGEXP_STRING = 'RegExp String';
+var REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator';
+var setInternalState = InternalStateModule.set;
+var getInternalState = InternalStateModule.getterFor(REGEXP_STRING_ITERATOR);
+var RegExpPrototype = RegExp.prototype;
+var regExpBuiltinExec = RegExpPrototype.exec;
+
+var regExpExec = function (R, S) {
+ var exec = R.exec;
+ var result;
+ if (typeof exec == 'function') {
+ result = exec.call(R, S);
+ if (typeof result != 'object') throw TypeError('Incorrect exec result');
+ return result;
+ } return regExpBuiltinExec.call(R, S);
+};
+
+// eslint-disable-next-line max-len
+var $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, global, fullUnicode) {
+ setInternalState(this, {
+ type: REGEXP_STRING_ITERATOR,
+ regexp: regexp,
+ string: string,
+ global: global,
+ unicode: fullUnicode,
+ done: false
+ });
+}, REGEXP_STRING, function next() {
+ var state = getInternalState(this);
+ if (state.done) return { value: undefined, done: true };
+ var R = state.regexp;
+ var S = state.string;
+ var match = regExpExec(R, S);
+ if (match === null) return { value: undefined, done: state.done = true };
+ if (state.global) {
+ if (String(match[0]) == '') R.lastIndex = advanceStringIndex(S, toLength(R.lastIndex), state.unicode);
+ return { value: match, done: false };
+ }
+ state.done = true;
+ return { value: match, done: false };
+});
+
+var $matchAll = function (string) {
+ var R = anObject(this);
+ var S = String(string);
+ var C, flagsValue, flags, matcher, global, fullUnicode;
+ C = speciesConstructor(R, RegExp);
+ flagsValue = R.flags;
+ if (flagsValue === undefined && R instanceof RegExp && !('flags' in RegExpPrototype)) {
+ flagsValue = getFlags.call(R);
+ }
+ flags = flagsValue === undefined ? '' : String(flagsValue);
+ matcher = new C(C === RegExp ? R.source : R, flags);
+ global = !!~flags.indexOf('g');
+ fullUnicode = !!~flags.indexOf('u');
+ matcher.lastIndex = toLength(R.lastIndex);
+ return new $RegExpStringIterator(matcher, S, global, fullUnicode);
+};
+
+// `String.prototype.matchAll` method
+// https://github.com/tc39/proposal-string-matchall
+$({ target: 'String', proto: true }, {
+ matchAll: function matchAll(regexp) {
+ var O = requireObjectCoercible(this);
+ var S, matcher, rx;
+ if (regexp != null) {
+ matcher = regexp[MATCH_ALL];
+ if (matcher === undefined && IS_PURE && classof(regexp) == 'RegExp') matcher = $matchAll;
+ if (matcher != null) return aFunction(matcher).call(regexp, O);
+ }
+ S = String(O);
+ rx = new RegExp(regexp, 'g');
+ return IS_PURE ? $matchAll.call(rx, S) : rx[MATCH_ALL](S);
+ }
+});
+
+IS_PURE || MATCH_ALL in RegExpPrototype || hide(RegExpPrototype, MATCH_ALL, $matchAll);
+
+},{"../internals/a-function":8,"../internals/advance-string-index":11,"../internals/an-object":13,"../internals/classof":30,"../internals/create-iterator-constructor":38,"../internals/export":49,"../internals/hide":65,"../internals/internal-state":72,"../internals/is-pure":78,"../internals/regexp-flags":120,"../internals/require-object-coercible":121,"../internals/species-constructor":129,"../internals/to-length":140,"../internals/well-known-symbol":150}],288:[function(require,module,exports){
+'use strict';
+var fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');
+var anObject = require('../internals/an-object');
+var toLength = require('../internals/to-length');
+var requireObjectCoercible = require('../internals/require-object-coercible');
+var advanceStringIndex = require('../internals/advance-string-index');
+var regExpExec = require('../internals/regexp-exec-abstract');
+
+// @@match logic
+fixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {
+ return [
+ // `String.prototype.match` method
+ // https://tc39.github.io/ecma262/#sec-string.prototype.match
+ function match(regexp) {
+ var O = requireObjectCoercible(this);
+ var matcher = regexp == undefined ? undefined : regexp[MATCH];
+ return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
+ },
+ // `RegExp.prototype[@@match]` method
+ // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match
+ function (regexp) {
+ var res = maybeCallNative(nativeMatch, regexp, this);
+ if (res.done) return res.value;
+
+ var rx = anObject(regexp);
+ var S = String(this);
+
+ if (!rx.global) return regExpExec(rx, S);
+
+ var fullUnicode = rx.unicode;
+ rx.lastIndex = 0;
+ var A = [];
+ var n = 0;
+ var result;
+ while ((result = regExpExec(rx, S)) !== null) {
+ var matchStr = String(result[0]);
+ A[n] = matchStr;
+ if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
+ n++;
+ }
+ return n === 0 ? null : A;
+ }
+ ];
+});
+
+},{"../internals/advance-string-index":11,"../internals/an-object":13,"../internals/fix-regexp-well-known-symbol-logic":51,"../internals/regexp-exec-abstract":118,"../internals/require-object-coercible":121,"../internals/to-length":140}],289:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var $padEnd = require('../internals/string-pad').end;
+var WEBKIT_BUG = require('../internals/webkit-string-pad-bug');
+
+// `String.prototype.padEnd` method
+// https://tc39.github.io/ecma262/#sec-string.prototype.padend
+$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {
+ padEnd: function padEnd(maxLength /* , fillString = ' ' */) {
+ return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
+ }
+});
+
+},{"../internals/export":49,"../internals/string-pad":131,"../internals/webkit-string-pad-bug":149}],290:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var $padStart = require('../internals/string-pad').start;
+var WEBKIT_BUG = require('../internals/webkit-string-pad-bug');
+
+// `String.prototype.padStart` method
+// https://tc39.github.io/ecma262/#sec-string.prototype.padstart
+$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {
+ padStart: function padStart(maxLength /* , fillString = ' ' */) {
+ return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
+ }
+});
+
+},{"../internals/export":49,"../internals/string-pad":131,"../internals/webkit-string-pad-bug":149}],291:[function(require,module,exports){
+var $ = require('../internals/export');
+var toIndexedObject = require('../internals/to-indexed-object');
+var toLength = require('../internals/to-length');
+
+// `String.raw` method
+// https://tc39.github.io/ecma262/#sec-string.raw
+$({ target: 'String', stat: true }, {
+ raw: function raw(template) {
+ var rawTemplate = toIndexedObject(template.raw);
+ var literalSegments = toLength(rawTemplate.length);
+ var argumentsLength = arguments.length;
+ var elements = [];
+ var i = 0;
+ while (literalSegments > i) {
+ elements.push(String(rawTemplate[i++]));
+ if (i < argumentsLength) elements.push(String(arguments[i]));
+ } return elements.join('');
+ }
+});
+
+},{"../internals/export":49,"../internals/to-indexed-object":138,"../internals/to-length":140}],292:[function(require,module,exports){
+var $ = require('../internals/export');
+var repeat = require('../internals/string-repeat');
+
+// `String.prototype.repeat` method
+// https://tc39.github.io/ecma262/#sec-string.prototype.repeat
+$({ target: 'String', proto: true }, {
+ repeat: repeat
+});
+
+},{"../internals/export":49,"../internals/string-repeat":132}],293:[function(require,module,exports){
+'use strict';
+var fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');
+var anObject = require('../internals/an-object');
+var toObject = require('../internals/to-object');
+var toLength = require('../internals/to-length');
+var toInteger = require('../internals/to-integer');
+var requireObjectCoercible = require('../internals/require-object-coercible');
+var advanceStringIndex = require('../internals/advance-string-index');
+var regExpExec = require('../internals/regexp-exec-abstract');
+
+var max = Math.max;
+var min = Math.min;
+var floor = Math.floor;
+var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g;
+var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g;
+
+var maybeToString = function (it) {
+ return it === undefined ? it : String(it);
+};
+
+// @@replace logic
+fixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative) {
+ return [
+ // `String.prototype.replace` method
+ // https://tc39.github.io/ecma262/#sec-string.prototype.replace
+ function replace(searchValue, replaceValue) {
+ var O = requireObjectCoercible(this);
+ var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
+ return replacer !== undefined
+ ? replacer.call(searchValue, O, replaceValue)
+ : nativeReplace.call(String(O), searchValue, replaceValue);
+ },
+ // `RegExp.prototype[@@replace]` method
+ // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
+ function (regexp, replaceValue) {
+ var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
+ if (res.done) return res.value;
+
+ var rx = anObject(regexp);
+ var S = String(this);
+
+ var functionalReplace = typeof replaceValue === 'function';
+ if (!functionalReplace) replaceValue = String(replaceValue);
+
+ var global = rx.global;
+ if (global) {
+ var fullUnicode = rx.unicode;
+ rx.lastIndex = 0;
+ }
+ var results = [];
+ while (true) {
+ var result = regExpExec(rx, S);
+ if (result === null) break;
+
+ results.push(result);
+ if (!global) break;
+
+ var matchStr = String(result[0]);
+ if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
+ }
+
+ var accumulatedResult = '';
+ var nextSourcePosition = 0;
+ for (var i = 0; i < results.length; i++) {
+ result = results[i];
+
+ var matched = String(result[0]);
+ var position = max(min(toInteger(result.index), S.length), 0);
+ var captures = [];
+ // NOTE: This is equivalent to
+ // captures = result.slice(1).map(maybeToString)
+ // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
+ // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
+ // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
+ for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
+ var namedCaptures = result.groups;
+ if (functionalReplace) {
+ var replacerArgs = [matched].concat(captures, position, S);
+ if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
+ var replacement = String(replaceValue.apply(undefined, replacerArgs));
+ } else {
+ replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
+ }
+ if (position >= nextSourcePosition) {
+ accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
+ nextSourcePosition = position + matched.length;
+ }
+ }
+ return accumulatedResult + S.slice(nextSourcePosition);
+ }
+ ];
+
+ // https://tc39.github.io/ecma262/#sec-getsubstitution
+ function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
+ var tailPos = position + matched.length;
+ var m = captures.length;
+ var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
+ if (namedCaptures !== undefined) {
+ namedCaptures = toObject(namedCaptures);
+ symbols = SUBSTITUTION_SYMBOLS;
+ }
+ return nativeReplace.call(replacement, symbols, function (match, ch) {
+ var capture;
+ switch (ch.charAt(0)) {
+ case '$': return '$';
+ case '&': return matched;
+ case '`': return str.slice(0, position);
+ case "'": return str.slice(tailPos);
+ case '<':
+ capture = namedCaptures[ch.slice(1, -1)];
+ break;
+ default: // \d\d?
+ var n = +ch;
+ if (n === 0) return match;
+ if (n > m) {
+ var f = floor(n / 10);
+ if (f === 0) return match;
+ if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
+ return match;
+ }
+ capture = captures[n - 1];
+ }
+ return capture === undefined ? '' : capture;
+ });
+ }
+});
+
+},{"../internals/advance-string-index":11,"../internals/an-object":13,"../internals/fix-regexp-well-known-symbol-logic":51,"../internals/regexp-exec-abstract":118,"../internals/require-object-coercible":121,"../internals/to-integer":139,"../internals/to-length":140,"../internals/to-object":141}],294:[function(require,module,exports){
+'use strict';
+var fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');
+var anObject = require('../internals/an-object');
+var requireObjectCoercible = require('../internals/require-object-coercible');
+var sameValue = require('../internals/same-value');
+var regExpExec = require('../internals/regexp-exec-abstract');
+
+// @@search logic
+fixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {
+ return [
+ // `String.prototype.search` method
+ // https://tc39.github.io/ecma262/#sec-string.prototype.search
+ function search(regexp) {
+ var O = requireObjectCoercible(this);
+ var searcher = regexp == undefined ? undefined : regexp[SEARCH];
+ return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
+ },
+ // `RegExp.prototype[@@search]` method
+ // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search
+ function (regexp) {
+ var res = maybeCallNative(nativeSearch, regexp, this);
+ if (res.done) return res.value;
+
+ var rx = anObject(regexp);
+ var S = String(this);
+
+ var previousLastIndex = rx.lastIndex;
+ if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;
+ var result = regExpExec(rx, S);
+ if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;
+ return result === null ? -1 : result.index;
+ }
+ ];
+});
+
+},{"../internals/an-object":13,"../internals/fix-regexp-well-known-symbol-logic":51,"../internals/regexp-exec-abstract":118,"../internals/require-object-coercible":121,"../internals/same-value":122}],295:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var createHTML = require('../internals/create-html');
+var forcedStringHTMLMethod = require('../internals/forced-string-html-method');
+
+// `String.prototype.small` method
+// https://tc39.github.io/ecma262/#sec-string.prototype.small
+$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('small') }, {
+ small: function small() {
+ return createHTML(this, 'small', '', '');
+ }
+});
+
+},{"../internals/create-html":37,"../internals/export":49,"../internals/forced-string-html-method":54}],296:[function(require,module,exports){
+'use strict';
+var fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');
+var isRegExp = require('../internals/is-regexp');
+var anObject = require('../internals/an-object');
+var requireObjectCoercible = require('../internals/require-object-coercible');
+var speciesConstructor = require('../internals/species-constructor');
+var advanceStringIndex = require('../internals/advance-string-index');
+var toLength = require('../internals/to-length');
+var callRegExpExec = require('../internals/regexp-exec-abstract');
+var regexpExec = require('../internals/regexp-exec');
+var fails = require('../internals/fails');
+
+var arrayPush = [].push;
+var min = Math.min;
+var MAX_UINT32 = 0xFFFFFFFF;
+
+// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
+var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });
+
+// @@split logic
+fixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
+ var internalSplit;
+ if (
+ 'abbc'.split(/(b)*/)[1] == 'c' ||
+ 'test'.split(/(?:)/, -1).length != 4 ||
+ 'ab'.split(/(?:ab)*/).length != 2 ||
+ '.'.split(/(.?)(.?)/).length != 4 ||
+ '.'.split(/()()/).length > 1 ||
+ ''.split(/.?/).length
+ ) {
+ // based on es5-shim implementation, need to rework it
+ internalSplit = function (separator, limit) {
+ var string = String(requireObjectCoercible(this));
+ var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
+ if (lim === 0) return [];
+ if (separator === undefined) return [string];
+ // If `separator` is not a regex, use native split
+ if (!isRegExp(separator)) {
+ return nativeSplit.call(string, separator, lim);
+ }
+ var output = [];
+ var flags = (separator.ignoreCase ? 'i' : '') +
+ (separator.multiline ? 'm' : '') +
+ (separator.unicode ? 'u' : '') +
+ (separator.sticky ? 'y' : '');
+ var lastLastIndex = 0;
+ // Make `global` and avoid `lastIndex` issues by working with a copy
+ var separatorCopy = new RegExp(separator.source, flags + 'g');
+ var match, lastIndex, lastLength;
+ while (match = regexpExec.call(separatorCopy, string)) {
+ lastIndex = separatorCopy.lastIndex;
+ if (lastIndex > lastLastIndex) {
+ output.push(string.slice(lastLastIndex, match.index));
+ if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
+ lastLength = match[0].length;
+ lastLastIndex = lastIndex;
+ if (output.length >= lim) break;
+ }
+ if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
+ }
+ if (lastLastIndex === string.length) {
+ if (lastLength || !separatorCopy.test('')) output.push('');
+ } else output.push(string.slice(lastLastIndex));
+ return output.length > lim ? output.slice(0, lim) : output;
+ };
+ // Chakra, V8
+ } else if ('0'.split(undefined, 0).length) {
+ internalSplit = function (separator, limit) {
+ return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
+ };
+ } else internalSplit = nativeSplit;
+
+ return [
+ // `String.prototype.split` method
+ // https://tc39.github.io/ecma262/#sec-string.prototype.split
+ function split(separator, limit) {
+ var O = requireObjectCoercible(this);
+ var splitter = separator == undefined ? undefined : separator[SPLIT];
+ return splitter !== undefined
+ ? splitter.call(separator, O, limit)
+ : internalSplit.call(String(O), separator, limit);
+ },
+ // `RegExp.prototype[@@split]` method
+ // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split
+ //
+ // NOTE: This cannot be properly polyfilled in engines that don't support
+ // the 'y' flag.
+ function (regexp, limit) {
+ var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
+ if (res.done) return res.value;
+
+ var rx = anObject(regexp);
+ var S = String(this);
+ var C = speciesConstructor(rx, RegExp);
+
+ var unicodeMatching = rx.unicode;
+ var flags = (rx.ignoreCase ? 'i' : '') +
+ (rx.multiline ? 'm' : '') +
+ (rx.unicode ? 'u' : '') +
+ (SUPPORTS_Y ? 'y' : 'g');
+
+ // ^(? + rx + ) is needed, in combination with some S slicing, to
+ // simulate the 'y' flag.
+ var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
+ var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
+ if (lim === 0) return [];
+ if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];
+ var p = 0;
+ var q = 0;
+ var A = [];
+ while (q < S.length) {
+ splitter.lastIndex = SUPPORTS_Y ? q : 0;
+ var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));
+ var e;
+ if (
+ z === null ||
+ (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
+ ) {
+ q = advanceStringIndex(S, q, unicodeMatching);
+ } else {
+ A.push(S.slice(p, q));
+ if (A.length === lim) return A;
+ for (var i = 1; i <= z.length - 1; i++) {
+ A.push(z[i]);
+ if (A.length === lim) return A;
+ }
+ q = p = e;
+ }
+ }
+ A.push(S.slice(p));
+ return A;
+ }
+ ];
+}, !SUPPORTS_Y);
+
+},{"../internals/advance-string-index":11,"../internals/an-object":13,"../internals/fails":50,"../internals/fix-regexp-well-known-symbol-logic":51,"../internals/is-regexp":79,"../internals/regexp-exec":119,"../internals/regexp-exec-abstract":118,"../internals/require-object-coercible":121,"../internals/species-constructor":129,"../internals/to-length":140}],297:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var toLength = require('../internals/to-length');
+var notARegExp = require('../internals/not-a-regexp');
+var requireObjectCoercible = require('../internals/require-object-coercible');
+var correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');
+
+var nativeStartsWith = ''.startsWith;
+var min = Math.min;
+
+// `String.prototype.startsWith` method
+// https://tc39.github.io/ecma262/#sec-string.prototype.startswith
+$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('startsWith') }, {
+ startsWith: function startsWith(searchString /* , position = 0 */) {
+ var that = String(requireObjectCoercible(this));
+ notARegExp(searchString);
+ var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));
+ var search = String(searchString);
+ return nativeStartsWith
+ ? nativeStartsWith.call(that, search, index)
+ : that.slice(index, index + search.length) === search;
+ }
+});
+
+},{"../internals/correct-is-regexp-logic":35,"../internals/export":49,"../internals/not-a-regexp":92,"../internals/require-object-coercible":121,"../internals/to-length":140}],298:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var createHTML = require('../internals/create-html');
+var forcedStringHTMLMethod = require('../internals/forced-string-html-method');
+
+// `String.prototype.strike` method
+// https://tc39.github.io/ecma262/#sec-string.prototype.strike
+$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, {
+ strike: function strike() {
+ return createHTML(this, 'strike', '', '');
+ }
+});
+
+},{"../internals/create-html":37,"../internals/export":49,"../internals/forced-string-html-method":54}],299:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var createHTML = require('../internals/create-html');
+var forcedStringHTMLMethod = require('../internals/forced-string-html-method');
+
+// `String.prototype.sub` method
+// https://tc39.github.io/ecma262/#sec-string.prototype.sub
+$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sub') }, {
+ sub: function sub() {
+ return createHTML(this, 'sub', '', '');
+ }
+});
+
+},{"../internals/create-html":37,"../internals/export":49,"../internals/forced-string-html-method":54}],300:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var createHTML = require('../internals/create-html');
+var forcedStringHTMLMethod = require('../internals/forced-string-html-method');
+
+// `String.prototype.sup` method
+// https://tc39.github.io/ecma262/#sec-string.prototype.sup
+$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sup') }, {
+ sup: function sup() {
+ return createHTML(this, 'sup', '', '');
+ }
+});
+
+},{"../internals/create-html":37,"../internals/export":49,"../internals/forced-string-html-method":54}],301:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var $trimEnd = require('../internals/string-trim').end;
+var forcedStringTrimMethod = require('../internals/forced-string-trim-method');
+
+var FORCED = forcedStringTrimMethod('trimEnd');
+
+var trimEnd = FORCED ? function trimEnd() {
+ return $trimEnd(this);
+} : ''.trimEnd;
+
+// `String.prototype.{ trimEnd, trimRight }` methods
+// https://github.com/tc39/ecmascript-string-left-right-trim
+$({ target: 'String', proto: true, forced: FORCED }, {
+ trimEnd: trimEnd,
+ trimRight: trimEnd
+});
+
+},{"../internals/export":49,"../internals/forced-string-trim-method":55,"../internals/string-trim":133}],302:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var $trimStart = require('../internals/string-trim').start;
+var forcedStringTrimMethod = require('../internals/forced-string-trim-method');
+
+var FORCED = forcedStringTrimMethod('trimStart');
+
+var trimStart = FORCED ? function trimStart() {
+ return $trimStart(this);
+} : ''.trimStart;
+
+// `String.prototype.{ trimStart, trimLeft }` methods
+// https://github.com/tc39/ecmascript-string-left-right-trim
+$({ target: 'String', proto: true, forced: FORCED }, {
+ trimStart: trimStart,
+ trimLeft: trimStart
+});
+
+},{"../internals/export":49,"../internals/forced-string-trim-method":55,"../internals/string-trim":133}],303:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var $trim = require('../internals/string-trim').trim;
+var forcedStringTrimMethod = require('../internals/forced-string-trim-method');
+
+// `String.prototype.trim` method
+// https://tc39.github.io/ecma262/#sec-string.prototype.trim
+$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
+ trim: function trim() {
+ return $trim(this);
+ }
+});
+
+},{"../internals/export":49,"../internals/forced-string-trim-method":55,"../internals/string-trim":133}],304:[function(require,module,exports){
+var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
+
+// `Symbol.asyncIterator` well-known symbol
+// https://tc39.github.io/ecma262/#sec-symbol.asynciterator
+defineWellKnownSymbol('asyncIterator');
+
+},{"../internals/define-well-known-symbol":44}],305:[function(require,module,exports){
+// `Symbol.prototype.description` getter
+// https://tc39.github.io/ecma262/#sec-symbol.prototype.description
+'use strict';
+var $ = require('../internals/export');
+var DESCRIPTORS = require('../internals/descriptors');
+var global = require('../internals/global');
+var has = require('../internals/has');
+var isObject = require('../internals/is-object');
+var defineProperty = require('../internals/object-define-property').f;
+var copyConstructorProperties = require('../internals/copy-constructor-properties');
+
+var NativeSymbol = global.Symbol;
+
+if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||
+ // Safari 12 bug
+ NativeSymbol().description !== undefined
+)) {
+ var EmptyStringDescriptionStore = {};
+ // wrap Symbol constructor for correct work with undefined description
+ var SymbolWrapper = function Symbol() {
+ var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
+ var result = this instanceof SymbolWrapper
+ ? new NativeSymbol(description)
+ // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'
+ : description === undefined ? NativeSymbol() : NativeSymbol(description);
+ if (description === '') EmptyStringDescriptionStore[result] = true;
+ return result;
+ };
+ copyConstructorProperties(SymbolWrapper, NativeSymbol);
+ var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
+ symbolPrototype.constructor = SymbolWrapper;
+
+ var symbolToString = symbolPrototype.toString;
+ var native = String(NativeSymbol('test')) == 'Symbol(test)';
+ var regexp = /^Symbol\((.*)\)[^)]+$/;
+ defineProperty(symbolPrototype, 'description', {
+ configurable: true,
+ get: function description() {
+ var symbol = isObject(this) ? this.valueOf() : this;
+ var string = symbolToString.call(symbol);
+ if (has(EmptyStringDescriptionStore, symbol)) return '';
+ var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
+ return desc === '' ? undefined : desc;
+ }
+ });
+
+ $({ global: true, forced: true }, {
+ Symbol: SymbolWrapper
+ });
+}
+
+},{"../internals/copy-constructor-properties":34,"../internals/descriptors":45,"../internals/export":49,"../internals/global":62,"../internals/has":63,"../internals/is-object":77,"../internals/object-define-property":97}],306:[function(require,module,exports){
+var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
+
+// `Symbol.hasInstance` well-known symbol
+// https://tc39.github.io/ecma262/#sec-symbol.hasinstance
+defineWellKnownSymbol('hasInstance');
+
+},{"../internals/define-well-known-symbol":44}],307:[function(require,module,exports){
+var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
+
+// `Symbol.isConcatSpreadable` well-known symbol
+// https://tc39.github.io/ecma262/#sec-symbol.isconcatspreadable
+defineWellKnownSymbol('isConcatSpreadable');
+
+},{"../internals/define-well-known-symbol":44}],308:[function(require,module,exports){
+var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
+
+// `Symbol.iterator` well-known symbol
+// https://tc39.github.io/ecma262/#sec-symbol.iterator
+defineWellKnownSymbol('iterator');
+
+},{"../internals/define-well-known-symbol":44}],309:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+var global = require('../internals/global');
+var IS_PURE = require('../internals/is-pure');
+var DESCRIPTORS = require('../internals/descriptors');
+var NATIVE_SYMBOL = require('../internals/native-symbol');
+var fails = require('../internals/fails');
+var has = require('../internals/has');
+var isArray = require('../internals/is-array');
+var isObject = require('../internals/is-object');
+var anObject = require('../internals/an-object');
+var toObject = require('../internals/to-object');
+var toIndexedObject = require('../internals/to-indexed-object');
+var toPrimitive = require('../internals/to-primitive');
+var createPropertyDescriptor = require('../internals/create-property-descriptor');
+var nativeObjectCreate = require('../internals/object-create');
+var objectKeys = require('../internals/object-keys');
+var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');
+var getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');
+var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');
+var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');
+var definePropertyModule = require('../internals/object-define-property');
+var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');
+var hide = require('../internals/hide');
+var redefine = require('../internals/redefine');
+var shared = require('../internals/shared');
+var sharedKey = require('../internals/shared-key');
+var hiddenKeys = require('../internals/hidden-keys');
+var uid = require('../internals/uid');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+var wrappedWellKnownSymbolModule = require('../internals/wrapped-well-known-symbol');
+var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
+var setToStringTag = require('../internals/set-to-string-tag');
+var InternalStateModule = require('../internals/internal-state');
+var $forEach = require('../internals/array-iteration').forEach;
+
+var HIDDEN = sharedKey('hidden');
+var SYMBOL = 'Symbol';
+var PROTOTYPE = 'prototype';
+var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
+var setInternalState = InternalStateModule.set;
+var getInternalState = InternalStateModule.getterFor(SYMBOL);
+var ObjectPrototype = Object[PROTOTYPE];
+var $Symbol = global.Symbol;
+var JSON = global.JSON;
+var nativeJSONStringify = JSON && JSON.stringify;
+var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
+var nativeDefineProperty = definePropertyModule.f;
+var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
+var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;
+var AllSymbols = shared('symbols');
+var ObjectPrototypeSymbols = shared('op-symbols');
+var StringToSymbolRegistry = shared('string-to-symbol-registry');
+var SymbolToStringRegistry = shared('symbol-to-string-registry');
+var WellKnownSymbolsStore = shared('wks');
+var QObject = global.QObject;
+// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
+var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
+
+// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
+var setSymbolDescriptor = DESCRIPTORS && fails(function () {
+ return nativeObjectCreate(nativeDefineProperty({}, 'a', {
+ get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }
+ })).a != 7;
+}) ? function (O, P, Attributes) {
+ var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);
+ if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
+ nativeDefineProperty(O, P, Attributes);
+ if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
+ nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);
+ }
+} : nativeDefineProperty;
+
+var wrap = function (tag, description) {
+ var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);
+ setInternalState(symbol, {
+ type: SYMBOL,
+ tag: tag,
+ description: description
+ });
+ if (!DESCRIPTORS) symbol.description = description;
+ return symbol;
+};
+
+var isSymbol = NATIVE_SYMBOL && typeof $Symbol.iterator == 'symbol' ? function (it) {
+ return typeof it == 'symbol';
+} : function (it) {
+ return Object(it) instanceof $Symbol;
+};
+
+var $defineProperty = function defineProperty(O, P, Attributes) {
+ if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
+ anObject(O);
+ var key = toPrimitive(P, true);
+ anObject(Attributes);
+ if (has(AllSymbols, key)) {
+ if (!Attributes.enumerable) {
+ if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
+ O[HIDDEN][key] = true;
+ } else {
+ if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
+ Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
+ } return setSymbolDescriptor(O, key, Attributes);
+ } return nativeDefineProperty(O, key, Attributes);
+};
+
+var $defineProperties = function defineProperties(O, Properties) {
+ anObject(O);
+ var properties = toIndexedObject(Properties);
+ var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
+ $forEach(keys, function (key) {
+ if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);
+ });
+ return O;
+};
+
+var $create = function create(O, Properties) {
+ return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);
+};
+
+var $propertyIsEnumerable = function propertyIsEnumerable(V) {
+ var P = toPrimitive(V, true);
+ var enumerable = nativePropertyIsEnumerable.call(this, P);
+ if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;
+ return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
+};
+
+var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
+ var it = toIndexedObject(O);
+ var key = toPrimitive(P, true);
+ if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;
+ var descriptor = nativeGetOwnPropertyDescriptor(it, key);
+ if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
+ descriptor.enumerable = true;
+ }
+ return descriptor;
+};
+
+var $getOwnPropertyNames = function getOwnPropertyNames(O) {
+ var names = nativeGetOwnPropertyNames(toIndexedObject(O));
+ var result = [];
+ $forEach(names, function (key) {
+ if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);
+ });
+ return result;
+};
+
+var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
+ var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
+ var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
+ var result = [];
+ $forEach(names, function (key) {
+ if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
+ result.push(AllSymbols[key]);
+ }
+ });
+ return result;
+};
+
+// `Symbol` constructor
+// https://tc39.github.io/ecma262/#sec-symbol-constructor
+if (!NATIVE_SYMBOL) {
+ $Symbol = function Symbol() {
+ if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');
+ var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
+ var tag = uid(description);
+ var setter = function (value) {
+ if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);
+ if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
+ setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
+ };
+ if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
+ return wrap(tag, description);
+ };
+
+ redefine($Symbol[PROTOTYPE], 'toString', function toString() {
+ return getInternalState(this).tag;
+ });
+
+ propertyIsEnumerableModule.f = $propertyIsEnumerable;
+ definePropertyModule.f = $defineProperty;
+ getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
+ getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
+ getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;
+
+ if (DESCRIPTORS) {
+ // https://github.com/tc39/proposal-Symbol-description
+ nativeDefineProperty($Symbol[PROTOTYPE], 'description', {
+ configurable: true,
+ get: function description() {
+ return getInternalState(this).description;
+ }
+ });
+ if (!IS_PURE) {
+ redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
+ }
+ }
+
+ wrappedWellKnownSymbolModule.f = function (name) {
+ return wrap(wellKnownSymbol(name), name);
+ };
+}
+
+$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {
+ Symbol: $Symbol
+});
+
+$forEach(objectKeys(WellKnownSymbolsStore), function (name) {
+ defineWellKnownSymbol(name);
+});
+
+$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {
+ // `Symbol.for` method
+ // https://tc39.github.io/ecma262/#sec-symbol.for
+ 'for': function (key) {
+ var string = String(key);
+ if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
+ var symbol = $Symbol(string);
+ StringToSymbolRegistry[string] = symbol;
+ SymbolToStringRegistry[symbol] = string;
+ return symbol;
+ },
+ // `Symbol.keyFor` method
+ // https://tc39.github.io/ecma262/#sec-symbol.keyfor
+ keyFor: function keyFor(sym) {
+ if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
+ if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
+ },
+ useSetter: function () { USE_SETTER = true; },
+ useSimple: function () { USE_SETTER = false; }
+});
+
+$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {
+ // `Object.create` method
+ // https://tc39.github.io/ecma262/#sec-object.create
+ create: $create,
+ // `Object.defineProperty` method
+ // https://tc39.github.io/ecma262/#sec-object.defineproperty
+ defineProperty: $defineProperty,
+ // `Object.defineProperties` method
+ // https://tc39.github.io/ecma262/#sec-object.defineproperties
+ defineProperties: $defineProperties,
+ // `Object.getOwnPropertyDescriptor` method
+ // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors
+ getOwnPropertyDescriptor: $getOwnPropertyDescriptor
+});
+
+$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {
+ // `Object.getOwnPropertyNames` method
+ // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
+ getOwnPropertyNames: $getOwnPropertyNames,
+ // `Object.getOwnPropertySymbols` method
+ // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols
+ getOwnPropertySymbols: $getOwnPropertySymbols
+});
+
+// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
+// https://bugs.chromium.org/p/v8/issues/detail?id=3443
+$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {
+ getOwnPropertySymbols: function getOwnPropertySymbols(it) {
+ return getOwnPropertySymbolsModule.f(toObject(it));
+ }
+});
+
+// `JSON.stringify` method behavior with symbols
+// https://tc39.github.io/ecma262/#sec-json.stringify
+JSON && $({ target: 'JSON', stat: true, forced: !NATIVE_SYMBOL || fails(function () {
+ var symbol = $Symbol();
+ // MS Edge converts symbol values to JSON as {}
+ return nativeJSONStringify([symbol]) != '[null]'
+ // WebKit converts symbol values to JSON as null
+ || nativeJSONStringify({ a: symbol }) != '{}'
+ // V8 throws on boxed symbols
+ || nativeJSONStringify(Object(symbol)) != '{}';
+}) }, {
+ stringify: function stringify(it) {
+ var args = [it];
+ var index = 1;
+ var replacer, $replacer;
+ while (arguments.length > index) args.push(arguments[index++]);
+ $replacer = replacer = args[1];
+ if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
+ if (!isArray(replacer)) replacer = function (key, value) {
+ if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
+ if (!isSymbol(value)) return value;
+ };
+ args[1] = replacer;
+ return nativeJSONStringify.apply(JSON, args);
+ }
+});
+
+// `Symbol.prototype[@@toPrimitive]` method
+// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive
+if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) hide($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
+// `Symbol.prototype[@@toStringTag]` property
+// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag
+setToStringTag($Symbol, SYMBOL);
+
+hiddenKeys[HIDDEN] = true;
+
+},{"../internals/an-object":13,"../internals/array-iteration":21,"../internals/create-property-descriptor":39,"../internals/define-well-known-symbol":44,"../internals/descriptors":45,"../internals/export":49,"../internals/fails":50,"../internals/global":62,"../internals/has":63,"../internals/hidden-keys":64,"../internals/hide":65,"../internals/internal-state":72,"../internals/is-array":74,"../internals/is-object":77,"../internals/is-pure":78,"../internals/native-symbol":88,"../internals/object-create":95,"../internals/object-define-property":97,"../internals/object-get-own-property-descriptor":98,"../internals/object-get-own-property-names":100,"../internals/object-get-own-property-names-external":99,"../internals/object-get-own-property-symbols":101,"../internals/object-keys":104,"../internals/object-property-is-enumerable":105,"../internals/redefine":117,"../internals/set-to-string-tag":125,"../internals/shared":127,"../internals/shared-key":126,"../internals/to-indexed-object":138,"../internals/to-object":141,"../internals/to-primitive":143,"../internals/uid":147,"../internals/well-known-symbol":150,"../internals/wrapped-well-known-symbol":152}],310:[function(require,module,exports){
+var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
+
+// `Symbol.matchAll` well-known symbol
+defineWellKnownSymbol('matchAll');
+
+},{"../internals/define-well-known-symbol":44}],311:[function(require,module,exports){
+var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
+
+// `Symbol.match` well-known symbol
+// https://tc39.github.io/ecma262/#sec-symbol.match
+defineWellKnownSymbol('match');
+
+},{"../internals/define-well-known-symbol":44}],312:[function(require,module,exports){
+var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
+
+// `Symbol.replace` well-known symbol
+// https://tc39.github.io/ecma262/#sec-symbol.replace
+defineWellKnownSymbol('replace');
+
+},{"../internals/define-well-known-symbol":44}],313:[function(require,module,exports){
+var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
+
+// `Symbol.search` well-known symbol
+// https://tc39.github.io/ecma262/#sec-symbol.search
+defineWellKnownSymbol('search');
+
+},{"../internals/define-well-known-symbol":44}],314:[function(require,module,exports){
+var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
+
+// `Symbol.species` well-known symbol
+// https://tc39.github.io/ecma262/#sec-symbol.species
+defineWellKnownSymbol('species');
+
+},{"../internals/define-well-known-symbol":44}],315:[function(require,module,exports){
+var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
+
+// `Symbol.split` well-known symbol
+// https://tc39.github.io/ecma262/#sec-symbol.split
+defineWellKnownSymbol('split');
+
+},{"../internals/define-well-known-symbol":44}],316:[function(require,module,exports){
+var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
+
+// `Symbol.toPrimitive` well-known symbol
+// https://tc39.github.io/ecma262/#sec-symbol.toprimitive
+defineWellKnownSymbol('toPrimitive');
+
+},{"../internals/define-well-known-symbol":44}],317:[function(require,module,exports){
+var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
+
+// `Symbol.toStringTag` well-known symbol
+// https://tc39.github.io/ecma262/#sec-symbol.tostringtag
+defineWellKnownSymbol('toStringTag');
+
+},{"../internals/define-well-known-symbol":44}],318:[function(require,module,exports){
+var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
+
+// `Symbol.unscopables` well-known symbol
+// https://tc39.github.io/ecma262/#sec-symbol.unscopables
+defineWellKnownSymbol('unscopables');
+
+},{"../internals/define-well-known-symbol":44}],319:[function(require,module,exports){
+'use strict';
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var $copyWithin = require('../internals/array-copy-within');
+
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+
+// `%TypedArray%.prototype.copyWithin` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.copywithin
+ArrayBufferViewCore.exportProto('copyWithin', function copyWithin(target, start /* , end */) {
+ return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
+});
+
+},{"../internals/array-buffer-view-core":14,"../internals/array-copy-within":16}],320:[function(require,module,exports){
+'use strict';
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var $every = require('../internals/array-iteration').every;
+
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+
+// `%TypedArray%.prototype.every` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.every
+ArrayBufferViewCore.exportProto('every', function every(callbackfn /* , thisArg */) {
+ return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+});
+
+},{"../internals/array-buffer-view-core":14,"../internals/array-iteration":21}],321:[function(require,module,exports){
+'use strict';
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var $fill = require('../internals/array-fill');
+
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+
+// `%TypedArray%.prototype.fill` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fill
+// eslint-disable-next-line no-unused-vars
+ArrayBufferViewCore.exportProto('fill', function fill(value /* , start, end */) {
+ return $fill.apply(aTypedArray(this), arguments);
+});
+
+},{"../internals/array-buffer-view-core":14,"../internals/array-fill":17}],322:[function(require,module,exports){
+'use strict';
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var $filter = require('../internals/array-iteration').filter;
+var speciesConstructor = require('../internals/species-constructor');
+
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
+
+// `%TypedArray%.prototype.filter` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.filter
+ArrayBufferViewCore.exportProto('filter', function filter(callbackfn /* , thisArg */) {
+ var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+ var C = speciesConstructor(this, this.constructor);
+ var index = 0;
+ var length = list.length;
+ var result = new (aTypedArrayConstructor(C))(length);
+ while (length > index) result[index] = list[index++];
+ return result;
+});
+
+},{"../internals/array-buffer-view-core":14,"../internals/array-iteration":21,"../internals/species-constructor":129}],323:[function(require,module,exports){
+'use strict';
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var $findIndex = require('../internals/array-iteration').findIndex;
+
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+
+// `%TypedArray%.prototype.findIndex` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.findindex
+ArrayBufferViewCore.exportProto('findIndex', function findIndex(predicate /* , thisArg */) {
+ return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
+});
+
+},{"../internals/array-buffer-view-core":14,"../internals/array-iteration":21}],324:[function(require,module,exports){
+'use strict';
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var $find = require('../internals/array-iteration').find;
+
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+
+// `%TypedArray%.prototype.find` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.find
+ArrayBufferViewCore.exportProto('find', function find(predicate /* , thisArg */) {
+ return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
+});
+
+},{"../internals/array-buffer-view-core":14,"../internals/array-iteration":21}],325:[function(require,module,exports){
+var typedArrayConstructor = require('../internals/typed-array-constructor');
+
+// `Float32Array` constructor
+// https://tc39.github.io/ecma262/#sec-typedarray-objects
+typedArrayConstructor('Float32', 4, function (init) {
+ return function Float32Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+});
+
+},{"../internals/typed-array-constructor":144}],326:[function(require,module,exports){
+var typedArrayConstructor = require('../internals/typed-array-constructor');
+
+// `Float64Array` constructor
+// https://tc39.github.io/ecma262/#sec-typedarray-objects
+typedArrayConstructor('Float64', 8, function (init) {
+ return function Float64Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+});
+
+},{"../internals/typed-array-constructor":144}],327:[function(require,module,exports){
+'use strict';
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var $forEach = require('../internals/array-iteration').forEach;
+
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+
+// `%TypedArray%.prototype.forEach` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.foreach
+ArrayBufferViewCore.exportProto('forEach', function forEach(callbackfn /* , thisArg */) {
+ $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+});
+
+},{"../internals/array-buffer-view-core":14,"../internals/array-iteration":21}],328:[function(require,module,exports){
+'use strict';
+var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-arrays-constructors-requires-wrappers');
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var typedArrayFrom = require('../internals/typed-array-from');
+
+// `%TypedArray%.from` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.from
+ArrayBufferViewCore.exportStatic('from', typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS);
+
+},{"../internals/array-buffer-view-core":14,"../internals/typed-array-from":145,"../internals/typed-arrays-constructors-requires-wrappers":146}],329:[function(require,module,exports){
+'use strict';
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var $includes = require('../internals/array-includes').includes;
+
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+
+// `%TypedArray%.prototype.includes` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.includes
+ArrayBufferViewCore.exportProto('includes', function includes(searchElement /* , fromIndex */) {
+ return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
+});
+
+},{"../internals/array-buffer-view-core":14,"../internals/array-includes":20}],330:[function(require,module,exports){
+'use strict';
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var $indexOf = require('../internals/array-includes').indexOf;
+
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+
+// `%TypedArray%.prototype.indexOf` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.indexof
+ArrayBufferViewCore.exportProto('indexOf', function indexOf(searchElement /* , fromIndex */) {
+ return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
+});
+
+},{"../internals/array-buffer-view-core":14,"../internals/array-includes":20}],331:[function(require,module,exports){
+var typedArrayConstructor = require('../internals/typed-array-constructor');
+
+// `Int16Array` constructor
+// https://tc39.github.io/ecma262/#sec-typedarray-objects
+typedArrayConstructor('Int16', 2, function (init) {
+ return function Int16Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+});
+
+},{"../internals/typed-array-constructor":144}],332:[function(require,module,exports){
+var typedArrayConstructor = require('../internals/typed-array-constructor');
+
+// `Int32Array` constructor
+// https://tc39.github.io/ecma262/#sec-typedarray-objects
+typedArrayConstructor('Int32', 4, function (init) {
+ return function Int32Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+});
+
+},{"../internals/typed-array-constructor":144}],333:[function(require,module,exports){
+var typedArrayConstructor = require('../internals/typed-array-constructor');
+
+// `Int8Array` constructor
+// https://tc39.github.io/ecma262/#sec-typedarray-objects
+typedArrayConstructor('Int8', 1, function (init) {
+ return function Int8Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+});
+
+},{"../internals/typed-array-constructor":144}],334:[function(require,module,exports){
+'use strict';
+var global = require('../internals/global');
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var ArrayIterators = require('../modules/es.array.iterator');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+
+var ITERATOR = wellKnownSymbol('iterator');
+var Uint8Array = global.Uint8Array;
+var arrayValues = ArrayIterators.values;
+var arrayKeys = ArrayIterators.keys;
+var arrayEntries = ArrayIterators.entries;
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+var exportProto = ArrayBufferViewCore.exportProto;
+var nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR];
+
+var CORRECT_ITER_NAME = !!nativeTypedArrayIterator
+ && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined);
+
+var typedArrayValues = function values() {
+ return arrayValues.call(aTypedArray(this));
+};
+
+// `%TypedArray%.prototype.entries` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.entries
+exportProto('entries', function entries() {
+ return arrayEntries.call(aTypedArray(this));
+});
+// `%TypedArray%.prototype.keys` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.keys
+exportProto('keys', function keys() {
+ return arrayKeys.call(aTypedArray(this));
+});
+// `%TypedArray%.prototype.values` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.values
+exportProto('values', typedArrayValues, !CORRECT_ITER_NAME);
+// `%TypedArray%.prototype[@@iterator]` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype-@@iterator
+exportProto(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME);
+
+},{"../internals/array-buffer-view-core":14,"../internals/global":62,"../internals/well-known-symbol":150,"../modules/es.array.iterator":170}],335:[function(require,module,exports){
+'use strict';
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+var $join = [].join;
+
+// `%TypedArray%.prototype.join` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.join
+// eslint-disable-next-line no-unused-vars
+ArrayBufferViewCore.exportProto('join', function join(separator) {
+ return $join.apply(aTypedArray(this), arguments);
+});
+
+},{"../internals/array-buffer-view-core":14}],336:[function(require,module,exports){
+'use strict';
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var $lastIndexOf = require('../internals/array-last-index-of');
+
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+
+// `%TypedArray%.prototype.lastIndexOf` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.lastindexof
+// eslint-disable-next-line no-unused-vars
+ArrayBufferViewCore.exportProto('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {
+ return $lastIndexOf.apply(aTypedArray(this), arguments);
+});
+
+},{"../internals/array-buffer-view-core":14,"../internals/array-last-index-of":22}],337:[function(require,module,exports){
+'use strict';
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var $map = require('../internals/array-iteration').map;
+var speciesConstructor = require('../internals/species-constructor');
+
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
+
+// `%TypedArray%.prototype.map` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.map
+ArrayBufferViewCore.exportProto('map', function map(mapfn /* , thisArg */) {
+ return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {
+ return new (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length);
+ });
+});
+
+},{"../internals/array-buffer-view-core":14,"../internals/array-iteration":21,"../internals/species-constructor":129}],338:[function(require,module,exports){
+'use strict';
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-arrays-constructors-requires-wrappers');
+
+var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
+
+// `%TypedArray%.of` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.of
+ArrayBufferViewCore.exportStatic('of', function of(/* ...items */) {
+ var index = 0;
+ var length = arguments.length;
+ var result = new (aTypedArrayConstructor(this))(length);
+ while (length > index) result[index] = arguments[index++];
+ return result;
+}, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS);
+
+},{"../internals/array-buffer-view-core":14,"../internals/typed-arrays-constructors-requires-wrappers":146}],339:[function(require,module,exports){
+'use strict';
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var $reduceRight = require('../internals/array-reduce').right;
+
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+
+// `%TypedArray%.prototype.reduceRicht` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduceright
+ArrayBufferViewCore.exportProto('reduceRight', function reduceRight(callbackfn /* , initialValue */) {
+ return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
+});
+
+},{"../internals/array-buffer-view-core":14,"../internals/array-reduce":24}],340:[function(require,module,exports){
+'use strict';
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var $reduce = require('../internals/array-reduce').left;
+
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+
+// `%TypedArray%.prototype.reduce` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduce
+ArrayBufferViewCore.exportProto('reduce', function reduce(callbackfn /* , initialValue */) {
+ return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
+});
+
+},{"../internals/array-buffer-view-core":14,"../internals/array-reduce":24}],341:[function(require,module,exports){
+'use strict';
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+var floor = Math.floor;
+
+// `%TypedArray%.prototype.reverse` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reverse
+ArrayBufferViewCore.exportProto('reverse', function reverse() {
+ var that = this;
+ var length = aTypedArray(that).length;
+ var middle = floor(length / 2);
+ var index = 0;
+ var value;
+ while (index < middle) {
+ value = that[index];
+ that[index++] = that[--length];
+ that[length] = value;
+ } return that;
+});
+
+},{"../internals/array-buffer-view-core":14}],342:[function(require,module,exports){
+'use strict';
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var toLength = require('../internals/to-length');
+var toOffset = require('../internals/to-offset');
+var toObject = require('../internals/to-object');
+var fails = require('../internals/fails');
+
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+
+var FORCED = fails(function () {
+ // eslint-disable-next-line no-undef
+ new Int8Array(1).set({});
+});
+
+// `%TypedArray%.prototype.set` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.set
+ArrayBufferViewCore.exportProto('set', function set(arrayLike /* , offset */) {
+ aTypedArray(this);
+ var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);
+ var length = this.length;
+ var src = toObject(arrayLike);
+ var len = toLength(src.length);
+ var index = 0;
+ if (len + offset > length) throw RangeError('Wrong length');
+ while (index < len) this[offset + index] = src[index++];
+}, FORCED);
+
+},{"../internals/array-buffer-view-core":14,"../internals/fails":50,"../internals/to-length":140,"../internals/to-object":141,"../internals/to-offset":142}],343:[function(require,module,exports){
+'use strict';
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var speciesConstructor = require('../internals/species-constructor');
+var fails = require('../internals/fails');
+
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
+var $slice = [].slice;
+
+var FORCED = fails(function () {
+ // eslint-disable-next-line no-undef
+ new Int8Array(1).slice();
+});
+
+// `%TypedArray%.prototype.slice` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.slice
+ArrayBufferViewCore.exportProto('slice', function slice(start, end) {
+ var list = $slice.call(aTypedArray(this), start, end);
+ var C = speciesConstructor(this, this.constructor);
+ var index = 0;
+ var length = list.length;
+ var result = new (aTypedArrayConstructor(C))(length);
+ while (length > index) result[index] = list[index++];
+ return result;
+}, FORCED);
+
+},{"../internals/array-buffer-view-core":14,"../internals/fails":50,"../internals/species-constructor":129}],344:[function(require,module,exports){
+'use strict';
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var $some = require('../internals/array-iteration').some;
+
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+
+// `%TypedArray%.prototype.some` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.some
+ArrayBufferViewCore.exportProto('some', function some(callbackfn /* , thisArg */) {
+ return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+});
+
+},{"../internals/array-buffer-view-core":14,"../internals/array-iteration":21}],345:[function(require,module,exports){
+'use strict';
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+var $sort = [].sort;
+
+// `%TypedArray%.prototype.sort` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.sort
+ArrayBufferViewCore.exportProto('sort', function sort(comparefn) {
+ return $sort.call(aTypedArray(this), comparefn);
+});
+
+},{"../internals/array-buffer-view-core":14}],346:[function(require,module,exports){
+'use strict';
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var toLength = require('../internals/to-length');
+var toAbsoluteIndex = require('../internals/to-absolute-index');
+var speciesConstructor = require('../internals/species-constructor');
+
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+
+// `%TypedArray%.prototype.subarray` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.subarray
+ArrayBufferViewCore.exportProto('subarray', function subarray(begin, end) {
+ var O = aTypedArray(this);
+ var length = O.length;
+ var beginIndex = toAbsoluteIndex(begin, length);
+ return new (speciesConstructor(O, O.constructor))(
+ O.buffer,
+ O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,
+ toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)
+ );
+});
+
+},{"../internals/array-buffer-view-core":14,"../internals/species-constructor":129,"../internals/to-absolute-index":136,"../internals/to-length":140}],347:[function(require,module,exports){
+'use strict';
+var global = require('../internals/global');
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var fails = require('../internals/fails');
+
+var Int8Array = global.Int8Array;
+var aTypedArray = ArrayBufferViewCore.aTypedArray;
+var $toLocaleString = [].toLocaleString;
+var $slice = [].slice;
+
+// iOS Safari 6.x fails here
+var TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {
+ $toLocaleString.call(new Int8Array(1));
+});
+
+var FORCED = fails(function () {
+ return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();
+}) || !fails(function () {
+ Int8Array.prototype.toLocaleString.call([1, 2]);
+});
+
+// `%TypedArray%.prototype.toLocaleString` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tolocalestring
+ArrayBufferViewCore.exportProto('toLocaleString', function toLocaleString() {
+ return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments);
+}, FORCED);
+
+},{"../internals/array-buffer-view-core":14,"../internals/fails":50,"../internals/global":62}],348:[function(require,module,exports){
+'use strict';
+var global = require('../internals/global');
+var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
+var fails = require('../internals/fails');
+
+var Uint8Array = global.Uint8Array;
+var Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype;
+var arrayToString = [].toString;
+var arrayJoin = [].join;
+
+if (fails(function () { arrayToString.call({}); })) {
+ arrayToString = function toString() {
+ return arrayJoin.call(this);
+ };
+}
+
+// `%TypedArray%.prototype.toString` method
+// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tostring
+ArrayBufferViewCore.exportProto('toString', arrayToString, (Uint8ArrayPrototype || {}).toString != arrayToString);
+
+},{"../internals/array-buffer-view-core":14,"../internals/fails":50,"../internals/global":62}],349:[function(require,module,exports){
+var typedArrayConstructor = require('../internals/typed-array-constructor');
+
+// `Uint16Array` constructor
+// https://tc39.github.io/ecma262/#sec-typedarray-objects
+typedArrayConstructor('Uint16', 2, function (init) {
+ return function Uint16Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+});
+
+},{"../internals/typed-array-constructor":144}],350:[function(require,module,exports){
+var typedArrayConstructor = require('../internals/typed-array-constructor');
+
+// `Uint32Array` constructor
+// https://tc39.github.io/ecma262/#sec-typedarray-objects
+typedArrayConstructor('Uint32', 4, function (init) {
+ return function Uint32Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+});
+
+},{"../internals/typed-array-constructor":144}],351:[function(require,module,exports){
+var typedArrayConstructor = require('../internals/typed-array-constructor');
+
+// `Uint8Array` constructor
+// https://tc39.github.io/ecma262/#sec-typedarray-objects
+typedArrayConstructor('Uint8', 1, function (init) {
+ return function Uint8Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+});
+
+},{"../internals/typed-array-constructor":144}],352:[function(require,module,exports){
+var typedArrayConstructor = require('../internals/typed-array-constructor');
+
+// `Uint8ClampedArray` constructor
+// https://tc39.github.io/ecma262/#sec-typedarray-objects
+typedArrayConstructor('Uint8', 1, function (init) {
+ return function Uint8ClampedArray(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+}, true);
+
+},{"../internals/typed-array-constructor":144}],353:[function(require,module,exports){
+'use strict';
+var global = require('../internals/global');
+var redefineAll = require('../internals/redefine-all');
+var InternalMetadataModule = require('../internals/internal-metadata');
+var collection = require('../internals/collection');
+var collectionWeak = require('../internals/collection-weak');
+var isObject = require('../internals/is-object');
+var enforceIternalState = require('../internals/internal-state').enforce;
+var NATIVE_WEAK_MAP = require('../internals/native-weak-map');
+
+var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;
+var isExtensible = Object.isExtensible;
+var InternalWeakMap;
+
+var wrapper = function (get) {
+ return function WeakMap() {
+ return get(this, arguments.length ? arguments[0] : undefined);
+ };
+};
+
+// `WeakMap` constructor
+// https://tc39.github.io/ecma262/#sec-weakmap-constructor
+var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak, true, true);
+
+// IE11 WeakMap frozen keys fix
+// We can't use feature detection because it crash some old IE builds
+// https://github.com/zloirock/core-js/issues/485
+if (NATIVE_WEAK_MAP && IS_IE11) {
+ InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);
+ InternalMetadataModule.REQUIRED = true;
+ var WeakMapPrototype = $WeakMap.prototype;
+ var nativeDelete = WeakMapPrototype['delete'];
+ var nativeHas = WeakMapPrototype.has;
+ var nativeGet = WeakMapPrototype.get;
+ var nativeSet = WeakMapPrototype.set;
+ redefineAll(WeakMapPrototype, {
+ 'delete': function (key) {
+ if (isObject(key) && !isExtensible(key)) {
+ var state = enforceIternalState(this);
+ if (!state.frozen) state.frozen = new InternalWeakMap();
+ return nativeDelete.call(this, key) || state.frozen['delete'](key);
+ } return nativeDelete.call(this, key);
+ },
+ has: function has(key) {
+ if (isObject(key) && !isExtensible(key)) {
+ var state = enforceIternalState(this);
+ if (!state.frozen) state.frozen = new InternalWeakMap();
+ return nativeHas.call(this, key) || state.frozen.has(key);
+ } return nativeHas.call(this, key);
+ },
+ get: function get(key) {
+ if (isObject(key) && !isExtensible(key)) {
+ var state = enforceIternalState(this);
+ if (!state.frozen) state.frozen = new InternalWeakMap();
+ return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);
+ } return nativeGet.call(this, key);
+ },
+ set: function set(key, value) {
+ if (isObject(key) && !isExtensible(key)) {
+ var state = enforceIternalState(this);
+ if (!state.frozen) state.frozen = new InternalWeakMap();
+ nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);
+ } else nativeSet.call(this, key, value);
+ return this;
+ }
+ });
+}
+
+},{"../internals/collection":33,"../internals/collection-weak":32,"../internals/global":62,"../internals/internal-metadata":71,"../internals/internal-state":72,"../internals/is-object":77,"../internals/native-weak-map":90,"../internals/redefine-all":116}],354:[function(require,module,exports){
+'use strict';
+var collection = require('../internals/collection');
+var collectionWeak = require('../internals/collection-weak');
+
+// `WeakSet` constructor
+// https://tc39.github.io/ecma262/#sec-weakset-constructor
+collection('WeakSet', function (get) {
+ return function WeakSet() { return get(this, arguments.length ? arguments[0] : undefined); };
+}, collectionWeak, false, true);
+
+},{"../internals/collection":33,"../internals/collection-weak":32}],355:[function(require,module,exports){
+var global = require('../internals/global');
+var DOMIterables = require('../internals/dom-iterables');
+var forEach = require('../internals/array-for-each');
+var hide = require('../internals/hide');
+
+for (var COLLECTION_NAME in DOMIterables) {
+ var Collection = global[COLLECTION_NAME];
+ var CollectionPrototype = Collection && Collection.prototype;
+ // some Chrome versions have non-configurable methods on DOMTokenList
+ if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {
+ hide(CollectionPrototype, 'forEach', forEach);
+ } catch (error) {
+ CollectionPrototype.forEach = forEach;
+ }
+}
+
+},{"../internals/array-for-each":18,"../internals/dom-iterables":47,"../internals/global":62,"../internals/hide":65}],356:[function(require,module,exports){
+var global = require('../internals/global');
+var DOMIterables = require('../internals/dom-iterables');
+var ArrayIteratorMethods = require('../modules/es.array.iterator');
+var hide = require('../internals/hide');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+
+var ITERATOR = wellKnownSymbol('iterator');
+var TO_STRING_TAG = wellKnownSymbol('toStringTag');
+var ArrayValues = ArrayIteratorMethods.values;
+
+for (var COLLECTION_NAME in DOMIterables) {
+ var Collection = global[COLLECTION_NAME];
+ var CollectionPrototype = Collection && Collection.prototype;
+ if (CollectionPrototype) {
+ // some Chrome versions have non-configurable methods on DOMTokenList
+ if (CollectionPrototype[ITERATOR] !== ArrayValues) try {
+ hide(CollectionPrototype, ITERATOR, ArrayValues);
+ } catch (error) {
+ CollectionPrototype[ITERATOR] = ArrayValues;
+ }
+ if (!CollectionPrototype[TO_STRING_TAG]) hide(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
+ if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {
+ // some Chrome versions have non-configurable methods on DOMTokenList
+ if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {
+ hide(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
+ } catch (error) {
+ CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
+ }
+ }
+ }
+}
+
+},{"../internals/dom-iterables":47,"../internals/global":62,"../internals/hide":65,"../internals/well-known-symbol":150,"../modules/es.array.iterator":170}],357:[function(require,module,exports){
+var global = require('../internals/global');
+var task = require('../internals/task');
+
+var FORCED = !global.setImmediate || !global.clearImmediate;
+
+// http://w3c.github.io/setImmediate/
+require('../internals/export')({ global: true, bind: true, enumerable: true, forced: FORCED }, {
+ // `setImmediate` method
+ // http://w3c.github.io/setImmediate/#si-setImmediate
+ setImmediate: task.set,
+ // `clearImmediate` method
+ // http://w3c.github.io/setImmediate/#si-clearImmediate
+ clearImmediate: task.clear
+});
+
+},{"../internals/export":49,"../internals/global":62,"../internals/task":134}],358:[function(require,module,exports){
+var $ = require('../internals/export');
+var global = require('../internals/global');
+var microtask = require('../internals/microtask');
+var classof = require('../internals/classof-raw');
+
+var process = global.process;
+var isNode = classof(process) == 'process';
+
+// `queueMicrotask` method
+// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask
+$({ global: true, enumerable: true, noTargetGet: true }, {
+ queueMicrotask: function queueMicrotask(fn) {
+ var domain = isNode && process.domain;
+ microtask(domain ? domain.bind(fn) : fn);
+ }
+});
+
+},{"../internals/classof-raw":29,"../internals/export":49,"../internals/global":62,"../internals/microtask":87}],359:[function(require,module,exports){
+var $ = require('../internals/export');
+var global = require('../internals/global');
+var userAgent = require('../internals/user-agent');
+
+var slice = [].slice;
+var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check
+
+var wrap = function (scheduler) {
+ return function (handler, timeout /* , ...arguments */) {
+ var boundArgs = arguments.length > 2;
+ var args = boundArgs ? slice.call(arguments, 2) : undefined;
+ return scheduler(boundArgs ? function () {
+ // eslint-disable-next-line no-new-func
+ (typeof handler == 'function' ? handler : Function(handler)).apply(this, args);
+ } : handler, timeout);
+ };
+};
+
+// ie9- setTimeout & setInterval additional parameters fix
+// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers
+$({ global: true, bind: true, forced: MSIE }, {
+ // `setTimeout` method
+ // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout
+ setTimeout: wrap(global.setTimeout),
+ // `setInterval` method
+ // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval
+ setInterval: wrap(global.setInterval)
+});
+
+},{"../internals/export":49,"../internals/global":62,"../internals/user-agent":148}],360:[function(require,module,exports){
+'use strict';
+// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
+require('../modules/es.array.iterator');
+var $ = require('../internals/export');
+var USE_NATIVE_URL = require('../internals/native-url');
+var redefine = require('../internals/redefine');
+var redefineAll = require('../internals/redefine-all');
+var setToStringTag = require('../internals/set-to-string-tag');
+var createIteratorConstructor = require('../internals/create-iterator-constructor');
+var InternalStateModule = require('../internals/internal-state');
+var anInstance = require('../internals/an-instance');
+var hasOwn = require('../internals/has');
+var bind = require('../internals/bind-context');
+var anObject = require('../internals/an-object');
+var isObject = require('../internals/is-object');
+var getIterator = require('../internals/get-iterator');
+var getIteratorMethod = require('../internals/get-iterator-method');
+var wellKnownSymbol = require('../internals/well-known-symbol');
+
+var ITERATOR = wellKnownSymbol('iterator');
+var URL_SEARCH_PARAMS = 'URLSearchParams';
+var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';
+var setInternalState = InternalStateModule.set;
+var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);
+var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);
+
+var plus = /\+/g;
+var sequences = Array(4);
+
+var percentSequence = function (bytes) {
+ return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi'));
+};
+
+var percentDecode = function (sequence) {
+ try {
+ return decodeURIComponent(sequence);
+ } catch (error) {
+ return sequence;
+ }
+};
+
+var deserialize = function (it) {
+ var result = it.replace(plus, ' ');
+ var bytes = 4;
+ try {
+ return decodeURIComponent(result);
+ } catch (error) {
+ while (bytes) {
+ result = result.replace(percentSequence(bytes--), percentDecode);
+ }
+ return result;
+ }
+};
+
+var find = /[!'()~]|%20/g;
+
+var replace = {
+ '!': '%21',
+ "'": '%27',
+ '(': '%28',
+ ')': '%29',
+ '~': '%7E',
+ '%20': '+'
+};
+
+var replacer = function (match) {
+ return replace[match];
+};
+
+var serialize = function (it) {
+ return encodeURIComponent(it).replace(find, replacer);
+};
+
+var parseSearchParams = function (result, query) {
+ if (query) {
+ var attributes = query.split('&');
+ var index = 0;
+ var attribute, entry;
+ while (index < attributes.length) {
+ attribute = attributes[index++];
+ if (attribute.length) {
+ entry = attribute.split('=');
+ result.push({
+ key: deserialize(entry.shift()),
+ value: deserialize(entry.join('='))
+ });
+ }
+ }
+ }
+};
+
+var updateSearchParams = function (query) {
+ this.entries.length = 0;
+ parseSearchParams(this.entries, query);
+};
+
+var validateArgumentsLength = function (passed, required) {
+ if (passed < required) throw TypeError('Not enough arguments');
+};
+
+var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
+ setInternalState(this, {
+ type: URL_SEARCH_PARAMS_ITERATOR,
+ iterator: getIterator(getInternalParamsState(params).entries),
+ kind: kind
+ });
+}, 'Iterator', function next() {
+ var state = getInternalIteratorState(this);
+ var kind = state.kind;
+ var step = state.iterator.next();
+ var entry = step.value;
+ if (!step.done) {
+ step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];
+ } return step;
+});
+
+// `URLSearchParams` constructor
+// https://url.spec.whatwg.org/#interface-urlsearchparams
+var URLSearchParamsConstructor = function URLSearchParams(/* init */) {
+ anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);
+ var init = arguments.length > 0 ? arguments[0] : undefined;
+ var that = this;
+ var entries = [];
+ var iteratorMethod, iterator, step, entryIterator, first, second, key;
+
+ setInternalState(that, {
+ type: URL_SEARCH_PARAMS,
+ entries: entries,
+ updateURL: function () { /* empty */ },
+ updateSearchParams: updateSearchParams
+ });
+
+ if (init !== undefined) {
+ if (isObject(init)) {
+ iteratorMethod = getIteratorMethod(init);
+ if (typeof iteratorMethod === 'function') {
+ iterator = iteratorMethod.call(init);
+ while (!(step = iterator.next()).done) {
+ entryIterator = getIterator(anObject(step.value));
+ if (
+ (first = entryIterator.next()).done ||
+ (second = entryIterator.next()).done ||
+ !entryIterator.next().done
+ ) throw TypeError('Expected sequence with length 2');
+ entries.push({ key: first.value + '', value: second.value + '' });
+ }
+ } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });
+ } else {
+ parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');
+ }
+ }
+};
+
+var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
+
+redefineAll(URLSearchParamsPrototype, {
+ // `URLSearchParams.prototype.appent` method
+ // https://url.spec.whatwg.org/#dom-urlsearchparams-append
+ append: function append(name, value) {
+ validateArgumentsLength(arguments.length, 2);
+ var state = getInternalParamsState(this);
+ state.entries.push({ key: name + '', value: value + '' });
+ state.updateURL();
+ },
+ // `URLSearchParams.prototype.delete` method
+ // https://url.spec.whatwg.org/#dom-urlsearchparams-delete
+ 'delete': function (name) {
+ validateArgumentsLength(arguments.length, 1);
+ var state = getInternalParamsState(this);
+ var entries = state.entries;
+ var key = name + '';
+ var index = 0;
+ while (index < entries.length) {
+ if (entries[index].key === key) entries.splice(index, 1);
+ else index++;
+ }
+ state.updateURL();
+ },
+ // `URLSearchParams.prototype.get` method
+ // https://url.spec.whatwg.org/#dom-urlsearchparams-get
+ get: function get(name) {
+ validateArgumentsLength(arguments.length, 1);
+ var entries = getInternalParamsState(this).entries;
+ var key = name + '';
+ var index = 0;
+ for (; index < entries.length; index++) {
+ if (entries[index].key === key) return entries[index].value;
+ }
+ return null;
+ },
+ // `URLSearchParams.prototype.getAll` method
+ // https://url.spec.whatwg.org/#dom-urlsearchparams-getall
+ getAll: function getAll(name) {
+ validateArgumentsLength(arguments.length, 1);
+ var entries = getInternalParamsState(this).entries;
+ var key = name + '';
+ var result = [];
+ var index = 0;
+ for (; index < entries.length; index++) {
+ if (entries[index].key === key) result.push(entries[index].value);
+ }
+ return result;
+ },
+ // `URLSearchParams.prototype.has` method
+ // https://url.spec.whatwg.org/#dom-urlsearchparams-has
+ has: function has(name) {
+ validateArgumentsLength(arguments.length, 1);
+ var entries = getInternalParamsState(this).entries;
+ var key = name + '';
+ var index = 0;
+ while (index < entries.length) {
+ if (entries[index++].key === key) return true;
+ }
+ return false;
+ },
+ // `URLSearchParams.prototype.set` method
+ // https://url.spec.whatwg.org/#dom-urlsearchparams-set
+ set: function set(name, value) {
+ validateArgumentsLength(arguments.length, 1);
+ var state = getInternalParamsState(this);
+ var entries = state.entries;
+ var found = false;
+ var key = name + '';
+ var val = value + '';
+ var index = 0;
+ var entry;
+ for (; index < entries.length; index++) {
+ entry = entries[index];
+ if (entry.key === key) {
+ if (found) entries.splice(index--, 1);
+ else {
+ found = true;
+ entry.value = val;
+ }
+ }
+ }
+ if (!found) entries.push({ key: key, value: val });
+ state.updateURL();
+ },
+ // `URLSearchParams.prototype.sort` method
+ // https://url.spec.whatwg.org/#dom-urlsearchparams-sort
+ sort: function sort() {
+ var state = getInternalParamsState(this);
+ var entries = state.entries;
+ // Array#sort is not stable in some engines
+ var slice = entries.slice();
+ var entry, entriesIndex, sliceIndex;
+ entries.length = 0;
+ for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {
+ entry = slice[sliceIndex];
+ for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {
+ if (entries[entriesIndex].key > entry.key) {
+ entries.splice(entriesIndex, 0, entry);
+ break;
+ }
+ }
+ if (entriesIndex === sliceIndex) entries.push(entry);
+ }
+ state.updateURL();
+ },
+ // `URLSearchParams.prototype.forEach` method
+ forEach: function forEach(callback /* , thisArg */) {
+ var entries = getInternalParamsState(this).entries;
+ var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);
+ var index = 0;
+ var entry;
+ while (index < entries.length) {
+ entry = entries[index++];
+ boundFunction(entry.value, entry.key, this);
+ }
+ },
+ // `URLSearchParams.prototype.keys` method
+ keys: function keys() {
+ return new URLSearchParamsIterator(this, 'keys');
+ },
+ // `URLSearchParams.prototype.values` method
+ values: function values() {
+ return new URLSearchParamsIterator(this, 'values');
+ },
+ // `URLSearchParams.prototype.entries` method
+ entries: function entries() {
+ return new URLSearchParamsIterator(this, 'entries');
+ }
+}, { enumerable: true });
+
+// `URLSearchParams.prototype[@@iterator]` method
+redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);
+
+// `URLSearchParams.prototype.toString` method
+// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior
+redefine(URLSearchParamsPrototype, 'toString', function toString() {
+ var entries = getInternalParamsState(this).entries;
+ var result = [];
+ var index = 0;
+ var entry;
+ while (index < entries.length) {
+ entry = entries[index++];
+ result.push(serialize(entry.key) + '=' + serialize(entry.value));
+ } return result.join('&');
+}, { enumerable: true });
+
+setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);
+
+$({ global: true, forced: !USE_NATIVE_URL }, {
+ URLSearchParams: URLSearchParamsConstructor
+});
+
+module.exports = {
+ URLSearchParams: URLSearchParamsConstructor,
+ getState: getInternalParamsState
+};
+
+},{"../internals/an-instance":12,"../internals/an-object":13,"../internals/bind-context":26,"../internals/create-iterator-constructor":38,"../internals/export":49,"../internals/get-iterator":61,"../internals/get-iterator-method":60,"../internals/has":63,"../internals/internal-state":72,"../internals/is-object":77,"../internals/native-url":89,"../internals/redefine":117,"../internals/redefine-all":116,"../internals/set-to-string-tag":125,"../internals/well-known-symbol":150,"../modules/es.array.iterator":170}],361:[function(require,module,exports){
+'use strict';
+// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
+require('../modules/es.string.iterator');
+var $ = require('../internals/export');
+var DESCRIPTORS = require('../internals/descriptors');
+var USE_NATIVE_URL = require('../internals/native-url');
+var global = require('../internals/global');
+var defineProperties = require('../internals/object-define-properties');
+var redefine = require('../internals/redefine');
+var anInstance = require('../internals/an-instance');
+var has = require('../internals/has');
+var assign = require('../internals/object-assign');
+var arrayFrom = require('../internals/array-from');
+var codeAt = require('../internals/string-multibyte').codeAt;
+var toASCII = require('../internals/punycode-to-ascii');
+var setToStringTag = require('../internals/set-to-string-tag');
+var URLSearchParamsModule = require('../modules/web.url-search-params');
+var InternalStateModule = require('../internals/internal-state');
+
+var NativeURL = global.URL;
+var URLSearchParams = URLSearchParamsModule.URLSearchParams;
+var getInternalSearchParamsState = URLSearchParamsModule.getState;
+var setInternalState = InternalStateModule.set;
+var getInternalURLState = InternalStateModule.getterFor('URL');
+var floor = Math.floor;
+var pow = Math.pow;
+
+var INVALID_AUTHORITY = 'Invalid authority';
+var INVALID_SCHEME = 'Invalid scheme';
+var INVALID_HOST = 'Invalid host';
+var INVALID_PORT = 'Invalid port';
+
+var ALPHA = /[A-Za-z]/;
+var ALPHANUMERIC = /[\d+\-.A-Za-z]/;
+var DIGIT = /\d/;
+var HEX_START = /^(0x|0X)/;
+var OCT = /^[0-7]+$/;
+var DEC = /^\d+$/;
+var HEX = /^[\dA-Fa-f]+$/;
+// eslint-disable-next-line no-control-regex
+var FORBIDDEN_HOST_CODE_POINT = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/;
+// eslint-disable-next-line no-control-regex
+var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/;
+// eslint-disable-next-line no-control-regex
+var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g;
+// eslint-disable-next-line no-control-regex
+var TAB_AND_NEW_LINE = /[\u0009\u000A\u000D]/g;
+var EOF;
+
+var parseHost = function (url, input) {
+ var result, codePoints, index;
+ if (input.charAt(0) == '[') {
+ if (input.charAt(input.length - 1) != ']') return INVALID_HOST;
+ result = parseIPv6(input.slice(1, -1));
+ if (!result) return INVALID_HOST;
+ url.host = result;
+ // opaque host
+ } else if (!isSpecial(url)) {
+ if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;
+ result = '';
+ codePoints = arrayFrom(input);
+ for (index = 0; index < codePoints.length; index++) {
+ result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);
+ }
+ url.host = result;
+ } else {
+ input = toASCII(input);
+ if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;
+ result = parseIPv4(input);
+ if (result === null) return INVALID_HOST;
+ url.host = result;
+ }
+};
+
+var parseIPv4 = function (input) {
+ var parts = input.split('.');
+ var partsLength, numbers, index, part, radix, number, ipv4;
+ if (parts.length && parts[parts.length - 1] == '') {
+ parts.pop();
+ }
+ partsLength = parts.length;
+ if (partsLength > 4) return input;
+ numbers = [];
+ for (index = 0; index < partsLength; index++) {
+ part = parts[index];
+ if (part == '') return input;
+ radix = 10;
+ if (part.length > 1 && part.charAt(0) == '0') {
+ radix = HEX_START.test(part) ? 16 : 8;
+ part = part.slice(radix == 8 ? 1 : 2);
+ }
+ if (part === '') {
+ number = 0;
+ } else {
+ if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;
+ number = parseInt(part, radix);
+ }
+ numbers.push(number);
+ }
+ for (index = 0; index < partsLength; index++) {
+ number = numbers[index];
+ if (index == partsLength - 1) {
+ if (number >= pow(256, 5 - partsLength)) return null;
+ } else if (number > 255) return null;
+ }
+ ipv4 = numbers.pop();
+ for (index = 0; index < numbers.length; index++) {
+ ipv4 += numbers[index] * pow(256, 3 - index);
+ }
+ return ipv4;
+};
+
+// eslint-disable-next-line max-statements
+var parseIPv6 = function (input) {
+ var address = [0, 0, 0, 0, 0, 0, 0, 0];
+ var pieceIndex = 0;
+ var compress = null;
+ var pointer = 0;
+ var value, length, numbersSeen, ipv4Piece, number, swaps, swap;
+
+ var char = function () {
+ return input.charAt(pointer);
+ };
+
+ if (char() == ':') {
+ if (input.charAt(1) != ':') return;
+ pointer += 2;
+ pieceIndex++;
+ compress = pieceIndex;
+ }
+ while (char()) {
+ if (pieceIndex == 8) return;
+ if (char() == ':') {
+ if (compress !== null) return;
+ pointer++;
+ pieceIndex++;
+ compress = pieceIndex;
+ continue;
+ }
+ value = length = 0;
+ while (length < 4 && HEX.test(char())) {
+ value = value * 16 + parseInt(char(), 16);
+ pointer++;
+ length++;
+ }
+ if (char() == '.') {
+ if (length == 0) return;
+ pointer -= length;
+ if (pieceIndex > 6) return;
+ numbersSeen = 0;
+ while (char()) {
+ ipv4Piece = null;
+ if (numbersSeen > 0) {
+ if (char() == '.' && numbersSeen < 4) pointer++;
+ else return;
+ }
+ if (!DIGIT.test(char())) return;
+ while (DIGIT.test(char())) {
+ number = parseInt(char(), 10);
+ if (ipv4Piece === null) ipv4Piece = number;
+ else if (ipv4Piece == 0) return;
+ else ipv4Piece = ipv4Piece * 10 + number;
+ if (ipv4Piece > 255) return;
+ pointer++;
+ }
+ address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;
+ numbersSeen++;
+ if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;
+ }
+ if (numbersSeen != 4) return;
+ break;
+ } else if (char() == ':') {
+ pointer++;
+ if (!char()) return;
+ } else if (char()) return;
+ address[pieceIndex++] = value;
+ }
+ if (compress !== null) {
+ swaps = pieceIndex - compress;
+ pieceIndex = 7;
+ while (pieceIndex != 0 && swaps > 0) {
+ swap = address[pieceIndex];
+ address[pieceIndex--] = address[compress + swaps - 1];
+ address[compress + --swaps] = swap;
+ }
+ } else if (pieceIndex != 8) return;
+ return address;
+};
+
+var findLongestZeroSequence = function (ipv6) {
+ var maxIndex = null;
+ var maxLength = 1;
+ var currStart = null;
+ var currLength = 0;
+ var index = 0;
+ for (; index < 8; index++) {
+ if (ipv6[index] !== 0) {
+ if (currLength > maxLength) {
+ maxIndex = currStart;
+ maxLength = currLength;
+ }
+ currStart = null;
+ currLength = 0;
+ } else {
+ if (currStart === null) currStart = index;
+ ++currLength;
+ }
+ }
+ if (currLength > maxLength) {
+ maxIndex = currStart;
+ maxLength = currLength;
+ }
+ return maxIndex;
+};
+
+var serializeHost = function (host) {
+ var result, index, compress, ignore0;
+ // ipv4
+ if (typeof host == 'number') {
+ result = [];
+ for (index = 0; index < 4; index++) {
+ result.unshift(host % 256);
+ host = floor(host / 256);
+ } return result.join('.');
+ // ipv6
+ } else if (typeof host == 'object') {
+ result = '';
+ compress = findLongestZeroSequence(host);
+ for (index = 0; index < 8; index++) {
+ if (ignore0 && host[index] === 0) continue;
+ if (ignore0) ignore0 = false;
+ if (compress === index) {
+ result += index ? ':' : '::';
+ ignore0 = true;
+ } else {
+ result += host[index].toString(16);
+ if (index < 7) result += ':';
+ }
+ }
+ return '[' + result + ']';
+ } return host;
+};
+
+var C0ControlPercentEncodeSet = {};
+var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {
+ ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1
+});
+var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {
+ '#': 1, '?': 1, '{': 1, '}': 1
+});
+var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {
+ '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1
+});
+
+var percentEncode = function (char, set) {
+ var code = codeAt(char, 0);
+ return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);
+};
+
+var specialSchemes = {
+ ftp: 21,
+ file: null,
+ gopher: 70,
+ http: 80,
+ https: 443,
+ ws: 80,
+ wss: 443
+};
+
+var isSpecial = function (url) {
+ return has(specialSchemes, url.scheme);
+};
+
+var includesCredentials = function (url) {
+ return url.username != '' || url.password != '';
+};
+
+var cannotHaveUsernamePasswordPort = function (url) {
+ return !url.host || url.cannotBeABaseURL || url.scheme == 'file';
+};
+
+var isWindowsDriveLetter = function (string, normalized) {
+ var second;
+ return string.length == 2 && ALPHA.test(string.charAt(0))
+ && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));
+};
+
+var startsWithWindowsDriveLetter = function (string) {
+ var third;
+ return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (
+ string.length == 2 ||
+ ((third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#')
+ );
+};
+
+var shortenURLsPath = function (url) {
+ var path = url.path;
+ var pathSize = path.length;
+ if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {
+ path.pop();
+ }
+};
+
+var isSingleDot = function (segment) {
+ return segment === '.' || segment.toLowerCase() === '%2e';
+};
+
+var isDoubleDot = function (segment) {
+ segment = segment.toLowerCase();
+ return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';
+};
+
+// States:
+var SCHEME_START = {};
+var SCHEME = {};
+var NO_SCHEME = {};
+var SPECIAL_RELATIVE_OR_AUTHORITY = {};
+var PATH_OR_AUTHORITY = {};
+var RELATIVE = {};
+var RELATIVE_SLASH = {};
+var SPECIAL_AUTHORITY_SLASHES = {};
+var SPECIAL_AUTHORITY_IGNORE_SLASHES = {};
+var AUTHORITY = {};
+var HOST = {};
+var HOSTNAME = {};
+var PORT = {};
+var FILE = {};
+var FILE_SLASH = {};
+var FILE_HOST = {};
+var PATH_START = {};
+var PATH = {};
+var CANNOT_BE_A_BASE_URL_PATH = {};
+var QUERY = {};
+var FRAGMENT = {};
+
+// eslint-disable-next-line max-statements
+var parseURL = function (url, input, stateOverride, base) {
+ var state = stateOverride || SCHEME_START;
+ var pointer = 0;
+ var buffer = '';
+ var seenAt = false;
+ var seenBracket = false;
+ var seenPasswordToken = false;
+ var codePoints, char, bufferCodePoints, failure;
+
+ if (!stateOverride) {
+ url.scheme = '';
+ url.username = '';
+ url.password = '';
+ url.host = null;
+ url.port = null;
+ url.path = [];
+ url.query = null;
+ url.fragment = null;
+ url.cannotBeABaseURL = false;
+ input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');
+ }
+
+ input = input.replace(TAB_AND_NEW_LINE, '');
+
+ codePoints = arrayFrom(input);
+
+ while (pointer <= codePoints.length) {
+ char = codePoints[pointer];
+ switch (state) {
+ case SCHEME_START:
+ if (char && ALPHA.test(char)) {
+ buffer += char.toLowerCase();
+ state = SCHEME;
+ } else if (!stateOverride) {
+ state = NO_SCHEME;
+ continue;
+ } else return INVALID_SCHEME;
+ break;
+
+ case SCHEME:
+ if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {
+ buffer += char.toLowerCase();
+ } else if (char == ':') {
+ if (stateOverride && (
+ (isSpecial(url) != has(specialSchemes, buffer)) ||
+ (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||
+ (url.scheme == 'file' && !url.host)
+ )) return;
+ url.scheme = buffer;
+ if (stateOverride) {
+ if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;
+ return;
+ }
+ buffer = '';
+ if (url.scheme == 'file') {
+ state = FILE;
+ } else if (isSpecial(url) && base && base.scheme == url.scheme) {
+ state = SPECIAL_RELATIVE_OR_AUTHORITY;
+ } else if (isSpecial(url)) {
+ state = SPECIAL_AUTHORITY_SLASHES;
+ } else if (codePoints[pointer + 1] == '/') {
+ state = PATH_OR_AUTHORITY;
+ pointer++;
+ } else {
+ url.cannotBeABaseURL = true;
+ url.path.push('');
+ state = CANNOT_BE_A_BASE_URL_PATH;
+ }
+ } else if (!stateOverride) {
+ buffer = '';
+ state = NO_SCHEME;
+ pointer = 0;
+ continue;
+ } else return INVALID_SCHEME;
+ break;
+
+ case NO_SCHEME:
+ if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;
+ if (base.cannotBeABaseURL && char == '#') {
+ url.scheme = base.scheme;
+ url.path = base.path.slice();
+ url.query = base.query;
+ url.fragment = '';
+ url.cannotBeABaseURL = true;
+ state = FRAGMENT;
+ break;
+ }
+ state = base.scheme == 'file' ? FILE : RELATIVE;
+ continue;
+
+ case SPECIAL_RELATIVE_OR_AUTHORITY:
+ if (char == '/' && codePoints[pointer + 1] == '/') {
+ state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
+ pointer++;
+ } else {
+ state = RELATIVE;
+ continue;
+ } break;
+
+ case PATH_OR_AUTHORITY:
+ if (char == '/') {
+ state = AUTHORITY;
+ break;
+ } else {
+ state = PATH;
+ continue;
+ }
+
+ case RELATIVE:
+ url.scheme = base.scheme;
+ if (char == EOF) {
+ url.username = base.username;
+ url.password = base.password;
+ url.host = base.host;
+ url.port = base.port;
+ url.path = base.path.slice();
+ url.query = base.query;
+ } else if (char == '/' || (char == '\\' && isSpecial(url))) {
+ state = RELATIVE_SLASH;
+ } else if (char == '?') {
+ url.username = base.username;
+ url.password = base.password;
+ url.host = base.host;
+ url.port = base.port;
+ url.path = base.path.slice();
+ url.query = '';
+ state = QUERY;
+ } else if (char == '#') {
+ url.username = base.username;
+ url.password = base.password;
+ url.host = base.host;
+ url.port = base.port;
+ url.path = base.path.slice();
+ url.query = base.query;
+ url.fragment = '';
+ state = FRAGMENT;
+ } else {
+ url.username = base.username;
+ url.password = base.password;
+ url.host = base.host;
+ url.port = base.port;
+ url.path = base.path.slice();
+ url.path.pop();
+ state = PATH;
+ continue;
+ } break;
+
+ case RELATIVE_SLASH:
+ if (isSpecial(url) && (char == '/' || char == '\\')) {
+ state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
+ } else if (char == '/') {
+ state = AUTHORITY;
+ } else {
+ url.username = base.username;
+ url.password = base.password;
+ url.host = base.host;
+ url.port = base.port;
+ state = PATH;
+ continue;
+ } break;
+
+ case SPECIAL_AUTHORITY_SLASHES:
+ state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
+ if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;
+ pointer++;
+ break;
+
+ case SPECIAL_AUTHORITY_IGNORE_SLASHES:
+ if (char != '/' && char != '\\') {
+ state = AUTHORITY;
+ continue;
+ } break;
+
+ case AUTHORITY:
+ if (char == '@') {
+ if (seenAt) buffer = '%40' + buffer;
+ seenAt = true;
+ bufferCodePoints = arrayFrom(buffer);
+ for (var i = 0; i < bufferCodePoints.length; i++) {
+ var codePoint = bufferCodePoints[i];
+ if (codePoint == ':' && !seenPasswordToken) {
+ seenPasswordToken = true;
+ continue;
+ }
+ var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);
+ if (seenPasswordToken) url.password += encodedCodePoints;
+ else url.username += encodedCodePoints;
+ }
+ buffer = '';
+ } else if (
+ char == EOF || char == '/' || char == '?' || char == '#' ||
+ (char == '\\' && isSpecial(url))
+ ) {
+ if (seenAt && buffer == '') return INVALID_AUTHORITY;
+ pointer -= arrayFrom(buffer).length + 1;
+ buffer = '';
+ state = HOST;
+ } else buffer += char;
+ break;
+
+ case HOST:
+ case HOSTNAME:
+ if (stateOverride && url.scheme == 'file') {
+ state = FILE_HOST;
+ continue;
+ } else if (char == ':' && !seenBracket) {
+ if (buffer == '') return INVALID_HOST;
+ failure = parseHost(url, buffer);
+ if (failure) return failure;
+ buffer = '';
+ state = PORT;
+ if (stateOverride == HOSTNAME) return;
+ } else if (
+ char == EOF || char == '/' || char == '?' || char == '#' ||
+ (char == '\\' && isSpecial(url))
+ ) {
+ if (isSpecial(url) && buffer == '') return INVALID_HOST;
+ if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;
+ failure = parseHost(url, buffer);
+ if (failure) return failure;
+ buffer = '';
+ state = PATH_START;
+ if (stateOverride) return;
+ continue;
+ } else {
+ if (char == '[') seenBracket = true;
+ else if (char == ']') seenBracket = false;
+ buffer += char;
+ } break;
+
+ case PORT:
+ if (DIGIT.test(char)) {
+ buffer += char;
+ } else if (
+ char == EOF || char == '/' || char == '?' || char == '#' ||
+ (char == '\\' && isSpecial(url)) ||
+ stateOverride
+ ) {
+ if (buffer != '') {
+ var port = parseInt(buffer, 10);
+ if (port > 0xFFFF) return INVALID_PORT;
+ url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;
+ buffer = '';
+ }
+ if (stateOverride) return;
+ state = PATH_START;
+ continue;
+ } else return INVALID_PORT;
+ break;
+
+ case FILE:
+ url.scheme = 'file';
+ if (char == '/' || char == '\\') state = FILE_SLASH;
+ else if (base && base.scheme == 'file') {
+ if (char == EOF) {
+ url.host = base.host;
+ url.path = base.path.slice();
+ url.query = base.query;
+ } else if (char == '?') {
+ url.host = base.host;
+ url.path = base.path.slice();
+ url.query = '';
+ state = QUERY;
+ } else if (char == '#') {
+ url.host = base.host;
+ url.path = base.path.slice();
+ url.query = base.query;
+ url.fragment = '';
+ state = FRAGMENT;
+ } else {
+ if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
+ url.host = base.host;
+ url.path = base.path.slice();
+ shortenURLsPath(url);
+ }
+ state = PATH;
+ continue;
+ }
+ } else {
+ state = PATH;
+ continue;
+ } break;
+
+ case FILE_SLASH:
+ if (char == '/' || char == '\\') {
+ state = FILE_HOST;
+ break;
+ }
+ if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
+ if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);
+ else url.host = base.host;
+ }
+ state = PATH;
+ continue;
+
+ case FILE_HOST:
+ if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') {
+ if (!stateOverride && isWindowsDriveLetter(buffer)) {
+ state = PATH;
+ } else if (buffer == '') {
+ url.host = '';
+ if (stateOverride) return;
+ state = PATH_START;
+ } else {
+ failure = parseHost(url, buffer);
+ if (failure) return failure;
+ if (url.host == 'localhost') url.host = '';
+ if (stateOverride) return;
+ buffer = '';
+ state = PATH_START;
+ } continue;
+ } else buffer += char;
+ break;
+
+ case PATH_START:
+ if (isSpecial(url)) {
+ state = PATH;
+ if (char != '/' && char != '\\') continue;
+ } else if (!stateOverride && char == '?') {
+ url.query = '';
+ state = QUERY;
+ } else if (!stateOverride && char == '#') {
+ url.fragment = '';
+ state = FRAGMENT;
+ } else if (char != EOF) {
+ state = PATH;
+ if (char != '/') continue;
+ } break;
+
+ case PATH:
+ if (
+ char == EOF || char == '/' ||
+ (char == '\\' && isSpecial(url)) ||
+ (!stateOverride && (char == '?' || char == '#'))
+ ) {
+ if (isDoubleDot(buffer)) {
+ shortenURLsPath(url);
+ if (char != '/' && !(char == '\\' && isSpecial(url))) {
+ url.path.push('');
+ }
+ } else if (isSingleDot(buffer)) {
+ if (char != '/' && !(char == '\\' && isSpecial(url))) {
+ url.path.push('');
+ }
+ } else {
+ if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {
+ if (url.host) url.host = '';
+ buffer = buffer.charAt(0) + ':'; // normalize windows drive letter
+ }
+ url.path.push(buffer);
+ }
+ buffer = '';
+ if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {
+ while (url.path.length > 1 && url.path[0] === '') {
+ url.path.shift();
+ }
+ }
+ if (char == '?') {
+ url.query = '';
+ state = QUERY;
+ } else if (char == '#') {
+ url.fragment = '';
+ state = FRAGMENT;
+ }
+ } else {
+ buffer += percentEncode(char, pathPercentEncodeSet);
+ } break;
+
+ case CANNOT_BE_A_BASE_URL_PATH:
+ if (char == '?') {
+ url.query = '';
+ state = QUERY;
+ } else if (char == '#') {
+ url.fragment = '';
+ state = FRAGMENT;
+ } else if (char != EOF) {
+ url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);
+ } break;
+
+ case QUERY:
+ if (!stateOverride && char == '#') {
+ url.fragment = '';
+ state = FRAGMENT;
+ } else if (char != EOF) {
+ if (char == "'" && isSpecial(url)) url.query += '%27';
+ else if (char == '#') url.query += '%23';
+ else url.query += percentEncode(char, C0ControlPercentEncodeSet);
+ } break;
+
+ case FRAGMENT:
+ if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);
+ break;
+ }
+
+ pointer++;
+ }
+};
+
+// `URL` constructor
+// https://url.spec.whatwg.org/#url-class
+var URLConstructor = function URL(url /* , base */) {
+ var that = anInstance(this, URLConstructor, 'URL');
+ var base = arguments.length > 1 ? arguments[1] : undefined;
+ var urlString = String(url);
+ var state = setInternalState(that, { type: 'URL' });
+ var baseState, failure;
+ if (base !== undefined) {
+ if (base instanceof URLConstructor) baseState = getInternalURLState(base);
+ else {
+ failure = parseURL(baseState = {}, String(base));
+ if (failure) throw TypeError(failure);
+ }
+ }
+ failure = parseURL(state, urlString, null, baseState);
+ if (failure) throw TypeError(failure);
+ var searchParams = state.searchParams = new URLSearchParams();
+ var searchParamsState = getInternalSearchParamsState(searchParams);
+ searchParamsState.updateSearchParams(state.query);
+ searchParamsState.updateURL = function () {
+ state.query = String(searchParams) || null;
+ };
+ if (!DESCRIPTORS) {
+ that.href = serializeURL.call(that);
+ that.origin = getOrigin.call(that);
+ that.protocol = getProtocol.call(that);
+ that.username = getUsername.call(that);
+ that.password = getPassword.call(that);
+ that.host = getHost.call(that);
+ that.hostname = getHostname.call(that);
+ that.port = getPort.call(that);
+ that.pathname = getPathname.call(that);
+ that.search = getSearch.call(that);
+ that.searchParams = getSearchParams.call(that);
+ that.hash = getHash.call(that);
+ }
+};
+
+var URLPrototype = URLConstructor.prototype;
+
+var serializeURL = function () {
+ var url = getInternalURLState(this);
+ var scheme = url.scheme;
+ var username = url.username;
+ var password = url.password;
+ var host = url.host;
+ var port = url.port;
+ var path = url.path;
+ var query = url.query;
+ var fragment = url.fragment;
+ var output = scheme + ':';
+ if (host !== null) {
+ output += '//';
+ if (includesCredentials(url)) {
+ output += username + (password ? ':' + password : '') + '@';
+ }
+ output += serializeHost(host);
+ if (port !== null) output += ':' + port;
+ } else if (scheme == 'file') output += '//';
+ output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
+ if (query !== null) output += '?' + query;
+ if (fragment !== null) output += '#' + fragment;
+ return output;
+};
+
+var getOrigin = function () {
+ var url = getInternalURLState(this);
+ var scheme = url.scheme;
+ var port = url.port;
+ if (scheme == 'blob') try {
+ return new URL(scheme.path[0]).origin;
+ } catch (error) {
+ return 'null';
+ }
+ if (scheme == 'file' || !isSpecial(url)) return 'null';
+ return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');
+};
+
+var getProtocol = function () {
+ return getInternalURLState(this).scheme + ':';
+};
+
+var getUsername = function () {
+ return getInternalURLState(this).username;
+};
+
+var getPassword = function () {
+ return getInternalURLState(this).password;
+};
+
+var getHost = function () {
+ var url = getInternalURLState(this);
+ var host = url.host;
+ var port = url.port;
+ return host === null ? ''
+ : port === null ? serializeHost(host)
+ : serializeHost(host) + ':' + port;
+};
+
+var getHostname = function () {
+ var host = getInternalURLState(this).host;
+ return host === null ? '' : serializeHost(host);
+};
+
+var getPort = function () {
+ var port = getInternalURLState(this).port;
+ return port === null ? '' : String(port);
+};
+
+var getPathname = function () {
+ var url = getInternalURLState(this);
+ var path = url.path;
+ return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
+};
+
+var getSearch = function () {
+ var query = getInternalURLState(this).query;
+ return query ? '?' + query : '';
+};
+
+var getSearchParams = function () {
+ return getInternalURLState(this).searchParams;
+};
+
+var getHash = function () {
+ var fragment = getInternalURLState(this).fragment;
+ return fragment ? '#' + fragment : '';
+};
+
+var accessorDescriptor = function (getter, setter) {
+ return { get: getter, set: setter, configurable: true, enumerable: true };
+};
+
+if (DESCRIPTORS) {
+ defineProperties(URLPrototype, {
+ // `URL.prototype.href` accessors pair
+ // https://url.spec.whatwg.org/#dom-url-href
+ href: accessorDescriptor(serializeURL, function (href) {
+ var url = getInternalURLState(this);
+ var urlString = String(href);
+ var failure = parseURL(url, urlString);
+ if (failure) throw TypeError(failure);
+ getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
+ }),
+ // `URL.prototype.origin` getter
+ // https://url.spec.whatwg.org/#dom-url-origin
+ origin: accessorDescriptor(getOrigin),
+ // `URL.prototype.protocol` accessors pair
+ // https://url.spec.whatwg.org/#dom-url-protocol
+ protocol: accessorDescriptor(getProtocol, function (protocol) {
+ var url = getInternalURLState(this);
+ parseURL(url, String(protocol) + ':', SCHEME_START);
+ }),
+ // `URL.prototype.username` accessors pair
+ // https://url.spec.whatwg.org/#dom-url-username
+ username: accessorDescriptor(getUsername, function (username) {
+ var url = getInternalURLState(this);
+ var codePoints = arrayFrom(String(username));
+ if (cannotHaveUsernamePasswordPort(url)) return;
+ url.username = '';
+ for (var i = 0; i < codePoints.length; i++) {
+ url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);
+ }
+ }),
+ // `URL.prototype.password` accessors pair
+ // https://url.spec.whatwg.org/#dom-url-password
+ password: accessorDescriptor(getPassword, function (password) {
+ var url = getInternalURLState(this);
+ var codePoints = arrayFrom(String(password));
+ if (cannotHaveUsernamePasswordPort(url)) return;
+ url.password = '';
+ for (var i = 0; i < codePoints.length; i++) {
+ url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);
+ }
+ }),
+ // `URL.prototype.host` accessors pair
+ // https://url.spec.whatwg.org/#dom-url-host
+ host: accessorDescriptor(getHost, function (host) {
+ var url = getInternalURLState(this);
+ if (url.cannotBeABaseURL) return;
+ parseURL(url, String(host), HOST);
+ }),
+ // `URL.prototype.hostname` accessors pair
+ // https://url.spec.whatwg.org/#dom-url-hostname
+ hostname: accessorDescriptor(getHostname, function (hostname) {
+ var url = getInternalURLState(this);
+ if (url.cannotBeABaseURL) return;
+ parseURL(url, String(hostname), HOSTNAME);
+ }),
+ // `URL.prototype.port` accessors pair
+ // https://url.spec.whatwg.org/#dom-url-port
+ port: accessorDescriptor(getPort, function (port) {
+ var url = getInternalURLState(this);
+ if (cannotHaveUsernamePasswordPort(url)) return;
+ port = String(port);
+ if (port == '') url.port = null;
+ else parseURL(url, port, PORT);
+ }),
+ // `URL.prototype.pathname` accessors pair
+ // https://url.spec.whatwg.org/#dom-url-pathname
+ pathname: accessorDescriptor(getPathname, function (pathname) {
+ var url = getInternalURLState(this);
+ if (url.cannotBeABaseURL) return;
+ url.path = [];
+ parseURL(url, pathname + '', PATH_START);
+ }),
+ // `URL.prototype.search` accessors pair
+ // https://url.spec.whatwg.org/#dom-url-search
+ search: accessorDescriptor(getSearch, function (search) {
+ var url = getInternalURLState(this);
+ search = String(search);
+ if (search == '') {
+ url.query = null;
+ } else {
+ if ('?' == search.charAt(0)) search = search.slice(1);
+ url.query = '';
+ parseURL(url, search, QUERY);
+ }
+ getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
+ }),
+ // `URL.prototype.searchParams` getter
+ // https://url.spec.whatwg.org/#dom-url-searchparams
+ searchParams: accessorDescriptor(getSearchParams),
+ // `URL.prototype.hash` accessors pair
+ // https://url.spec.whatwg.org/#dom-url-hash
+ hash: accessorDescriptor(getHash, function (hash) {
+ var url = getInternalURLState(this);
+ hash = String(hash);
+ if (hash == '') {
+ url.fragment = null;
+ return;
+ }
+ if ('#' == hash.charAt(0)) hash = hash.slice(1);
+ url.fragment = '';
+ parseURL(url, hash, FRAGMENT);
+ })
+ });
+}
+
+// `URL.prototype.toJSON` method
+// https://url.spec.whatwg.org/#dom-url-tojson
+redefine(URLPrototype, 'toJSON', function toJSON() {
+ return serializeURL.call(this);
+}, { enumerable: true });
+
+// `URL.prototype.toString` method
+// https://url.spec.whatwg.org/#URL-stringification-behavior
+redefine(URLPrototype, 'toString', function toString() {
+ return serializeURL.call(this);
+}, { enumerable: true });
+
+if (NativeURL) {
+ var nativeCreateObjectURL = NativeURL.createObjectURL;
+ var nativeRevokeObjectURL = NativeURL.revokeObjectURL;
+ // `URL.createObjectURL` method
+ // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL
+ // eslint-disable-next-line no-unused-vars
+ if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {
+ return nativeCreateObjectURL.apply(NativeURL, arguments);
+ });
+ // `URL.revokeObjectURL` method
+ // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL
+ // eslint-disable-next-line no-unused-vars
+ if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {
+ return nativeRevokeObjectURL.apply(NativeURL, arguments);
+ });
+}
+
+setToStringTag(URLConstructor, 'URL');
+
+$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {
+ URL: URLConstructor
+});
+
+},{"../internals/an-instance":12,"../internals/array-from":19,"../internals/descriptors":45,"../internals/export":49,"../internals/global":62,"../internals/has":63,"../internals/internal-state":72,"../internals/native-url":89,"../internals/object-assign":94,"../internals/object-define-properties":96,"../internals/punycode-to-ascii":115,"../internals/redefine":117,"../internals/set-to-string-tag":125,"../internals/string-multibyte":130,"../modules/es.string.iterator":285,"../modules/web.url-search-params":360}],362:[function(require,module,exports){
+'use strict';
+var $ = require('../internals/export');
+
+// `URL.prototype.toJSON` method
+// https://url.spec.whatwg.org/#dom-url-tojson
+$({ target: 'URL', proto: true, enumerable: true }, {
+ toJSON: function toJSON() {
+ return URL.prototype.toString.call(this);
+ }
+});
+
+},{"../internals/export":49}],363:[function(require,module,exports){
+require('../es');
+require('../web');
+
+module.exports = require('../internals/path');
+
+},{"../es":7,"../internals/path":112,"../web":364}],364:[function(require,module,exports){
+require('../modules/web.dom-collections.for-each');
+require('../modules/web.dom-collections.iterator');
+require('../modules/web.immediate');
+require('../modules/web.queue-microtask');
+require('../modules/web.timers');
+require('../modules/web.url');
+require('../modules/web.url.to-json');
+require('../modules/web.url-search-params');
+
+module.exports = require('../internals/path');
+
+},{"../internals/path":112,"../modules/web.dom-collections.for-each":355,"../modules/web.dom-collections.iterator":356,"../modules/web.immediate":357,"../modules/web.queue-microtask":358,"../modules/web.timers":359,"../modules/web.url":361,"../modules/web.url-search-params":360,"../modules/web.url.to-json":362}],365:[function(require,module,exports){
+
+/**
+ * Module dependencies.
+ */
+
+var extend = require('extend');
+var encode = require('ent/encode');
+var CustomEvent = require('custom-event');
+var voidElements = require('void-elements');
+
+/**
+ * Module exports.
+ */
+
+exports = module.exports = serialize;
+exports.serializeElement = serializeElement;
+exports.serializeAttribute = serializeAttribute;
+exports.serializeText = serializeText;
+exports.serializeComment = serializeComment;
+exports.serializeDocument = serializeDocument;
+exports.serializeDoctype = serializeDoctype;
+exports.serializeDocumentFragment = serializeDocumentFragment;
+exports.serializeNodeList = serializeNodeList;
+
+/**
+ * Serializes any DOM node. Returns a string.
+ *
+ * @param {Node} node - DOM Node to serialize
+ * @param {String} [context] - optional arbitrary "context" string to use (useful for event listeners)
+ * @param {Function} [fn] - optional callback function to use in the "serialize" event for this call
+ * @param {EventTarget} [eventTarget] - optional EventTarget instance to emit the "serialize" event on (defaults to `node`)
+ * return {String}
+ * @public
+ */
+
+function serialize (node, context, fn, eventTarget) {
+ if (!node) return '';
+ if ('function' === typeof context) {
+ fn = context;
+ context = null;
+ }
+ if (!context) context = null;
+
+ var rtn;
+ var nodeType = node.nodeType;
+
+ if (!nodeType && 'number' === typeof node.length) {
+ // assume it's a NodeList or Array of Nodes
+ rtn = exports.serializeNodeList(node, context, fn);
+ } else {
+
+ if ('function' === typeof fn) {
+ // one-time "serialize" event listener
+ node.addEventListener('serialize', fn, false);
+ }
+
+ // emit a custom "serialize" event on `node`, in case there
+ // are event listeners for custom serialization of this node
+ var e = new CustomEvent('serialize', {
+ bubbles: true,
+ cancelable: true,
+ detail: {
+ serialize: null,
+ context: context
+ }
+ });
+
+ e.serializeTarget = node;
+
+ var target = eventTarget || node;
+ var cancelled = !target.dispatchEvent(e);
+
+ // `e.detail.serialize` can be set to a:
+ // String - returned directly
+ // Node - goes through serializer logic instead of `node`
+ // Anything else - get Stringified first, and then returned directly
+ var s = e.detail.serialize;
+ if (s != null) {
+ if ('string' === typeof s) {
+ rtn = s;
+ } else if ('number' === typeof s.nodeType) {
+ // make it go through the serialization logic
+ rtn = serialize(s, context, null, target);
+ } else {
+ rtn = String(s);
+ }
+ } else if (!cancelled) {
+ // default serialization logic
+ switch (nodeType) {
+ case 1 /* element */:
+ rtn = exports.serializeElement(node, context, eventTarget);
+ break;
+ case 2 /* attribute */:
+ rtn = exports.serializeAttribute(node);
+ break;
+ case 3 /* text */:
+ rtn = exports.serializeText(node);
+ break;
+ case 8 /* comment */:
+ rtn = exports.serializeComment(node);
+ break;
+ case 9 /* document */:
+ rtn = exports.serializeDocument(node, context, eventTarget);
+ break;
+ case 10 /* doctype */:
+ rtn = exports.serializeDoctype(node);
+ break;
+ case 11 /* document fragment */:
+ rtn = exports.serializeDocumentFragment(node, context, eventTarget);
+ break;
+ }
+ }
+
+ if ('function' === typeof fn) {
+ node.removeEventListener('serialize', fn, false);
+ }
+ }
+
+ return rtn || '';
+}
+
+/**
+ * Serialize an Attribute node.
+ */
+
+function serializeAttribute (node, opts) {
+ return node.name + '="' + encode(node.value, extend({
+ named: true
+ }, opts)) + '"';
+}
+
+/**
+ * Serialize a DOM element.
+ */
+
+function serializeElement (node, context, eventTarget) {
+ var c, i, l;
+ var name = node.nodeName.toLowerCase();
+
+ // opening tag
+ var r = '<' + name;
+
+ // attributes
+ for (i = 0, c = node.attributes, l = c.length; i < l; i++) {
+ r += ' ' + exports.serializeAttribute(c[i]);
+ }
+
+ r += '>';
+
+ // child nodes
+ r += exports.serializeNodeList(node.childNodes, context, null, eventTarget);
+
+ // closing tag, only for non-void elements
+ if (!voidElements[name]) {
+ r += '</' + name + '>';
+ }
+
+ return r;
+}
+
+/**
+ * Serialize a text node.
+ */
+
+function serializeText (node, opts) {
+ return encode(node.nodeValue, extend({
+ named: true,
+ special: { '<': true, '>': true, '&': true }
+ }, opts));
+}
+
+/**
+ * Serialize a comment node.
+ */
+
+function serializeComment (node) {
+ return '<!--' + node.nodeValue + '-->';
+}
+
+/**
+ * Serialize a Document node.
+ */
+
+function serializeDocument (node, context, eventTarget) {
+ return exports.serializeNodeList(node.childNodes, context, null, eventTarget);
+}
+
+/**
+ * Serialize a DOCTYPE node.
+ * See: http://stackoverflow.com/a/10162353
+ */
+
+function serializeDoctype (node) {
+ var r = '<!DOCTYPE ' + node.name;
+
+ if (node.publicId) {
+ r += ' PUBLIC "' + node.publicId + '"';
+ }
+
+ if (!node.publicId && node.systemId) {
+ r += ' SYSTEM';
+ }
+
+ if (node.systemId) {
+ r += ' "' + node.systemId + '"';
+ }
+
+ r += '>';
+ return r;
+}
+
+/**
+ * Serialize a DocumentFragment instance.
+ */
+
+function serializeDocumentFragment (node, context, eventTarget) {
+ return exports.serializeNodeList(node.childNodes, context, null, eventTarget);
+}
+
+/**
+ * Serialize a NodeList/Array of nodes.
+ */
+
+function serializeNodeList (list, context, fn, eventTarget) {
+ var r = '';
+ for (var i = 0, l = list.length; i < l; i++) {
+ r += serialize(list[i], context, fn, eventTarget);
+ }
+ return r;
+}
+
+},{"custom-event":366,"ent/encode":367,"extend":369,"void-elements":370}],366:[function(require,module,exports){
+(function (global){
+
+var NativeCustomEvent = global.CustomEvent;
+
+function useNative () {
+ try {
+ var p = new NativeCustomEvent('cat', { detail: { foo: 'bar' } });
+ return 'cat' === p.type && 'bar' === p.detail.foo;
+ } catch (e) {
+ }
+ return false;
+}
+
+/**
+ * Cross-browser `CustomEvent` constructor.
+ *
+ * https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent.CustomEvent
+ *
+ * @public
+ */
+
+module.exports = useNative() ? NativeCustomEvent :
+
+// IE >= 9
+'undefined' !== typeof document && 'function' === typeof document.createEvent ? function CustomEvent (type, params) {
+ var e = document.createEvent('CustomEvent');
+ if (params) {
+ e.initCustomEvent(type, params.bubbles, params.cancelable, params.detail);
+ } else {
+ e.initCustomEvent(type, false, false, void 0);
+ }
+ return e;
+} :
+
+// IE <= 8
+function CustomEvent (type, params) {
+ var e = document.createEventObject();
+ e.type = type;
+ if (params) {
+ e.bubbles = Boolean(params.bubbles);
+ e.cancelable = Boolean(params.cancelable);
+ e.detail = params.detail;
+ } else {
+ e.bubbles = false;
+ e.cancelable = false;
+ e.detail = void 0;
+ }
+ return e;
+}
+
+}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
+},{}],367:[function(require,module,exports){
+var punycode = require('punycode');
+var revEntities = require('./reversed.json');
+
+module.exports = encode;
+
+function encode (str, opts) {
+ if (typeof str !== 'string') {
+ throw new TypeError('Expected a String');
+ }
+ if (!opts) opts = {};
+
+ var numeric = true;
+ if (opts.named) numeric = false;
+ if (opts.numeric !== undefined) numeric = opts.numeric;
+
+ var special = opts.special || {
+ '"': true, "'": true,
+ '<': true, '>': true,
+ '&': true
+ };
+
+ var codePoints = punycode.ucs2.decode(str);
+ var chars = [];
+ for (var i = 0; i < codePoints.length; i++) {
+ var cc = codePoints[i];
+ var c = punycode.ucs2.encode([ cc ]);
+ var e = revEntities[cc];
+ if (e && (cc >= 127 || special[c]) && !numeric) {
+ chars.push('&' + (/;$/.test(e) ? e : e + ';'));
+ }
+ else if (cc < 32 || cc >= 127 || special[c]) {
+ chars.push('&#' + cc + ';');
+ }
+ else {
+ chars.push(c);
+ }
+ }
+ return chars.join('');
+}
+
+},{"./reversed.json":368,"punycode":371}],368:[function(require,module,exports){
+module.exports={
+ "9": "Tab;",
+ "10": "NewLine;",
+ "33": "excl;",
+ "34": "quot;",
+ "35": "num;",
+ "36": "dollar;",
+ "37": "percnt;",
+ "38": "amp;",
+ "39": "apos;",
+ "40": "lpar;",
+ "41": "rpar;",
+ "42": "midast;",
+ "43": "plus;",
+ "44": "comma;",
+ "46": "period;",
+ "47": "sol;",
+ "58": "colon;",
+ "59": "semi;",
+ "60": "lt;",
+ "61": "equals;",
+ "62": "gt;",
+ "63": "quest;",
+ "64": "commat;",
+ "91": "lsqb;",
+ "92": "bsol;",
+ "93": "rsqb;",
+ "94": "Hat;",
+ "95": "UnderBar;",
+ "96": "grave;",
+ "123": "lcub;",
+ "124": "VerticalLine;",
+ "125": "rcub;",
+ "160": "NonBreakingSpace;",
+ "161": "iexcl;",
+ "162": "cent;",
+ "163": "pound;",
+ "164": "curren;",
+ "165": "yen;",
+ "166": "brvbar;",
+ "167": "sect;",
+ "168": "uml;",
+ "169": "copy;",
+ "170": "ordf;",
+ "171": "laquo;",
+ "172": "not;",
+ "173": "shy;",
+ "174": "reg;",
+ "175": "strns;",
+ "176": "deg;",
+ "177": "pm;",
+ "178": "sup2;",
+ "179": "sup3;",
+ "180": "DiacriticalAcute;",
+ "181": "micro;",
+ "182": "para;",
+ "183": "middot;",
+ "184": "Cedilla;",
+ "185": "sup1;",
+ "186": "ordm;",
+ "187": "raquo;",
+ "188": "frac14;",
+ "189": "half;",
+ "190": "frac34;",
+ "191": "iquest;",
+ "192": "Agrave;",
+ "193": "Aacute;",
+ "194": "Acirc;",
+ "195": "Atilde;",
+ "196": "Auml;",
+ "197": "Aring;",
+ "198": "AElig;",
+ "199": "Ccedil;",
+ "200": "Egrave;",
+ "201": "Eacute;",
+ "202": "Ecirc;",
+ "203": "Euml;",
+ "204": "Igrave;",
+ "205": "Iacute;",
+ "206": "Icirc;",
+ "207": "Iuml;",
+ "208": "ETH;",
+ "209": "Ntilde;",
+ "210": "Ograve;",
+ "211": "Oacute;",
+ "212": "Ocirc;",
+ "213": "Otilde;",
+ "214": "Ouml;",
+ "215": "times;",
+ "216": "Oslash;",
+ "217": "Ugrave;",
+ "218": "Uacute;",
+ "219": "Ucirc;",
+ "220": "Uuml;",
+ "221": "Yacute;",
+ "222": "THORN;",
+ "223": "szlig;",
+ "224": "agrave;",
+ "225": "aacute;",
+ "226": "acirc;",
+ "227": "atilde;",
+ "228": "auml;",
+ "229": "aring;",
+ "230": "aelig;",
+ "231": "ccedil;",
+ "232": "egrave;",
+ "233": "eacute;",
+ "234": "ecirc;",
+ "235": "euml;",
+ "236": "igrave;",
+ "237": "iacute;",
+ "238": "icirc;",
+ "239": "iuml;",
+ "240": "eth;",
+ "241": "ntilde;",
+ "242": "ograve;",
+ "243": "oacute;",
+ "244": "ocirc;",
+ "245": "otilde;",
+ "246": "ouml;",
+ "247": "divide;",
+ "248": "oslash;",
+ "249": "ugrave;",
+ "250": "uacute;",
+ "251": "ucirc;",
+ "252": "uuml;",
+ "253": "yacute;",
+ "254": "thorn;",
+ "255": "yuml;",
+ "256": "Amacr;",
+ "257": "amacr;",
+ "258": "Abreve;",
+ "259": "abreve;",
+ "260": "Aogon;",
+ "261": "aogon;",
+ "262": "Cacute;",
+ "263": "cacute;",
+ "264": "Ccirc;",
+ "265": "ccirc;",
+ "266": "Cdot;",
+ "267": "cdot;",
+ "268": "Ccaron;",
+ "269": "ccaron;",
+ "270": "Dcaron;",
+ "271": "dcaron;",
+ "272": "Dstrok;",
+ "273": "dstrok;",
+ "274": "Emacr;",
+ "275": "emacr;",
+ "278": "Edot;",
+ "279": "edot;",
+ "280": "Eogon;",
+ "281": "eogon;",
+ "282": "Ecaron;",
+ "283": "ecaron;",
+ "284": "Gcirc;",
+ "285": "gcirc;",
+ "286": "Gbreve;",
+ "287": "gbreve;",
+ "288": "Gdot;",
+ "289": "gdot;",
+ "290": "Gcedil;",
+ "292": "Hcirc;",
+ "293": "hcirc;",
+ "294": "Hstrok;",
+ "295": "hstrok;",
+ "296": "Itilde;",
+ "297": "itilde;",
+ "298": "Imacr;",
+ "299": "imacr;",
+ "302": "Iogon;",
+ "303": "iogon;",
+ "304": "Idot;",
+ "305": "inodot;",
+ "306": "IJlig;",
+ "307": "ijlig;",
+ "308": "Jcirc;",
+ "309": "jcirc;",
+ "310": "Kcedil;",
+ "311": "kcedil;",
+ "312": "kgreen;",
+ "313": "Lacute;",
+ "314": "lacute;",
+ "315": "Lcedil;",
+ "316": "lcedil;",
+ "317": "Lcaron;",
+ "318": "lcaron;",
+ "319": "Lmidot;",
+ "320": "lmidot;",
+ "321": "Lstrok;",
+ "322": "lstrok;",
+ "323": "Nacute;",
+ "324": "nacute;",
+ "325": "Ncedil;",
+ "326": "ncedil;",
+ "327": "Ncaron;",
+ "328": "ncaron;",
+ "329": "napos;",
+ "330": "ENG;",
+ "331": "eng;",
+ "332": "Omacr;",
+ "333": "omacr;",
+ "336": "Odblac;",
+ "337": "odblac;",
+ "338": "OElig;",
+ "339": "oelig;",
+ "340": "Racute;",
+ "341": "racute;",
+ "342": "Rcedil;",
+ "343": "rcedil;",
+ "344": "Rcaron;",
+ "345": "rcaron;",
+ "346": "Sacute;",
+ "347": "sacute;",
+ "348": "Scirc;",
+ "349": "scirc;",
+ "350": "Scedil;",
+ "351": "scedil;",
+ "352": "Scaron;",
+ "353": "scaron;",
+ "354": "Tcedil;",
+ "355": "tcedil;",
+ "356": "Tcaron;",
+ "357": "tcaron;",
+ "358": "Tstrok;",
+ "359": "tstrok;",
+ "360": "Utilde;",
+ "361": "utilde;",
+ "362": "Umacr;",
+ "363": "umacr;",
+ "364": "Ubreve;",
+ "365": "ubreve;",
+ "366": "Uring;",
+ "367": "uring;",
+ "368": "Udblac;",
+ "369": "udblac;",
+ "370": "Uogon;",
+ "371": "uogon;",
+ "372": "Wcirc;",
+ "373": "wcirc;",
+ "374": "Ycirc;",
+ "375": "ycirc;",
+ "376": "Yuml;",
+ "377": "Zacute;",
+ "378": "zacute;",
+ "379": "Zdot;",
+ "380": "zdot;",
+ "381": "Zcaron;",
+ "382": "zcaron;",
+ "402": "fnof;",
+ "437": "imped;",
+ "501": "gacute;",
+ "567": "jmath;",
+ "710": "circ;",
+ "711": "Hacek;",
+ "728": "breve;",
+ "729": "dot;",
+ "730": "ring;",
+ "731": "ogon;",
+ "732": "tilde;",
+ "733": "DiacriticalDoubleAcute;",
+ "785": "DownBreve;",
+ "913": "Alpha;",
+ "914": "Beta;",
+ "915": "Gamma;",
+ "916": "Delta;",
+ "917": "Epsilon;",
+ "918": "Zeta;",
+ "919": "Eta;",
+ "920": "Theta;",
+ "921": "Iota;",
+ "922": "Kappa;",
+ "923": "Lambda;",
+ "924": "Mu;",
+ "925": "Nu;",
+ "926": "Xi;",
+ "927": "Omicron;",
+ "928": "Pi;",
+ "929": "Rho;",
+ "931": "Sigma;",
+ "932": "Tau;",
+ "933": "Upsilon;",
+ "934": "Phi;",
+ "935": "Chi;",
+ "936": "Psi;",
+ "937": "Omega;",
+ "945": "alpha;",
+ "946": "beta;",
+ "947": "gamma;",
+ "948": "delta;",
+ "949": "epsilon;",
+ "950": "zeta;",
+ "951": "eta;",
+ "952": "theta;",
+ "953": "iota;",
+ "954": "kappa;",
+ "955": "lambda;",
+ "956": "mu;",
+ "957": "nu;",
+ "958": "xi;",
+ "959": "omicron;",
+ "960": "pi;",
+ "961": "rho;",
+ "962": "varsigma;",
+ "963": "sigma;",
+ "964": "tau;",
+ "965": "upsilon;",
+ "966": "phi;",
+ "967": "chi;",
+ "968": "psi;",
+ "969": "omega;",
+ "977": "vartheta;",
+ "978": "upsih;",
+ "981": "varphi;",
+ "982": "varpi;",
+ "988": "Gammad;",
+ "989": "gammad;",
+ "1008": "varkappa;",
+ "1009": "varrho;",
+ "1013": "varepsilon;",
+ "1014": "bepsi;",
+ "1025": "IOcy;",
+ "1026": "DJcy;",
+ "1027": "GJcy;",
+ "1028": "Jukcy;",
+ "1029": "DScy;",
+ "1030": "Iukcy;",
+ "1031": "YIcy;",
+ "1032": "Jsercy;",
+ "1033": "LJcy;",
+ "1034": "NJcy;",
+ "1035": "TSHcy;",
+ "1036": "KJcy;",
+ "1038": "Ubrcy;",
+ "1039": "DZcy;",
+ "1040": "Acy;",
+ "1041": "Bcy;",
+ "1042": "Vcy;",
+ "1043": "Gcy;",
+ "1044": "Dcy;",
+ "1045": "IEcy;",
+ "1046": "ZHcy;",
+ "1047": "Zcy;",
+ "1048": "Icy;",
+ "1049": "Jcy;",
+ "1050": "Kcy;",
+ "1051": "Lcy;",
+ "1052": "Mcy;",
+ "1053": "Ncy;",
+ "1054": "Ocy;",
+ "1055": "Pcy;",
+ "1056": "Rcy;",
+ "1057": "Scy;",
+ "1058": "Tcy;",
+ "1059": "Ucy;",
+ "1060": "Fcy;",
+ "1061": "KHcy;",
+ "1062": "TScy;",
+ "1063": "CHcy;",
+ "1064": "SHcy;",
+ "1065": "SHCHcy;",
+ "1066": "HARDcy;",
+ "1067": "Ycy;",
+ "1068": "SOFTcy;",
+ "1069": "Ecy;",
+ "1070": "YUcy;",
+ "1071": "YAcy;",
+ "1072": "acy;",
+ "1073": "bcy;",
+ "1074": "vcy;",
+ "1075": "gcy;",
+ "1076": "dcy;",
+ "1077": "iecy;",
+ "1078": "zhcy;",
+ "1079": "zcy;",
+ "1080": "icy;",
+ "1081": "jcy;",
+ "1082": "kcy;",
+ "1083": "lcy;",
+ "1084": "mcy;",
+ "1085": "ncy;",
+ "1086": "ocy;",
+ "1087": "pcy;",
+ "1088": "rcy;",
+ "1089": "scy;",
+ "1090": "tcy;",
+ "1091": "ucy;",
+ "1092": "fcy;",
+ "1093": "khcy;",
+ "1094": "tscy;",
+ "1095": "chcy;",
+ "1096": "shcy;",
+ "1097": "shchcy;",
+ "1098": "hardcy;",
+ "1099": "ycy;",
+ "1100": "softcy;",
+ "1101": "ecy;",
+ "1102": "yucy;",
+ "1103": "yacy;",
+ "1105": "iocy;",
+ "1106": "djcy;",
+ "1107": "gjcy;",
+ "1108": "jukcy;",
+ "1109": "dscy;",
+ "1110": "iukcy;",
+ "1111": "yicy;",
+ "1112": "jsercy;",
+ "1113": "ljcy;",
+ "1114": "njcy;",
+ "1115": "tshcy;",
+ "1116": "kjcy;",
+ "1118": "ubrcy;",
+ "1119": "dzcy;",
+ "8194": "ensp;",
+ "8195": "emsp;",
+ "8196": "emsp13;",
+ "8197": "emsp14;",
+ "8199": "numsp;",
+ "8200": "puncsp;",
+ "8201": "ThinSpace;",
+ "8202": "VeryThinSpace;",
+ "8203": "ZeroWidthSpace;",
+ "8204": "zwnj;",
+ "8205": "zwj;",
+ "8206": "lrm;",
+ "8207": "rlm;",
+ "8208": "hyphen;",
+ "8211": "ndash;",
+ "8212": "mdash;",
+ "8213": "horbar;",
+ "8214": "Vert;",
+ "8216": "OpenCurlyQuote;",
+ "8217": "rsquor;",
+ "8218": "sbquo;",
+ "8220": "OpenCurlyDoubleQuote;",
+ "8221": "rdquor;",
+ "8222": "ldquor;",
+ "8224": "dagger;",
+ "8225": "ddagger;",
+ "8226": "bullet;",
+ "8229": "nldr;",
+ "8230": "mldr;",
+ "8240": "permil;",
+ "8241": "pertenk;",
+ "8242": "prime;",
+ "8243": "Prime;",
+ "8244": "tprime;",
+ "8245": "bprime;",
+ "8249": "lsaquo;",
+ "8250": "rsaquo;",
+ "8254": "OverBar;",
+ "8257": "caret;",
+ "8259": "hybull;",
+ "8260": "frasl;",
+ "8271": "bsemi;",
+ "8279": "qprime;",
+ "8287": "MediumSpace;",
+ "8288": "NoBreak;",
+ "8289": "ApplyFunction;",
+ "8290": "it;",
+ "8291": "InvisibleComma;",
+ "8364": "euro;",
+ "8411": "TripleDot;",
+ "8412": "DotDot;",
+ "8450": "Copf;",
+ "8453": "incare;",
+ "8458": "gscr;",
+ "8459": "Hscr;",
+ "8460": "Poincareplane;",
+ "8461": "quaternions;",
+ "8462": "planckh;",
+ "8463": "plankv;",
+ "8464": "Iscr;",
+ "8465": "imagpart;",
+ "8466": "Lscr;",
+ "8467": "ell;",
+ "8469": "Nopf;",
+ "8470": "numero;",
+ "8471": "copysr;",
+ "8472": "wp;",
+ "8473": "primes;",
+ "8474": "rationals;",
+ "8475": "Rscr;",
+ "8476": "Rfr;",
+ "8477": "Ropf;",
+ "8478": "rx;",
+ "8482": "trade;",
+ "8484": "Zopf;",
+ "8487": "mho;",
+ "8488": "Zfr;",
+ "8489": "iiota;",
+ "8492": "Bscr;",
+ "8493": "Cfr;",
+ "8495": "escr;",
+ "8496": "expectation;",
+ "8497": "Fscr;",
+ "8499": "phmmat;",
+ "8500": "oscr;",
+ "8501": "aleph;",
+ "8502": "beth;",
+ "8503": "gimel;",
+ "8504": "daleth;",
+ "8517": "DD;",
+ "8518": "DifferentialD;",
+ "8519": "exponentiale;",
+ "8520": "ImaginaryI;",
+ "8531": "frac13;",
+ "8532": "frac23;",
+ "8533": "frac15;",
+ "8534": "frac25;",
+ "8535": "frac35;",
+ "8536": "frac45;",
+ "8537": "frac16;",
+ "8538": "frac56;",
+ "8539": "frac18;",
+ "8540": "frac38;",
+ "8541": "frac58;",
+ "8542": "frac78;",
+ "8592": "slarr;",
+ "8593": "uparrow;",
+ "8594": "srarr;",
+ "8595": "ShortDownArrow;",
+ "8596": "leftrightarrow;",
+ "8597": "varr;",
+ "8598": "UpperLeftArrow;",
+ "8599": "UpperRightArrow;",
+ "8600": "searrow;",
+ "8601": "swarrow;",
+ "8602": "nleftarrow;",
+ "8603": "nrightarrow;",
+ "8605": "rightsquigarrow;",
+ "8606": "twoheadleftarrow;",
+ "8607": "Uarr;",
+ "8608": "twoheadrightarrow;",
+ "8609": "Darr;",
+ "8610": "leftarrowtail;",
+ "8611": "rightarrowtail;",
+ "8612": "mapstoleft;",
+ "8613": "UpTeeArrow;",
+ "8614": "RightTeeArrow;",
+ "8615": "mapstodown;",
+ "8617": "larrhk;",
+ "8618": "rarrhk;",
+ "8619": "looparrowleft;",
+ "8620": "rarrlp;",
+ "8621": "leftrightsquigarrow;",
+ "8622": "nleftrightarrow;",
+ "8624": "lsh;",
+ "8625": "rsh;",
+ "8626": "ldsh;",
+ "8627": "rdsh;",
+ "8629": "crarr;",
+ "8630": "curvearrowleft;",
+ "8631": "curvearrowright;",
+ "8634": "olarr;",
+ "8635": "orarr;",
+ "8636": "lharu;",
+ "8637": "lhard;",
+ "8638": "upharpoonright;",
+ "8639": "upharpoonleft;",
+ "8640": "RightVector;",
+ "8641": "rightharpoondown;",
+ "8642": "RightDownVector;",
+ "8643": "LeftDownVector;",
+ "8644": "rlarr;",
+ "8645": "UpArrowDownArrow;",
+ "8646": "lrarr;",
+ "8647": "llarr;",
+ "8648": "uuarr;",
+ "8649": "rrarr;",
+ "8650": "downdownarrows;",
+ "8651": "ReverseEquilibrium;",
+ "8652": "rlhar;",
+ "8653": "nLeftarrow;",
+ "8654": "nLeftrightarrow;",
+ "8655": "nRightarrow;",
+ "8656": "Leftarrow;",
+ "8657": "Uparrow;",
+ "8658": "Rightarrow;",
+ "8659": "Downarrow;",
+ "8660": "Leftrightarrow;",
+ "8661": "vArr;",
+ "8662": "nwArr;",
+ "8663": "neArr;",
+ "8664": "seArr;",
+ "8665": "swArr;",
+ "8666": "Lleftarrow;",
+ "8667": "Rrightarrow;",
+ "8669": "zigrarr;",
+ "8676": "LeftArrowBar;",
+ "8677": "RightArrowBar;",
+ "8693": "duarr;",
+ "8701": "loarr;",
+ "8702": "roarr;",
+ "8703": "hoarr;",
+ "8704": "forall;",
+ "8705": "complement;",
+ "8706": "PartialD;",
+ "8707": "Exists;",
+ "8708": "NotExists;",
+ "8709": "varnothing;",
+ "8711": "nabla;",
+ "8712": "isinv;",
+ "8713": "notinva;",
+ "8715": "SuchThat;",
+ "8716": "NotReverseElement;",
+ "8719": "Product;",
+ "8720": "Coproduct;",
+ "8721": "sum;",
+ "8722": "minus;",
+ "8723": "mp;",
+ "8724": "plusdo;",
+ "8726": "ssetmn;",
+ "8727": "lowast;",
+ "8728": "SmallCircle;",
+ "8730": "Sqrt;",
+ "8733": "vprop;",
+ "8734": "infin;",
+ "8735": "angrt;",
+ "8736": "angle;",
+ "8737": "measuredangle;",
+ "8738": "angsph;",
+ "8739": "VerticalBar;",
+ "8740": "nsmid;",
+ "8741": "spar;",
+ "8742": "nspar;",
+ "8743": "wedge;",
+ "8744": "vee;",
+ "8745": "cap;",
+ "8746": "cup;",
+ "8747": "Integral;",
+ "8748": "Int;",
+ "8749": "tint;",
+ "8750": "oint;",
+ "8751": "DoubleContourIntegral;",
+ "8752": "Cconint;",
+ "8753": "cwint;",
+ "8754": "cwconint;",
+ "8755": "CounterClockwiseContourIntegral;",
+ "8756": "therefore;",
+ "8757": "because;",
+ "8758": "ratio;",
+ "8759": "Proportion;",
+ "8760": "minusd;",
+ "8762": "mDDot;",
+ "8763": "homtht;",
+ "8764": "Tilde;",
+ "8765": "bsim;",
+ "8766": "mstpos;",
+ "8767": "acd;",
+ "8768": "wreath;",
+ "8769": "nsim;",
+ "8770": "esim;",
+ "8771": "TildeEqual;",
+ "8772": "nsimeq;",
+ "8773": "TildeFullEqual;",
+ "8774": "simne;",
+ "8775": "NotTildeFullEqual;",
+ "8776": "TildeTilde;",
+ "8777": "NotTildeTilde;",
+ "8778": "approxeq;",
+ "8779": "apid;",
+ "8780": "bcong;",
+ "8781": "CupCap;",
+ "8782": "HumpDownHump;",
+ "8783": "HumpEqual;",
+ "8784": "esdot;",
+ "8785": "eDot;",
+ "8786": "fallingdotseq;",
+ "8787": "risingdotseq;",
+ "8788": "coloneq;",
+ "8789": "eqcolon;",
+ "8790": "eqcirc;",
+ "8791": "cire;",
+ "8793": "wedgeq;",
+ "8794": "veeeq;",
+ "8796": "trie;",
+ "8799": "questeq;",
+ "8800": "NotEqual;",
+ "8801": "equiv;",
+ "8802": "NotCongruent;",
+ "8804": "leq;",
+ "8805": "GreaterEqual;",
+ "8806": "LessFullEqual;",
+ "8807": "GreaterFullEqual;",
+ "8808": "lneqq;",
+ "8809": "gneqq;",
+ "8810": "NestedLessLess;",
+ "8811": "NestedGreaterGreater;",
+ "8812": "twixt;",
+ "8813": "NotCupCap;",
+ "8814": "NotLess;",
+ "8815": "NotGreater;",
+ "8816": "NotLessEqual;",
+ "8817": "NotGreaterEqual;",
+ "8818": "lsim;",
+ "8819": "gtrsim;",
+ "8820": "NotLessTilde;",
+ "8821": "NotGreaterTilde;",
+ "8822": "lg;",
+ "8823": "gtrless;",
+ "8824": "ntlg;",
+ "8825": "ntgl;",
+ "8826": "Precedes;",
+ "8827": "Succeeds;",
+ "8828": "PrecedesSlantEqual;",
+ "8829": "SucceedsSlantEqual;",
+ "8830": "prsim;",
+ "8831": "succsim;",
+ "8832": "nprec;",
+ "8833": "nsucc;",
+ "8834": "subset;",
+ "8835": "supset;",
+ "8836": "nsub;",
+ "8837": "nsup;",
+ "8838": "SubsetEqual;",
+ "8839": "supseteq;",
+ "8840": "nsubseteq;",
+ "8841": "nsupseteq;",
+ "8842": "subsetneq;",
+ "8843": "supsetneq;",
+ "8845": "cupdot;",
+ "8846": "uplus;",
+ "8847": "SquareSubset;",
+ "8848": "SquareSuperset;",
+ "8849": "SquareSubsetEqual;",
+ "8850": "SquareSupersetEqual;",
+ "8851": "SquareIntersection;",
+ "8852": "SquareUnion;",
+ "8853": "oplus;",
+ "8854": "ominus;",
+ "8855": "otimes;",
+ "8856": "osol;",
+ "8857": "odot;",
+ "8858": "ocir;",
+ "8859": "oast;",
+ "8861": "odash;",
+ "8862": "plusb;",
+ "8863": "minusb;",
+ "8864": "timesb;",
+ "8865": "sdotb;",
+ "8866": "vdash;",
+ "8867": "LeftTee;",
+ "8868": "top;",
+ "8869": "UpTee;",
+ "8871": "models;",
+ "8872": "vDash;",
+ "8873": "Vdash;",
+ "8874": "Vvdash;",
+ "8875": "VDash;",
+ "8876": "nvdash;",
+ "8877": "nvDash;",
+ "8878": "nVdash;",
+ "8879": "nVDash;",
+ "8880": "prurel;",
+ "8882": "vltri;",
+ "8883": "vrtri;",
+ "8884": "trianglelefteq;",
+ "8885": "trianglerighteq;",
+ "8886": "origof;",
+ "8887": "imof;",
+ "8888": "mumap;",
+ "8889": "hercon;",
+ "8890": "intercal;",
+ "8891": "veebar;",
+ "8893": "barvee;",
+ "8894": "angrtvb;",
+ "8895": "lrtri;",
+ "8896": "xwedge;",
+ "8897": "xvee;",
+ "8898": "xcap;",
+ "8899": "xcup;",
+ "8900": "diamond;",
+ "8901": "sdot;",
+ "8902": "Star;",
+ "8903": "divonx;",
+ "8904": "bowtie;",
+ "8905": "ltimes;",
+ "8906": "rtimes;",
+ "8907": "lthree;",
+ "8908": "rthree;",
+ "8909": "bsime;",
+ "8910": "cuvee;",
+ "8911": "cuwed;",
+ "8912": "Subset;",
+ "8913": "Supset;",
+ "8914": "Cap;",
+ "8915": "Cup;",
+ "8916": "pitchfork;",
+ "8917": "epar;",
+ "8918": "ltdot;",
+ "8919": "gtrdot;",
+ "8920": "Ll;",
+ "8921": "ggg;",
+ "8922": "LessEqualGreater;",
+ "8923": "gtreqless;",
+ "8926": "curlyeqprec;",
+ "8927": "curlyeqsucc;",
+ "8928": "nprcue;",
+ "8929": "nsccue;",
+ "8930": "nsqsube;",
+ "8931": "nsqsupe;",
+ "8934": "lnsim;",
+ "8935": "gnsim;",
+ "8936": "prnsim;",
+ "8937": "succnsim;",
+ "8938": "ntriangleleft;",
+ "8939": "ntriangleright;",
+ "8940": "ntrianglelefteq;",
+ "8941": "ntrianglerighteq;",
+ "8942": "vellip;",
+ "8943": "ctdot;",
+ "8944": "utdot;",
+ "8945": "dtdot;",
+ "8946": "disin;",
+ "8947": "isinsv;",
+ "8948": "isins;",
+ "8949": "isindot;",
+ "8950": "notinvc;",
+ "8951": "notinvb;",
+ "8953": "isinE;",
+ "8954": "nisd;",
+ "8955": "xnis;",
+ "8956": "nis;",
+ "8957": "notnivc;",
+ "8958": "notnivb;",
+ "8965": "barwedge;",
+ "8966": "doublebarwedge;",
+ "8968": "LeftCeiling;",
+ "8969": "RightCeiling;",
+ "8970": "lfloor;",
+ "8971": "RightFloor;",
+ "8972": "drcrop;",
+ "8973": "dlcrop;",
+ "8974": "urcrop;",
+ "8975": "ulcrop;",
+ "8976": "bnot;",
+ "8978": "profline;",
+ "8979": "profsurf;",
+ "8981": "telrec;",
+ "8982": "target;",
+ "8988": "ulcorner;",
+ "8989": "urcorner;",
+ "8990": "llcorner;",
+ "8991": "lrcorner;",
+ "8994": "sfrown;",
+ "8995": "ssmile;",
+ "9005": "cylcty;",
+ "9006": "profalar;",
+ "9014": "topbot;",
+ "9021": "ovbar;",
+ "9023": "solbar;",
+ "9084": "angzarr;",
+ "9136": "lmoustache;",
+ "9137": "rmoustache;",
+ "9140": "tbrk;",
+ "9141": "UnderBracket;",
+ "9142": "bbrktbrk;",
+ "9180": "OverParenthesis;",
+ "9181": "UnderParenthesis;",
+ "9182": "OverBrace;",
+ "9183": "UnderBrace;",
+ "9186": "trpezium;",
+ "9191": "elinters;",
+ "9251": "blank;",
+ "9416": "oS;",
+ "9472": "HorizontalLine;",
+ "9474": "boxv;",
+ "9484": "boxdr;",
+ "9488": "boxdl;",
+ "9492": "boxur;",
+ "9496": "boxul;",
+ "9500": "boxvr;",
+ "9508": "boxvl;",
+ "9516": "boxhd;",
+ "9524": "boxhu;",
+ "9532": "boxvh;",
+ "9552": "boxH;",
+ "9553": "boxV;",
+ "9554": "boxdR;",
+ "9555": "boxDr;",
+ "9556": "boxDR;",
+ "9557": "boxdL;",
+ "9558": "boxDl;",
+ "9559": "boxDL;",
+ "9560": "boxuR;",
+ "9561": "boxUr;",
+ "9562": "boxUR;",
+ "9563": "boxuL;",
+ "9564": "boxUl;",
+ "9565": "boxUL;",
+ "9566": "boxvR;",
+ "9567": "boxVr;",
+ "9568": "boxVR;",
+ "9569": "boxvL;",
+ "9570": "boxVl;",
+ "9571": "boxVL;",
+ "9572": "boxHd;",
+ "9573": "boxhD;",
+ "9574": "boxHD;",
+ "9575": "boxHu;",
+ "9576": "boxhU;",
+ "9577": "boxHU;",
+ "9578": "boxvH;",
+ "9579": "boxVh;",
+ "9580": "boxVH;",
+ "9600": "uhblk;",
+ "9604": "lhblk;",
+ "9608": "block;",
+ "9617": "blk14;",
+ "9618": "blk12;",
+ "9619": "blk34;",
+ "9633": "square;",
+ "9642": "squf;",
+ "9643": "EmptyVerySmallSquare;",
+ "9645": "rect;",
+ "9646": "marker;",
+ "9649": "fltns;",
+ "9651": "xutri;",
+ "9652": "utrif;",
+ "9653": "utri;",
+ "9656": "rtrif;",
+ "9657": "triangleright;",
+ "9661": "xdtri;",
+ "9662": "dtrif;",
+ "9663": "triangledown;",
+ "9666": "ltrif;",
+ "9667": "triangleleft;",
+ "9674": "lozenge;",
+ "9675": "cir;",
+ "9708": "tridot;",
+ "9711": "xcirc;",
+ "9720": "ultri;",
+ "9721": "urtri;",
+ "9722": "lltri;",
+ "9723": "EmptySmallSquare;",
+ "9724": "FilledSmallSquare;",
+ "9733": "starf;",
+ "9734": "star;",
+ "9742": "phone;",
+ "9792": "female;",
+ "9794": "male;",
+ "9824": "spadesuit;",
+ "9827": "clubsuit;",
+ "9829": "heartsuit;",
+ "9830": "diams;",
+ "9834": "sung;",
+ "9837": "flat;",
+ "9838": "natural;",
+ "9839": "sharp;",
+ "10003": "checkmark;",
+ "10007": "cross;",
+ "10016": "maltese;",
+ "10038": "sext;",
+ "10072": "VerticalSeparator;",
+ "10098": "lbbrk;",
+ "10099": "rbbrk;",
+ "10184": "bsolhsub;",
+ "10185": "suphsol;",
+ "10214": "lobrk;",
+ "10215": "robrk;",
+ "10216": "LeftAngleBracket;",
+ "10217": "RightAngleBracket;",
+ "10218": "Lang;",
+ "10219": "Rang;",
+ "10220": "loang;",
+ "10221": "roang;",
+ "10229": "xlarr;",
+ "10230": "xrarr;",
+ "10231": "xharr;",
+ "10232": "xlArr;",
+ "10233": "xrArr;",
+ "10234": "xhArr;",
+ "10236": "xmap;",
+ "10239": "dzigrarr;",
+ "10498": "nvlArr;",
+ "10499": "nvrArr;",
+ "10500": "nvHarr;",
+ "10501": "Map;",
+ "10508": "lbarr;",
+ "10509": "rbarr;",
+ "10510": "lBarr;",
+ "10511": "rBarr;",
+ "10512": "RBarr;",
+ "10513": "DDotrahd;",
+ "10514": "UpArrowBar;",
+ "10515": "DownArrowBar;",
+ "10518": "Rarrtl;",
+ "10521": "latail;",
+ "10522": "ratail;",
+ "10523": "lAtail;",
+ "10524": "rAtail;",
+ "10525": "larrfs;",
+ "10526": "rarrfs;",
+ "10527": "larrbfs;",
+ "10528": "rarrbfs;",
+ "10531": "nwarhk;",
+ "10532": "nearhk;",
+ "10533": "searhk;",
+ "10534": "swarhk;",
+ "10535": "nwnear;",
+ "10536": "toea;",
+ "10537": "tosa;",
+ "10538": "swnwar;",
+ "10547": "rarrc;",
+ "10549": "cudarrr;",
+ "10550": "ldca;",
+ "10551": "rdca;",
+ "10552": "cudarrl;",
+ "10553": "larrpl;",
+ "10556": "curarrm;",
+ "10557": "cularrp;",
+ "10565": "rarrpl;",
+ "10568": "harrcir;",
+ "10569": "Uarrocir;",
+ "10570": "lurdshar;",
+ "10571": "ldrushar;",
+ "10574": "LeftRightVector;",
+ "10575": "RightUpDownVector;",
+ "10576": "DownLeftRightVector;",
+ "10577": "LeftUpDownVector;",
+ "10578": "LeftVectorBar;",
+ "10579": "RightVectorBar;",
+ "10580": "RightUpVectorBar;",
+ "10581": "RightDownVectorBar;",
+ "10582": "DownLeftVectorBar;",
+ "10583": "DownRightVectorBar;",
+ "10584": "LeftUpVectorBar;",
+ "10585": "LeftDownVectorBar;",
+ "10586": "LeftTeeVector;",
+ "10587": "RightTeeVector;",
+ "10588": "RightUpTeeVector;",
+ "10589": "RightDownTeeVector;",
+ "10590": "DownLeftTeeVector;",
+ "10591": "DownRightTeeVector;",
+ "10592": "LeftUpTeeVector;",
+ "10593": "LeftDownTeeVector;",
+ "10594": "lHar;",
+ "10595": "uHar;",
+ "10596": "rHar;",
+ "10597": "dHar;",
+ "10598": "luruhar;",
+ "10599": "ldrdhar;",
+ "10600": "ruluhar;",
+ "10601": "rdldhar;",
+ "10602": "lharul;",
+ "10603": "llhard;",
+ "10604": "rharul;",
+ "10605": "lrhard;",
+ "10606": "UpEquilibrium;",
+ "10607": "ReverseUpEquilibrium;",
+ "10608": "RoundImplies;",
+ "10609": "erarr;",
+ "10610": "simrarr;",
+ "10611": "larrsim;",
+ "10612": "rarrsim;",
+ "10613": "rarrap;",
+ "10614": "ltlarr;",
+ "10616": "gtrarr;",
+ "10617": "subrarr;",
+ "10619": "suplarr;",
+ "10620": "lfisht;",
+ "10621": "rfisht;",
+ "10622": "ufisht;",
+ "10623": "dfisht;",
+ "10629": "lopar;",
+ "10630": "ropar;",
+ "10635": "lbrke;",
+ "10636": "rbrke;",
+ "10637": "lbrkslu;",
+ "10638": "rbrksld;",
+ "10639": "lbrksld;",
+ "10640": "rbrkslu;",
+ "10641": "langd;",
+ "10642": "rangd;",
+ "10643": "lparlt;",
+ "10644": "rpargt;",
+ "10645": "gtlPar;",
+ "10646": "ltrPar;",
+ "10650": "vzigzag;",
+ "10652": "vangrt;",
+ "10653": "angrtvbd;",
+ "10660": "ange;",
+ "10661": "range;",
+ "10662": "dwangle;",
+ "10663": "uwangle;",
+ "10664": "angmsdaa;",
+ "10665": "angmsdab;",
+ "10666": "angmsdac;",
+ "10667": "angmsdad;",
+ "10668": "angmsdae;",
+ "10669": "angmsdaf;",
+ "10670": "angmsdag;",
+ "10671": "angmsdah;",
+ "10672": "bemptyv;",
+ "10673": "demptyv;",
+ "10674": "cemptyv;",
+ "10675": "raemptyv;",
+ "10676": "laemptyv;",
+ "10677": "ohbar;",
+ "10678": "omid;",
+ "10679": "opar;",
+ "10681": "operp;",
+ "10683": "olcross;",
+ "10684": "odsold;",
+ "10686": "olcir;",
+ "10687": "ofcir;",
+ "10688": "olt;",
+ "10689": "ogt;",
+ "10690": "cirscir;",
+ "10691": "cirE;",
+ "10692": "solb;",
+ "10693": "bsolb;",
+ "10697": "boxbox;",
+ "10701": "trisb;",
+ "10702": "rtriltri;",
+ "10703": "LeftTriangleBar;",
+ "10704": "RightTriangleBar;",
+ "10716": "iinfin;",
+ "10717": "infintie;",
+ "10718": "nvinfin;",
+ "10723": "eparsl;",
+ "10724": "smeparsl;",
+ "10725": "eqvparsl;",
+ "10731": "lozf;",
+ "10740": "RuleDelayed;",
+ "10742": "dsol;",
+ "10752": "xodot;",
+ "10753": "xoplus;",
+ "10754": "xotime;",
+ "10756": "xuplus;",
+ "10758": "xsqcup;",
+ "10764": "qint;",
+ "10765": "fpartint;",
+ "10768": "cirfnint;",
+ "10769": "awint;",
+ "10770": "rppolint;",
+ "10771": "scpolint;",
+ "10772": "npolint;",
+ "10773": "pointint;",
+ "10774": "quatint;",
+ "10775": "intlarhk;",
+ "10786": "pluscir;",
+ "10787": "plusacir;",
+ "10788": "simplus;",
+ "10789": "plusdu;",
+ "10790": "plussim;",
+ "10791": "plustwo;",
+ "10793": "mcomma;",
+ "10794": "minusdu;",
+ "10797": "loplus;",
+ "10798": "roplus;",
+ "10799": "Cross;",
+ "10800": "timesd;",
+ "10801": "timesbar;",
+ "10803": "smashp;",
+ "10804": "lotimes;",
+ "10805": "rotimes;",
+ "10806": "otimesas;",
+ "10807": "Otimes;",
+ "10808": "odiv;",
+ "10809": "triplus;",
+ "10810": "triminus;",
+ "10811": "tritime;",
+ "10812": "iprod;",
+ "10815": "amalg;",
+ "10816": "capdot;",
+ "10818": "ncup;",
+ "10819": "ncap;",
+ "10820": "capand;",
+ "10821": "cupor;",
+ "10822": "cupcap;",
+ "10823": "capcup;",
+ "10824": "cupbrcap;",
+ "10825": "capbrcup;",
+ "10826": "cupcup;",
+ "10827": "capcap;",
+ "10828": "ccups;",
+ "10829": "ccaps;",
+ "10832": "ccupssm;",
+ "10835": "And;",
+ "10836": "Or;",
+ "10837": "andand;",
+ "10838": "oror;",
+ "10839": "orslope;",
+ "10840": "andslope;",
+ "10842": "andv;",
+ "10843": "orv;",
+ "10844": "andd;",
+ "10845": "ord;",
+ "10847": "wedbar;",
+ "10854": "sdote;",
+ "10858": "simdot;",
+ "10861": "congdot;",
+ "10862": "easter;",
+ "10863": "apacir;",
+ "10864": "apE;",
+ "10865": "eplus;",
+ "10866": "pluse;",
+ "10867": "Esim;",
+ "10868": "Colone;",
+ "10869": "Equal;",
+ "10871": "eDDot;",
+ "10872": "equivDD;",
+ "10873": "ltcir;",
+ "10874": "gtcir;",
+ "10875": "ltquest;",
+ "10876": "gtquest;",
+ "10877": "LessSlantEqual;",
+ "10878": "GreaterSlantEqual;",
+ "10879": "lesdot;",
+ "10880": "gesdot;",
+ "10881": "lesdoto;",
+ "10882": "gesdoto;",
+ "10883": "lesdotor;",
+ "10884": "gesdotol;",
+ "10885": "lessapprox;",
+ "10886": "gtrapprox;",
+ "10887": "lneq;",
+ "10888": "gneq;",
+ "10889": "lnapprox;",
+ "10890": "gnapprox;",
+ "10891": "lesseqqgtr;",
+ "10892": "gtreqqless;",
+ "10893": "lsime;",
+ "10894": "gsime;",
+ "10895": "lsimg;",
+ "10896": "gsiml;",
+ "10897": "lgE;",
+ "10898": "glE;",
+ "10899": "lesges;",
+ "10900": "gesles;",
+ "10901": "eqslantless;",
+ "10902": "eqslantgtr;",
+ "10903": "elsdot;",
+ "10904": "egsdot;",
+ "10905": "el;",
+ "10906": "eg;",
+ "10909": "siml;",
+ "10910": "simg;",
+ "10911": "simlE;",
+ "10912": "simgE;",
+ "10913": "LessLess;",
+ "10914": "GreaterGreater;",
+ "10916": "glj;",
+ "10917": "gla;",
+ "10918": "ltcc;",
+ "10919": "gtcc;",
+ "10920": "lescc;",
+ "10921": "gescc;",
+ "10922": "smt;",
+ "10923": "lat;",
+ "10924": "smte;",
+ "10925": "late;",
+ "10926": "bumpE;",
+ "10927": "preceq;",
+ "10928": "succeq;",
+ "10931": "prE;",
+ "10932": "scE;",
+ "10933": "prnE;",
+ "10934": "succneqq;",
+ "10935": "precapprox;",
+ "10936": "succapprox;",
+ "10937": "prnap;",
+ "10938": "succnapprox;",
+ "10939": "Pr;",
+ "10940": "Sc;",
+ "10941": "subdot;",
+ "10942": "supdot;",
+ "10943": "subplus;",
+ "10944": "supplus;",
+ "10945": "submult;",
+ "10946": "supmult;",
+ "10947": "subedot;",
+ "10948": "supedot;",
+ "10949": "subseteqq;",
+ "10950": "supseteqq;",
+ "10951": "subsim;",
+ "10952": "supsim;",
+ "10955": "subsetneqq;",
+ "10956": "supsetneqq;",
+ "10959": "csub;",
+ "10960": "csup;",
+ "10961": "csube;",
+ "10962": "csupe;",
+ "10963": "subsup;",
+ "10964": "supsub;",
+ "10965": "subsub;",
+ "10966": "supsup;",
+ "10967": "suphsub;",
+ "10968": "supdsub;",
+ "10969": "forkv;",
+ "10970": "topfork;",
+ "10971": "mlcp;",
+ "10980": "DoubleLeftTee;",
+ "10982": "Vdashl;",
+ "10983": "Barv;",
+ "10984": "vBar;",
+ "10985": "vBarv;",
+ "10987": "Vbar;",
+ "10988": "Not;",
+ "10989": "bNot;",
+ "10990": "rnmid;",
+ "10991": "cirmid;",
+ "10992": "midcir;",
+ "10993": "topcir;",
+ "10994": "nhpar;",
+ "10995": "parsim;",
+ "11005": "parsl;",
+ "64256": "fflig;",
+ "64257": "filig;",
+ "64258": "fllig;",
+ "64259": "ffilig;",
+ "64260": "ffllig;"
+}
+},{}],369:[function(require,module,exports){
+'use strict';
+
+var hasOwn = Object.prototype.hasOwnProperty;
+var toStr = Object.prototype.toString;
+var defineProperty = Object.defineProperty;
+var gOPD = Object.getOwnPropertyDescriptor;
+
+var isArray = function isArray(arr) {
+ if (typeof Array.isArray === 'function') {
+ return Array.isArray(arr);
+ }
+
+ return toStr.call(arr) === '[object Array]';
+};
+
+var isPlainObject = function isPlainObject(obj) {
+ if (!obj || toStr.call(obj) !== '[object Object]') {
+ return false;
+ }
+
+ var hasOwnConstructor = hasOwn.call(obj, 'constructor');
+ var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');
+ // Not own constructor property must be Object
+ if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {
+ return false;
+ }
+
+ // Own properties are enumerated firstly, so to speed up,
+ // if last one is own, then all properties are own.
+ var key;
+ for (key in obj) { /**/ }
+
+ return typeof key === 'undefined' || hasOwn.call(obj, key);
+};
+
+// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target
+var setProperty = function setProperty(target, options) {
+ if (defineProperty && options.name === '__proto__') {
+ defineProperty(target, options.name, {
+ enumerable: true,
+ configurable: true,
+ value: options.newValue,
+ writable: true
+ });
+ } else {
+ target[options.name] = options.newValue;
+ }
+};
+
+// Return undefined instead of __proto__ if '__proto__' is not an own property
+var getProperty = function getProperty(obj, name) {
+ if (name === '__proto__') {
+ if (!hasOwn.call(obj, name)) {
+ return void 0;
+ } else if (gOPD) {
+ // In early versions of node, obj['__proto__'] is buggy when obj has
+ // __proto__ as an own property. Object.getOwnPropertyDescriptor() works.
+ return gOPD(obj, name).value;
+ }
+ }
+
+ return obj[name];
+};
+
+module.exports = function extend() {
+ var options, name, src, copy, copyIsArray, clone;
+ var target = arguments[0];
+ var i = 1;
+ var length = arguments.length;
+ var deep = false;
+
+ // Handle a deep copy situation
+ if (typeof target === 'boolean') {
+ deep = target;
+ target = arguments[1] || {};
+ // skip the boolean and the target
+ i = 2;
+ }
+ if (target == null || (typeof target !== 'object' && typeof target !== 'function')) {
+ target = {};
+ }
+
+ for (; i < length; ++i) {
+ options = arguments[i];
+ // Only deal with non-null/undefined values
+ if (options != null) {
+ // Extend the base object
+ for (name in options) {
+ src = getProperty(target, name);
+ copy = getProperty(options, name);
+
+ // Prevent never-ending loop
+ if (target !== copy) {
+ // Recurse if we're merging plain objects or arrays
+ if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {
+ if (copyIsArray) {
+ copyIsArray = false;
+ clone = src && isArray(src) ? src : [];
+ } else {
+ clone = src && isPlainObject(src) ? src : {};
+ }
+
+ // Never move original objects, clone them
+ setProperty(target, { name: name, newValue: extend(deep, clone, copy) });
+
+ // Don't bring in undefined values
+ } else if (typeof copy !== 'undefined') {
+ setProperty(target, { name: name, newValue: copy });
+ }
+ }
+ }
+ }
+ }
+
+ // Return the modified object
+ return target;
+};
+
+},{}],370:[function(require,module,exports){
+/**
+ * This file automatically generated from `pre-publish.js`.
+ * Do not manually edit.
+ */
+
+module.exports = {
+ "area": true,
+ "base": true,
+ "br": true,
+ "col": true,
+ "embed": true,
+ "hr": true,
+ "img": true,
+ "input": true,
+ "keygen": true,
+ "link": true,
+ "menuitem": true,
+ "meta": true,
+ "param": true,
+ "source": true,
+ "track": true,
+ "wbr": true
+};
+
+},{}],371:[function(require,module,exports){
+(function (global){
+/*! https://mths.be/punycode v1.4.1 by @mathias */
+;(function(root) {
+
+ /** Detect free variables */
+ var freeExports = typeof exports == 'object' && exports &&
+ !exports.nodeType && exports;
+ var freeModule = typeof module == 'object' && module &&
+ !module.nodeType && module;
+ var freeGlobal = typeof global == 'object' && global;
+ if (
+ freeGlobal.global === freeGlobal ||
+ freeGlobal.window === freeGlobal ||
+ freeGlobal.self === freeGlobal
+ ) {
+ root = freeGlobal;
+ }
+
+ /**
+ * The `punycode` object.
+ * @name punycode
+ * @type Object
+ */
+ var punycode,
+
+ /** Highest positive signed 32-bit float value */
+ maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1
+
+ /** Bootstring parameters */
+ base = 36,
+ tMin = 1,
+ tMax = 26,
+ skew = 38,
+ damp = 700,
+ initialBias = 72,
+ initialN = 128, // 0x80
+ delimiter = '-', // '\x2D'
+
+ /** Regular expressions */
+ regexPunycode = /^xn--/,
+ regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars
+ regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators
+
+ /** Error messages */
+ errors = {
+ 'overflow': 'Overflow: input needs wider integers to process',
+ 'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
+ 'invalid-input': 'Invalid input'
+ },
+
+ /** Convenience shortcuts */
+ baseMinusTMin = base - tMin,
+ floor = Math.floor,
+ stringFromCharCode = String.fromCharCode,
+
+ /** Temporary variable */
+ key;
+
+ /*--------------------------------------------------------------------------*/
+
+ /**
+ * A generic error utility function.
+ * @private
+ * @param {String} type The error type.
+ * @returns {Error} Throws a `RangeError` with the applicable error message.
+ */
+ function error(type) {
+ throw new RangeError(errors[type]);
+ }
+
+ /**
+ * A generic `Array#map` utility function.
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} callback The function that gets called for every array
+ * item.
+ * @returns {Array} A new array of values returned by the callback function.
+ */
+ function map(array, fn) {
+ var length = array.length;
+ var result = [];
+ while (length--) {
+ result[length] = fn(array[length]);
+ }
+ return result;
+ }
+
+ /**
+ * A simple `Array#map`-like wrapper to work with domain name strings or email
+ * addresses.
+ * @private
+ * @param {String} domain The domain name or email address.
+ * @param {Function} callback The function that gets called for every
+ * character.
+ * @returns {Array} A new string of characters returned by the callback
+ * function.
+ */
+ function mapDomain(string, fn) {
+ var parts = string.split('@');
+ var result = '';
+ if (parts.length > 1) {
+ // In email addresses, only the domain name should be punycoded. Leave
+ // the local part (i.e. everything up to `@`) intact.
+ result = parts[0] + '@';
+ string = parts[1];
+ }
+ // Avoid `split(regex)` for IE8 compatibility. See #17.
+ string = string.replace(regexSeparators, '\x2E');
+ var labels = string.split('.');
+ var encoded = map(labels, fn).join('.');
+ return result + encoded;
+ }
+
+ /**
+ * Creates an array containing the numeric code points of each Unicode
+ * character in the string. While JavaScript uses UCS-2 internally,
+ * this function will convert a pair of surrogate halves (each of which
+ * UCS-2 exposes as separate characters) into a single code point,
+ * matching UTF-16.
+ * @see `punycode.ucs2.encode`
+ * @see <https://mathiasbynens.be/notes/javascript-encoding>
+ * @memberOf punycode.ucs2
+ * @name decode
+ * @param {String} string The Unicode input string (UCS-2).
+ * @returns {Array} The new array of code points.
+ */
+ function ucs2decode(string) {
+ var output = [],
+ counter = 0,
+ length = string.length,
+ value,
+ extra;
+ while (counter < length) {
+ value = string.charCodeAt(counter++);
+ if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
+ // high surrogate, and there is a next character
+ extra = string.charCodeAt(counter++);
+ if ((extra & 0xFC00) == 0xDC00) { // low surrogate
+ output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
+ } else {
+ // unmatched surrogate; only append this code unit, in case the next
+ // code unit is the high surrogate of a surrogate pair
+ output.push(value);
+ counter--;
+ }
+ } else {
+ output.push(value);
+ }
+ }
+ return output;
+ }
+
+ /**
+ * Creates a string based on an array of numeric code points.
+ * @see `punycode.ucs2.decode`
+ * @memberOf punycode.ucs2
+ * @name encode
+ * @param {Array} codePoints The array of numeric code points.
+ * @returns {String} The new Unicode string (UCS-2).
+ */
+ function ucs2encode(array) {
+ return map(array, function(value) {
+ var output = '';
+ if (value > 0xFFFF) {
+ value -= 0x10000;
+ output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);
+ value = 0xDC00 | value & 0x3FF;
+ }
+ output += stringFromCharCode(value);
+ return output;
+ }).join('');
+ }
+
+ /**
+ * Converts a basic code point into a digit/integer.
+ * @see `digitToBasic()`
+ * @private
+ * @param {Number} codePoint The basic numeric code point value.
+ * @returns {Number} The numeric value of a basic code point (for use in
+ * representing integers) in the range `0` to `base - 1`, or `base` if
+ * the code point does not represent a value.
+ */
+ function basicToDigit(codePoint) {
+ if (codePoint - 48 < 10) {
+ return codePoint - 22;
+ }
+ if (codePoint - 65 < 26) {
+ return codePoint - 65;
+ }
+ if (codePoint - 97 < 26) {
+ return codePoint - 97;
+ }
+ return base;
+ }
+
+ /**
+ * Converts a digit/integer into a basic code point.
+ * @see `basicToDigit()`
+ * @private
+ * @param {Number} digit The numeric value of a basic code point.
+ * @returns {Number} The basic code point whose value (when used for
+ * representing integers) is `digit`, which needs to be in the range
+ * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is
+ * used; else, the lowercase form is used. The behavior is undefined
+ * if `flag` is non-zero and `digit` has no uppercase form.
+ */
+ function digitToBasic(digit, flag) {
+ // 0..25 map to ASCII a..z or A..Z
+ // 26..35 map to ASCII 0..9
+ return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
+ }
+
+ /**
+ * Bias adaptation function as per section 3.4 of RFC 3492.
+ * https://tools.ietf.org/html/rfc3492#section-3.4
+ * @private
+ */
+ function adapt(delta, numPoints, firstTime) {
+ var k = 0;
+ delta = firstTime ? floor(delta / damp) : delta >> 1;
+ delta += floor(delta / numPoints);
+ for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {
+ delta = floor(delta / baseMinusTMin);
+ }
+ return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
+ }
+
+ /**
+ * Converts a Punycode string of ASCII-only symbols to a string of Unicode
+ * symbols.
+ * @memberOf punycode
+ * @param {String} input The Punycode string of ASCII-only symbols.
+ * @returns {String} The resulting string of Unicode symbols.
+ */
+ function decode(input) {
+ // Don't use UCS-2
+ var output = [],
+ inputLength = input.length,
+ out,
+ i = 0,
+ n = initialN,
+ bias = initialBias,
+ basic,
+ j,
+ index,
+ oldi,
+ w,
+ k,
+ digit,
+ t,
+ /** Cached calculation results */
+ baseMinusT;
+
+ // Handle the basic code points: let `basic` be the number of input code
+ // points before the last delimiter, or `0` if there is none, then copy
+ // the first basic code points to the output.
+
+ basic = input.lastIndexOf(delimiter);
+ if (basic < 0) {
+ basic = 0;
+ }
+
+ for (j = 0; j < basic; ++j) {
+ // if it's not a basic code point
+ if (input.charCodeAt(j) >= 0x80) {
+ error('not-basic');
+ }
+ output.push(input.charCodeAt(j));
+ }
+
+ // Main decoding loop: start just after the last delimiter if any basic code
+ // points were copied; start at the beginning otherwise.
+
+ for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {
+
+ // `index` is the index of the next character to be consumed.
+ // Decode a generalized variable-length integer into `delta`,
+ // which gets added to `i`. The overflow checking is easier
+ // if we increase `i` as we go, then subtract off its starting
+ // value at the end to obtain `delta`.
+ for (oldi = i, w = 1, k = base; /* no condition */; k += base) {
+
+ if (index >= inputLength) {
+ error('invalid-input');
+ }
+
+ digit = basicToDigit(input.charCodeAt(index++));
+
+ if (digit >= base || digit > floor((maxInt - i) / w)) {
+ error('overflow');
+ }
+
+ i += digit * w;
+ t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
+
+ if (digit < t) {
+ break;
+ }
+
+ baseMinusT = base - t;
+ if (w > floor(maxInt / baseMinusT)) {
+ error('overflow');
+ }
+
+ w *= baseMinusT;
+
+ }
+
+ out = output.length + 1;
+ bias = adapt(i - oldi, out, oldi == 0);
+
+ // `i` was supposed to wrap around from `out` to `0`,
+ // incrementing `n` each time, so we'll fix that now:
+ if (floor(i / out) > maxInt - n) {
+ error('overflow');
+ }
+
+ n += floor(i / out);
+ i %= out;
+
+ // Insert `n` at position `i` of the output
+ output.splice(i++, 0, n);
+
+ }
+
+ return ucs2encode(output);
+ }
+
+ /**
+ * Converts a string of Unicode symbols (e.g. a domain name label) to a
+ * Punycode string of ASCII-only symbols.
+ * @memberOf punycode
+ * @param {String} input The string of Unicode symbols.
+ * @returns {String} The resulting Punycode string of ASCII-only symbols.
+ */
+ function encode(input) {
+ var n,
+ delta,
+ handledCPCount,
+ basicLength,
+ bias,
+ j,
+ m,
+ q,
+ k,
+ t,
+ currentValue,
+ output = [],
+ /** `inputLength` will hold the number of code points in `input`. */
+ inputLength,
+ /** Cached calculation results */
+ handledCPCountPlusOne,
+ baseMinusT,
+ qMinusT;
+
+ // Convert the input in UCS-2 to Unicode
+ input = ucs2decode(input);
+
+ // Cache the length
+ inputLength = input.length;
+
+ // Initialize the state
+ n = initialN;
+ delta = 0;
+ bias = initialBias;
+
+ // Handle the basic code points
+ for (j = 0; j < inputLength; ++j) {
+ currentValue = input[j];
+ if (currentValue < 0x80) {
+ output.push(stringFromCharCode(currentValue));
+ }
+ }
+
+ handledCPCount = basicLength = output.length;
+
+ // `handledCPCount` is the number of code points that have been handled;
+ // `basicLength` is the number of basic code points.
+
+ // Finish the basic string - if it is not empty - with a delimiter
+ if (basicLength) {
+ output.push(delimiter);
+ }
+
+ // Main encoding loop:
+ while (handledCPCount < inputLength) {
+
+ // All non-basic code points < n have been handled already. Find the next
+ // larger one:
+ for (m = maxInt, j = 0; j < inputLength; ++j) {
+ currentValue = input[j];
+ if (currentValue >= n && currentValue < m) {
+ m = currentValue;
+ }
+ }
+
+ // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,
+ // but guard against overflow
+ handledCPCountPlusOne = handledCPCount + 1;
+ if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
+ error('overflow');
+ }
+
+ delta += (m - n) * handledCPCountPlusOne;
+ n = m;
+
+ for (j = 0; j < inputLength; ++j) {
+ currentValue = input[j];
+
+ if (currentValue < n && ++delta > maxInt) {
+ error('overflow');
+ }
+
+ if (currentValue == n) {
+ // Represent delta as a generalized variable-length integer
+ for (q = delta, k = base; /* no condition */; k += base) {
+ t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
+ if (q < t) {
+ break;
+ }
+ qMinusT = q - t;
+ baseMinusT = base - t;
+ output.push(
+ stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))
+ );
+ q = floor(qMinusT / baseMinusT);
+ }
+
+ output.push(stringFromCharCode(digitToBasic(q, 0)));
+ bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
+ delta = 0;
+ ++handledCPCount;
+ }
+ }
+
+ ++delta;
+ ++n;
+
+ }
+ return output.join('');
+ }
+
+ /**
+ * Converts a Punycode string representing a domain name or an email address
+ * to Unicode. Only the Punycoded parts of the input will be converted, i.e.
+ * it doesn't matter if you call it on a string that has already been
+ * converted to Unicode.
+ * @memberOf punycode
+ * @param {String} input The Punycoded domain name or email address to
+ * convert to Unicode.
+ * @returns {String} The Unicode representation of the given Punycode
+ * string.
+ */
+ function toUnicode(input) {
+ return mapDomain(input, function(string) {
+ return regexPunycode.test(string)
+ ? decode(string.slice(4).toLowerCase())
+ : string;
+ });
+ }
+
+ /**
+ * Converts a Unicode string representing a domain name or an email address to
+ * Punycode. Only the non-ASCII parts of the domain name will be converted,
+ * i.e. it doesn't matter if you call it with a domain that's already in
+ * ASCII.
+ * @memberOf punycode
+ * @param {String} input The domain name or email address to convert, as a
+ * Unicode string.
+ * @returns {String} The Punycode representation of the given domain name or
+ * email address.
+ */
+ function toASCII(input) {
+ return mapDomain(input, function(string) {
+ return regexNonASCII.test(string)
+ ? 'xn--' + encode(string)
+ : string;
+ });
+ }
+
+ /*--------------------------------------------------------------------------*/
+
+ /** Define the public API */
+ punycode = {
+ /**
+ * A string representing the current Punycode.js version number.
+ * @memberOf punycode
+ * @type String
+ */
+ 'version': '1.4.1',
+ /**
+ * An object of methods to convert from JavaScript's internal character
+ * representation (UCS-2) to Unicode code points, and back.
+ * @see <https://mathiasbynens.be/notes/javascript-encoding>
+ * @memberOf punycode
+ * @type Object
+ */
+ 'ucs2': {
+ 'decode': ucs2decode,
+ 'encode': ucs2encode
+ },
+ 'decode': decode,
+ 'encode': encode,
+ 'toASCII': toASCII,
+ 'toUnicode': toUnicode
+ };
+
+ /** Expose `punycode` */
+ // Some AMD build optimizers, like r.js, check for specific condition patterns
+ // like the following:
+ if (
+ typeof define == 'function' &&
+ typeof define.amd == 'object' &&
+ define.amd
+ ) {
+ define('punycode', function() {
+ return punycode;
+ });
+ } else if (freeExports && freeModule) {
+ if (module.exports == freeExports) {
+ // in Node.js, io.js, or RingoJS v0.8.0+
+ freeModule.exports = punycode;
+ } else {
+ // in Narwhal or RingoJS v0.7.0-
+ for (key in punycode) {
+ punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);
+ }
+ }
+ } else {
+ // in Rhino or a web browser
+ root.punycode = punycode;
+ }
+
+}(this));
+
+}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
+},{}]},{},[3]);
diff --git a/node_modules/karma/wallaby.js b/node_modules/karma/wallaby.js
new file mode 100644
index 0000000..cc45815
--- /dev/null
+++ b/node_modules/karma/wallaby.js
@@ -0,0 +1,65 @@
+
+module.exports = function (wallaby) {
+ return {
+ files: [
+ {
+ pattern: 'package.json',
+ instrument: false
+ },
+ {
+ pattern: 'config.tpl.js',
+ instrument: false
+ },
+ {
+ pattern: 'test/unit/certificates/server.key',
+ instrument: false
+ },
+ {
+ pattern: 'test/unit/certificates/server.crt',
+ instrument: false
+ },
+ {
+ pattern: 'test/unit/**/*.spec.js',
+ ignore: true
+ },
+ 'lib/**/*.js',
+ 'test/unit/**/*.js',
+ 'test/unit/mocha-globals.js'
+ ],
+
+ tests: [
+ 'test/unit/**/*.spec.js'
+ ],
+
+ bootstrap: function (w) {
+ var path = require('path')
+ var mocha = w.testFramework
+
+ mocha.suite.on('pre-require', function () {
+ // always passing wallaby.js globals to mocks.loadFile
+ var mocks = require('mocks')
+ var loadFile = mocks.loadFile
+ mocks.loadFile = function (filePath, mocks, globals, mockNested) {
+ mocks = mocks || {}
+ globals = globals || {}
+ globals.$_$wp = global.$_$wp || {}
+ globals.$_$wpe = global.$_$wpe || {}
+ globals.$_$w = global.$_$w || {}
+ globals.$_$wf = global.$_$wf || {}
+ globals.$_$tracer = global.$_$tracer || {}
+ return loadFile(filePath, mocks, globals, mockNested)
+ }
+
+ // loading mocha-globals for each run
+ require(path.join(process.cwd(), 'test/unit/mocha-globals'))
+ })
+ },
+
+ env: {
+ type: 'node',
+ params: {
+ runner: '--harmony --harmony_arrow_functions'
+ }
+ }
+ }
+}
diff --git a/node_modules/karma/yarn.lock b/node_modules/karma/yarn.lock
new file mode 100644
index 0000000..cad3f86
--- /dev/null
+++ b/node_modules/karma/yarn.lock
@@ -0,0 +1,6179 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@babel/code-frame@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8"
+ integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==
+ dependencies:
+ "@babel/highlight" "^7.0.0"
+
+"@babel/highlight@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4"
+ integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==
+ dependencies:
+ chalk "^2.0.0"
+ esutils "^2.0.2"
+ js-tokens "^4.0.0"
+
+"@sinonjs/commons@^1", "@sinonjs/commons@^1.0.2", "@sinonjs/commons@^1.4.0":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.4.0.tgz#7b3ec2d96af481d7a0321252e7b1c94724ec5a78"
+ integrity sha512-9jHK3YF/8HtJ9wCAbG+j8cD0i0+ATS9A7gXFqS36TblLPNy6rEEc+SB0imo91eCboGaBYGV/MT1/br/J+EE7Tw==
+ dependencies:
+ type-detect "4.0.8"
+
+"@sinonjs/formatio@^3.1.0", "@sinonjs/formatio@^3.2.1":
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-3.2.1.tgz#52310f2f9bcbc67bdac18c94ad4901b95fde267e"
+ integrity sha512-tsHvOB24rvyvV2+zKMmPkZ7dXX6LSLKZ7aOtXY6Edklp0uRcgGpOsQTTGTcWViFyx4uhWc6GV8QdnALbIbIdeQ==
+ dependencies:
+ "@sinonjs/commons" "^1"
+ "@sinonjs/samsam" "^3.1.0"
+
+"@sinonjs/samsam@^3.1.0", "@sinonjs/samsam@^3.3.1":
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-3.3.1.tgz#e88c53fbd9d91ad9f0f2b0140c16c7c107fe0d07"
+ integrity sha512-wRSfmyd81swH0hA1bxJZJ57xr22kC07a1N4zuIL47yTS04bDk6AoCkczcqHEjcRPmJ+FruGJ9WBQiJwMtIElFw==
+ dependencies:
+ "@sinonjs/commons" "^1.0.2"
+ array-from "^2.1.1"
+ lodash "^4.17.11"
+
+"@sinonjs/text-encoding@^0.7.1":
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5"
+ integrity sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==
+
+JSONStream@^0.10.0:
+ version "0.10.0"
+ resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-0.10.0.tgz#74349d0d89522b71f30f0a03ff9bd20ca6f12ac0"
+ integrity sha1-dDSdDYlSK3HzDwoD/5vSDKbxKsA=
+ dependencies:
+ jsonparse "0.0.5"
+ through ">=2.2.7 <3"
+
+JSONStream@^1.0.3, JSONStream@^1.0.4:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.2.tgz#c102371b6ec3a7cf3b847ca00c20bb0fce4c6dea"
+ integrity sha1-wQI3G27Dp887hHygDCC7D85Mbeo=
+ dependencies:
+ jsonparse "^1.2.0"
+ through ">=2.2.7 <3"
+
+abbrev@1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
+ integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
+
+accepts@~1.3.4:
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2"
+ integrity sha1-63d99gEXI6OxTopywIBcjoZ0a9I=
+ dependencies:
+ mime-types "~2.1.18"
+ negotiator "0.6.1"
+
+acorn-dynamic-import@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948"
+ integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==
+
+acorn-jsx@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e"
+ integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==
+
+acorn-node@^1.2.0, acorn-node@^1.3.0:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.6.2.tgz#b7d7ceca6f22e6417af933a62cad4de01048d5d2"
+ integrity sha512-rIhNEZuNI8ibQcL7ANm/mGyPukIaZsRNX9psFNQURyJW0nu6k8wjSDld20z6v2mDBWqX13pIEnk9gGZJHIlEXg==
+ dependencies:
+ acorn "^6.0.2"
+ acorn-dynamic-import "^4.0.0"
+ acorn-walk "^6.1.0"
+ xtend "^4.0.1"
+
+acorn-walk@^6.1.0:
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913"
+ integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==
+
+acorn@^4.0.3:
+ version "4.0.13"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787"
+ integrity sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=
+
+acorn@^6.0.2, acorn@^6.0.7:
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f"
+ integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==
+
[email protected]:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
+ integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=
+
+agent-base@2:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-2.1.1.tgz#d6de10d5af6132d5bd692427d46fc538539094c7"
+ integrity sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=
+ dependencies:
+ extend "~3.0.0"
+ semver "~5.0.1"
+
+agent-base@^4.1.0:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9"
+ integrity sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==
+ dependencies:
+ es6-promisify "^5.0.0"
+
+ajv@^6.9.1:
+ version "6.10.0"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1"
+ integrity sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==
+ dependencies:
+ fast-deep-equal "^2.0.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
+align-text@^0.1.1, align-text@^0.1.3:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
+ integrity sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=
+ dependencies:
+ kind-of "^3.0.2"
+ longest "^1.0.1"
+ repeat-string "^1.5.2"
+
+amdefine@>=0.0.4:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
+ integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=
+
+ansi-escapes@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
+ integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
+
+ansi-regex@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+ integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
+
+ansi-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
+ integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
+
+ansi-regex@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
+ integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
+
+ansi-styles@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+ integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
+
+ansi-styles@^3.1.0, ansi-styles@^3.2.0, ansi-styles@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+ integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
+ dependencies:
+ color-convert "^1.9.0"
+
+any-promise@^1.0.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
+ integrity sha1-q8av7tzqUugJzcA3au0845Y10X8=
+
+anymatch@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
+ integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==
+ dependencies:
+ micromatch "^3.1.4"
+ normalize-path "^2.1.1"
+
+anymatch@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.0.1.tgz#a47b8a9e3c3f7f17420276e05ef39746ac1777df"
+ integrity sha512-WQdpV5fo7XSY76HPN4pqdUl13Q282JsV0gQ8OnIxQsqDEHDZJCBkQ89fL1Mb3tNiPzGQnxMHM5G2iG3k9O6yng==
+ dependencies:
+ normalize-path "^3.0.0"
+ picomatch "^2.0.4"
+
+aproba@^1.0.3:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
+ integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
+
+are-we-there-yet@~1.1.2:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d"
+ integrity sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=
+ dependencies:
+ delegates "^1.0.0"
+ readable-stream "^2.0.6"
+
+argparse@^1.0.7:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86"
+ integrity sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=
+ dependencies:
+ sprintf-js "~1.0.2"
+
+arr-diff@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
+ integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=
+
+arr-flatten@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
+ integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
+
+arr-union@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
+ integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
+
+array-differ@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031"
+ integrity sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=
+
+array-filter@~0.0.0:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec"
+ integrity sha1-fajPLiZijtcygDWB/SH2fKzS7uw=
+
+array-find-index@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
+ integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=
+
+array-from@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/array-from/-/array-from-2.1.1.tgz#cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195"
+ integrity sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=
+
+array-ify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece"
+ integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=
+
+array-includes@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d"
+ integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=
+ dependencies:
+ define-properties "^1.1.2"
+ es-abstract "^1.7.0"
+
+array-map@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662"
+ integrity sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=
+
+array-reduce@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b"
+ integrity sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=
+
+array-union@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
+ integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=
+ dependencies:
+ array-uniq "^1.0.1"
+
+array-uniq@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
+ integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=
+
+array-unique@^0.3.2:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
+ integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
+
[email protected]:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca"
+ integrity sha1-8zshWfBTKj8xB6JywMz70a0peco=
+
+arrify@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
+ integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=
+
+asn1.js@^4.0.0:
+ version "4.9.2"
+ resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.2.tgz#8117ef4f7ed87cd8f89044b5bff97ac243a16c9a"
+ integrity sha512-b/OsSjvWEo8Pi8H0zsDd2P6Uqo2TK2pH8gNLSJtNLM2Db0v2QaAZ0pBQJXVjAn4gBuugeVDr7s63ZogpUIwWDg==
+ dependencies:
+ bn.js "^4.0.0"
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+
+assert-plus@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+ integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
+
+assert@^1.4.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb"
+ integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==
+ dependencies:
+ object-assign "^4.1.1"
+ util "0.10.3"
+
+assertion-error-formatter@^2.0.0, assertion-error-formatter@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/assertion-error-formatter/-/assertion-error-formatter-2.0.1.tgz#6bbdffaec8e2fa9e2b0eb158bfe353132d7c0a9b"
+ integrity sha512-cjC3jUCh9spkroKue5PDSKH5RFQ/KNuZJhk3GwHYmB/8qqETxLOmMdLH+ohi/VukNzxDlMvIe7zScvLoOdhb6Q==
+ dependencies:
+ diff "^3.0.0"
+ pad-right "^0.2.2"
+ repeat-string "^1.6.1"
+
+assertion-error@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b"
+ integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==
+
+assign-symbols@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
+ integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
+
+astral-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
+ integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
+
+astw@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/astw/-/astw-2.2.0.tgz#7bd41784d32493987aeb239b6b4e1c57a873b917"
+ integrity sha1-e9QXhNMkk5h66yOba04cV6hzuRc=
+ dependencies:
+ acorn "^4.0.3"
+
+async-each@^1.0.1, async-each@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
+ integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
+
+async-limiter@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
+ integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==
+
+async@^1.4.0, async@^1.5.2, async@~1.5.2:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
+ integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=
+
+async@^2.5.0:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4"
+ integrity sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==
+ dependencies:
+ lodash "^4.14.0"
+
+async@^2.6.0:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381"
+ integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==
+ dependencies:
+ lodash "^4.17.11"
+
+async@^2.6.1:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610"
+ integrity sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==
+ dependencies:
+ lodash "^4.17.10"
+
+async@~0.2.9:
+ version "0.2.10"
+ resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
+ integrity sha1-trvgsGdLnXGXCMo43owjfLUmw9E=
+
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
+
+atob@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
+ integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
+
+babel-runtime@^6.11.6, babel-runtime@^6.23.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
+ integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
+ dependencies:
+ core-js "^2.4.0"
+ regenerator-runtime "^0.11.0"
+
[email protected]:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
+ integrity sha1-MasayLEpNjRj41s+u2n038+6eUc=
+
+balanced-match@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
+ integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
+
[email protected]:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8"
+ integrity sha1-c5JncZI7Whl0etZmqlzUv5xunOg=
+
+base64-js@^1.0.2:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886"
+ integrity sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==
+
[email protected]:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6"
+ integrity sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=
+
+base@^0.11.1:
+ version "0.11.2"
+ resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
+ integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
+ dependencies:
+ cache-base "^1.0.1"
+ class-utils "^0.3.5"
+ component-emitter "^1.2.1"
+ define-property "^1.0.0"
+ isobject "^3.0.1"
+ mixin-deep "^1.2.0"
+ pascalcase "^0.1.1"
+
+becke-ch--regex--s0-0-v1--base--pl--lib@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/becke-ch--regex--s0-0-v1--base--pl--lib/-/becke-ch--regex--s0-0-v1--base--pl--lib-1.2.0.tgz#2e73e9d21f2c2e6f5a5454045636f0ab93e46130"
+ integrity sha1-LnPp0h8sLm9aVFQEVjbwq5PkYTA=
+
+better-assert@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522"
+ integrity sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=
+ dependencies:
+ callsite "1.0.0"
+
+binary-extensions@^1.0.0:
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205"
+ integrity sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=
+
+binary-extensions@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c"
+ integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==
+
+"binary@>= 0.3.0 < 1":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79"
+ integrity sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=
+ dependencies:
+ buffers "~0.1.1"
+ chainsaw "~0.1.0"
+
[email protected]:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921"
+ integrity sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=
+
+bluebird@^3.3.0, bluebird@^3.4.1, bluebird@^3.5.0:
+ version "3.5.1"
+ resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9"
+ integrity sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==
+
+bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
+ version "4.11.8"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
+ integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==
+
+body-parser@^1.16.1:
+ version "1.18.2"
+ resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454"
+ integrity sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=
+ dependencies:
+ bytes "3.0.0"
+ content-type "~1.0.4"
+ debug "2.6.9"
+ depd "~1.1.1"
+ http-errors "~1.6.2"
+ iconv-lite "0.4.19"
+ on-finished "~2.3.0"
+ qs "6.5.1"
+ raw-body "2.3.2"
+ type-is "~1.6.15"
+
+body@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/body/-/body-5.1.0.tgz#e4ba0ce410a46936323367609ecb4e6553125069"
+ integrity sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=
+ dependencies:
+ continuable-cache "^0.3.1"
+ error "^7.0.0"
+ raw-body "~1.1.0"
+ safe-json-parse "~1.0.1"
+
+brace-expansion@^1.1.7:
+ version "1.1.8"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292"
+ integrity sha1-wHshHHyVLsH479Uad+8NHTmQopI=
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+braces@^2.3.1, braces@^2.3.2:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
+ integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
+ dependencies:
+ arr-flatten "^1.1.0"
+ array-unique "^0.3.2"
+ extend-shallow "^2.0.1"
+ fill-range "^4.0.0"
+ isobject "^3.0.1"
+ repeat-element "^1.1.2"
+ snapdragon "^0.8.1"
+ snapdragon-node "^2.0.1"
+ split-string "^3.0.2"
+ to-regex "^3.0.1"
+
+braces@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
+ integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+ dependencies:
+ fill-range "^7.0.1"
+
+brorand@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
+ integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
+
+browser-pack@^6.0.1:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/browser-pack/-/browser-pack-6.0.2.tgz#f86cd6cef4f5300c8e63e07a4d512f65fbff4531"
+ integrity sha1-+GzWzvT1MAyOY+B6TVEvZfv/RTE=
+ dependencies:
+ JSONStream "^1.0.3"
+ combine-source-map "~0.7.1"
+ defined "^1.0.0"
+ through2 "^2.0.0"
+ umd "^3.0.0"
+
+browser-resolve@^1.11.0, browser-resolve@^1.7.0:
+ version "1.11.2"
+ resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce"
+ integrity sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=
+ dependencies:
+ resolve "1.1.7"
+
[email protected]:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f"
+ integrity sha1-81HTKWnTL6XXpVZxVCY9korjvR8=
+
+browserify-aes@^1.0.0, browserify-aes@^1.0.4:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.1.1.tgz#38b7ab55edb806ff2dcda1a7f1620773a477c49f"
+ integrity sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==
+ dependencies:
+ buffer-xor "^1.0.3"
+ cipher-base "^1.0.0"
+ create-hash "^1.1.0"
+ evp_bytestokey "^1.0.3"
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+browserify-cache-api@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/browserify-cache-api/-/browserify-cache-api-3.0.1.tgz#96247e853f068fd6e0d45cc73f0bb2cd9778ef02"
+ integrity sha1-liR+hT8Gj9bg1FzHPwuyzZd47wI=
+ dependencies:
+ async "^1.5.2"
+ through2 "^2.0.0"
+ xtend "^4.0.0"
+
+browserify-cipher@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a"
+ integrity sha1-mYgkSHS/XtTijalWZtzWasj8Njo=
+ dependencies:
+ browserify-aes "^1.0.4"
+ browserify-des "^1.0.0"
+ evp_bytestokey "^1.0.0"
+
+browserify-des@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd"
+ integrity sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=
+ dependencies:
+ cipher-base "^1.0.1"
+ des.js "^1.0.0"
+ inherits "^2.0.1"
+
+browserify-incremental@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/browserify-incremental/-/browserify-incremental-3.1.1.tgz#0713cb7587247a632a9f08cf1bd169b878b62a8a"
+ integrity sha1-BxPLdYckemMqnwjPG9FpuHi2Koo=
+ dependencies:
+ JSONStream "^0.10.0"
+ browserify-cache-api "^3.0.0"
+ through2 "^2.0.0"
+ xtend "^4.0.0"
+
+browserify-rsa@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
+ integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=
+ dependencies:
+ bn.js "^4.1.0"
+ randombytes "^2.0.1"
+
+browserify-sign@^4.0.0:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"
+ integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=
+ dependencies:
+ bn.js "^4.1.1"
+ browserify-rsa "^4.0.0"
+ create-hash "^1.1.0"
+ create-hmac "^1.1.2"
+ elliptic "^6.0.0"
+ inherits "^2.0.1"
+ parse-asn1 "^5.0.0"
+
+browserify-zlib@~0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
+ integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==
+ dependencies:
+ pako "~1.0.5"
+
+browserify@^16.0.0, browserify@^16.1.0, browserify@^16.2.3:
+ version "16.2.3"
+ resolved "https://registry.yarnpkg.com/browserify/-/browserify-16.2.3.tgz#7ee6e654ba4f92bce6ab3599c3485b1cc7a0ad0b"
+ integrity sha512-zQt/Gd1+W+IY+h/xX2NYMW4orQWhqSwyV+xsblycTtpOuB27h1fZhhNQuipJ4t79ohw4P4mMem0jp/ZkISQtjQ==
+ dependencies:
+ JSONStream "^1.0.3"
+ assert "^1.4.0"
+ browser-pack "^6.0.1"
+ browser-resolve "^1.11.0"
+ browserify-zlib "~0.2.0"
+ buffer "^5.0.2"
+ cached-path-relative "^1.0.0"
+ concat-stream "^1.6.0"
+ console-browserify "^1.1.0"
+ constants-browserify "~1.0.0"
+ crypto-browserify "^3.0.0"
+ defined "^1.0.0"
+ deps-sort "^2.0.0"
+ domain-browser "^1.2.0"
+ duplexer2 "~0.1.2"
+ events "^2.0.0"
+ glob "^7.1.0"
+ has "^1.0.0"
+ htmlescape "^1.1.0"
+ https-browserify "^1.0.0"
+ inherits "~2.0.1"
+ insert-module-globals "^7.0.0"
+ labeled-stream-splicer "^2.0.0"
+ mkdirp "^0.5.0"
+ module-deps "^6.0.0"
+ os-browserify "~0.3.0"
+ parents "^1.0.1"
+ path-browserify "~0.0.0"
+ process "~0.11.0"
+ punycode "^1.3.2"
+ querystring-es3 "~0.2.0"
+ read-only-stream "^2.0.0"
+ readable-stream "^2.0.2"
+ resolve "^1.1.4"
+ shasum "^1.0.0"
+ shell-quote "^1.6.1"
+ stream-browserify "^2.0.0"
+ stream-http "^2.0.0"
+ string_decoder "^1.1.1"
+ subarg "^1.0.0"
+ syntax-error "^1.1.1"
+ through2 "^2.0.0"
+ timers-browserify "^1.0.1"
+ tty-browserify "0.0.1"
+ url "~0.11.0"
+ util "~0.10.1"
+ vm-browserify "^1.0.0"
+ xtend "^4.0.0"
+
[email protected]:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/browserstack/-/browserstack-1.5.0.tgz#b565425ad62ed72c1082a1eb979d5313c7d4754f"
+ integrity sha1-tWVCWtYu1ywQgqHrl51TE8fUdU8=
+ dependencies:
+ https-proxy-agent "1.0.0"
+
+browserstacktunnel-wrapper@~2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/browserstacktunnel-wrapper/-/browserstacktunnel-wrapper-2.0.1.tgz#ffe1910d6e39fe86618183e826690041af53edae"
+ integrity sha1-/+GRDW45/oZhgYPoJmkAQa9T7a4=
+ dependencies:
+ https-proxy-agent "^1.0.0"
+ unzip "~0.1.9"
+
+buffer-from@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531"
+ integrity sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==
+
+buffer-xor@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
+ integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
+
+buffer@^5.0.2:
+ version "5.0.8"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.0.8.tgz#84daa52e7cf2fa8ce4195bc5cf0f7809e0930b24"
+ integrity sha512-xXvjQhVNz50v2nPeoOsNqWCLGfiv4ji/gXZM28jnVwdLJxH4mFyqgqCKfaK9zf1KUbG6zTkjLOy7ou+jSMarGA==
+ dependencies:
+ base64-js "^1.0.2"
+ ieee754 "^1.1.4"
+
+buffers@~0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb"
+ integrity sha1-skV5w77U1tOWru5tmorn9Ugqt7s=
+
+builtin-modules@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
+ integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=
+
+builtin-status-codes@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
+ integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
+
+bytes@1:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/bytes/-/bytes-1.0.0.tgz#3569ede8ba34315fab99c3e92cb04c7220de1fa8"
+ integrity sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=
+
[email protected]:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
+ integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=
+
+cache-base@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
+ integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
+ dependencies:
+ collection-visit "^1.0.0"
+ component-emitter "^1.2.1"
+ get-value "^2.0.6"
+ has-value "^1.0.0"
+ isobject "^3.0.1"
+ set-value "^2.0.0"
+ to-object-path "^0.3.0"
+ union-value "^1.0.0"
+ unset-value "^1.0.0"
+
+cached-path-relative@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.1.tgz#d09c4b52800aa4c078e2dd81a869aac90d2e54e7"
+ integrity sha1-0JxLUoAKpMB44t2BqGmqyQ0uVOc=
+
[email protected]:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
+ integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA=
+
+callsites@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+
+camelcase-keys@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
+ integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc=
+ dependencies:
+ camelcase "^2.0.0"
+ map-obj "^1.0.0"
+
+camelcase@^1.0.2:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
+ integrity sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=
+
+camelcase@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
+ integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=
+
+center-align@^0.1.1:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
+ integrity sha1-qg0yYptu6XIgBBHL1EYckHvCt60=
+ dependencies:
+ align-text "^0.1.3"
+ lazy-cache "^1.0.3"
+
+chai-as-promised@^7.1.1:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.1.tgz#08645d825deb8696ee61725dbf590c012eb00ca0"
+ integrity sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==
+ dependencies:
+ check-error "^1.0.2"
+
+chai-subset@^1.2.2:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/chai-subset/-/chai-subset-1.6.0.tgz#a5d0ca14e329a79596ed70058b6646bd6988cfe9"
+ integrity sha1-pdDKFOMpp5WW7XAFi2ZGvWmIz+k=
+
+chai@^4.1.2, chai@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5"
+ integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==
+ dependencies:
+ assertion-error "^1.1.0"
+ check-error "^1.0.2"
+ deep-eql "^3.0.1"
+ get-func-name "^2.0.0"
+ pathval "^1.1.0"
+ type-detect "^4.0.5"
+
+chainsaw@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98"
+ integrity sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=
+ dependencies:
+ traverse ">=0.3.0 <0.4"
+
+chalk@^1.1.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
+ integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
+ dependencies:
+ ansi-styles "^2.2.1"
+ escape-string-regexp "^1.0.2"
+ has-ansi "^2.0.0"
+ strip-ansi "^3.0.0"
+ supports-color "^2.0.0"
+
+chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba"
+ integrity sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==
+ dependencies:
+ ansi-styles "^3.1.0"
+ escape-string-regexp "^1.0.5"
+ supports-color "^4.0.0"
+
+chalk@^2.4.2, chalk@~2.4.1:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
+ integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
+ dependencies:
+ ansi-styles "^3.2.1"
+ escape-string-regexp "^1.0.5"
+ supports-color "^5.3.0"
+
+chardet@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
+ integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
+
+check-error@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
+ integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=
+
+chokidar@^2.1.1:
+ version "2.1.6"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5"
+ integrity sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==
+ dependencies:
+ anymatch "^2.0.0"
+ async-each "^1.0.1"
+ braces "^2.3.2"
+ glob-parent "^3.1.0"
+ inherits "^2.0.3"
+ is-binary-path "^1.0.0"
+ is-glob "^4.0.0"
+ normalize-path "^3.0.0"
+ path-is-absolute "^1.0.0"
+ readdirp "^2.2.1"
+ upath "^1.1.1"
+ optionalDependencies:
+ fsevents "^1.2.7"
+
+chokidar@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.0.0.tgz#6b538f0fd6d5d31d5dd2b59e05426bec0f49aa40"
+ integrity sha512-ebzWopcacB2J19Jsb5RPtMrzmjUZ5VAQnsL0Ztrix3lswozHbiDp+1Lg3AWSKHdwsps/W2vtshA/x3I827F78g==
+ dependencies:
+ anymatch "^3.0.1"
+ async-each "^1.0.3"
+ braces "^3.0.2"
+ glob-parent "^5.0.0"
+ is-binary-path "^2.1.0"
+ is-glob "^4.0.1"
+ normalize-path "^3.0.0"
+ readdirp "^3.0.1"
+ optionalDependencies:
+ fsevents "^2.0.6"
+
+chownr@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494"
+ integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==
+
+ci-info@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.2.tgz#03561259db48d0474c8bdc90f5b47b068b6bbfb4"
+ integrity sha512-uTGIPNx/nSpBdsF6xnseRXLLtfr9VLqkz8ZqHXr3Y7b6SftyRxBGjwMtJj1OhNbmlc1wZzLNAlAcvyIiE8a6ZA==
+
+cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
+ integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
+ dependencies:
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+class-utils@^0.3.5:
+ version "0.3.6"
+ resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
+ integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
+ dependencies:
+ arr-union "^3.1.0"
+ define-property "^0.2.5"
+ isobject "^3.0.0"
+ static-extend "^0.1.1"
+
+cli-cursor@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
+ integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=
+ dependencies:
+ restore-cursor "^2.0.0"
+
+cli-table@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23"
+ integrity sha1-9TsFJmqLGguTSz0IIebi3FkUriM=
+ dependencies:
+ colors "1.0.3"
+
+cli-width@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
+ integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=
+
+cliui@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
+ integrity sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=
+ dependencies:
+ center-align "^0.1.1"
+ right-align "^0.1.1"
+ wordwrap "0.0.2"
+
+code-point-at@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
+ integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
+
+coffeescript@~1.10.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/coffeescript/-/coffeescript-1.10.0.tgz#e7aa8301917ef621b35d8a39f348dcdd1db7e33e"
+ integrity sha1-56qDAZF+9iGzXYo580jc3R234z4=
+
+collection-visit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
+ integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
+ dependencies:
+ map-visit "^1.0.0"
+ object-visit "^1.0.0"
+
+color-convert@^1.9.0:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
+ integrity sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==
+ dependencies:
+ color-name "^1.1.1"
+
+color-name@^1.1.1:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+ integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
+
[email protected]:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
+ integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=
+
+colors@^1.1.0, colors@^1.1.2, colors@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
+ integrity sha1-FopHAXVran9RoSzgyXv6KMCE7WM=
+
+colors@~0.6.0-1:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc"
+ integrity sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=
+
+combine-source-map@~0.7.1:
+ version "0.7.2"
+ resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.7.2.tgz#0870312856b307a87cc4ac486f3a9a62aeccc09e"
+ integrity sha1-CHAxKFazB6h8xKxIbzqaYq7MwJ4=
+ dependencies:
+ convert-source-map "~1.1.0"
+ inline-source-map "~0.6.0"
+ lodash.memoize "~3.0.3"
+ source-map "~0.5.3"
+
+combined-stream@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
+ integrity sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=
+ dependencies:
+ delayed-stream "~1.0.0"
+
[email protected]:
+ version "2.11.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563"
+ integrity sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==
+
+commander@^2.9.0:
+ version "2.12.2"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.12.2.tgz#0f5946c427ed9ec0d91a46bb9def53e54650e555"
+ integrity sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==
+
+commander@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.1.0.tgz#d121bbae860d9992a3d517ba96f56588e47c6781"
+ integrity sha1-0SG7roYNmZKj1Re6lvVliOR8Z4E=
+
+compare-func@^1.3.1:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648"
+ integrity sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=
+ dependencies:
+ array-ify "^1.0.0"
+ dot-prop "^3.0.0"
+
[email protected]:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"
+ integrity sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=
+
[email protected], component-emitter@^1.2.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
+ integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=
+
+component-emitter@^1.2.1:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
+ integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
+
[email protected]:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143"
+ integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=
+
[email protected]:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+
[email protected], concat-stream@~1.6.0:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
+ integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
+ dependencies:
+ buffer-from "^1.0.0"
+ inherits "^2.0.3"
+ readable-stream "^2.2.2"
+ typedarray "^0.0.6"
+
+concat-stream@^1.5.0, concat-stream@^1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
+ integrity sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=
+ dependencies:
+ inherits "^2.0.3"
+ readable-stream "^2.2.2"
+ typedarray "^0.0.6"
+
+concat-stream@~1.5.1:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266"
+ integrity sha1-cIl4Yk2FavQaWnQd790mHadSwmY=
+ dependencies:
+ inherits "~2.0.1"
+ readable-stream "~2.0.0"
+ typedarray "~0.0.5"
+
+connect@^3.6.0:
+ version "3.6.5"
+ resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.5.tgz#fb8dde7ba0763877d0ec9df9dac0b4b40e72c7da"
+ integrity sha1-+43ee6B2OHfQ7J352sC0tA5yx9o=
+ dependencies:
+ debug "2.6.9"
+ finalhandler "1.0.6"
+ parseurl "~1.3.2"
+ utils-merge "1.0.1"
+
+console-browserify@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
+ integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=
+ dependencies:
+ date-now "^0.1.4"
+
+console-control-strings@^1.0.0, console-control-strings@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
+ integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
+
+constants-browserify@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
+ integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
+
+contains-path@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
+ integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=
+
+content-type@~1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
+ integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
+
+continuable-cache@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/continuable-cache/-/continuable-cache-0.3.1.tgz#bd727a7faed77e71ff3985ac93351a912733ad0f"
+ integrity sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=
+
+conventional-changelog-angular@^1.5.2:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.6.0.tgz#0a26a071f2c9fcfcf2b86ba0cfbf6e6301b75bfa"
+ integrity sha1-CiagcfLJ/PzyuGugz79uYwG3W/o=
+ dependencies:
+ compare-func "^1.3.1"
+ q "^1.4.1"
+
+conventional-changelog-atom@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-0.1.2.tgz#12595ad5267a6937c34cf900281b1c65198a4c63"
+ integrity sha1-Ella1SZ6aTfDTPkAKBscZRmKTGM=
+ dependencies:
+ q "^1.4.1"
+
+conventional-changelog-codemirror@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.2.1.tgz#299a4f7147baf350e6c8158fc54954a291c5cc09"
+ integrity sha1-KZpPcUe681DmyBWPxUlUopHFzAk=
+ dependencies:
+ q "^1.4.1"
+
+conventional-changelog-core@^1.9.3:
+ version "1.9.5"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-1.9.5.tgz#5db7566dad7c0cb75daf47fbb2976f7bf9928c1d"
+ integrity sha1-XbdWba18DLddr0f7spdve/mSjB0=
+ dependencies:
+ conventional-changelog-writer "^2.0.3"
+ conventional-commits-parser "^2.1.0"
+ dateformat "^1.0.12"
+ get-pkg-repo "^1.0.0"
+ git-raw-commits "^1.3.0"
+ git-remote-origin-url "^2.0.0"
+ git-semver-tags "^1.2.3"
+ lodash "^4.0.0"
+ normalize-package-data "^2.3.5"
+ q "^1.4.1"
+ read-pkg "^1.1.0"
+ read-pkg-up "^1.0.1"
+ through2 "^2.0.0"
+
+conventional-changelog-ember@^0.2.9:
+ version "0.2.10"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-0.2.10.tgz#dcd6e4cdc2e6c2b58653cf4d2cb1656a60421929"
+ integrity sha512-LBBBZO6Q7ib4HhSdyCNVR25OtaXl710UJg1aSHCLmR8AjuXKs3BO8tnbY1MH+D1C+z5IFoEDkpjOddefNTyhCQ==
+ dependencies:
+ q "^1.4.1"
+
+conventional-changelog-eslint@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-0.2.1.tgz#2c2a11beb216f80649ba72834180293b687c0662"
+ integrity sha1-LCoRvrIW+AZJunKDQYApO2h8BmI=
+ dependencies:
+ q "^1.4.1"
+
+conventional-changelog-express@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.2.1.tgz#838d9e1e6c9099703b150b9c19aa2d781742bd6c"
+ integrity sha1-g42eHmyQmXA7FQucGaoteBdCvWw=
+ dependencies:
+ q "^1.4.1"
+
+conventional-changelog-jquery@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz#0208397162e3846986e71273b6c79c5b5f80f510"
+ integrity sha1-Agg5cWLjhGmG5xJztsecW1+A9RA=
+ dependencies:
+ q "^1.4.1"
+
+conventional-changelog-jscs@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz#0479eb443cc7d72c58bf0bcf0ef1d444a92f0e5c"
+ integrity sha1-BHnrRDzH1yxYvwvPDvHURKkvDlw=
+ dependencies:
+ q "^1.4.1"
+
+conventional-changelog-jshint@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-0.2.1.tgz#86139bb3ac99899f2b177e9617e09b37d99bcf3a"
+ integrity sha1-hhObs6yZiZ8rF36WF+CbN9mbzzo=
+ dependencies:
+ compare-func "^1.3.1"
+ q "^1.4.1"
+
+conventional-changelog-writer@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-2.0.3.tgz#073b0c39f1cc8fc0fd9b1566e93833f51489c81c"
+ integrity sha512-2E1h7UXL0fhRO5h0CxDZ5EBc5sfBZEQePvuZ+gPvApiRrICUyNDy/NQIP+2TBd4wKZQf2Zm7TxbzXHG5HkPIbA==
+ dependencies:
+ compare-func "^1.3.1"
+ conventional-commits-filter "^1.1.1"
+ dateformat "^1.0.11"
+ handlebars "^4.0.2"
+ json-stringify-safe "^5.0.1"
+ lodash "^4.0.0"
+ meow "^3.3.0"
+ semver "^5.0.1"
+ split "^1.0.0"
+ through2 "^2.0.0"
+
+conventional-changelog@^1.1.0:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.7.tgz#9151a62b1d8edb2d82711dabf5b7cf71041f82b1"
+ integrity sha1-kVGmKx2O2y2CcR2r9bfPcQQfgrE=
+ dependencies:
+ conventional-changelog-angular "^1.5.2"
+ conventional-changelog-atom "^0.1.2"
+ conventional-changelog-codemirror "^0.2.1"
+ conventional-changelog-core "^1.9.3"
+ conventional-changelog-ember "^0.2.9"
+ conventional-changelog-eslint "^0.2.1"
+ conventional-changelog-express "^0.2.1"
+ conventional-changelog-jquery "^0.1.0"
+ conventional-changelog-jscs "^0.1.0"
+ conventional-changelog-jshint "^0.2.1"
+
+conventional-commit-types@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/conventional-commit-types/-/conventional-commit-types-2.2.0.tgz#5db95739d6c212acbe7b6f656a11b940baa68946"
+ integrity sha1-XblXOdbCEqy+e29lahG5QLqmiUY=
+
+conventional-commits-filter@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.1.1.tgz#72172319c0c88328a015b30686b55527b3a5e54a"
+ integrity sha512-bQyatySNKHhcaeKVr9vFxYWA1W1Tdz6ybVMYDmv4/FhOXY1+fchiW07TzRbIQZhVa4cvBwrEaEUQBbCncFSdJQ==
+ dependencies:
+ is-subset "^0.1.1"
+ modify-values "^1.0.0"
+
+conventional-commits-parser@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-2.1.0.tgz#9b4b7c91124bf2a1a9a2cc1c72760d382cbbb229"
+ integrity sha512-8MD05yN0Zb6aRsZnFX1ET+8rHWfWJk+my7ANCJZBU2mhz7TSB1fk2vZhkrwVy/PCllcTYAP/1T1NiWQ7Z01mKw==
+ dependencies:
+ JSONStream "^1.0.4"
+ is-text-path "^1.0.0"
+ lodash "^4.2.1"
+ meow "^3.3.0"
+ split2 "^2.0.0"
+ through2 "^2.0.0"
+ trim-off-newlines "^1.0.0"
+
+conventional-github-releaser@^1.1.0:
+ version "1.1.13"
+ resolved "https://registry.yarnpkg.com/conventional-github-releaser/-/conventional-github-releaser-1.1.13.tgz#0be7b3a7c7867e888be526475a590ff59303517c"
+ integrity sha1-C+ezp8eGfoiL5SZHWlkP9ZMDUXw=
+ dependencies:
+ conventional-changelog "^1.1.0"
+ dateformat "^1.0.11"
+ git-semver-tags "^1.0.0"
+ github "^0.2.4"
+ lodash.merge "^4.0.2"
+ meow "^3.3.0"
+ object-assign "^4.0.1"
+ q "^1.4.1"
+ semver "^5.0.1"
+ semver-regex "^1.0.0"
+ through2 "^2.0.0"
+
+convert-source-map@^1.1.3:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5"
+ integrity sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=
+
+convert-source-map@~1.1.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.1.3.tgz#4829c877e9fe49b3161f3bf3673888e204699860"
+ integrity sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=
+
[email protected]:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
+ integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=
+
+cookiejar@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.1.tgz#41ad57b1b555951ec171412a81942b1e8200d34a"
+ integrity sha1-Qa1XsbVVlR7BcUEqgZQrHoIA00o=
+
+copy-descriptor@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
+ integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
+
+core-js@^2.4.0:
+ version "2.5.3"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e"
+ integrity sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=
+
+core-js@^3.1.3:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.1.3.tgz#95700bca5f248f5f78c0ec63e784eca663ec4138"
+ integrity sha512-PWZ+ZfuaKf178BIAg+CRsljwjIMRV8MY00CbZczkR6Zk5LfkSkjGoaab3+bqRQWVITNZxQB7TFYz+CFcyuamvA==
+
[email protected], core-util-is@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+ integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
+
+create-ecdh@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d"
+ integrity sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=
+ dependencies:
+ bn.js "^4.1.0"
+ elliptic "^6.0.0"
+
+create-hash@^1.1.0, create-hash@^1.1.2:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd"
+ integrity sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=
+ dependencies:
+ cipher-base "^1.0.1"
+ inherits "^2.0.1"
+ ripemd160 "^2.0.0"
+ sha.js "^2.4.0"
+
+create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06"
+ integrity sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=
+ dependencies:
+ cipher-base "^1.0.3"
+ create-hash "^1.1.0"
+ inherits "^2.0.1"
+ ripemd160 "^2.0.0"
+ safe-buffer "^5.0.1"
+ sha.js "^2.4.8"
+
+cross-spawn@^6.0.5:
+ version "6.0.5"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
+ integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
+ dependencies:
+ nice-try "^1.0.4"
+ path-key "^2.0.1"
+ semver "^5.5.0"
+ shebang-command "^1.2.0"
+ which "^1.2.9"
+
+crypto-browserify@^3.0.0:
+ version "3.12.0"
+ resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
+ integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==
+ dependencies:
+ browserify-cipher "^1.0.0"
+ browserify-sign "^4.0.0"
+ create-ecdh "^4.0.0"
+ create-hash "^1.1.0"
+ create-hmac "^1.1.0"
+ diffie-hellman "^5.0.0"
+ inherits "^2.0.1"
+ pbkdf2 "^3.0.3"
+ public-encrypt "^4.0.0"
+ randombytes "^2.0.0"
+ randomfill "^1.0.3"
+
+cucumber-expressions@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/cucumber-expressions/-/cucumber-expressions-3.0.0.tgz#4cf424813dae396cc9dab714b8104b459befc32c"
+ integrity sha1-TPQkgT2uOWzJ2rcUuBBLRZvvwyw=
+
+cucumber-expressions@^5.0.7:
+ version "5.0.7"
+ resolved "https://registry.yarnpkg.com/cucumber-expressions/-/cucumber-expressions-5.0.7.tgz#67624571178a4c5a07de055c7862025b3f8b0b18"
+ integrity sha1-Z2JFcReKTFoH3gVceGICWz+LCxg=
+ dependencies:
+ becke-ch--regex--s0-0-v1--base--pl--lib "^1.2.0"
+
+cucumber-html-reporter@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/cucumber-html-reporter/-/cucumber-html-reporter-3.0.4.tgz#1be0dee83f30a2f4719207859a5440ce082ffadd"
+ integrity sha512-uit68jymdI8Z6m+kJ5YnJPeHf5IdYXt2j52l5xLwgpcLBQRhCvr1peV9UODaCN5nLnRN9nqh1qaw4iNp1rTpvQ==
+ dependencies:
+ find "^0.2.7"
+ fs-extra "^3.0.1"
+ js-base64 "^2.3.2"
+ jsonfile "^3.0.0"
+ lodash "^4.17.2"
+ open "0.0.5"
+
+cucumber-parallel@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/cucumber-parallel/-/cucumber-parallel-2.0.3.tgz#4e3a97d3c5ddb129d92965db31d2a8a2a04d5b69"
+ integrity sha512-nyVl3bC0vaL/Lq2VAjVz0uhpGKbbP6eG+VwoEU1SU95Fau8ZKmdZ9XBftDXpnnZYBRhyyGMx1YbuB0ZObGFtlQ==
+ dependencies:
+ babel-runtime "^6.23.0"
+ bluebird "^3.5.0"
+ colors "^1.1.2"
+ commander "^2.9.0"
+ cucumber "^2.3.1"
+ debug "^2.2.0"
+ events "^1.1.1"
+ fs-finder "^1.8.1"
+ gherkin "^4.1.3"
+ lodash "^4.0.0"
+
+cucumber-tag-expressions@^1.0.0, cucumber-tag-expressions@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/cucumber-tag-expressions/-/cucumber-tag-expressions-1.1.1.tgz#7f5c7b70009bc2b666591bfe64854578bedee85a"
+ integrity sha1-f1x7cACbwrZmWRv+ZIVFeL7e6Fo=
+
+cucumber@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/cucumber/-/cucumber-2.3.1.tgz#3791a51ffd0c61462ad57fdb8ed111d55b51cde3"
+ integrity sha1-N5GlH/0MYUYq1X/bjtER1VtRzeM=
+ dependencies:
+ assertion-error-formatter "^2.0.0"
+ babel-runtime "^6.11.6"
+ bluebird "^3.4.1"
+ cli-table "^0.3.1"
+ colors "^1.1.2"
+ commander "^2.9.0"
+ cucumber-expressions "^3.0.0"
+ cucumber-tag-expressions "^1.0.0"
+ duration "^0.2.0"
+ figures "2.0.0"
+ gherkin "^4.1.0"
+ glob "^7.0.0"
+ indent-string "^3.1.0"
+ is-generator "^1.0.2"
+ is-stream "^1.1.0"
+ lodash "^4.0.0"
+ mz "^2.4.0"
+ progress "^2.0.0"
+ resolve "^1.3.3"
+ stack-chain "^1.3.5"
+ stacktrace-js "^2.0.0"
+ string-argv "0.0.2"
+ upper-case-first "^1.1.2"
+ util-arity "^1.0.2"
+ verror "^1.9.0"
+
+cucumber@^3.1.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/cucumber/-/cucumber-3.2.0.tgz#5fc4143f9a0c6c3017bb9610a941b2cbc714f493"
+ integrity sha512-MzGPeqfxVl7Mr/QUPxqSCifQ3JZQewfT1rFJI2NgXYdeH1MfwdWcdspRVO6ZN9AI5Tm51UNjrO+eqgEAv7ygOw==
+ dependencies:
+ assertion-error-formatter "^2.0.1"
+ babel-runtime "^6.11.6"
+ bluebird "^3.4.1"
+ cli-table "^0.3.1"
+ colors "^1.1.2"
+ commander "^2.9.0"
+ cucumber-expressions "^5.0.7"
+ cucumber-tag-expressions "^1.1.1"
+ duration "^0.2.0"
+ escape-string-regexp "^1.0.5"
+ figures "2.0.0"
+ gherkin "^5.0.0"
+ glob "^7.0.0"
+ indent-string "^3.1.0"
+ is-generator "^1.0.2"
+ is-stream "^1.1.0"
+ lodash "^4.0.0"
+ mz "^2.4.0"
+ progress "^2.0.0"
+ resolve "^1.3.3"
+ stack-chain "^2.0.0"
+ stacktrace-js "^2.0.0"
+ string-argv "0.0.2"
+ title-case "^2.1.1"
+ util-arity "^1.0.2"
+ verror "^1.9.0"
+
+currently-unhandled@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
+ integrity sha1-mI3zP+qxke95mmE2nddsF635V+o=
+ dependencies:
+ array-find-index "^1.0.1"
+
+custom-event@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425"
+ integrity sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=
+
+d@1:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f"
+ integrity sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=
+ dependencies:
+ es5-ext "^0.10.9"
+
+d@~0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309"
+ integrity sha1-2hhMU10Y2O57oqoim5FACfrhEwk=
+ dependencies:
+ es5-ext "~0.10.2"
+
+dargs@^4.0.1:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17"
+ integrity sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=
+ dependencies:
+ number-is-nan "^1.0.0"
+
+date-format@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/date-format/-/date-format-2.0.0.tgz#7cf7b172f1ec564f0003b39ea302c5498fb98c8f"
+ integrity sha512-M6UqVvZVgFYqZL1SfHsRGIQSz3ZL+qgbsV5Lp1Vj61LZVYuEwcMXYay7DRDtYs2HQQBK5hQtQ0fD9aEJ89V0LA==
+
+date-now@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
+ integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=
+
+dateformat@^1.0.11, dateformat@^1.0.12, dateformat@~1.0.12:
+ version "1.0.12"
+ resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9"
+ integrity sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=
+ dependencies:
+ get-stdin "^4.0.1"
+ meow "^3.3.0"
+
+debug@2, [email protected], debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9:
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+ dependencies:
+ ms "2.0.0"
+
[email protected], debug@^3.1.0, debug@~3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
+ integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
+ dependencies:
+ ms "2.0.0"
+
+debug@^3.2.6:
+ version "3.2.6"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
+ integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
+ dependencies:
+ ms "^2.1.1"
+
+debug@^4.0.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
+ integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
+ dependencies:
+ ms "^2.1.1"
+
+decamelize@^1.0.0, decamelize@^1.1.2:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+ integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
+
+decode-uri-component@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
+ integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
+
+deep-eql@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df"
+ integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==
+ dependencies:
+ type-detect "^4.0.0"
+
+deep-extend@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
+ integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
+
+deep-is@~0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
+ integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
+
+define-properties@^1.1.2:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
+ integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
+ dependencies:
+ object-keys "^1.0.12"
+
+define-property@^0.2.5:
+ version "0.2.5"
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
+ integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
+ dependencies:
+ is-descriptor "^0.1.0"
+
+define-property@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
+ integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
+ dependencies:
+ is-descriptor "^1.0.0"
+
+define-property@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
+ integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
+ dependencies:
+ is-descriptor "^1.0.2"
+ isobject "^3.0.1"
+
+defined@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
+ integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=
+
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
+
+delegates@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
+ integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
+
[email protected], depd@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359"
+ integrity sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=
+
+deps-sort@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/deps-sort/-/deps-sort-2.0.0.tgz#091724902e84658260eb910748cccd1af6e21fb5"
+ integrity sha1-CRckkC6EZYJg65EHSMzNGvbiH7U=
+ dependencies:
+ JSONStream "^1.0.3"
+ shasum "^1.0.0"
+ subarg "^1.0.0"
+ through2 "^2.0.0"
+
+des.js@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"
+ integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=
+ dependencies:
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+
+detect-libc@^1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
+ integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
+
+detective@^5.0.2:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/detective/-/detective-5.1.0.tgz#7a20d89236d7b331ccea65832e7123b5551bb7cb"
+ integrity sha512-TFHMqfOvxlgrfVzTEkNBSh9SvSNX/HfF4OFI2QFGCyPm02EsyILqnUeb5P6q7JZ3SFNTBL5t2sePRgrN4epUWQ==
+ dependencies:
+ acorn-node "^1.3.0"
+ defined "^1.0.0"
+ minimist "^1.1.1"
+
+di@^0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c"
+ integrity sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=
+
[email protected]:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75"
+ integrity sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==
+
+diff@^3.0.0, diff@^3.5.0:
+ version "3.5.0"
+ resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
+ integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==
+
+diffie-hellman@^5.0.0:
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e"
+ integrity sha1-tYNXOScM/ias9jIJn97SoH8gnl4=
+ dependencies:
+ bn.js "^4.1.0"
+ miller-rabin "^4.0.0"
+ randombytes "^2.0.0"
+
[email protected]:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
+ integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=
+ dependencies:
+ esutils "^2.0.2"
+ isarray "^1.0.0"
+
+doctrine@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
+ integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
+ dependencies:
+ esutils "^2.0.2"
+
+dom-serialize@^2.2.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b"
+ integrity sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=
+ dependencies:
+ custom-event "~1.0.0"
+ ent "~2.2.0"
+ extend "^3.0.0"
+ void-elements "^2.0.0"
+
+domain-browser@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
+ integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
+
+dot-prop@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177"
+ integrity sha1-G3CK8JSknJoOfbyteQq6U52sEXc=
+ dependencies:
+ is-obj "^1.0.0"
+
+duplexer2@^0.1.2, duplexer2@~0.1.0, duplexer2@~0.1.2:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1"
+ integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=
+ dependencies:
+ readable-stream "^2.0.2"
+
+duration@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/duration/-/duration-0.2.0.tgz#5f9c4dfaafff655de986112efe25c5978dd85146"
+ integrity sha1-X5xN+q//ZV3phhEu/iXFl43YUUY=
+ dependencies:
+ d "~0.1.1"
+ es5-ext "~0.10.2"
+
[email protected]:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
+ integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
+
+elliptic@^6.0.0:
+ version "6.4.0"
+ resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df"
+ integrity sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=
+ dependencies:
+ bn.js "^4.4.0"
+ brorand "^1.0.1"
+ hash.js "^1.0.0"
+ hmac-drbg "^1.0.0"
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+ minimalistic-crypto-utils "^1.0.0"
+
+emoji-regex@^7.0.1:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
+ integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
+
+encodeurl@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20"
+ integrity sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=
+
+engine.io-client@~3.2.0:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.2.1.tgz#6f54c0475de487158a1a7c77d10178708b6add36"
+ integrity sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==
+ dependencies:
+ component-emitter "1.2.1"
+ component-inherit "0.0.3"
+ debug "~3.1.0"
+ engine.io-parser "~2.1.1"
+ has-cors "1.1.0"
+ indexof "0.0.1"
+ parseqs "0.0.5"
+ parseuri "0.0.5"
+ ws "~3.3.1"
+ xmlhttprequest-ssl "~1.5.4"
+ yeast "0.1.2"
+
+engine.io-parser@~2.1.0, engine.io-parser@~2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.1.1.tgz#e0fb3f0e0462f7f58bb77c1a52e9f5a7e26e4668"
+ integrity sha1-4Ps/DgRi9/WLt3waUun1p+JuRmg=
+ dependencies:
+ after "0.8.2"
+ arraybuffer.slice "0.0.6"
+ base64-arraybuffer "0.1.5"
+ blob "0.0.4"
+ has-binary2 "~1.0.2"
+
+engine.io@~3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.2.0.tgz#54332506f42f2edc71690d2f2a42349359f3bf7d"
+ integrity sha512-mRbgmAtQ4GAlKwuPnnAvXXwdPhEx+jkc0OBCLrXuD/CRvwNK3AxRSnqK4FSqmAMRRHryVJP8TopOvmEaA64fKw==
+ dependencies:
+ accepts "~1.3.4"
+ base64id "1.0.0"
+ cookie "0.3.1"
+ debug "~3.1.0"
+ engine.io-parser "~2.1.0"
+ ws "~3.3.1"
+
+ent@~2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d"
+ integrity sha1-6WQhkyWiHQX0RGai9obtbOX13R0=
+
+error-ex@^1.2.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
+ integrity sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=
+ dependencies:
+ is-arrayish "^0.2.1"
+
+error-stack-parser@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.1.tgz#a3202b8fb03114aa9b40a0e3669e48b2b65a010a"
+ integrity sha1-oyArj7AxFKqbQKDjZp5IsrZaAQo=
+ dependencies:
+ stackframe "^1.0.3"
+
+error@^7.0.0:
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/error/-/error-7.0.2.tgz#a5f75fff4d9926126ddac0ea5dc38e689153cb02"
+ integrity sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=
+ dependencies:
+ string-template "~0.2.1"
+ xtend "~4.0.0"
+
+es-abstract@^1.7.0:
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9"
+ integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==
+ dependencies:
+ es-to-primitive "^1.2.0"
+ function-bind "^1.1.1"
+ has "^1.0.3"
+ is-callable "^1.1.4"
+ is-regex "^1.0.4"
+ object-keys "^1.0.12"
+
+es-to-primitive@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377"
+ integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==
+ dependencies:
+ is-callable "^1.1.4"
+ is-date-object "^1.0.1"
+ is-symbol "^1.0.2"
+
+es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14, es5-ext@~0.10.2:
+ version "0.10.37"
+ resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.37.tgz#0ee741d148b80069ba27d020393756af257defc3"
+ integrity sha1-DudB0Ui4AGm6J9AgOTdWryV978M=
+ dependencies:
+ es6-iterator "~2.0.1"
+ es6-symbol "~3.1.1"
+
+es6-iterator@~2.0.1:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
+ integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
+ dependencies:
+ d "1"
+ es5-ext "^0.10.35"
+ es6-symbol "^3.1.1"
+
+es6-promise@^4.0.3:
+ version "4.2.5"
+ resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.5.tgz#da6d0d5692efb461e082c14817fe2427d8f5d054"
+ integrity sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==
+
+es6-promisify@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203"
+ integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=
+ dependencies:
+ es6-promise "^4.0.3"
+
+es6-symbol@^3.1.1, es6-symbol@~3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"
+ integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=
+ dependencies:
+ d "1"
+ es5-ext "~0.10.14"
+
+escape-html@~1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
+ integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
+
+escape-regexp@~0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/escape-regexp/-/escape-regexp-0.0.1.tgz#f44bda12d45bbdf9cb7f862ee7e4827b3dd32254"
+ integrity sha1-9EvaEtRbvfnLf4Yu5+SCez3TIlQ=
+
[email protected], escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+ integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
+
+eslint-config-standard@^12.0.0:
+ version "12.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz#638b4c65db0bd5a41319f96bba1f15ddad2107d9"
+ integrity sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ==
+
+eslint-import-resolver-node@^0.3.2:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a"
+ integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==
+ dependencies:
+ debug "^2.6.9"
+ resolve "^1.5.0"
+
+eslint-module-utils@^2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.0.tgz#8b93499e9b00eab80ccb6614e69f03678e84e09a"
+ integrity sha512-14tltLm38Eu3zS+mt0KvILC3q8jyIAH518MlG+HO0p+yK885Lb1UHTY/UgR91eOyGdmxAPb+OLoW4znqIT6Ndw==
+ dependencies:
+ debug "^2.6.8"
+ pkg-dir "^2.0.0"
+
+eslint-plugin-es@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-1.4.0.tgz#475f65bb20c993fc10e8c8fe77d1d60068072da6"
+ integrity sha512-XfFmgFdIUDgvaRAlaXUkxrRg5JSADoRC8IkKLc/cISeR3yHVMefFHQZpcyXXEUUPHfy5DwviBcrfqlyqEwlQVw==
+ dependencies:
+ eslint-utils "^1.3.0"
+ regexpp "^2.0.1"
+
+eslint-plugin-import@^2.17.2:
+ version "2.17.2"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.17.2.tgz#d227d5c6dc67eca71eb590d2bb62fb38d86e9fcb"
+ integrity sha512-m+cSVxM7oLsIpmwNn2WXTJoReOF9f/CtLMo7qOVmKd1KntBy0hEcuNZ3erTmWjx+DxRO0Zcrm5KwAvI9wHcV5g==
+ dependencies:
+ array-includes "^3.0.3"
+ contains-path "^0.1.0"
+ debug "^2.6.9"
+ doctrine "1.5.0"
+ eslint-import-resolver-node "^0.3.2"
+ eslint-module-utils "^2.4.0"
+ has "^1.0.3"
+ lodash "^4.17.11"
+ minimatch "^3.0.4"
+ read-pkg-up "^2.0.0"
+ resolve "^1.10.0"
+
+eslint-plugin-node@^9.0.1:
+ version "9.0.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-9.0.1.tgz#93e44626fa62bcb6efea528cee9687663dc03b62"
+ integrity sha512-fljT5Uyy3lkJzuqhxrYanLSsvaILs9I7CmQ31atTtZ0DoIzRbbvInBh4cQ1CrthFHInHYBQxfPmPt6KLHXNXdw==
+ dependencies:
+ eslint-plugin-es "^1.4.0"
+ eslint-utils "^1.3.1"
+ ignore "^5.1.1"
+ minimatch "^3.0.4"
+ resolve "^1.10.1"
+ semver "^6.0.0"
+
+eslint-plugin-promise@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.1.1.tgz#1e08cb68b5b2cd8839f8d5864c796f56d82746db"
+ integrity sha512-faAHw7uzlNPy7b45J1guyjazw28M+7gJokKUjC5JSFoYfUEyy6Gw/i7YQvmv2Yk00sUjWcmzXQLpU1Ki/C2IZQ==
+
+eslint-plugin-standard@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-4.0.0.tgz#f845b45109c99cd90e77796940a344546c8f6b5c"
+ integrity sha512-OwxJkR6TQiYMmt1EsNRMe5qG3GsbjlcOhbGUBY4LtavF9DsLaTcoR+j2Tdjqi23oUwKNUqX7qcn5fPStafMdlA==
+
+eslint-scope@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
+ integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==
+ dependencies:
+ esrecurse "^4.1.0"
+ estraverse "^4.1.1"
+
+eslint-utils@^1.3.0, eslint-utils@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512"
+ integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==
+
+eslint-visitor-keys@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"
+ integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==
+
+eslint@^5.0.0, eslint@^5.16.0:
+ version "5.16.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea"
+ integrity sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ ajv "^6.9.1"
+ chalk "^2.1.0"
+ cross-spawn "^6.0.5"
+ debug "^4.0.1"
+ doctrine "^3.0.0"
+ eslint-scope "^4.0.3"
+ eslint-utils "^1.3.1"
+ eslint-visitor-keys "^1.0.0"
+ espree "^5.0.1"
+ esquery "^1.0.1"
+ esutils "^2.0.2"
+ file-entry-cache "^5.0.1"
+ functional-red-black-tree "^1.0.1"
+ glob "^7.1.2"
+ globals "^11.7.0"
+ ignore "^4.0.6"
+ import-fresh "^3.0.0"
+ imurmurhash "^0.1.4"
+ inquirer "^6.2.2"
+ js-yaml "^3.13.0"
+ json-stable-stringify-without-jsonify "^1.0.1"
+ levn "^0.3.0"
+ lodash "^4.17.11"
+ minimatch "^3.0.4"
+ mkdirp "^0.5.1"
+ natural-compare "^1.4.0"
+ optionator "^0.8.2"
+ path-is-inside "^1.0.2"
+ progress "^2.0.0"
+ regexpp "^2.0.1"
+ semver "^5.5.1"
+ strip-ansi "^4.0.0"
+ strip-json-comments "^2.0.1"
+ table "^5.2.3"
+ text-table "^0.2.0"
+
+espree@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a"
+ integrity sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==
+ dependencies:
+ acorn "^6.0.7"
+ acorn-jsx "^5.0.0"
+ eslint-visitor-keys "^1.0.0"
+
+esprima@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
+ integrity sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==
+
+esquery@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
+ integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==
+ dependencies:
+ estraverse "^4.0.0"
+
+esrecurse@^4.1.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163"
+ integrity sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=
+ dependencies:
+ estraverse "^4.1.0"
+ object-assign "^4.0.1"
+
+estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
+ integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=
+
+esutils@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
+ integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=
+
+eventemitter2@~0.4.13:
+ version "0.4.14"
+ resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz#8f61b75cde012b2e9eb284d4545583b5643b61ab"
+ integrity sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=
+
[email protected]:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508"
+ integrity sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=
+
+events@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
+ integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=
+
+events@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/events/-/events-2.0.0.tgz#cbbb56bf3ab1ac18d71c43bb32c86255062769f2"
+ integrity sha512-r/M5YkNg9zwI8QbSf7tsDWWJvO3PGwZXyG7GpFAxtMASnHL2eblFd7iHiGPtyGKKFPZ59S63NeX10Ws6WqGDcg==
+
+evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
+ integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==
+ dependencies:
+ md5.js "^1.3.4"
+ safe-buffer "^5.1.1"
+
+exit@~0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
+ integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=
+
+expand-brackets@^2.1.4:
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
+ integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
+ dependencies:
+ debug "^2.3.3"
+ define-property "^0.2.5"
+ extend-shallow "^2.0.1"
+ posix-character-classes "^0.1.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
+extend-shallow@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
+ integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
+ dependencies:
+ is-extendable "^0.1.0"
+
+extend-shallow@^3.0.0, extend-shallow@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
+ integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
+ dependencies:
+ assign-symbols "^1.0.0"
+ is-extendable "^1.0.1"
+
+extend@3, extend@^3.0.0, extend@~3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
+ integrity sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=
+
+external-editor@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27"
+ integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==
+ dependencies:
+ chardet "^0.7.0"
+ iconv-lite "^0.4.24"
+ tmp "^0.0.33"
+
+extglob@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
+ integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
+ dependencies:
+ array-unique "^0.3.2"
+ define-property "^1.0.0"
+ expand-brackets "^2.1.4"
+ extend-shallow "^2.0.1"
+ fragment-cache "^0.2.1"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
+extract-zip@^1.6.6:
+ version "1.6.7"
+ resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz#a840b4b8af6403264c8db57f4f1a74333ef81fe9"
+ integrity sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=
+ dependencies:
+ concat-stream "1.6.2"
+ debug "2.6.9"
+ mkdirp "0.5.1"
+ yauzl "2.4.1"
+
+extsprintf@^1.2.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
+ integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
+
+fast-deep-equal@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
+ integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
+
+fast-json-stable-stringify@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
+ integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
+
+fast-levenshtein@~2.0.4:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+ integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
+
+faye-websocket@~0.10.0:
+ version "0.10.0"
+ resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"
+ integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=
+ dependencies:
+ websocket-driver ">=0.5.1"
+
+fd-slicer@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65"
+ integrity sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=
+ dependencies:
+ pend "~1.2.0"
+
[email protected], figures@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
+ integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=
+ dependencies:
+ escape-string-regexp "^1.0.5"
+
+file-entry-cache@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
+ integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==
+ dependencies:
+ flat-cache "^2.0.1"
+
+fill-keys@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/fill-keys/-/fill-keys-1.0.2.tgz#9a8fa36f4e8ad634e3bf6b4f3c8882551452eb20"
+ integrity sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=
+ dependencies:
+ is-object "~1.0.1"
+ merge-descriptors "~1.0.0"
+
+fill-range@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
+ integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
+ dependencies:
+ extend-shallow "^2.0.1"
+ is-number "^3.0.0"
+ repeat-string "^1.6.1"
+ to-regex-range "^2.1.0"
+
+fill-range@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+ integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+ dependencies:
+ to-regex-range "^5.0.1"
+
[email protected]:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.6.tgz#007aea33d1a4d3e42017f624848ad58d212f814f"
+ integrity sha1-AHrqM9Gk0+QgF/YkhIrVjSEvgU8=
+ dependencies:
+ debug "2.6.9"
+ encodeurl "~1.0.1"
+ escape-html "~1.0.3"
+ on-finished "~2.3.0"
+ parseurl "~1.3.2"
+ statuses "~1.3.1"
+ unpipe "~1.0.0"
+
+find-parent-dir@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.0.tgz#33c44b429ab2b2f0646299c5f9f718f376ff8d54"
+ integrity sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=
+
+find-up@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
+ integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=
+ dependencies:
+ path-exists "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+find-up@^2.0.0, find-up@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+ integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
+ dependencies:
+ locate-path "^2.0.0"
+
+find@^0.2.7:
+ version "0.2.7"
+ resolved "https://registry.yarnpkg.com/find/-/find-0.2.7.tgz#7afbd00f8f08c5b622f97cda6f714173d547bb3f"
+ integrity sha1-evvQD48IxbYi+Xzab3FBc9VHuz8=
+ dependencies:
+ traverse-chain "~0.1.0"
+
+findup-sync@~0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16"
+ integrity sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=
+ dependencies:
+ glob "~5.0.0"
+
[email protected]:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/findup/-/findup-0.1.5.tgz#8ad929a3393bac627957a7e5de4623b06b0e2ceb"
+ integrity sha1-itkpozk7rGJ5V6fl3kYjsGsOLOs=
+ dependencies:
+ colors "~0.6.0-1"
+ commander "~2.1.0"
+
+flat-cache@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
+ integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==
+ dependencies:
+ flatted "^2.0.0"
+ rimraf "2.6.3"
+ write "1.0.3"
+
+flatted@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.0.tgz#55122b6536ea496b4b44893ee2608141d10d9916"
+ integrity sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==
+
+for-in@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
+ integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
+
+form-data@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf"
+ integrity sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.5"
+ mime-types "^2.1.12"
+
+formidable@^1.2.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.2.1.tgz#70fb7ca0290ee6ff961090415f4b3df3d2082659"
+ integrity sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==
+
+fragment-cache@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
+ integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
+ dependencies:
+ map-cache "^0.2.2"
+
+fs-access@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a"
+ integrity sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=
+ dependencies:
+ null-check "^1.0.0"
+
+fs-extra@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291"
+ integrity sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^3.0.0"
+ universalify "^0.1.0"
+
+fs-extra@^7.0.0:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9"
+ integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^4.0.0"
+ universalify "^0.1.0"
+
+fs-finder@^1.8.1:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/fs-finder/-/fs-finder-1.8.1.tgz#106fea8aa89d0af343360663d5855862cae1b874"
+ integrity sha1-EG/qiqidCvNDNgZj1YVYYsrhuHQ=
+ dependencies:
+ async "~0.2.9"
+ escape-regexp "~0.0.1"
+ moment "~2.5.0"
+ operator-compare "~1.0.1"
+ q "~1.0.0"
+
+fs-minipass@^1.2.5:
+ version "1.2.6"
+ resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07"
+ integrity sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ==
+ dependencies:
+ minipass "^2.2.1"
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
+
+fsevents@^1.2.7:
+ version "1.2.9"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f"
+ integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==
+ dependencies:
+ nan "^2.12.1"
+ node-pre-gyp "^0.12.0"
+
+fsevents@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.0.6.tgz#87b19df0bfb4a1a51d7ddb51b01b5f3bedb40c33"
+ integrity sha512-vfmKZp3XPM36DNF0qhW+Cdxk7xm7gTEHY1clv1Xq1arwRQuKZgAhw+NZNWbJBtuaNxzNXwhfdPYRrvIbjfS33A==
+
+"fstream@>= 0.1.30 < 1":
+ version "0.1.31"
+ resolved "https://registry.yarnpkg.com/fstream/-/fstream-0.1.31.tgz#7337f058fbbbbefa8c9f561a28cab0849202c988"
+ integrity sha1-czfwWPu7vvqMn1YaKMqwhJICyYg=
+ dependencies:
+ graceful-fs "~3.0.2"
+ inherits "~2.0.0"
+ mkdirp "0.5"
+ rimraf "2"
+
+function-bind@^1.0.2, function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+functional-red-black-tree@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
+ integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
+
+gauge@~2.7.3:
+ version "2.7.4"
+ resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
+ integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
+ dependencies:
+ aproba "^1.0.3"
+ console-control-strings "^1.0.0"
+ has-unicode "^2.0.0"
+ object-assign "^4.1.0"
+ signal-exit "^3.0.0"
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+ wide-align "^1.1.0"
+
+gaze@^1.1.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a"
+ integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==
+ dependencies:
+ globule "^1.0.0"
+
+get-func-name@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41"
+ integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=
+
+get-pkg-repo@^1.0.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d"
+ integrity sha1-xztInAbYDMVTbCyFP54FIyBWly0=
+ dependencies:
+ hosted-git-info "^2.1.4"
+ meow "^3.3.0"
+ normalize-package-data "^2.3.0"
+ parse-github-repo-url "^1.3.0"
+ through2 "^2.0.0"
+
+get-stdin@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
+ integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=
+
+get-value@^2.0.3, get-value@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
+ integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
+
+getobject@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/getobject/-/getobject-0.1.0.tgz#047a449789fa160d018f5486ed91320b6ec7885c"
+ integrity sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=
+
+gherkin@^4.1.0, gherkin@^4.1.3:
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/gherkin/-/gherkin-4.1.3.tgz#11687db93976df97633125a6b2228a1a4bfdfa24"
+ integrity sha1-EWh9uTl235djMSWmsiKKGkv9+iQ=
+
+gherkin@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/gherkin/-/gherkin-5.0.0.tgz#96def41198ec3908258b511af74f655a2764d2a1"
+ integrity sha1-lt70EZjsOQgli1Ea909lWidk0qE=
+
+git-raw-commits@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.3.0.tgz#0bc8596e90d5ffe736f7f5546bd2d12f73abaac6"
+ integrity sha1-C8hZbpDV/+c29/VUa9LRL3OrqsY=
+ dependencies:
+ dargs "^4.0.1"
+ lodash.template "^4.0.2"
+ meow "^3.3.0"
+ split2 "^2.0.0"
+ through2 "^2.0.0"
+
+git-remote-origin-url@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f"
+ integrity sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=
+ dependencies:
+ gitconfiglocal "^1.0.0"
+ pify "^2.3.0"
+
+git-semver-tags@^1.0.0, git-semver-tags@^1.2.3:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.2.3.tgz#188b453882bf9d7a23afd31baba537dab7388d5d"
+ integrity sha1-GItFOIK/nXojr9Mbq6U32rc4jV0=
+ dependencies:
+ meow "^3.3.0"
+ semver "^5.0.1"
+
+gitconfiglocal@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b"
+ integrity sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=
+ dependencies:
+ ini "^1.3.2"
+
+github@^0.2.4:
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/github/-/github-0.2.4.tgz#24fa7f0e13fa11b946af91134c51982a91ce538b"
+ integrity sha1-JPp/DhP6EblGr5ETTFGYKpHOU4s=
+ dependencies:
+ mime "^1.2.11"
+
+glob-parent@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
+ integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=
+ dependencies:
+ is-glob "^3.1.0"
+ path-dirname "^1.0.0"
+
+glob-parent@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.0.0.tgz#1dc99f0f39b006d3e92c2c284068382f0c20e954"
+ integrity sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==
+ dependencies:
+ is-glob "^4.0.1"
+
[email protected], glob@^7.0.0, glob@^7.0.5, glob@^7.1.0, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1:
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
+ integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@^7.1.3:
+ version "7.1.4"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
+ integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@~5.0.0:
+ version "5.0.15"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
+ integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=
+ dependencies:
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "2 || 3"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@~7.0.0:
+ version "7.0.6"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a"
+ integrity sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.2"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+globals@^11.7.0:
+ version "11.12.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
+ integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
+
+globule@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.0.tgz#1dc49c6822dd9e8a2fa00ba2a295006e8664bd09"
+ integrity sha1-HcScaCLdnoovoAuiopUAboZkvQk=
+ dependencies:
+ glob "~7.1.1"
+ lodash "~4.17.4"
+ minimatch "~3.0.2"
+
+graceful-fs@^4.1.11:
+ version "4.1.15"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
+ integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
+
+graceful-fs@^4.1.2, graceful-fs@^4.1.6:
+ version "4.1.11"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
+ integrity sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=
+
+graceful-fs@~3.0.2:
+ version "3.0.11"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818"
+ integrity sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=
+ dependencies:
+ natives "^1.1.0"
+
[email protected]:
+ version "1.10.3"
+ resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f"
+ integrity sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==
+
+grunt-auto-release@^0.0.7:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/grunt-auto-release/-/grunt-auto-release-0.0.7.tgz#4a1be3254b10a17b341e402f51b85191e86cf4d1"
+ integrity sha1-ShvjJUsQoXs0HkAvUbhRkehs9NE=
+
+grunt-browserify@^5.0.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/grunt-browserify/-/grunt-browserify-5.3.0.tgz#47fd8cf8bac58fe2de683afdc57f7f3a80ca792d"
+ integrity sha1-R/2M+LrFj+LeaDr9xX9/OoDKeS0=
+ dependencies:
+ async "^2.5.0"
+ browserify "^16.0.0"
+ browserify-incremental "^3.1.1"
+ glob "^7.1.2"
+ lodash "^4.17.4"
+ resolve "^1.1.6"
+ watchify "^3.6.1"
+
+grunt-bump@^0.8.0:
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/grunt-bump/-/grunt-bump-0.8.0.tgz#d3ffe0cf3cf0b38e09607b78538f42a531eafe55"
+ integrity sha1-0//gzzzws44JYHt4U49CpTHq/lU=
+ dependencies:
+ semver "^5.1.0"
+
+grunt-check-clean@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/grunt-check-clean/-/grunt-check-clean-0.1.2.tgz#02bb10f7e9f2878782120de1966d36649f2cb414"
+ integrity sha1-ArsQ9+nyh4eCEg3hlm02ZJ8stBQ=
+
+grunt-cli@^1.1.0, grunt-cli@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/grunt-cli/-/grunt-cli-1.2.0.tgz#562b119ebb069ddb464ace2845501be97b35b6a8"
+ integrity sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=
+ dependencies:
+ findup-sync "~0.3.0"
+ grunt-known-options "~1.1.0"
+ nopt "~3.0.6"
+ resolve "~1.1.0"
+
+grunt-contrib-watch@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/grunt-contrib-watch/-/grunt-contrib-watch-1.1.0.tgz#c143ca5b824b288a024b856639a5345aedb78ed4"
+ integrity sha512-yGweN+0DW5yM+oo58fRu/XIRrPcn3r4tQx+nL7eMRwjpvk+rQY6R8o94BPK0i2UhTg9FN21hS+m8vR8v9vXfeg==
+ dependencies:
+ async "^2.6.0"
+ gaze "^1.1.0"
+ lodash "^4.17.10"
+ tiny-lr "^1.1.1"
+
+grunt-conventional-changelog@^6.0.1:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/grunt-conventional-changelog/-/grunt-conventional-changelog-6.1.0.tgz#98bd5bdfb2b0de6316c05c7c6faca4ce24dd1435"
+ integrity sha1-mL1b37Kw3mMWwFx8b6ykziTdFDU=
+ dependencies:
+ chalk "^1.1.0"
+ concat-stream "^1.5.0"
+ conventional-changelog "^1.1.0"
+ plur "^2.0.0"
+ q "^1.4.1"
+
+grunt-conventional-github-releaser@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/grunt-conventional-github-releaser/-/grunt-conventional-github-releaser-1.0.0.tgz#ed36e0f55d68aeae85af148406c3d7018267b875"
+ integrity sha1-7Tbg9V1orq6FrxSEBsPXAYJnuHU=
+ dependencies:
+ chalk "^1.1.0"
+ conventional-github-releaser "^1.1.0"
+ plur "^2.0.0"
+
+grunt-cucumberjs@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/grunt-cucumberjs/-/grunt-cucumberjs-2.0.2.tgz#e0189c2db054f94029ed74b6963ab64c20882776"
+ integrity sha512-Wi4Ym36HQW2FM39cEFkbue6UxJsHu2DNcxWzm9Kb8gq1zouAfJmn3c0JK1EARi3y8KJE0AR/FWvIhfH/dQq4jQ==
+ dependencies:
+ chai "^4.1.2"
+ cucumber-html-reporter "^3.0.4"
+ cucumber-parallel "^2.0.3"
+ node-fs "^0.1.7"
+ ramda "^0.24.1"
+
+grunt-eslint@^21.0.0:
+ version "21.0.0"
+ resolved "https://registry.yarnpkg.com/grunt-eslint/-/grunt-eslint-21.0.0.tgz#5863f593d328c27ffec2a183319e5ad5380eed9e"
+ integrity sha512-HJocD9P35lpCvy6pPPCTgzBavzckrT1nt7lpqV55Vy8E6LQJv4RortXoH1jJTYhO5DYY7RPATv7Uc4383PUYqQ==
+ dependencies:
+ chalk "^2.1.0"
+ eslint "^5.0.0"
+
+grunt-known-options@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/grunt-known-options/-/grunt-known-options-1.1.0.tgz#a4274eeb32fa765da5a7a3b1712617ce3b144149"
+ integrity sha1-pCdO6zL6dl2lp6OxcSYXzjsUQUk=
+
+grunt-legacy-log-utils@~2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.0.1.tgz#d2f442c7c0150065d9004b08fd7410d37519194e"
+ integrity sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==
+ dependencies:
+ chalk "~2.4.1"
+ lodash "~4.17.10"
+
+grunt-legacy-log@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/grunt-legacy-log/-/grunt-legacy-log-2.0.0.tgz#c8cd2c6c81a4465b9bbf2d874d963fef7a59ffb9"
+ integrity sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==
+ dependencies:
+ colors "~1.1.2"
+ grunt-legacy-log-utils "~2.0.0"
+ hooker "~0.2.3"
+ lodash "~4.17.5"
+
+grunt-legacy-util@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/grunt-legacy-util/-/grunt-legacy-util-1.1.1.tgz#e10624e7c86034e5b870c8a8616743f0a0845e42"
+ integrity sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==
+ dependencies:
+ async "~1.5.2"
+ exit "~0.1.1"
+ getobject "~0.1.0"
+ hooker "~0.2.3"
+ lodash "~4.17.10"
+ underscore.string "~3.3.4"
+ which "~1.3.0"
+
+grunt-mocha-test@^0.13.2:
+ version "0.13.3"
+ resolved "https://registry.yarnpkg.com/grunt-mocha-test/-/grunt-mocha-test-0.13.3.tgz#9028472b615bda6ddeaa7b30a5a164e9805de005"
+ integrity sha512-zQGEsi3d+ViPPi7/4jcj78afKKAKiAA5n61pknQYi25Ugik+aNOuRmiOkmb8mN2CeG8YxT+YdT1H1Q7B/eNkoQ==
+ dependencies:
+ hooker "^0.2.3"
+ mkdirp "^0.5.0"
+
[email protected]:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/grunt-npm/-/grunt-npm-0.0.2.tgz#b3cb34b9bdf2ead69f15016d92412a7aa931ce14"
+ integrity sha1-s8s0ub3y6tafFQFtkkEqeqkxzhQ=
+
+grunt@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/grunt/-/grunt-1.0.4.tgz#c799883945a53a3d07622e0737c8f70bfe19eb38"
+ integrity sha512-PYsMOrOC+MsdGEkFVwMaMyc6Ob7pKmq+deg1Sjr+vvMWp35sztfwKE7qoN51V+UEtHsyNuMcGdgMLFkBHvMxHQ==
+ dependencies:
+ coffeescript "~1.10.0"
+ dateformat "~1.0.12"
+ eventemitter2 "~0.4.13"
+ exit "~0.1.1"
+ findup-sync "~0.3.0"
+ glob "~7.0.0"
+ grunt-cli "~1.2.0"
+ grunt-known-options "~1.1.0"
+ grunt-legacy-log "~2.0.0"
+ grunt-legacy-util "~1.1.1"
+ iconv-lite "~0.4.13"
+ js-yaml "~3.13.0"
+ minimatch "~3.0.2"
+ mkdirp "~0.5.1"
+ nopt "~3.0.6"
+ path-is-absolute "~1.0.0"
+ rimraf "~2.6.2"
+
+handlebars@^4.0.2:
+ version "4.0.11"
+ resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc"
+ integrity sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=
+ dependencies:
+ async "^1.4.0"
+ optimist "^0.6.1"
+ source-map "^0.4.4"
+ optionalDependencies:
+ uglify-js "^2.6"
+
+has-ansi@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
+ integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
+ dependencies:
+ ansi-regex "^2.0.0"
+
+has-binary2@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.2.tgz#e83dba49f0b9be4d026d27365350d9f03f54be98"
+ integrity sha1-6D26SfC5vk0CbSc2U1DZ8D9Uvpg=
+ dependencies:
+ isarray "2.0.1"
+
[email protected]:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39"
+ integrity sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=
+
+has-flag@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
+ integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=
+
+has-flag@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+ integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
+
+has-symbols@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44"
+ integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=
+
+has-unicode@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
+ integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
+
+has-value@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
+ integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
+ dependencies:
+ get-value "^2.0.3"
+ has-values "^0.1.4"
+ isobject "^2.0.0"
+
+has-value@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
+ integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
+ dependencies:
+ get-value "^2.0.6"
+ has-values "^1.0.0"
+ isobject "^3.0.0"
+
+has-values@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
+ integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E=
+
+has-values@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
+ integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
+ dependencies:
+ is-number "^3.0.0"
+ kind-of "^4.0.0"
+
+has@^1.0.0, has@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
+ integrity sha1-hGFzP1OLCDfJNh45qauelwTcLyg=
+ dependencies:
+ function-bind "^1.0.2"
+
+has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
+hash-base@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1"
+ integrity sha1-ZuodhW206KVHDK32/OI65SRO8uE=
+ dependencies:
+ inherits "^2.0.1"
+
+hash-base@^3.0.0:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918"
+ integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=
+ dependencies:
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+hash.js@^1.0.0, hash.js@^1.0.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846"
+ integrity sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==
+ dependencies:
+ inherits "^2.0.3"
+ minimalistic-assert "^1.0.0"
+
+hat@^0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/hat/-/hat-0.0.3.tgz#bb014a9e64b3788aed8005917413d4ff3d502d8a"
+ integrity sha1-uwFKnmSzeIrtgAWRdBPU/z1QLYo=
+
[email protected]:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd"
+ integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0=
+
+hmac-drbg@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
+ integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
+ dependencies:
+ hash.js "^1.0.3"
+ minimalistic-assert "^1.0.0"
+ minimalistic-crypto-utils "^1.0.1"
+
+hooker@^0.2.3, hooker@~0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/hooker/-/hooker-0.2.3.tgz#b834f723cc4a242aa65963459df6d984c5d3d959"
+ integrity sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=
+
+hosted-git-info@^2.1.4:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c"
+ integrity sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==
+
+htmlescape@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/htmlescape/-/htmlescape-1.1.1.tgz#3a03edc2214bca3b66424a3e7959349509cb0351"
+ integrity sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=
+
[email protected], http-errors@~1.6.2:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736"
+ integrity sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=
+ dependencies:
+ depd "1.1.1"
+ inherits "2.0.3"
+ setprototypeof "1.0.3"
+ statuses ">= 1.3.1 < 2"
+
+http-parser-js@>=0.4.0:
+ version "0.4.9"
+ resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.9.tgz#ea1a04fb64adff0242e9974f297dd4c3cad271e1"
+ integrity sha1-6hoE+2St/wJC6ZdPKX3Uw8rSceE=
+
+http-proxy@^1.13.0:
+ version "1.16.2"
+ resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742"
+ integrity sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=
+ dependencies:
+ eventemitter3 "1.x.x"
+ requires-port "1.x.x"
+
+http2@^3.3.6:
+ version "3.3.7"
+ resolved "https://registry.yarnpkg.com/http2/-/http2-3.3.7.tgz#78396eb1e0bcd1db1f4b138d997c682e23414fbc"
+ integrity sha512-puSi8M8WNlFJm9Pk4c/Mbz9Gwparuj3gO9/RRO5zv6piQ0FY+9Qywp0PdWshYgsMJSalixFY7eC6oPu0zRxLAQ==
+
+https-browserify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
+ integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
+
[email protected], https-proxy-agent@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz#35f7da6c48ce4ddbfa264891ac593ee5ff8671e6"
+ integrity sha1-NffabEjOTdv6JkiRrFk+5f+GceY=
+ dependencies:
+ agent-base "2"
+ debug "2"
+ extend "3"
+
+https-proxy-agent@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz#51552970fa04d723e04c56d04178c3f92592bbc0"
+ integrity sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==
+ dependencies:
+ agent-base "^4.1.0"
+ debug "^3.1.0"
+
+husky@^0.14.3:
+ version "0.14.3"
+ resolved "https://registry.yarnpkg.com/husky/-/husky-0.14.3.tgz#c69ed74e2d2779769a17ba8399b54ce0b63c12c3"
+ integrity sha512-e21wivqHpstpoiWA/Yi8eFti8E+sQDSS53cpJsPptPs295QTOQR0ZwnHo2TXy1XOpZFD9rPOd3NpmqTK6uMLJA==
+ dependencies:
+ is-ci "^1.0.10"
+ normalize-path "^1.0.0"
+ strip-indent "^2.0.0"
+
[email protected], iconv-lite@~0.4.13:
+ version "0.4.19"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
+ integrity sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==
+
+iconv-lite@^0.4.24, iconv-lite@^0.4.4:
+ version "0.4.24"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
+ integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3"
+
+ieee754@^1.1.4:
+ version "1.1.8"
+ resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
+ integrity sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=
+
+ignore-walk@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8"
+ integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==
+ dependencies:
+ minimatch "^3.0.4"
+
+ignore@^4.0.6:
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
+ integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
+
+ignore@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.1.tgz#2fc6b8f518aff48fef65a7f348ed85632448e4a5"
+ integrity sha512-DWjnQIFLenVrwyRCKZT+7a7/U4Cqgar4WG8V++K3hw+lrW1hc/SIwdiGmtxKCVACmHULTuGeBbHJmbwW7/sAvA==
+
+import-fresh@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.0.0.tgz#a3d897f420cab0e671236897f75bc14b4885c390"
+ integrity sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ==
+ dependencies:
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
+imurmurhash@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+ integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
+
+indent-string@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
+ integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=
+ dependencies:
+ repeating "^2.0.0"
+
+indent-string@^3.1.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289"
+ integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=
+
[email protected]:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
+ integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@2, [email protected], inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+ integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
+
[email protected]:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
+ integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=
+
+ini@^1.3.2, ini@~1.3.0:
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
+ integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
+
+inline-source-map@~0.6.0:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/inline-source-map/-/inline-source-map-0.6.2.tgz#f9393471c18a79d1724f863fa38b586370ade2a5"
+ integrity sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=
+ dependencies:
+ source-map "~0.5.3"
+
+inquirer@^6.2.2:
+ version "6.3.1"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.3.1.tgz#7a413b5e7950811013a3db491c61d1f3b776e8e7"
+ integrity sha512-MmL624rfkFt4TG9y/Jvmt8vdmOo836U7Y0Hxr2aFk3RelZEGX4Igk0KabWrcaaZaTv9uzglOqWh1Vly+FAWAXA==
+ dependencies:
+ ansi-escapes "^3.2.0"
+ chalk "^2.4.2"
+ cli-cursor "^2.1.0"
+ cli-width "^2.0.0"
+ external-editor "^3.0.3"
+ figures "^2.0.0"
+ lodash "^4.17.11"
+ mute-stream "0.0.7"
+ run-async "^2.2.0"
+ rxjs "^6.4.0"
+ string-width "^2.1.0"
+ strip-ansi "^5.1.0"
+ through "^2.3.6"
+
+insert-module-globals@^7.0.0:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-7.0.1.tgz#c03bf4e01cb086d5b5e5ace8ad0afe7889d638c3"
+ integrity sha1-wDv04BywhtW15azorQr+eInWOMM=
+ dependencies:
+ JSONStream "^1.0.3"
+ combine-source-map "~0.7.1"
+ concat-stream "~1.5.1"
+ is-buffer "^1.1.0"
+ lexical-scope "^1.2.0"
+ process "~0.11.0"
+ through2 "^2.0.0"
+ xtend "^4.0.0"
+
+irregular-plurals@^1.0.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.4.0.tgz#2ca9b033651111855412f16be5d77c62a458a766"
+ integrity sha1-LKmwM2UREYVUEvFr5dd8YqRYp2Y=
+
+is-accessor-descriptor@^0.1.6:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
+ integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=
+ dependencies:
+ kind-of "^3.0.2"
+
+is-accessor-descriptor@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
+ integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==
+ dependencies:
+ kind-of "^6.0.0"
+
+is-arrayish@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+ integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
+
+is-binary-path@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
+ integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=
+ dependencies:
+ binary-extensions "^1.0.0"
+
+is-binary-path@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
+ integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+ dependencies:
+ binary-extensions "^2.0.0"
+
+is-buffer@^1.1.0, is-buffer@^1.1.5:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
+ integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
+
+is-builtin-module@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
+ integrity sha1-VAVy0096wxGfj3bDDLwbHgN6/74=
+ dependencies:
+ builtin-modules "^1.0.0"
+
+is-callable@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"
+ integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==
+
+is-ci@^1.0.10:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e"
+ integrity sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=
+ dependencies:
+ ci-info "^1.0.0"
+
+is-data-descriptor@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
+ integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=
+ dependencies:
+ kind-of "^3.0.2"
+
+is-data-descriptor@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
+ integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
+ dependencies:
+ kind-of "^6.0.0"
+
+is-date-object@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
+ integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=
+
+is-descriptor@^0.1.0:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
+ integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==
+ dependencies:
+ is-accessor-descriptor "^0.1.6"
+ is-data-descriptor "^0.1.4"
+ kind-of "^5.0.0"
+
+is-descriptor@^1.0.0, is-descriptor@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
+ integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==
+ dependencies:
+ is-accessor-descriptor "^1.0.0"
+ is-data-descriptor "^1.0.0"
+ kind-of "^6.0.2"
+
+is-extendable@^0.1.0, is-extendable@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+ integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
+
+is-extendable@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
+ integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
+ dependencies:
+ is-plain-object "^2.0.4"
+
+is-extglob@^2.1.0, is-extglob@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+ integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
+
+is-finite@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
+ integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=
+ dependencies:
+ number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
+ integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
+ dependencies:
+ number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+ integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
+
+is-generator@^1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-generator/-/is-generator-1.0.3.tgz#c14c21057ed36e328db80347966c693f886389f3"
+ integrity sha1-wUwhBX7TbjKNuANHlmxpP4hjifM=
+
+is-glob@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
+ integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=
+ dependencies:
+ is-extglob "^2.1.0"
+
+is-glob@^4.0.0, is-glob@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
+ integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
+ dependencies:
+ is-extglob "^2.1.1"
+
+is-number@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
+ integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=
+ dependencies:
+ kind-of "^3.0.2"
+
+is-number@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+ integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
+is-obj@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
+ integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
+
+is-object@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470"
+ integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA=
+
+is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
+ integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
+ dependencies:
+ isobject "^3.0.1"
+
+is-promise@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
+ integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=
+
+is-regex@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
+ integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=
+ dependencies:
+ has "^1.0.1"
+
+is-stream@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+ integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
+
+is-subset@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6"
+ integrity sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=
+
+is-symbol@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38"
+ integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==
+ dependencies:
+ has-symbols "^1.0.0"
+
+is-text-path@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e"
+ integrity sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=
+ dependencies:
+ text-extensions "^1.0.0"
+
+is-utf8@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+ integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
+
+is-windows@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
+ integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
+
[email protected], isarray@~0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
+ integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
+
[email protected], isarray@^1.0.0, isarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+ integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
+
[email protected]:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e"
+ integrity sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=
+
+isbinaryfile@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.2.tgz#4a3e974ec0cba9004d3fc6cde7209ea69368a621"
+ integrity sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=
+
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+ integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
+
+isobject@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
+ integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
+ dependencies:
+ isarray "1.0.0"
+
+isobject@^3.0.0, isobject@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
+ integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
+
+jasmine-core@^3.3, jasmine-core@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.4.0.tgz#2a74618e966026530c3518f03e9f845d26473ce3"
+ integrity sha512-HU/YxV4i6GcmiH4duATwAbJQMlE0MsDIR5XmSVxURxKHn3aGAdbY1/ZJFmVRbKtnLwIxxMJD7gYaPsypcbYimg==
+
+js-base64@^2.3.2:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.0.tgz#9e566fee624751a1d720c966cd6226d29d4025aa"
+ integrity sha512-Wehd+7Pf9tFvGb+ydPm9TjYjV8X1YHOVyG8QyELZxEMqOhemVwGRmoG8iQ/soqI3n8v4xn59zaLxiCJiaaRzKA==
+
+js-string-escape@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef"
+ integrity sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=
+
+js-tokens@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+
+js-yaml@^3.13.0, js-yaml@~3.13.0:
+ version "3.13.1"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
+ integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
+json-schema-traverse@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+ integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+
+json-stable-stringify-without-jsonify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
+ integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
+
+json-stable-stringify@~0.0.0:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz#611c23e814db375527df851193db59dd2af27f45"
+ integrity sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=
+ dependencies:
+ jsonify "~0.0.0"
+
+json-stringify-safe@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+ integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
+
+jsonfile@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz#a5ecc6f65f53f662c4415c7675a0331d0992ec66"
+ integrity sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+jsonfile@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
+ integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+jsonify@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
+ integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=
+
[email protected]:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-0.0.5.tgz#330542ad3f0a654665b778f3eb2d9a9fa507ac64"
+ integrity sha1-MwVCrT8KZUZlt3jz6y2an6UHrGQ=
+
+jsonparse@^1.2.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
+ integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=
+
+just-extend@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.0.2.tgz#f3f47f7dfca0f989c55410a7ebc8854b07108afc"
+ integrity sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw==
+
+karma-browserify@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/karma-browserify/-/karma-browserify-6.0.0.tgz#423b719fe80d064ad5ec36f8eb15c399305b9aba"
+ integrity sha512-G3dGjoy1/6P8I6qTp799fbcAxs4P+1JcyEKUzy9g1/xMakqf9FFPwW2T9iEtCbWoH5WIKD3z+YwGL5ysBhzrsg==
+ dependencies:
+ convert-source-map "^1.1.3"
+ hat "^0.0.3"
+ js-string-escape "^1.0.0"
+ lodash "^4.17.10"
+ minimatch "^3.0.0"
+ os-shim "^0.1.3"
+
+karma-browserstack-launcher@^1.0.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/karma-browserstack-launcher/-/karma-browserstack-launcher-1.3.0.tgz#61fe3d36b1cf10681e40f9d874bf37271fb1c674"
+ integrity sha512-LrPf5sU/GISkEElWyoy06J8x0c8BcOjjOwf61Wqu6M0aWQu0Eoqm9yh3xON64/ByST/CEr0GsWiREQ/EIEMd4Q==
+ dependencies:
+ browserstack "1.5.0"
+ browserstacktunnel-wrapper "~2.0.1"
+ q "~1.5.0"
+
+karma-chai@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/karma-chai/-/karma-chai-0.1.0.tgz#bee5ad40400517811ae34bb945f762909108b79a"
+ integrity sha1-vuWtQEAFF4Ea40u5RfdikJEIt5o=
+
+karma-chrome-launcher@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz#cf1b9d07136cc18fe239327d24654c3dbc368acf"
+ integrity sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==
+ dependencies:
+ fs-access "^1.0.0"
+ which "^1.2.1"
+
+karma-firefox-launcher@*:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/karma-firefox-launcher/-/karma-firefox-launcher-1.1.0.tgz#2c47030452f04531eb7d13d4fc7669630bb93339"
+ integrity sha512-LbZ5/XlIXLeQ3cqnCbYLn+rOVhuMIK9aZwlP6eOLGzWdo1UVp7t6CN3DP4SafiRLjexKwHeKHDm0c38Mtd3VxA==
+
+karma-jasmine@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-2.0.1.tgz#26e3e31f2faf272dd80ebb0e1898914cc3a19763"
+ integrity sha512-iuC0hmr9b+SNn1DaUD2QEYtUxkS1J+bSJSn7ejdEexs7P8EYvA1CWkEdrDQ+8jVH3AgWlCNwjYsT1chjcNW9lA==
+ dependencies:
+ jasmine-core "^3.3"
+
+karma-junit-reporter@*:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/karma-junit-reporter/-/karma-junit-reporter-1.2.0.tgz#4f9c40cedfb1a395f8aef876abf96189917c6396"
+ integrity sha1-T5xAzt+xo5X4rvh2q/lhiZF8Y5Y=
+ dependencies:
+ path-is-absolute "^1.0.0"
+ xmlbuilder "8.2.2"
+
+karma-mocha-reporter@^2.0.0:
+ version "2.2.5"
+ resolved "https://registry.yarnpkg.com/karma-mocha-reporter/-/karma-mocha-reporter-2.2.5.tgz#15120095e8ed819186e47a0b012f3cd741895560"
+ integrity sha1-FRIAlejtgZGG5HoLAS8810GJVWA=
+ dependencies:
+ chalk "^2.1.0"
+ log-symbols "^2.1.0"
+ strip-ansi "^4.0.0"
+
+karma-mocha@^1.0.1:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/karma-mocha/-/karma-mocha-1.3.0.tgz#eeaac7ffc0e201eb63c467440d2b69c7cf3778bf"
+ integrity sha1-7qrH/8DiAetjxGdEDStpx883eL8=
+ dependencies:
+ minimist "1.2.0"
+
+karma-script-launcher@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/karma-script-launcher/-/karma-script-launcher-1.0.0.tgz#cd017c4de5ef09e5a9da793276176108dd4b542d"
+ integrity sha1-zQF8TeXvCeWp2nkydhdhCN1LVC0=
+
+kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
+ integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
+ dependencies:
+ is-buffer "^1.1.5"
+
+kind-of@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
+ integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
+ dependencies:
+ is-buffer "^1.1.5"
+
+kind-of@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
+ integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
+
+kind-of@^6.0.0, kind-of@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
+ integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==
+
+labeled-stream-splicer@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz#a52e1d138024c00b86b1c0c91f677918b8ae0a59"
+ integrity sha1-pS4dE4AkwAuGscDJH2d5GLiuClk=
+ dependencies:
+ inherits "^2.0.1"
+ isarray "~0.0.1"
+ stream-splicer "^2.0.0"
+
+lazy-cache@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
+ integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4=
+
+levn@^0.3.0, levn@~0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
+ integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
+ dependencies:
+ prelude-ls "~1.1.2"
+ type-check "~0.3.2"
+
+lexical-scope@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/lexical-scope/-/lexical-scope-1.2.0.tgz#fcea5edc704a4b3a8796cdca419c3a0afaf22df4"
+ integrity sha1-/Ope3HBKSzqHls3KQZw6CvryLfQ=
+ dependencies:
+ astw "^2.0.0"
+
+linkedlist@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/linkedlist/-/linkedlist-1.0.1.tgz#7b74189bfad6e76367fb5a10f3c36913128b782b"
+ integrity sha1-e3QYm/rW52Nn+1oQ88NpExKLeCs=
+
+livereload-js@^2.3.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.4.0.tgz#447c31cf1ea9ab52fc20db615c5ddf678f78009c"
+ integrity sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==
+
+load-grunt-tasks@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/load-grunt-tasks/-/load-grunt-tasks-4.0.0.tgz#f494bc0fac495115b5c8c6c957c5f1f0ffd7eece"
+ integrity sha512-w5JYPHpZgMxu9XFR9N9MEzyX8E0mLhQkwQ1qVP4mb3gmuomw8Ww8J49NHMbXqyQliq2LUCqdU7/wW96IVuPCKw==
+ dependencies:
+ arrify "^1.0.0"
+ multimatch "^2.0.0"
+ pkg-up "^2.0.0"
+ resolve-pkg "^1.0.0"
+
+load-json-file@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
+ integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+ strip-bom "^2.0.0"
+
+load-json-file@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
+ integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ strip-bom "^3.0.0"
+
+locate-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
+ dependencies:
+ p-locate "^2.0.0"
+ path-exists "^3.0.0"
+
+lodash._reinterpolate@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
+ integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=
+
+lodash.memoize@~3.0.3:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f"
+ integrity sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=
+
+lodash.merge@^4.0.2:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5"
+ integrity sha1-aYhLoUSsM/5plzemCG3v+t0PicU=
+
+lodash.template@^4.0.2:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0"
+ integrity sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=
+ dependencies:
+ lodash._reinterpolate "~3.0.0"
+ lodash.templatesettings "^4.0.0"
+
+lodash.templatesettings@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316"
+ integrity sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=
+ dependencies:
+ lodash._reinterpolate "~3.0.0"
+
+lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.2.1, lodash@~4.17.10, lodash@~4.17.4, lodash@~4.17.5:
+ version "4.17.11"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
+ integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
+
+log-symbols@^2.1.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a"
+ integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==
+ dependencies:
+ chalk "^2.0.1"
+
+log4js@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/log4js/-/log4js-4.0.0.tgz#5b9cdb9a0ec742a28ea08e298655bff587418b32"
+ integrity sha512-XlxZfcFAvQjnjCJBIV/EpsPmrVC12n+TxNUKgrmQh6eeA+9X+6UqvaRNV8t6dpMtXszl1LAQimB4pqyp2Gsgfw==
+ dependencies:
+ date-format "^2.0.0"
+ debug "^3.1.0"
+ flatted "^2.0.0"
+ rfdc "^1.1.2"
+ streamroller "^1.0.1"
+
+lolex@^2.3.2:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/lolex/-/lolex-2.3.2.tgz#85f9450425103bf9e7a60668ea25dc43274ca807"
+ integrity sha512-A5pN2tkFj7H0dGIAM6MFvHKMJcPnjZsOMvR7ujCjfgW5TbV6H9vb1PgxLtHvjqNZTHsUolz+6/WEO0N1xNx2ng==
+
+lolex@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/lolex/-/lolex-4.0.1.tgz#4a99c2251579d693c6a083446dae0e5c3844d3fa"
+ integrity sha512-UHuOBZ5jjsKuzbB/gRNNW8Vg8f00Emgskdq2kvZxgBJCS0aqquAuXai/SkWORlKeZEiNQWZjFZOqIUcH9LqKCw==
+
+longest@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
+ integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=
+
+loud-rejection@^1.0.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
+ integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=
+ dependencies:
+ currently-unhandled "^0.4.1"
+ signal-exit "^3.0.0"
+
+lower-case@^1.1.1:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
+ integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw=
+
[email protected]:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55"
+ integrity sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==
+ dependencies:
+ pseudomap "^1.0.2"
+ yallist "^2.1.2"
+
+map-cache@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
+ integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
+
+map-obj@^1.0.0, map-obj@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
+ integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
+
+map-visit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
+ integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
+ dependencies:
+ object-visit "^1.0.0"
+
+"match-stream@>= 0.0.2 < 1":
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/match-stream/-/match-stream-0.0.2.tgz#99eb050093b34dffade421b9ac0b410a9cfa17cf"
+ integrity sha1-mesFAJOzTf+t5CG5rAtBCpz6F88=
+ dependencies:
+ buffers "~0.1.1"
+ readable-stream "~1.0.0"
+
+md5.js@^1.3.4:
+ version "1.3.4"
+ resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d"
+ integrity sha1-6b296UogpawYsENA/Fdk1bCdkB0=
+ dependencies:
+ hash-base "^3.0.0"
+ inherits "^2.0.1"
+
[email protected]:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
+ integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
+
+meow@^3.3.0:
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
+ integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=
+ dependencies:
+ camelcase-keys "^2.0.0"
+ decamelize "^1.1.2"
+ loud-rejection "^1.0.0"
+ map-obj "^1.0.1"
+ minimist "^1.1.3"
+ normalize-package-data "^2.3.4"
+ object-assign "^4.0.1"
+ read-pkg-up "^1.0.1"
+ redent "^1.0.0"
+ trim-newlines "^1.0.0"
+
+merge-descriptors@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
+ integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
+
+methods@^1.1.1, methods@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
+ integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
+
+micromatch@^3.1.10, micromatch@^3.1.4:
+ version "3.1.10"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
+ integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
+ dependencies:
+ arr-diff "^4.0.0"
+ array-unique "^0.3.2"
+ braces "^2.3.1"
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ extglob "^2.0.4"
+ fragment-cache "^0.2.1"
+ kind-of "^6.0.2"
+ nanomatch "^1.2.9"
+ object.pick "^1.3.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.2"
+
+miller-rabin@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
+ integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==
+ dependencies:
+ bn.js "^4.0.0"
+ brorand "^1.0.1"
+
[email protected]:
+ version "1.40.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32"
+ integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==
+
+mime-types@^2.1.12, mime-types@~2.1.18, mime-types@~2.1.24:
+ version "2.1.24"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81"
+ integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==
+ dependencies:
+ mime-db "1.40.0"
+
+mime@^1.2.11, mime@^1.4.1:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
+ integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
+
+mime@^2.0.3, mime@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-2.3.1.tgz#b1621c54d63b97c47d3cfe7f7215f7d64517c369"
+ integrity sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==
+
+mimic-fn@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18"
+ integrity sha1-5md4PZLonb00KBi1IwudYqZyrRg=
+
+minimalistic-assert@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"
+ integrity sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=
+
+minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
+ integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
+
+"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
+ dependencies:
+ brace-expansion "^1.1.7"
+
[email protected]:
+ version "0.0.8"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
+ integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
+
[email protected], minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
+ integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
+
+minimist@~0.0.1:
+ version "0.0.10"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
+ integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=
+
+minipass@^2.2.1, minipass@^2.3.4:
+ version "2.3.5"
+ resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848"
+ integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==
+ dependencies:
+ safe-buffer "^5.1.2"
+ yallist "^3.0.0"
+
+minizlib@^1.1.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614"
+ integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==
+ dependencies:
+ minipass "^2.2.1"
+
+mixin-deep@^1.2.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe"
+ integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==
+ dependencies:
+ for-in "^1.0.2"
+ is-extendable "^1.0.1"
+
[email protected], [email protected], mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
+ integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
+ dependencies:
+ minimist "0.0.8"
+
+mocha@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/mocha/-/mocha-4.1.0.tgz#7d86cfbcf35cb829e2754c32e17355ec05338794"
+ integrity sha512-0RVnjg1HJsXY2YFDoTNzcc1NKhYuXKRrBAG2gDygmJJA136Cs2QlRliZG1mA0ap7cuaT30mw16luAeln+4RiNA==
+ dependencies:
+ browser-stdout "1.3.0"
+ commander "2.11.0"
+ debug "3.1.0"
+ diff "3.3.1"
+ escape-string-regexp "1.0.5"
+ glob "7.1.2"
+ growl "1.10.3"
+ he "1.1.1"
+ mkdirp "0.5.1"
+ supports-color "4.4.0"
+
+mocks@^0.0.15:
+ version "0.0.15"
+ resolved "https://registry.yarnpkg.com/mocks/-/mocks-0.0.15.tgz#4660a5cc59f4ec56eb93bfd72f0834f8fc4fa11c"
+ integrity sha1-RmClzFn07Fbrk7/XLwg0+PxPoRw=
+
+modify-values@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.0.tgz#e2b6cdeb9ce19f99317a53722f3dbf5df5eaaab2"
+ integrity sha1-4rbN65zhn5kxelNyLz2/XfXqqrI=
+
+module-deps@^6.0.0:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/module-deps/-/module-deps-6.0.2.tgz#660217d1602b863ac8d4d16951a3720dd9aa4c80"
+ integrity sha512-KWBI3009iRnHjRlxRhe8nJ6kdeBTg4sMi5N6AZgg5f1/v5S7EBCRBOY854I4P5Anl4kx6AJH+4bBBC2Gi3nkvg==
+ dependencies:
+ JSONStream "^1.0.3"
+ browser-resolve "^1.7.0"
+ cached-path-relative "^1.0.0"
+ concat-stream "~1.6.0"
+ defined "^1.0.0"
+ detective "^5.0.2"
+ duplexer2 "^0.1.2"
+ inherits "^2.0.1"
+ parents "^1.0.0"
+ readable-stream "^2.0.2"
+ resolve "^1.4.0"
+ stream-combiner2 "^1.1.1"
+ subarg "^1.0.0"
+ through2 "^2.0.0"
+ xtend "^4.0.0"
+
+module-not-found-error@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/module-not-found-error/-/module-not-found-error-1.0.1.tgz#cf8b4ff4f29640674d6cdd02b0e3bc523c2bbdc0"
+ integrity sha1-z4tP9PKWQGdNbN0CsOO8UjwrvcA=
+
+moment@~2.5.0:
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/moment/-/moment-2.5.1.tgz#7146a3900533064ca799d5e792f4e480ee0e82bc"
+ integrity sha1-cUajkAUzBkynmdXnkvTkgO4Ogrw=
+
[email protected]:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+ integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
+
+ms@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
+ integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
+
+multimatch@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b"
+ integrity sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=
+ dependencies:
+ array-differ "^1.0.0"
+ array-union "^1.0.1"
+ arrify "^1.0.0"
+ minimatch "^3.0.0"
+
[email protected]:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
+ integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
+
+mz@^2.4.0:
+ version "2.7.0"
+ resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32"
+ integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==
+ dependencies:
+ any-promise "^1.0.0"
+ object-assign "^4.0.1"
+ thenify-all "^1.0.0"
+
+nan@^2.12.1:
+ version "2.13.2"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7"
+ integrity sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==
+
+nanomatch@^1.2.9:
+ version "1.2.13"
+ resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
+ integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
+ dependencies:
+ arr-diff "^4.0.0"
+ array-unique "^0.3.2"
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ fragment-cache "^0.2.1"
+ is-windows "^1.0.2"
+ kind-of "^6.0.2"
+ object.pick "^1.3.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
+natives@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.1.tgz#011acce1f7cbd87f7ba6b3093d6cd9392be1c574"
+ integrity sha512-8eRaxn8u/4wN8tGkhlc2cgwwvOLMLUMUn4IYTexMgWd+LyUDfeXVkk2ygQR0hvIHbJQXgHujia3ieUUDwNGkEA==
+
+natural-compare@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+ integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
+
+needle@^2.2.1:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c"
+ integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==
+ dependencies:
+ debug "^3.2.6"
+ iconv-lite "^0.4.4"
+ sax "^1.2.4"
+
[email protected]:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
+ integrity sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=
+
+nice-try@^1.0.4:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
+ integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
+
+nise@^1.4.10:
+ version "1.4.10"
+ resolved "https://registry.yarnpkg.com/nise/-/nise-1.4.10.tgz#ae46a09a26436fae91a38a60919356ae6db143b6"
+ integrity sha512-sa0RRbj53dovjc7wombHmVli9ZihXbXCQ2uH3TNm03DyvOSIQbxg+pbqDKrk2oxMK1rtLGVlKxcB9rrc6X5YjA==
+ dependencies:
+ "@sinonjs/formatio" "^3.1.0"
+ "@sinonjs/text-encoding" "^0.7.1"
+ just-extend "^4.0.2"
+ lolex "^2.3.2"
+ path-to-regexp "^1.7.0"
+
+no-case@^2.2.0:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac"
+ integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==
+ dependencies:
+ lower-case "^1.1.1"
+
+node-fs@^0.1.7:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/node-fs/-/node-fs-0.1.7.tgz#32323cccb46c9fbf0fc11812d45021cc31d325bb"
+ integrity sha1-MjI8zLRsn78PwRgS1FAhzDHTJbs=
+
+node-pre-gyp@^0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149"
+ integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==
+ dependencies:
+ detect-libc "^1.0.2"
+ mkdirp "^0.5.1"
+ needle "^2.2.1"
+ nopt "^4.0.1"
+ npm-packlist "^1.1.6"
+ npmlog "^4.0.2"
+ rc "^1.2.7"
+ rimraf "^2.6.1"
+ semver "^5.3.0"
+ tar "^4"
+
+nopt@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
+ integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=
+ dependencies:
+ abbrev "1"
+ osenv "^0.1.4"
+
+nopt@~3.0.6:
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
+ integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k=
+ dependencies:
+ abbrev "1"
+
+normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f"
+ integrity sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==
+ dependencies:
+ hosted-git-info "^2.1.4"
+ is-builtin-module "^1.0.0"
+ semver "2 || 3 || 4 || 5"
+ validate-npm-package-license "^3.0.1"
+
+normalize-path@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379"
+ integrity sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=
+
+normalize-path@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
+ integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=
+ dependencies:
+ remove-trailing-separator "^1.0.1"
+
+normalize-path@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
+ integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+
+npm-bundled@^1.0.1:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd"
+ integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==
+
+npm-packlist@^1.1.6:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.1.tgz#19064cdf988da80ea3cee45533879d90192bbfbc"
+ integrity sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==
+ dependencies:
+ ignore-walk "^3.0.1"
+ npm-bundled "^1.0.1"
+
+npmlog@^4.0.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
+ integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
+ dependencies:
+ are-we-there-yet "~1.1.2"
+ console-control-strings "~1.1.0"
+ gauge "~2.7.3"
+ set-blocking "~2.0.0"
+
+null-check@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd"
+ integrity sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=
+
+number-is-nan@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
+ integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
+
+object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+ integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
+
[email protected]:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291"
+ integrity sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=
+
+object-copy@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
+ integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw=
+ dependencies:
+ copy-descriptor "^0.1.0"
+ define-property "^0.2.5"
+ kind-of "^3.0.3"
+
+object-keys@^1.0.12:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
+ integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
+
+object-visit@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
+ integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=
+ dependencies:
+ isobject "^3.0.0"
+
+object.pick@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
+ integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
+ dependencies:
+ isobject "^3.0.1"
+
+on-finished@~2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
+ integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
+ dependencies:
+ ee-first "1.1.1"
+
+once@^1.3.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
+ dependencies:
+ wrappy "1"
+
+onetime@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
+ integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=
+ dependencies:
+ mimic-fn "^1.0.0"
+
[email protected]:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/open/-/open-0.0.5.tgz#42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc"
+ integrity sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=
+
+operator-compare@~1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/operator-compare/-/operator-compare-1.0.3.tgz#8d06d094bc1b83a607fc9c9f3800447886591af9"
+ integrity sha1-jQbQlLwbg6YH/JyfOABEeIZZGvk=
+
+optimist@^0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
+ integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY=
+ dependencies:
+ minimist "~0.0.1"
+ wordwrap "~0.0.2"
+
+optionator@^0.8.2:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
+ integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=
+ dependencies:
+ deep-is "~0.1.3"
+ fast-levenshtein "~2.0.4"
+ levn "~0.3.0"
+ prelude-ls "~1.1.2"
+ type-check "~0.3.2"
+ wordwrap "~1.0.0"
+
+os-browserify@~0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
+ integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
+
+os-homedir@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
+ integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
+
+os-shim@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917"
+ integrity sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=
+
+os-tmpdir@^1.0.0, os-tmpdir@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+ integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
+
+osenv@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644"
+ integrity sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=
+ dependencies:
+ os-homedir "^1.0.0"
+ os-tmpdir "^1.0.0"
+
+outpipe@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/outpipe/-/outpipe-1.1.1.tgz#50cf8616365e87e031e29a5ec9339a3da4725fa2"
+ integrity sha1-UM+GFjZeh+Ax4ppeyTOaPaRyX6I=
+ dependencies:
+ shell-quote "^1.4.2"
+
+"over@>= 0.0.5 < 1":
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/over/-/over-0.0.5.tgz#f29852e70fd7e25f360e013a8ec44c82aedb5708"
+ integrity sha1-8phS5w/X4l82DgE6jsRMgq7bVwg=
+
+p-limit@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc"
+ integrity sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=
+
+p-locate@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
+ dependencies:
+ p-limit "^1.1.0"
+
+pad-right@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/pad-right/-/pad-right-0.2.2.tgz#6fbc924045d244f2a2a244503060d3bfc6009774"
+ integrity sha1-b7ySQEXSRPKiokRQMGDTv8YAl3Q=
+ dependencies:
+ repeat-string "^1.5.2"
+
+pako@~1.0.5:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258"
+ integrity sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==
+
+parent-module@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
+ integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
+ dependencies:
+ callsites "^3.0.0"
+
+parents@^1.0.0, parents@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/parents/-/parents-1.0.1.tgz#fedd4d2bf193a77745fe71e371d73c3307d9c751"
+ integrity sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=
+ dependencies:
+ path-platform "~0.11.15"
+
+parse-asn1@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712"
+ integrity sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=
+ dependencies:
+ asn1.js "^4.0.0"
+ browserify-aes "^1.0.0"
+ create-hash "^1.1.0"
+ evp_bytestokey "^1.0.0"
+ pbkdf2 "^3.0.3"
+
+parse-github-repo-url@^1.3.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz#9e7d8bb252a6cb6ba42595060b7bf6df3dbc1f50"
+ integrity sha1-nn2LslKmy2ukJZUGC3v23z28H1A=
+
+parse-json@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
+ integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=
+ dependencies:
+ error-ex "^1.2.0"
+
[email protected]:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d"
+ integrity sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=
+ dependencies:
+ better-assert "~1.0.0"
+
[email protected]:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a"
+ integrity sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=
+ dependencies:
+ better-assert "~1.0.0"
+
+parseurl@~1.3.2:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3"
+ integrity sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=
+
+pascalcase@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
+ integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
+
+path-browserify@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a"
+ integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=
+
+path-dirname@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
+ integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=
+
+path-exists@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
+ integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=
+ dependencies:
+ pinkie-promise "^2.0.0"
+
+path-exists@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+ integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
+
+path-is-absolute@^1.0.0, path-is-absolute@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
+
+path-is-inside@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
+ integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=
+
+path-key@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
+ integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
+
+path-parse@^1.0.5, path-parse@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
+ integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
+
+path-platform@~0.11.15:
+ version "0.11.15"
+ resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2"
+ integrity sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=
+
+path-to-regexp@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d"
+ integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=
+ dependencies:
+ isarray "0.0.1"
+
+path-type@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
+ integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=
+ dependencies:
+ graceful-fs "^4.1.2"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+path-type@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
+ integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=
+ dependencies:
+ pify "^2.0.0"
+
+pathval@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0"
+ integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA=
+
+pbkdf2@^3.0.3:
+ version "3.0.14"
+ resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.14.tgz#a35e13c64799b06ce15320f459c230e68e73bade"
+ integrity sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==
+ dependencies:
+ create-hash "^1.1.2"
+ create-hmac "^1.1.4"
+ ripemd160 "^2.0.1"
+ safe-buffer "^5.0.1"
+ sha.js "^2.4.8"
+
+pend@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
+ integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA=
+
+picomatch@^2.0.4:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.6.tgz#f39cfedd26213982733ae6b819d3da0e736598d5"
+ integrity sha512-Btng9qVvFsW6FkXYQQK5nEI5i8xdXFDmlKxC7Q8S2Bu5HGWnbQf7ts2kOoxJIrZn5hmw61RZIayAg2zBuJDtyQ==
+
+pify@^2.0.0, pify@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+ integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
+
+pinkie-promise@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
+ integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o=
+ dependencies:
+ pinkie "^2.0.0"
+
+pinkie@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
+ integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA=
+
+pkg-dir@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
+ integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=
+ dependencies:
+ find-up "^2.1.0"
+
+pkg-up@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f"
+ integrity sha1-yBmscoBZpGHKscOImivjxJoATX8=
+ dependencies:
+ find-up "^2.1.0"
+
+plur@^2.0.0:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a"
+ integrity sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=
+ dependencies:
+ irregular-plurals "^1.0.0"
+
+posix-character-classes@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
+ integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
+
+prelude-ls@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
+ integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
+
+process-nextick-args@~1.0.6:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
+ integrity sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=
+
+process-nextick-args@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa"
+ integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==
+
+process@~0.11.0:
+ version "0.11.10"
+ resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
+ integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
+
+progress@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f"
+ integrity sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=
+
+proxy-from-env@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee"
+ integrity sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=
+
+proxyquire@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/proxyquire/-/proxyquire-2.1.0.tgz#c2263a38bf0725f2ae950facc130e27510edce8d"
+ integrity sha512-kptdFArCfGRtQFv3Qwjr10lwbEV0TBJYvfqzhwucyfEXqVgmnAkyEw/S3FYzR5HI9i5QOq4rcqQjZ6AlknlCDQ==
+ dependencies:
+ fill-keys "^1.0.2"
+ module-not-found-error "^1.0.0"
+ resolve "~1.8.1"
+
+pseudomap@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
+ integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
+
+public-encrypt@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6"
+ integrity sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=
+ dependencies:
+ bn.js "^4.1.0"
+ browserify-rsa "^4.0.0"
+ create-hash "^1.1.0"
+ parse-asn1 "^5.0.0"
+ randombytes "^2.0.1"
+
+"pullstream@>= 0.4.1 < 1":
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/pullstream/-/pullstream-0.4.1.tgz#d6fb3bf5aed697e831150eb1002c25a3f8ae1314"
+ integrity sha1-1vs79a7Wl+gxFQ6xACwlo/iuExQ=
+ dependencies:
+ over ">= 0.0.5 < 1"
+ readable-stream "~1.0.31"
+ setimmediate ">= 1.0.2 < 2"
+ slice-stream ">= 1.0.0 < 2"
+
[email protected]:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
+ integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
+
+punycode@^1.3.2:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+ integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
+
+punycode@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
+ integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
+
+puppeteer@^1.9.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.9.0.tgz#56dba79e7ea4faac807877bee3b23d63291fc59e"
+ integrity sha512-GH4PmhJf9wBRAPvtJkEJLAvdNNOofZortmBZSj8cGWYni98GUFqsf66blOEfJbo5B8l0KG5HR2d/W2MejnUrzg==
+ dependencies:
+ debug "^3.1.0"
+ extract-zip "^1.6.6"
+ https-proxy-agent "^2.2.1"
+ mime "^2.0.3"
+ progress "^2.0.0"
+ proxy-from-env "^1.0.0"
+ rimraf "^2.6.1"
+ ws "^5.1.1"
+
+q@^1.4.1, q@~1.5.0:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
+ integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
+
+q@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/q/-/q-1.0.1.tgz#11872aeedee89268110b10a718448ffb10112a14"
+ integrity sha1-EYcq7t7okmgRCxCnGESP+xARKhQ=
+
+qjobs@^1.1.4:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.1.5.tgz#659de9f2cf8dcc27a1481276f205377272382e73"
+ integrity sha1-ZZ3p8s+NzCehSBJ28gU3cnI4LnM=
+
[email protected], qs@^6.5.1:
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8"
+ integrity sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==
+
+qs@^6.4.0:
+ version "6.7.0"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
+ integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
+
+querystring-es3@~0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
+ integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=
+
[email protected]:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
+ integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
+
+ramda@^0.24.1:
+ version "0.24.1"
+ resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.24.1.tgz#c3b7755197f35b8dc3502228262c4c91ddb6b857"
+ integrity sha1-w7d1UZfzW43DUCIoJixMkd22uFc=
+
+randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.5.tgz#dc009a246b8d09a177b4b7a0ae77bc570f4b1b79"
+ integrity sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==
+ dependencies:
+ safe-buffer "^5.1.0"
+
+randomfill@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.3.tgz#b96b7df587f01dd91726c418f30553b1418e3d62"
+ integrity sha512-YL6GrhrWoic0Eq8rXVbMptH7dAxCs0J+mh5Y0euNekPPYaxEmdVGim6GdoxoRzKW2yJoU8tueifS7mYxvcFDEQ==
+ dependencies:
+ randombytes "^2.0.5"
+ safe-buffer "^5.1.0"
+
+range-parser@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
+ integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=
+
[email protected]:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89"
+ integrity sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=
+ dependencies:
+ bytes "3.0.0"
+ http-errors "1.6.2"
+ iconv-lite "0.4.19"
+ unpipe "1.0.0"
+
+raw-body@~1.1.0:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-1.1.7.tgz#1d027c2bfa116acc6623bca8f00016572a87d425"
+ integrity sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=
+ dependencies:
+ bytes "1"
+ string_decoder "0.10"
+
+rc@^1.2.7:
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
+ integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
+ dependencies:
+ deep-extend "^0.6.0"
+ ini "~1.3.0"
+ minimist "^1.2.0"
+ strip-json-comments "~2.0.1"
+
+read-only-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-only-stream/-/read-only-stream-2.0.0.tgz#2724fd6a8113d73764ac288d4386270c1dbf17f0"
+ integrity sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=
+ dependencies:
+ readable-stream "^2.0.2"
+
+read-pkg-up@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
+ integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=
+ dependencies:
+ find-up "^1.0.0"
+ read-pkg "^1.0.0"
+
+read-pkg-up@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
+ integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=
+ dependencies:
+ find-up "^2.0.0"
+ read-pkg "^2.0.0"
+
+read-pkg@^1.0.0, read-pkg@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
+ integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=
+ dependencies:
+ load-json-file "^1.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^1.0.0"
+
+read-pkg@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
+ integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=
+ dependencies:
+ load-json-file "^2.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^2.0.0"
+
+readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@^2.2.6:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c"
+ integrity sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~1.0.6"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.0.3"
+ util-deprecate "~1.0.1"
+
+readable-stream@^2.3.5, readable-stream@~2.3.6:
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
+ integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~2.0.0"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.1.1"
+ util-deprecate "~1.0.1"
+
+readable-stream@~1.0.0, readable-stream@~1.0.31:
+ version "1.0.34"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
+ integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "0.0.1"
+ string_decoder "~0.10.x"
+
+readable-stream@~2.0.0:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
+ integrity sha1-j5A0HmilPMySh4jaz80Rs265t44=
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "~1.0.0"
+ process-nextick-args "~1.0.6"
+ string_decoder "~0.10.x"
+ util-deprecate "~1.0.1"
+
+readdirp@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
+ integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==
+ dependencies:
+ graceful-fs "^4.1.11"
+ micromatch "^3.1.10"
+ readable-stream "^2.0.2"
+
+readdirp@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.0.1.tgz#14a8875883c5575c235579624a1e177cb0b1ec58"
+ integrity sha512-emMp13NEwWQQX1yeDgrzDNCSY7NHV6k9HTW0OhyQqOAzYacbqQhnmWiCYjxNPcqMTQ9k77oXQJp28jkytm3+jg==
+ dependencies:
+ picomatch "^2.0.4"
+
+redent@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
+ integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=
+ dependencies:
+ indent-string "^2.1.0"
+ strip-indent "^1.0.1"
+
+regenerator-runtime@^0.11.0:
+ version "0.11.1"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
+ integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
+
+regex-not@^1.0.0, regex-not@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
+ integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
+ dependencies:
+ extend-shallow "^3.0.2"
+ safe-regex "^1.1.0"
+
+regexpp@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
+ integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==
+
+remove-trailing-separator@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
+ integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
+
+repeat-element@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
+ integrity sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=
+
+repeat-string@^1.5.2, repeat-string@^1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+ integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
+
+repeating@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
+ integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=
+ dependencies:
+ is-finite "^1.0.0"
+
[email protected]:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
+ integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
+
+resolve-from@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57"
+ integrity sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=
+
+resolve-from@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
+ integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+
+resolve-pkg@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-pkg/-/resolve-pkg-1.0.0.tgz#e19a15e78aca2e124461dc92b2e3943ef93494d9"
+ integrity sha1-4ZoV54rKLhJEYdySsuOUPvk0lNk=
+ dependencies:
+ resolve-from "^2.0.0"
+
+resolve-url@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
+ integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
+
[email protected], resolve@~1.1.0:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
+ integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
+
+resolve@^1.1.4, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.3.3, resolve@^1.4.0, resolve@^1.5.0:
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.0.tgz#4014870ba296176b86343d50b60f3b50609ce232"
+ integrity sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==
+ dependencies:
+ path-parse "^1.0.6"
+
+resolve@~1.8.1:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
+ integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==
+ dependencies:
+ path-parse "^1.0.5"
+
+restore-cursor@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
+ integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368=
+ dependencies:
+ onetime "^2.0.0"
+ signal-exit "^3.0.2"
+
+ret@~0.1.10:
+ version "0.1.15"
+ resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
+ integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
+
+rfdc@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.1.2.tgz#e6e72d74f5dc39de8f538f65e00c36c18018e349"
+ integrity sha512-92ktAgvZhBzYTIK0Mja9uen5q5J3NRVMoDkJL2VMwq6SXjVCgqvQeVP2XAaUY6HT+XpQYeLSjb3UoitBryKmdA==
+
+right-align@^0.1.1:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
+ integrity sha1-YTObci/mo1FWiSENJOFMlhSGE+8=
+ dependencies:
+ align-text "^0.1.1"
+
+rimraf@2, rimraf@^2.6.0, rimraf@^2.6.1:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
+ integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==
+ dependencies:
+ glob "^7.0.5"
+
[email protected], rimraf@~2.6.2:
+ version "2.6.3"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
+ integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
+ dependencies:
+ glob "^7.1.3"
+
+ripemd160@^2.0.0, ripemd160@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7"
+ integrity sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=
+ dependencies:
+ hash-base "^2.0.0"
+ inherits "^2.0.1"
+
+run-async@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
+ integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA=
+ dependencies:
+ is-promise "^2.1.0"
+
+rxjs@^6.4.0:
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7"
+ integrity sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==
+ dependencies:
+ tslib "^1.9.0"
+
+safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
+ integrity sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==
+
+safe-buffer@^5.1.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+ integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+
+safe-json-parse@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz#3e76723e38dfdda13c9b1d29a1e07ffee4b30b57"
+ integrity sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=
+
+safe-regex@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
+ integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4=
+ dependencies:
+ ret "~0.1.10"
+
+"safer-buffer@>= 2.1.2 < 3":
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+ integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+
+sax@^1.2.4:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
+ integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
+
[email protected], semver-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9"
+ integrity sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=
+
+"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.1.0, semver@^5.3.0:
+ version "5.4.1"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e"
+ integrity sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==
+
+semver@^5.5.0, semver@^5.5.1:
+ version "5.7.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b"
+ integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==
+
+semver@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.0.0.tgz#05e359ee571e5ad7ed641a6eec1e547ba52dea65"
+ integrity sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ==
+
+semver@~5.0.1:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a"
+ integrity sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=
+
+set-blocking@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+ integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
+
+set-value@^0.4.3:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1"
+ integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE=
+ dependencies:
+ extend-shallow "^2.0.1"
+ is-extendable "^0.1.1"
+ is-plain-object "^2.0.1"
+ to-object-path "^0.3.0"
+
+set-value@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274"
+ integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==
+ dependencies:
+ extend-shallow "^2.0.1"
+ is-extendable "^0.1.1"
+ is-plain-object "^2.0.3"
+ split-string "^3.0.1"
+
+"setimmediate@>= 1.0.1 < 2", "setimmediate@>= 1.0.2 < 2":
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
+ integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
+
[email protected]:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04"
+ integrity sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=
+
+sha.js@^2.4.0, sha.js@^2.4.8, sha.js@~2.4.4:
+ version "2.4.9"
+ resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.9.tgz#98f64880474b74f4a38b8da9d3c0f2d104633e7d"
+ integrity sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==
+ dependencies:
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+shasum@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/shasum/-/shasum-1.0.2.tgz#e7012310d8f417f4deb5712150e5678b87ae565f"
+ integrity sha1-5wEjENj0F/TetXEhUOVni4euVl8=
+ dependencies:
+ json-stable-stringify "~0.0.0"
+ sha.js "~2.4.4"
+
+shebang-command@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
+ integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
+ dependencies:
+ shebang-regex "^1.0.0"
+
+shebang-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
+ integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
+
+shell-quote@^1.4.2, shell-quote@^1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767"
+ integrity sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=
+ dependencies:
+ array-filter "~0.0.0"
+ array-map "~0.0.0"
+ array-reduce "~0.0.0"
+ jsonify "~0.0.0"
+
+signal-exit@^3.0.0, signal-exit@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
+ integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
+
+sinon-chai@^3.0.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/sinon-chai/-/sinon-chai-3.3.0.tgz#8084ff99451064910fbe2c2cb8ab540c00b740ea"
+ integrity sha512-r2JhDY7gbbmh5z3Q62pNbrjxZdOAjpsqW/8yxAZRSqLZqowmfGZPGUZPFf3UX36NLis0cv8VEM5IJh9HgkSOAA==
+
+sinon@^7.3.2:
+ version "7.3.2"
+ resolved "https://registry.yarnpkg.com/sinon/-/sinon-7.3.2.tgz#82dba3a6d85f6d2181e1eca2c10d8657c2161f28"
+ integrity sha512-thErC1z64BeyGiPvF8aoSg0LEnptSaWE7YhdWWbWXgelOyThent7uKOnnEh9zBxDbKixtr5dEko+ws1sZMuFMA==
+ dependencies:
+ "@sinonjs/commons" "^1.4.0"
+ "@sinonjs/formatio" "^3.2.1"
+ "@sinonjs/samsam" "^3.3.1"
+ diff "^3.5.0"
+ lolex "^4.0.1"
+ nise "^1.4.10"
+ supports-color "^5.5.0"
+
+slice-ansi@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
+ integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==
+ dependencies:
+ ansi-styles "^3.2.0"
+ astral-regex "^1.0.0"
+ is-fullwidth-code-point "^2.0.0"
+
+"slice-stream@>= 1.0.0 < 2":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/slice-stream/-/slice-stream-1.0.0.tgz#5b33bd66f013b1a7f86460b03d463dec39ad3ea0"
+ integrity sha1-WzO9ZvATsaf4ZGCwPUY97DmtPqA=
+ dependencies:
+ readable-stream "~1.0.31"
+
+snapdragon-node@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
+ integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
+ dependencies:
+ define-property "^1.0.0"
+ isobject "^3.0.0"
+ snapdragon-util "^3.0.1"
+
+snapdragon-util@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
+ integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
+ dependencies:
+ kind-of "^3.2.0"
+
+snapdragon@^0.8.1:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
+ integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==
+ dependencies:
+ base "^0.11.1"
+ debug "^2.2.0"
+ define-property "^0.2.5"
+ extend-shallow "^2.0.1"
+ map-cache "^0.2.2"
+ source-map "^0.5.6"
+ source-map-resolve "^0.5.0"
+ use "^3.1.0"
+
+socket.io-adapter@~1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz#2a805e8a14d6372124dd9159ad4502f8cb07f06b"
+ integrity sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=
+
[email protected]:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.1.1.tgz#dcb38103436ab4578ddb026638ae2f21b623671f"
+ integrity sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==
+ dependencies:
+ backo2 "1.0.2"
+ base64-arraybuffer "0.1.5"
+ component-bind "1.0.0"
+ component-emitter "1.2.1"
+ debug "~3.1.0"
+ engine.io-client "~3.2.0"
+ has-binary2 "~1.0.2"
+ has-cors "1.1.0"
+ indexof "0.0.1"
+ object-component "0.0.3"
+ parseqs "0.0.5"
+ parseuri "0.0.5"
+ socket.io-parser "~3.2.0"
+ to-array "0.1.4"
+
+socket.io-parser@~3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.2.0.tgz#e7c6228b6aa1f814e6148aea325b51aa9499e077"
+ integrity sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==
+ dependencies:
+ component-emitter "1.2.1"
+ debug "~3.1.0"
+ isarray "2.0.1"
+
[email protected]:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.1.1.tgz#a069c5feabee3e6b214a75b40ce0652e1cfb9980"
+ integrity sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==
+ dependencies:
+ debug "~3.1.0"
+ engine.io "~3.2.0"
+ has-binary2 "~1.0.2"
+ socket.io-adapter "~1.1.0"
+ socket.io-client "2.1.1"
+ socket.io-parser "~3.2.0"
+
+source-map-resolve@^0.5.0:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259"
+ integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==
+ dependencies:
+ atob "^2.1.1"
+ decode-uri-component "^0.2.0"
+ resolve-url "^0.2.1"
+ source-map-url "^0.4.0"
+ urix "^0.1.0"
+
+source-map-url@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
+ integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
+
[email protected]:
+ version "0.5.6"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
+ integrity sha1-dc449SvwczxafwwRjYEzSiu19BI=
+
+source-map@^0.4.4:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
+ integrity sha1-66T12pwNyZneaAMti092FzZSA2s=
+ dependencies:
+ amdefine ">=0.0.4"
+
+source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3:
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+ integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
+
+source-map@^0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+ integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+spdx-correct@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4"
+ integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==
+ dependencies:
+ spdx-expression-parse "^3.0.0"
+ spdx-license-ids "^3.0.0"
+
+spdx-exceptions@^2.1.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977"
+ integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==
+
+spdx-expression-parse@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0"
+ integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==
+ dependencies:
+ spdx-exceptions "^2.1.0"
+ spdx-license-ids "^3.0.0"
+
+spdx-license-ids@^3.0.0:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz#75ecd1a88de8c184ef015eafb51b5b48bfd11bb1"
+ integrity sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==
+
+split-string@^3.0.1, split-string@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
+ integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
+ dependencies:
+ extend-shallow "^3.0.0"
+
+split2@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493"
+ integrity sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==
+ dependencies:
+ through2 "^2.0.2"
+
+split@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9"
+ integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==
+ dependencies:
+ through "2"
+
+sprintf-js@^1.0.3:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673"
+ integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==
+
+sprintf-js@~1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+ integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
+
+stack-chain@^1.3.5:
+ version "1.3.7"
+ resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-1.3.7.tgz#d192c9ff4ea6a22c94c4dd459171e3f00cea1285"
+ integrity sha1-0ZLJ/06moiyUxN1FkXHj8AzqEoU=
+
+stack-chain@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-2.0.0.tgz#d73d1172af89565f07438b5bcc086831b6689b2d"
+ integrity sha512-GGrHXePi305aW7XQweYZZwiRwR7Js3MWoK/EHzzB9ROdc75nCnjSJVi21rdAGxFl+yCx2L2qdfl5y7NO4lTyqg==
+
+stack-generator@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/stack-generator/-/stack-generator-2.0.2.tgz#3c13d952a596ab9318fec0669d0a1df8b87176c7"
+ integrity sha512-Qj3X+vY7qQ0OOLQomEihHk5SSnSPCI3z4RfB8kDk9lnzwznBODlkWODitEo8sHpp0a2VdSy3yuJkabNsQN5RGA==
+ dependencies:
+ stackframe "^1.0.4"
+
+stackframe@^1.0.3, stackframe@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.0.4.tgz#357b24a992f9427cba6b545d96a14ed2cbca187b"
+ integrity sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw==
+
+stacktrace-gps@^3.0.1:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/stacktrace-gps/-/stacktrace-gps-3.0.2.tgz#33f8baa4467323ab2bd1816efa279942ba431ccc"
+ integrity sha512-9o+nWhiz5wFnrB3hBHs2PTyYrS60M1vvpSzHxwxnIbtY2q9Nt51hZvhrG1+2AxD374ecwyS+IUwfkHRE/2zuGg==
+ dependencies:
+ source-map "0.5.6"
+ stackframe "^1.0.4"
+
+stacktrace-js@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/stacktrace-js/-/stacktrace-js-2.0.0.tgz#776ca646a95bc6c6b2b90776536a7fc72c6ddb58"
+ integrity sha1-d2ymRqlbxsayuQd2U2p/xyxt21g=
+ dependencies:
+ error-stack-parser "^2.0.1"
+ stack-generator "^2.0.1"
+ stacktrace-gps "^3.0.1"
+
+static-extend@^0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
+ integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=
+ dependencies:
+ define-property "^0.2.5"
+ object-copy "^0.1.0"
+
+"statuses@>= 1.3.1 < 2":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
+ integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==
+
+statuses@~1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
+ integrity sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=
+
+stream-browserify@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db"
+ integrity sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=
+ dependencies:
+ inherits "~2.0.1"
+ readable-stream "^2.0.2"
+
+stream-combiner2@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe"
+ integrity sha1-+02KFCDqNidk4hrUeAOXvry0HL4=
+ dependencies:
+ duplexer2 "~0.1.0"
+ readable-stream "^2.0.2"
+
+stream-http@^2.0.0:
+ version "2.7.2"
+ resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.2.tgz#40a050ec8dc3b53b33d9909415c02c0bf1abfbad"
+ integrity sha512-c0yTD2rbQzXtSsFSVhtpvY/vS6u066PcXOX9kBB3mSO76RiUQzL340uJkGBWnlBg4/HZzqiUXtaVA7wcRcJgEw==
+ dependencies:
+ builtin-status-codes "^3.0.0"
+ inherits "^2.0.1"
+ readable-stream "^2.2.6"
+ to-arraybuffer "^1.0.0"
+ xtend "^4.0.0"
+
+stream-splicer@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/stream-splicer/-/stream-splicer-2.0.0.tgz#1b63be438a133e4b671cc1935197600175910d83"
+ integrity sha1-G2O+Q4oTPktnHMGTUZdgAXWRDYM=
+ dependencies:
+ inherits "^2.0.1"
+ readable-stream "^2.0.2"
+
+streamroller@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-1.0.1.tgz#6771c9c750638e3ad9de93781d431a05514eeb2f"
+ integrity sha512-FKL2mEB0A+XTIWSOlBHm2DvdsER5cGraqrUufO0lFMfsVY+Gpb3TC29Z+6/l0Urbb7vtm6m9zJOQBVl6fEkZBA==
+ dependencies:
+ async "^2.6.1"
+ date-format "^2.0.0"
+ debug "^3.1.0"
+ fs-extra "^7.0.0"
+ lodash "^4.17.10"
+
[email protected]:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.0.2.tgz#dac30408690c21f3c3630a3ff3a05877bdcbd736"
+ integrity sha1-2sMECGkMIfPDYwo/86BYd73L1zY=
+
+string-template@~0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add"
+ integrity sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=
+
+string-width@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
+ integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
+ dependencies:
+ code-point-at "^1.0.0"
+ is-fullwidth-code-point "^1.0.0"
+ strip-ansi "^3.0.0"
+
+"string-width@^1.0.2 || 2", string-width@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
+ integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
+ dependencies:
+ is-fullwidth-code-point "^2.0.0"
+ strip-ansi "^4.0.0"
+
+string-width@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
+ integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
+ dependencies:
+ emoji-regex "^7.0.1"
+ is-fullwidth-code-point "^2.0.0"
+ strip-ansi "^5.1.0"
+
[email protected], string_decoder@~0.10.x:
+ version "0.10.31"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
+ integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
+
+string_decoder@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d"
+ integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==
+ dependencies:
+ safe-buffer "~5.1.0"
+
+string_decoder@~1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab"
+ integrity sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==
+ dependencies:
+ safe-buffer "~5.1.0"
+
+string_decoder@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+ integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
+ dependencies:
+ safe-buffer "~5.1.0"
+
+strip-ansi@^3.0.0, strip-ansi@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+ integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
+ dependencies:
+ ansi-regex "^2.0.0"
+
+strip-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
+ integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
+ dependencies:
+ ansi-regex "^3.0.0"
+
+strip-ansi@^5.1.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
+ integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
+ dependencies:
+ ansi-regex "^4.1.0"
+
+strip-bom@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
+ integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=
+ dependencies:
+ is-utf8 "^0.2.0"
+
+strip-bom@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+ integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
+
+strip-indent@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
+ integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=
+ dependencies:
+ get-stdin "^4.0.1"
+
+strip-indent@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68"
+ integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=
+
+strip-json-comments@^2.0.1, strip-json-comments@~2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+ integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
+
+subarg@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2"
+ integrity sha1-9izxdYHplrSPyWVpn1TAauJouNI=
+ dependencies:
+ minimist "^1.1.0"
+
+superagent@^3.8.3:
+ version "3.8.3"
+ resolved "https://registry.yarnpkg.com/superagent/-/superagent-3.8.3.tgz#460ea0dbdb7d5b11bc4f78deba565f86a178e128"
+ integrity sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==
+ dependencies:
+ component-emitter "^1.2.0"
+ cookiejar "^2.1.0"
+ debug "^3.1.0"
+ extend "^3.0.0"
+ form-data "^2.3.1"
+ formidable "^1.2.0"
+ methods "^1.1.1"
+ mime "^1.4.1"
+ qs "^6.5.1"
+ readable-stream "^2.3.5"
+
+supertest@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/supertest/-/supertest-4.0.2.tgz#c2234dbdd6dc79b6f15b99c8d6577b90e4ce3f36"
+ integrity sha512-1BAbvrOZsGA3YTCWqbmh14L0YEq0EGICX/nBnfkfVJn7SrxQV1I3pMYjSzG9y/7ZU2V9dWqyqk2POwxlb09duQ==
+ dependencies:
+ methods "^1.1.2"
+ superagent "^3.8.3"
+
[email protected]:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e"
+ integrity sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==
+ dependencies:
+ has-flag "^2.0.0"
+
+supports-color@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+ integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
+
+supports-color@^4.0.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b"
+ integrity sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=
+ dependencies:
+ has-flag "^2.0.0"
+
+supports-color@^5.3.0, supports-color@^5.5.0:
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
+ integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
+ dependencies:
+ has-flag "^3.0.0"
+
+syntax-error@^1.1.1:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/syntax-error/-/syntax-error-1.4.0.tgz#2d9d4ff5c064acb711594a3e3b95054ad51d907c"
+ integrity sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==
+ dependencies:
+ acorn-node "^1.2.0"
+
+table@^5.2.3:
+ version "5.3.3"
+ resolved "https://registry.yarnpkg.com/table/-/table-5.3.3.tgz#eae560c90437331b74200e011487a33442bd28b4"
+ integrity sha512-3wUNCgdWX6PNpOe3amTTPWPuF6VGvgzjKCaO1snFj0z7Y3mUPWf5+zDtxUVGispJkDECPmR29wbzh6bVMOHbcw==
+ dependencies:
+ ajv "^6.9.1"
+ lodash "^4.17.11"
+ slice-ansi "^2.1.0"
+ string-width "^3.0.0"
+
+tar@^4:
+ version "4.4.8"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d"
+ integrity sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==
+ dependencies:
+ chownr "^1.1.1"
+ fs-minipass "^1.2.5"
+ minipass "^2.3.4"
+ minizlib "^1.1.1"
+ mkdirp "^0.5.0"
+ safe-buffer "^5.1.2"
+ yallist "^3.0.2"
+
+text-extensions@^1.0.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26"
+ integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==
+
+text-table@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+ integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
+
+thenify-all@^1.0.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726"
+ integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=
+ dependencies:
+ thenify ">= 3.1.0 < 4"
+
+"thenify@>= 3.1.0 < 4":
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.0.tgz#e69e38a1babe969b0108207978b9f62b88604839"
+ integrity sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=
+ dependencies:
+ any-promise "^1.0.0"
+
+through2@^2.0.0, through2@^2.0.2:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
+ integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
+ dependencies:
+ readable-stream "~2.3.6"
+ xtend "~4.0.1"
+
+through@2, "through@>=2.2.7 <3", through@^2.3.6:
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+ integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
+
+timer-shim@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/timer-shim/-/timer-shim-0.3.0.tgz#a9bc4a68a876d3f4dfd0c6ae401e68ec1cc561d5"
+ integrity sha1-qbxKaKh20/Tf0MauQB5o7BzFYdU=
+ dependencies:
+ linkedlist "~1.0.1"
+
+timers-browserify@^1.0.1:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d"
+ integrity sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=
+ dependencies:
+ process "~0.11.0"
+
+tiny-lr@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-1.1.1.tgz#9fa547412f238fedb068ee295af8b682c98b2aab"
+ integrity sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==
+ dependencies:
+ body "^5.1.0"
+ debug "^3.1.0"
+ faye-websocket "~0.10.0"
+ livereload-js "^2.3.0"
+ object-assign "^4.1.0"
+ qs "^6.4.0"
+
+title-case@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/title-case/-/title-case-2.1.1.tgz#3e127216da58d2bc5becf137ab91dae3a7cd8faa"
+ integrity sha1-PhJyFtpY0rxb7PE3q5Ha46fNj6o=
+ dependencies:
+ no-case "^2.2.0"
+ upper-case "^1.0.3"
+
[email protected], [email protected], tmp@^0.0.33:
+ version "0.0.33"
+ resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
+ integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
+ dependencies:
+ os-tmpdir "~1.0.2"
+
[email protected]:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"
+ integrity sha1-F+bBH3PdTz10zaek/zI46a2b+JA=
+
+to-arraybuffer@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
+ integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=
+
+to-object-path@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
+ integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
+ dependencies:
+ kind-of "^3.0.2"
+
+to-regex-range@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
+ integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=
+ dependencies:
+ is-number "^3.0.0"
+ repeat-string "^1.6.1"
+
+to-regex-range@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+ integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+ dependencies:
+ is-number "^7.0.0"
+
+to-regex@^3.0.1, to-regex@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
+ integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
+ dependencies:
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ regex-not "^1.0.2"
+ safe-regex "^1.1.0"
+
+traverse-chain@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/traverse-chain/-/traverse-chain-0.1.0.tgz#61dbc2d53b69ff6091a12a168fd7d433107e40f1"
+ integrity sha1-YdvC1Ttp/2CRoSoWj9fUMxB+QPE=
+
+"traverse@>=0.3.0 <0.4":
+ version "0.3.9"
+ resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9"
+ integrity sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=
+
+trim-newlines@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
+ integrity sha1-WIeWa7WCpFA6QetST301ARgVphM=
+
+trim-off-newlines@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3"
+ integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM=
+
+tslib@^1.9.0:
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286"
+ integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==
+
[email protected]:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811"
+ integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==
+
+type-check@~0.3.2:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
+ integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=
+ dependencies:
+ prelude-ls "~1.1.2"
+
[email protected], type-detect@^4.0.0, type-detect@^4.0.5:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
+ integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
+
+type-is@~1.6.15:
+ version "1.6.18"
+ resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
+ integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
+ dependencies:
+ media-typer "0.3.0"
+ mime-types "~2.1.24"
+
+typedarray@^0.0.6, typedarray@~0.0.5:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+ integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
+
+uglify-js@^2.6:
+ version "2.8.29"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd"
+ integrity sha1-KcVzMUgFe7Th913zW3qcty5qWd0=
+ dependencies:
+ source-map "~0.5.1"
+ yargs "~3.10.0"
+ optionalDependencies:
+ uglify-to-browserify "~1.0.0"
+
+uglify-to-browserify@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
+ integrity sha1-bgkk1r2mta/jSeOabWMoUKD4grc=
+
+ultron@~1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"
+ integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==
+
+umd@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.3.tgz#aa9fe653c42b9097678489c01000acb69f0b26cf"
+ integrity sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==
+
+underscore.string@~3.3.4:
+ version "3.3.5"
+ resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.5.tgz#fc2ad255b8bd309e239cbc5816fd23a9b7ea4023"
+ integrity sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==
+ dependencies:
+ sprintf-js "^1.0.3"
+ util-deprecate "^1.0.2"
+
+union-value@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4"
+ integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=
+ dependencies:
+ arr-union "^3.1.0"
+ get-value "^2.0.6"
+ is-extendable "^0.1.1"
+ set-value "^0.4.3"
+
+universalify@^0.1.0:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
+ integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
+
[email protected], unpipe@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
+ integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
+
+unset-value@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
+ integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=
+ dependencies:
+ has-value "^0.3.1"
+ isobject "^3.0.0"
+
+unzip@~0.1.9:
+ version "0.1.11"
+ resolved "https://registry.yarnpkg.com/unzip/-/unzip-0.1.11.tgz#89749c63b058d7d90d619f86b98aa1535d3b97f0"
+ integrity sha1-iXScY7BY19kNYZ+GuYqhU107l/A=
+ dependencies:
+ binary ">= 0.3.0 < 1"
+ fstream ">= 0.1.30 < 1"
+ match-stream ">= 0.0.2 < 1"
+ pullstream ">= 0.4.1 < 1"
+ readable-stream "~1.0.31"
+ setimmediate ">= 1.0.1 < 2"
+
+upath@^1.1.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068"
+ integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==
+
+upper-case-first@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115"
+ integrity sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=
+ dependencies:
+ upper-case "^1.1.1"
+
+upper-case@^1.0.3, upper-case@^1.1.1:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
+ integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=
+
+uri-js@^4.2.2:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
+ integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
+ dependencies:
+ punycode "^2.1.0"
+
+urix@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
+ integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
+
+url@~0.11.0:
+ version "0.11.0"
+ resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
+ integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=
+ dependencies:
+ punycode "1.3.2"
+ querystring "0.2.0"
+
+use@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
+ integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
+
[email protected]:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.3.0.tgz#217f943ad540cb2128658ab23fc960f6a88c9972"
+ integrity sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==
+ dependencies:
+ lru-cache "4.1.x"
+ tmp "0.0.x"
+
+util-arity@^1.0.2:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/util-arity/-/util-arity-1.1.0.tgz#59d01af1fdb3fede0ac4e632b0ab5f6ce97c9330"
+ integrity sha1-WdAa8f2z/t4KxOYysKtfbOl8kzA=
+
+util-deprecate@^1.0.2, util-deprecate@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+ integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
+
[email protected]:
+ version "0.10.3"
+ resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
+ integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk=
+ dependencies:
+ inherits "2.0.1"
+
+util@~0.10.1:
+ version "0.10.4"
+ resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901"
+ integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==
+ dependencies:
+ inherits "2.0.3"
+
[email protected]:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
+ integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
+
+validate-commit-msg@^2.11.1:
+ version "2.14.0"
+ resolved "https://registry.yarnpkg.com/validate-commit-msg/-/validate-commit-msg-2.14.0.tgz#e5383691012cbb270dcc0bc2a4effebe14890eac"
+ integrity sha1-5Tg2kQEsuycNzAvCpO/+vhSJDqw=
+ dependencies:
+ conventional-commit-types "^2.0.0"
+ find-parent-dir "^0.3.0"
+ findup "0.1.5"
+ semver-regex "1.0.0"
+
+validate-npm-package-license@^3.0.1:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
+ integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
+ dependencies:
+ spdx-correct "^3.0.0"
+ spdx-expression-parse "^3.0.0"
+
+verror@^1.9.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
+ integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
+ dependencies:
+ assert-plus "^1.0.0"
+ core-util-is "1.0.2"
+ extsprintf "^1.2.0"
+
+vm-browserify@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019"
+ integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==
+
+void-elements@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec"
+ integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=
+
+watchify@^3.6.1:
+ version "3.11.1"
+ resolved "https://registry.yarnpkg.com/watchify/-/watchify-3.11.1.tgz#8e4665871fff1ef64c0430d1a2c9d084d9721881"
+ integrity sha512-WwnUClyFNRMB2NIiHgJU9RQPQNqVeFk7OmZaWf5dC5EnNa0Mgr7imBydbaJ7tGTuPM2hz1Cb4uiBvK9NVxMfog==
+ dependencies:
+ anymatch "^2.0.0"
+ browserify "^16.1.0"
+ chokidar "^2.1.1"
+ defined "^1.0.0"
+ outpipe "^1.1.0"
+ through2 "^2.0.0"
+ xtend "^4.0.0"
+
+websocket-driver@>=0.5.1:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb"
+ integrity sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=
+ dependencies:
+ http-parser-js ">=0.4.0"
+ websocket-extensions ">=0.1.1"
+
+websocket-extensions@>=0.1.1:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29"
+ integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==
+
+which@^1.2.1, which@^1.2.9, which@^1.3.1, which@~1.3.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
+ integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
+ dependencies:
+ isexe "^2.0.0"
+
+wide-align@^1.1.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
+ integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
+ dependencies:
+ string-width "^1.0.2 || 2"
+
[email protected]:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
+ integrity sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=
+
[email protected]:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
+ integrity sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=
+
+wordwrap@~0.0.2:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
+ integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc=
+
+wordwrap@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
+ integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
+
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
+
[email protected]:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3"
+ integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==
+ dependencies:
+ mkdirp "^0.5.1"
+
+ws@^5.1.1:
+ version "5.2.2"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f"
+ integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==
+ dependencies:
+ async-limiter "~1.0.0"
+
+ws@~3.3.1:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2"
+ integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==
+ dependencies:
+ async-limiter "~1.0.0"
+ safe-buffer "~5.1.0"
+ ultron "~1.1.0"
+
[email protected]:
+ version "8.2.2"
+ resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-8.2.2.tgz#69248673410b4ba42e1a6136551d2922335aa773"
+ integrity sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=
+
+xmlhttprequest-ssl@~1.5.4:
+ version "1.5.5"
+ resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e"
+ integrity sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=
+
+xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
+ integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68=
+
+yallist@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
+ integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
+
+yallist@^3.0.0, yallist@^3.0.2:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9"
+ integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==
+
+yargs@~3.10.0:
+ version "3.10.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
+ integrity sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=
+ dependencies:
+ camelcase "^1.0.2"
+ cliui "^2.1.0"
+ decamelize "^1.0.0"
+ window-size "0.1.0"
+
[email protected]:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005"
+ integrity sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=
+ dependencies:
+ fd-slicer "~1.0.1"
+
[email protected]:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
+ integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk=