From 4e741e2f3fe0e4cbf77989f9b119b8f64a3c6708 Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Tue, 10 Nov 2020 11:30:14 -0500 Subject: [PATCH 01/26] Initial commit of version 2.0. --- .babelrc | 7 + .eslintignore | 2 + .eslintrc.json | 3 + .gitignore | 2 + .prettierignore | 2 + .prettierrc.js | 3 + CONTRIBUTING.md | 65 - LICENSE | 202 + PDJS-es6.js | 93 - README.md | 217 +- coffee/pdjsbase.coffee | 164 - dist/pdjs-legacy.js | 2 + dist/pdjs-legacy.js.map | 1 + dist/pdjs.js | 2 + dist/pdjs.js.map | 1 + examples/.DS_Store | Bin 6148 -> 0 bytes examples/add_contact_method.html | 61 - examples/config.js | 6 - examples/incidents.html | 58 - examples/lib/Blob.js | 179 - examples/lib/FileSaver.js | 241 - examples/lib/coffee-script.js | 12 - examples/lib/moment.min.js | 6 - examples/pdjs.css | 27 - examples/report.html | 92 - examples/userCSV.html | 65 - jest.config.js | 5 + js/pdjs.js | 211 - package-lock.json | 9824 +++++++++++++++++++++++++++++- package.json | 60 +- release.sh | 31 - src/api.test.ts | 261 + src/api.ts | 205 + src/common.ts | 69 + src/events.test.ts | 137 + src/events.ts | 103 + src/index.ts | 2 + tsconfig.json | 10 + tslint.json | 7 + webpack.config.js | 56 + 40 files changed, 11046 insertions(+), 1448 deletions(-) create mode 100644 .babelrc create mode 100644 .eslintignore create mode 100644 .eslintrc.json create mode 100644 .gitignore create mode 100644 .prettierignore create mode 100644 .prettierrc.js delete mode 100644 CONTRIBUTING.md create mode 100644 LICENSE delete mode 100644 PDJS-es6.js mode change 100755 => 100644 README.md delete mode 100644 coffee/pdjsbase.coffee create mode 100644 dist/pdjs-legacy.js create mode 100644 dist/pdjs-legacy.js.map create mode 100644 dist/pdjs.js create mode 100644 dist/pdjs.js.map delete mode 100644 examples/.DS_Store delete mode 100644 examples/add_contact_method.html delete mode 100644 examples/config.js delete mode 100644 examples/incidents.html delete mode 100644 examples/lib/Blob.js delete mode 100644 examples/lib/FileSaver.js delete mode 100755 examples/lib/coffee-script.js delete mode 100644 examples/lib/moment.min.js delete mode 100755 examples/pdjs.css delete mode 100644 examples/report.html delete mode 100644 examples/userCSV.html create mode 100644 jest.config.js delete mode 100644 js/pdjs.js delete mode 100755 release.sh create mode 100644 src/api.test.ts create mode 100644 src/api.ts create mode 100644 src/common.ts create mode 100644 src/events.test.ts create mode 100644 src/events.ts create mode 100644 src/index.ts create mode 100644 tsconfig.json create mode 100644 tslint.json create mode 100644 webpack.config.js diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..a2309a2 --- /dev/null +++ b/.babelrc @@ -0,0 +1,7 @@ +{ + "presets": ["@babel/env", "@babel/typescript"], + "plugins": [ + "@babel/proposal-class-properties", + "@babel/proposal-object-rest-spread" + ] +} diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..2fde08f --- /dev/null +++ b/.eslintignore @@ -0,0 +1,2 @@ +dist/* +build/* diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..f95bb33 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/gts/" +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dd87e2d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +node_modules +build diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..a7e8e21 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,2 @@ +build +dist \ No newline at end of file diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..c5166c2 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,3 @@ +module.exports = { + ...require('gts/.prettierrc.json'), +}; diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 07eb0df..0000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,65 +0,0 @@ -# Contributing to PDJS - -This project is work of [many contributors](https://github.com/PagerDuty/pdjs/graphs/contributors). - -You're encouraged to submit [pull requests](https://github.com/PagerDuty/pdjs/pulls), [propose features and discuss issues](https://github.com/PagerDuty/pdjs/issues). - -In the examples below, substitute your Github username for `contributor` in URLs. - -## Create a Topic Branch - -Create a topic branch for your feature or bug fix. - -``` -git checkout master -git pull origin master -git checkout -b my-branch -``` - -## Write Code - -Implement your feature or bug fix. - -## Write Documentation - -Document any external behavior in the [README](README.md). - -## Commit Changes - -Make sure git knows your name and email address: - -``` -git config --global user.name "Your Name" -git config --global user.email "contributor@example.com" -``` - -Writing good commit logs is important. A commit log should accurately describe what changes were introduced - -``` -git add ... -git commit -``` - -## Push - -``` -git push origin my-branch -``` - -## Make a Pull Request - -Go to https://github.com/PagerDuty/pdjs and select your feature branch. -Click the 'Pull Request' button and fill out the form. - - -## Check on Your Pull Request - -Check your pull request to see whether its been approved or not. - -## Be Patient - -It's likely that your change will not be merged right away and maintainers might require some changes to your code - -## Thank You - -Thanks for contributing! We really do value your time and effort. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/PDJS-es6.js b/PDJS-es6.js deleted file mode 100644 index 791fbbc..0000000 --- a/PDJS-es6.js +++ /dev/null @@ -1,93 +0,0 @@ -class PDJSObj{ - function logg(str) { - if (this.logging) { - return console.log(str); - } - } - - function req(){ - return this.req_count++; - } - - constructor(params) { - let _ref; - if (params == null) { - params = {}; - } - this.subdomain = params.subdomain; - this.async = (_ref = params.async === false) != null ? _ref : { - "false": true - }; - this.token = params.token; - this.refresh = params.refresh || 60; - this.refresh_in_ms = this.refresh * 1000; - this.protocol = params.protocol || "https"; - this.server = params.server || "pagerduty.com"; - this.logging = params.logging || false; - this.req_count = 1; - this.api_version = params.api_version || "v2"; - this.logg("Initializing PDJSobj"); - } - - function no_success_function(json, callerparams) { - this.logg("no success function defined for " + callerparams.res); - return this.logg(json); - } - - function error_function(err, callerparams) { - let anyerror, error_detail; - console.log("Error for " + callerparams.res); - console.log(err.status); - error_detail = err.responseText; - try { - error_detail = JSON.parse(error_detail); - } catch (_error) { - anyerror = _error; - this.logg("Not an JSON error"); - } - return console.log(error_detail); - }; - } - - function api(params){ - if (params == null) { - params = {}; - } - this.logg("Call to API: " + params.res); - params.url = params.url || this.protocol + "://api." + this.server + "/" + params.res; - params.attempt = params.attempt || 0; - params.async = params.async || this.async; - params.headers = params.headers || {}; - params.contentType = "application/json; charset=utf-8"; - params.dataType = "json"; - if(this.api_version == "v2"){ - params.accepts = {json: 'application/vnd.pagerduty+json;version=2'}; - } - params.data = params.data || {}; - params.data.PDJSversion = PDJSobj.version; - params.data.request_count = this.req(); - params.data.attempt = params.attempt++; - this.logg("params.data:"); - this.logg(params.data); - params.type = (params.type || "GET").toUpperCase(); - if (params.type === "POST" || params.type === "PUT") { - params.data = JSON.stringify(params.data); - } - params.headers.Authorization = 'Token token=' + this.token; - params.error = params.error || (function(_this) { - return function(err) { - return _this.error_function(err, params); - }; - })(this); - params.success = params.success || (function(_this) { - return function(data) { - return _this.no_success_function(data, params); - }; - })(this); - this.logg(params); - return $.ajax(params); - } - - - -} diff --git a/README.md b/README.md old mode 100755 new mode 100644 index b412289..8491539 --- a/README.md +++ b/README.md @@ -1,143 +1,130 @@ -PDJS (PagerDuty based JavaScript API) -==== -This is a simple client-side JavaScript wrapper to the [PagerDuty API](https://v2.developer.pagerduty.com/v2/docs). - -## Making an API request -### Setup PDJSobj -1. First, you'll need the following dependencies included in your project to utilize PDJS. - * [pdjs.js](https://github.com/PagerDuty/pdjs) -- you can download it and manually add it to your project. Or, `npm i pagerduty-pdjs`. -1. Create a `PDJSobj` object, setting values for the `subdomain`, `token`, and `api_version` fields on the object. -```javascript -var PDJS = new PDJSobj({ - subdomain: 'webdemo', - token: 'rcgtBVpizBZQjDzE3Hub', - api_version: 'v1', - logging: true -}); +# README + +A simple JavaScript wrapper for the PagerDuty APIs. + + - Supports Node and Browser environments + - Supports REST, Events v1, Events v2 APIs. + - Supports both offset and cursor based pagination + +## Installation + +**Note:** Proper NPM support still TODO. + +For the time being: + +```bash +npm install --save dobs/pdjs-next#main ``` - * `subdomain` -- for this example we're using the `webdemo`, but you would want to put in your subdomain. - * `token` -- your [API token](https://support.pagerduty.com/docs/using-the-api#section-generating-a-general-access-rest-api-key). The one above is to provide read-only access to the `webdemo` account. You can decide what kind of access your token will provide when you create it. - * `api_version` -- By default, `PDJS` uses version 2 of the PagerDuty REST and Events API. To request version 1, the api version needs to be specified here. The **api_version** parameter is optional. - -### Call API: -The most basic way to make an API call with `PDJS` is to use the `PDJS.api()` function. +## Usage + +### REST API + +REST API calls can be done using the convenience methods or by passing in a `url` or `endpoint`. + +#### convenience Methods + ```javascript -PDJS.api({ - res: 'services', - data: { - limit: 20, - }, - success: function (data) { - console.log(data) - }, -}) +import {api} from 'pdjs-next'; + +const pd = api({token: 'someToken1234567890'}) + +pd.get('/incidents') + .then({data, resource, next} => console.log(data, resource, next)) + .catch(console.error); + +// Similarly, for `post`, `put`, `patch` and `delete`. +pd.post('/incidents', { data: { ... } }).then(...) ``` - * `res` -- the API endpoint and path you're calling* - * `data` -- the query-string parameters that can be appended to the endpoint. This parameter is optional. - * `success` -- the callback function that is called when the API call completes successfully. This is **required**. - * `error` -- the callback function that is called when there is an error with the API call. This parameter is optional, though recommended. -*In addition to specififying the endpoint, the `res` parameter may have an ID in it. For example, here's how to get the [notes](https://v2.developer.pagerduty.com/v2/page/api-reference#!/Incidents/get_incidents_id_notes) for an `incident` with the ID of `PNCII2E`. +#### `url` or `endpoint` ```javascript -PDJS.api({ - res: 'incidents/PNCII2E/notes', - success: function (data) { - alert(JSON.stringify(data)) - }, -}) +// Calling the returned function with a `endpoint` or `url` will also send it. +pd({ + method: 'post', + endpoint: '/incidents', + data: { + ... + } +}).then(...) ``` -### PUT and POST -`POST` and `PUT` requests are also supported. -For instance, the following snippet adds a `contact_method` for `user: test@example.com`, and then adding a notification rule to alert that email address after 900 minutes: +#### The Response Object + +The PD object always returns an APIResponse object which contains some raw data as well as a convenient shortcut to directly access the returns Resource. ```javascript -add_contact_method = function(user_id) { - PDJS.api({ - res: `users/${user_id}/contact_methods`, - type: 'POST', - data: { - contact_method: { - type:'email_contact_method', - address:'test4@example.com', - label: 'Added from PDJS', - } - }, - success: function (data) { - console.log('New contact method ID: ' + data.contact_method.id) - add_notification_rule(user_id, data.contact_method, 900) - } - }) -} -add_notification_rule = function(user_id, contact_method, start_delay_in_minutes) { - PDJS.api({ - res: `users/${user_id}/notification_rules`, - type: 'POST', - data: { - notification_rule: { - type: "assignment_notification_rule", - contact_method: contact_method, - start_delay_in_minutes: start_delay_in_minutes, - urgency: "high" - } - }, - success: function (data) { - console.log(data) - console.log('New notification rule ID: ' + data.notification_rule.id) - } +pd.get('/incidents') + .then({resource, data, response, next} => { + console.log(resource); // Contains the data of resource request. In this example the 'incidents' data. + console.log(data); // The raw data returned from the API, also contains pagination information. + console.log(response); // The response object returned from the cross-fetch + console.log(next); // A convenience function to help with pagination }) -} + .catch(console.error); -add_contact_method('PRJRF7T'); ``` -To see this code in action go to the [add_contact_method example](examples/add_contact_method.html). -## The *api_all* helper +#### Pagination + +There's an async `all` that attempts to fetch all pages for a given endpoint and set of parameters. For convenience this function supports both offset and cursor based pagination. + +Note that the PagerDuty API has a limit of 10,000 for most endpoints and recommends using parameters to refine searches where more results are necessary. More information can be found in the [Developer Documentation.](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) -In addition to `PDJS.api()` there's also `PDJS.api_all()` which is a helper method that will handle limits and offsets for lists longer than 100 elements: ```javascript -PDJS.api_all({ - res: 'incidents', - data: { - since: '2013-08-01T09:53:17-07:00', - until: '2013-08-14T09:53:17-07:00', - status: 'resolved', - fields: 'incident_number,status,created_on,service' - }, - final_success: function(data) { - console.log(data.total + ' objects!'); - console.log(data); - }, - incremental_success: function(data) { - console.log('Got data'); - } -}) -``` -It works the same as `PDJS.api()`, except you'll need to specify one or more of: +import {all} from 'pdjs-next'; + +// List every API-accessible incident. +const responses = await all({ + token: 'someToken1234567890', + endpoint: '/incidents', + limit: 5000, +}); - * a *function* to run on **final_success** at the end - * a *function* to run on each **incremental_success** +for (response of responses) { + console.log(response.data); +} +``` -That's kind of nifty. +### Events API -## Examples +Both V1 and V2 of the Events API are supported, with the version to used being based on the payload. For example, the Events API V2: -To get an idea for how `PDJS` works, there's an examples directory: +```javascript +import {event} from 'pdjs-next'; - * [examples/incidents.html](https://pagerduty.github.io/pdjs/examples/incidents.html) polls the [incidents](http://developer.pagerduty.com/documentation/rest/incidents/list) api and displays the triggered & acknowledged incidents - * [examples/report.html](https://pagerduty.github.io/pdjs/examples/report.html) shows off *api_all* by looping through all the events on my webdemo account for the last 30 days and prints them out as a CSV-esque thing that you could paste into a CSV file +event({ + data: { + routing_key: '791695b5cdea40bfa2a710673888f520', + event_action: 'trigger', + dedup_key: 'test_incident_2_88f520', + payload: { + summary: 'Test Event V2', + source: 'test-source', + severity: 'error', + }, + }, +}) + .then(console.log) + .catch(console.error); +``` -## Compiling the Base Script: -`PDJS` is written in [CoffeeScript](http://coffeescript.org/). To make changes to the library, you'll edit the `coffee/pdjsbase.coffee` file and compile it by running the command below from the `pdjs` directory to produce the JavaScript. +### Browser -`coffee --output js/pdjs.js --compile --watch coffee/ ` +Two browser-ready scripts are provided: -## More info -This project is for client-side JavaScript. If you're looking for a Node library, we recommend the [node-pagerduty](https://github.com/kmart2234/node-pagerduty) library. +- [dist/pdjs.js](https://raw.githubusercontent.com/dobs/pdjs-next/main/dist/pdjs.js): For browsers supporting `fetch`. +- [dist/pdjs-legacy.js](https://raw.githubusercontent.com/dobs/pdjs-next/main/dist/pdjs-legacy.js): For older browsers requiring a `fetch` polyfill -- mostly IE 11. -Are you using this library or have questions? Let us know by posting to the [PagerDuty Community Developer Forum](https://community.pagerduty.com/c/dev). +Either of these files can be used by copying them into your project and including them directly, with all functions namespaced `PagerDuty`: -You might notice that PDJS sends along some extra parameters, nothing scary, we use those to track QoS across our language-specific libraries. +```html + + +``` diff --git a/coffee/pdjsbase.coffee b/coffee/pdjsbase.coffee deleted file mode 100644 index 7e3032b..0000000 --- a/coffee/pdjsbase.coffee +++ /dev/null @@ -1,164 +0,0 @@ -class window.PDJSobj - @version = "PDJS-1.1.0" - logg: (str) -> - if(this.logging) - console.log(str) - req: () -> - return this.req_count++ - - constructor: (params = {}) -> - this.async = params.async == false ? false : true; - this.token = params.token - this.refresh = params.refresh || 60 - this.refresh_in_ms = this.refresh * 1000 - this.protocol = params.protocol || "https" - this.server = params.server || "pagerduty.com" - this.logging = params.logging || false - this.req_count = 1 - this.logg("Initializing PDJSobj") - - # If you don't specify a callback, show something useful for debugging - no_success_function: (json, callerparams) -> - this.logg("no success function defined for "+ callerparams.res) - this.logg(json) - - # If you don't override the callback on error we do the basic error handling - error_function: (err, callerparams) -> - console.log("Error for "+callerparams.res) - console.log(err.status) - error_detail = err.responseText - try - error_detail = JSON.parse(error_detail) - catch anyerror - this.logg("Not an JSON error") - console.log(error_detail) - # PDJStools.logg(err) - # TODO Handle these: - # 0 Failed to connect to anything - # 401 bad auth - # 400 Thing not found - - api: (params = {}) -> - this.logg("Call to API: "+ params.res) - #PDJStools.logg(params) - params.url = params.url || @protocol+"://api."+this.server+"/"+params.res - params.attempt = params.attempt || 0 - params.async = params.async || this.async # For batch jobs, async helps us avoid getting throttled - params.headers = params.headers || {} - params.contentType = "application/json; charset=utf-8" - params.dataType = "json" - params.accepts = { json: 'application/vnd.pagerduty+json;version=2' } - params.data = params.data || {} - params.data.PDJSversion = PDJSobj.version - params.data.request_count = this.req() - params.data.attempt = params.attempt++ - this.logg("params.data:") - this.logg(params.data) - params.type = (params.type||"GET").toUpperCase() - if(params.type=="POST" || params.type=="PUT") # the update APIs expect the data in the body to be JSON - params.data = JSON.stringify(params.data) - params.headers.Authorization = 'Token token='+this.token - params.error = params.error || ((err) => - this.error_function(err, params)) - params.success = params.success || ((data) => - this.no_success_function(data, params)) - this.logg(params) - this.sendRequest(params) - - # For list queries, this will recursively keep getting the next offset - api_all: (params = {}, datasofar=[]) -> - params.data = params.data || {} - params.data.limit = 100 - params.data.offset = params.data.offset || 0 - params.final_success = params.final_success || ((data) => - this.no_success_function(data, params)) - params.incremental_success = params.incremental_success || ((data) => - 0) - params.success = ((data) => - data.res = params.res - params.incremental_success(data[params.res]) - datasofar = datasofar.concat(data[params.res]) - window.datasofar = datasofar - window.d = data - if(data.total > data.limit+data.offset) - this.logg("Getting more") - params.data.offset+=params.data.limit - this.api_all(params, datasofar) - else - this.logg("All done") - this.logg(params) - data[params.res] = datasofar - data.res = params.res - data.offset = 0 - data.limit = data.total - this.logg(data) - params.final_success(data)) - - this.logg(params) - this.api(params) - - # the event API is different enough to have its own function - event: (params = {}) -> - this.logg("Create an event") - params.type = "POST" - params.url = params.url || @protocol+"://events."+this.server+"/generic/2010-04-15/create_event.json" - - params.data = params.data || {} - params.headers = params.headers || {} - params.data.service_key = params.data.service_key || params.service_key || this.logg("No service key") - params.data.event_type = params.data.event_type || params.event_type || "trigger" - params.data.incident_key = params.data.incident_key || params.incident_key || "Please specify an incident_key" - params.data.client = params.data.client || params.client if params.client - params.data.client_url = params.data.client_url || params.client_url if params.client_url - params.data.description = params.data.description || params.description || "No description provided" - params.data.details = params.data.details || params.details || {} - params.data.contexts = params.data.contexts || params.contexts || {} - params.data = JSON.stringify(params.data) - - params.contentType = "application/json; charset=utf-8" - params.dataType = "json" - params.error = params.error || ((err) => - this.error_function(err, params)) - params.success = params.success || ((data) => - this.no_success_function(data, params)) - this.sendRequest(params) - - # Shortcut methods - trigger: (params = {}) -> - params.event_type = "trigger" - this.event(params) - # Todo: add some examples to the docs - acknowledge: (params = {}) -> - params.event_type = "acknowledge" - this.event(params) - resolve: (params = {}) -> - params.event_type = "resolve" - this.event(params) - - - sendRequest: (params = {}) -> - { accepts, contentType, data, error, headers, success, type, url } = params - xhr = new XMLHttpRequest(); - - if type is 'GET' - query = '' - Object.keys(data).map (key) -> - if query != '' - query += '&' - query += key + '=' + encodeURIComponent(data[key]) - - url += '?' + query - - xhr.open(type, url) - xhr.setRequestHeader('Content-Type', contentType) - xhr.setRequestHeader('Authorization', headers.Authorization) - if accepts?.json? - xhr.setRequestHeader('Accept', accepts.json) - - xhr.onload = () -> - if xhr.status >= 200 and xhr.status < 300 - success(JSON.parse(xhr.responseText)) - else - error(JSON.parse(xhr.responseText)) - - xhr.send(data) diff --git a/dist/pdjs-legacy.js b/dist/pdjs-legacy.js new file mode 100644 index 0000000..be92d21 --- /dev/null +++ b/dist/pdjs-legacy.js @@ -0,0 +1,2 @@ +var PagerDuty;PagerDuty=(()=>{var t={47:(t,e,r)=>{"use strict";r.r(e),r.d(e,{acknowledge:()=>R,all:()=>O,api:()=>v,change:()=>A,event:()=>_,resolve:()=>k,trigger:()=>U});var n=r(98),o=r.n(n),i=r(818);function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function a(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function f(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e,i=r.params,s=r.timeout,u=c(r,["params","timeout"]);return t=l(t=new URL(t.toString()),i),e=y(e,s),o()(t.toString(),a(a({},u),{},{headers:new n.Headers(a(a({"Content-Type":"application/json; charset=utf-8"},p()),u.headers))}))}function p(){return i.jU?{}:{"User-Agent":"pdjs-next/".concat("0.0.1"," (").concat(process.version,"/").concat(process.platform,")")}}function l(t,e){if(!e)return t;for(var r=t.searchParams,n=0,o=Object.keys(e);n=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["res","server","token","url","version","data"]),y=b(b({method:"GET"},l),{},{headers:b({Accept:"application/vnd.pagerduty+json;version=".concat(f),Authorization:"Token token=".concat(a)},l.headers)});return r=y.method,!["PUT","POST","DELETE","PATCH"].includes(null!==(n=r.toUpperCase())&&void 0!==n?n:"GET")&&p?y.params=null!==(e=y.params)&&void 0!==e?e:p:y.body=JSON.stringify(p),w(null!=u?u:"https://".concat(s,"/").concat(o.replace(/^\/+/,"")),y)}function O(t){return v(t).then((function(t){return g([t])}))}function g(t){var e=t[t.length-1];return e.next?e.next().then((function(e){return g(t.concat([e]))})):Promise.resolve(t)}function w(t,e){return f(t,e).then((function(r){var n=r;return r.json().then((function(r){return n.next=function(t,e,r){if((null==r?void 0:r.more)&&void 0!==d(r.offset)&&r.limit)return function(){return w(t,b(b({},e),{},{params:b(b({},e.params),{},{limit:r.limit.toString(),offset:(r.limit+r.offset).toString()})}))}}(t,e,r),n.data=r,n}))}))}function j(t,e,r,n,o,i,s){try{var a=t[i](s),u=a.value}catch(t){return void r(t)}a.done?e(u):Promise.resolve(u).then(n,o)}function P(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function s(t){j(i,n,o,s,a,"next",t)}function a(t){j(i,n,o,s,a,"throw",t)}s(void 0)}))}}function E(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function x(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function _(t){var e=t.server,r=void 0===e?"events.pagerduty.com":e,n=t.data,o=T(t,["server","data"]);return I(D(t)?"https://".concat(r,"/generic/2010-04-15/create_event.json"):"https://".concat(r,"/v2/enqueue"),x({method:"POST",body:JSON.stringify(n)},o))}function A(t){var e=t.server,r=void 0===e?"events.pagerduty.com":e,n=t.data,o=T(t,["server","data"]);return I("https://".concat(r,"/v2/change/enqueue"),x({method:"POST",body:JSON.stringify(n)},o))}function D(t){return void 0!==t.data.service_key}var B=function(t){return function(e){var r=D(e)?"event_type":"event_action";return _(x(x({},e),{},{data:x(x({},e.data),{},S({},r,t))}))}},U=B("trigger"),R=B("acknowledge"),k=B("resolve");function I(t,e){return F.apply(this,arguments)}function F(){return(F=P(regeneratorRuntime.mark((function t(e,r){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,f(e,r);case 2:return n=t.sent,t.next=5,n.json();case 5:return n.data=t.sent,t.abrupt("return",n);case 7:case"end":return t.stop()}}),t)})))).apply(this,arguments)}},818:(t,e)=>{"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n="undefined"!=typeof window&&void 0!==window.document;"object"===("undefined"==typeof self?"undefined":r(self))&&self.constructor&&self.constructor.name,"undefined"!=typeof process&&null!=process.versions&&process.versions.node;e.jU=n},98:function(t,e){var r=function(t){function e(){this.fetch=!1,this.DOMException=t.DOMException}return e.prototype=t,new e}("undefined"!=typeof self?self:this);!function(t){!function(e){var r="URLSearchParams"in t,n="Symbol"in t&&"iterator"in Symbol,o="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),i="FormData"in t,s="ArrayBuffer"in t;if(s)var a=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],u=ArrayBuffer.isView||function(t){return t&&a.indexOf(Object.prototype.toString.call(t))>-1};function c(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function f(t){return"string"!=typeof t&&(t=String(t)),t}function p(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return n&&(e[Symbol.iterator]=function(){return e}),e}function l(t){this.map={},t instanceof l?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function y(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function d(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function h(t){var e=new FileReader,r=d(e);return e.readAsArrayBuffer(t),r}function b(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function m(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:o&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:i&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:r&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():s&&o&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=b(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):s&&(ArrayBuffer.prototype.isPrototypeOf(t)||u(t))?this._bodyArrayBuffer=b(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var t=y(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?y(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(h)}),this.text=function(){var t,e,r,n=y(this);if(n)return n;if(this._bodyBlob)return t=this._bodyBlob,r=d(e=new FileReader),e.readAsText(t),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n-1?n:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function g(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}})),e}function w(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new l(e.headers),this.url=e.url||"",this._initBody(t)}O.prototype.clone=function(){return new O(this,{body:this._bodyInit})},m.call(O.prototype),m.call(w.prototype),w.prototype.clone=function(){return new w(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new l(this.headers),url:this.url})},w.error=function(){var t=new w(null,{status:0,statusText:""});return t.type="error",t};var j=[301,302,303,307,308];w.redirect=function(t,e){if(-1===j.indexOf(e))throw new RangeError("Invalid status code");return new w(null,{status:e,headers:{location:t}})},e.DOMException=t.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function P(t,r){return new Promise((function(n,i){var s=new O(t,r);if(s.signal&&s.signal.aborted)return i(new e.DOMException("Aborted","AbortError"));var a=new XMLHttpRequest;function u(){a.abort()}a.onload=function(){var t,e,r={status:a.status,statusText:a.statusText,headers:(t=a.getAllResponseHeaders()||"",e=new l,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}})),e)};r.url="responseURL"in a?a.responseURL:r.headers.get("X-Request-URL");var o="response"in a?a.response:a.responseText;n(new w(o,r))},a.onerror=function(){i(new TypeError("Network request failed"))},a.ontimeout=function(){i(new TypeError("Network request failed"))},a.onabort=function(){i(new e.DOMException("Aborted","AbortError"))},a.open(s.method,s.url,!0),"include"===s.credentials?a.withCredentials=!0:"omit"===s.credentials&&(a.withCredentials=!1),"responseType"in a&&o&&(a.responseType="blob"),s.headers.forEach((function(t,e){a.setRequestHeader(e,t)})),s.signal&&(s.signal.addEventListener("abort",u),a.onreadystatechange=function(){4===a.readyState&&s.signal.removeEventListener("abort",u)}),a.send(void 0===s._bodyInit?null:s._bodyInit)}))}P.polyfill=!0,t.fetch||(t.fetch=P,t.Headers=l,t.Request=O,t.Response=w),e.Headers=l,e.Request=O,e.Response=w,e.fetch=P}({})}(r),delete r.fetch.polyfill,(e=r.fetch).default=r.fetch,e.fetch=r.fetch,e.Headers=r.Headers,e.Request=r.Request,e.Response=r.Response,t.exports=e}},e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return t[n].call(o.exports,o,o.exports,r),o.exports}return r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r(47)})(); +//# sourceMappingURL=pdjs-legacy.js.map \ No newline at end of file diff --git a/dist/pdjs-legacy.js.map b/dist/pdjs-legacy.js.map new file mode 100644 index 0000000..c894bd6 --- /dev/null +++ b/dist/pdjs-legacy.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://PagerDuty/./src/common.ts","webpack://PagerDuty/./src/api.ts","webpack://PagerDuty/./src/events.ts","webpack://PagerDuty/./node_modules/browser-or-node/lib/index.js","webpack://PagerDuty/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://PagerDuty/webpack/bootstrap","webpack://PagerDuty/webpack/startup","webpack://PagerDuty/webpack/runtime/compat get default export","webpack://PagerDuty/webpack/runtime/define property getters","webpack://PagerDuty/webpack/runtime/hasOwnProperty shorthand","webpack://PagerDuty/webpack/runtime/make namespace object"],"names":["request","url","options","params","timeout","rest","applyParams","URL","toString","applyTimeout","fetch","headers","Headers","userAgentHeader","isBrowser","process","version","platform","combinedParams","searchParams","Object","keys","key","append","search","init","controller","AbortController","setTimeout","abort","signal","api","res","partialParams","partial","shorthand","method","get","post","put","patch","all","partialCall","server","token","data","config","Accept","Authorization","includes","toUpperCase","body","JSON","stringify","apiRequest","replace","then","resp","allInner","resps","length","next","concat","Promise","resolve","apiResp","json","more","undefined","offset","limit","nextFunc","event","eventFetch","isEventsV1","change","service_key","action","typeField","trigger","acknowledge","_typeof","Symbol","iterator","obj","constructor","prototype","window","document","self","name","versions","node","exports","__self__","root","F","this","DOMException","support","Blob","e","viewClasses","isArrayBufferView","ArrayBuffer","isView","indexOf","call","normalizeName","String","test","TypeError","toLowerCase","normalizeValue","value","iteratorFor","items","shift","done","map","forEach","Array","isArray","header","getOwnPropertyNames","consumed","bodyUsed","reject","fileReaderReady","reader","onload","result","onerror","error","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","buf","slice","view","Uint8Array","byteLength","set","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","type","rejected","Error","arrayBuffer","text","readAsText","chars","i","fromCharCode","join","readArrayBufferAsText","formData","decode","parse","oldValue","has","hasOwnProperty","callback","thisArg","push","values","entries","methods","Request","input","upcased","credentials","mode","referrer","form","trim","split","bytes","decodeURIComponent","Response","bodyInit","status","ok","statusText","clone","response","redirectStatuses","redirect","RangeError","location","err","message","stack","create","aborted","xhr","XMLHttpRequest","abortXhr","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","onabort","open","withCredentials","responseType","setRequestHeader","addEventListener","onreadystatechange","readyState","removeEventListener","send","polyfill","default","module","__webpack_module_cache__","__webpack_require__","moduleId","__webpack_modules__","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","prop","r","toStringTag"],"mappings":"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","file":"pdjs-legacy.js","sourcesContent":["/* NODE-ONLY-START */\nimport fetch, {Headers} from 'cross-fetch';\nimport {isBrowser} from 'browser-or-node';\n/* NODE-ONLY-END */\n\nconst VERSION = '0.0.1';\n\nexport interface RequestOptions extends RequestInit {\n params?: Record;\n timeout?: number;\n}\n\n// TODO: Retries.\n// TODO: Backoff.\nexport function request(\n url: string | URL,\n options: RequestOptions = {}\n): Promise {\n const {params, timeout, ...rest} = options;\n\n url = new URL(url.toString());\n\n url = applyParams(url, params);\n options = applyTimeout(options, timeout);\n\n return fetch(url.toString(), {\n ...rest,\n headers: new Headers({\n 'Content-Type': 'application/json; charset=utf-8',\n /* NODE-ONLY-START */\n ...userAgentHeader(),\n /* NODE-ONLY-END */\n ...rest.headers,\n }),\n });\n}\n\nfunction userAgentHeader(): object {\n if (isBrowser) return {};\n\n return {\n 'User-Agent': `pdjs-next/${VERSION} (${process.version}/${process.platform})`,\n };\n}\n\nfunction applyParams(url: URL, params?: Record): URL {\n if (!params) return url;\n\n const combinedParams = url.searchParams;\n\n for (const key of Object.keys(params)) {\n combinedParams.append(key, params[key]);\n }\n\n url.search = combinedParams.toString();\n return url;\n}\n\nfunction applyTimeout(init: RequestOptions, timeout?: number): RequestOptions {\n if (!timeout) return init;\n\n const controller = new AbortController();\n setTimeout(() => controller.abort(), timeout);\n\n return {\n ...init,\n signal: controller.signal,\n };\n}\n","import {request, RequestOptions} from './common';\n\nexport interface ShorthandCall {\n (res: string, params?: Partial): APIPromise;\n}\n\nexport interface PartialCall {\n (params: APIParams): APIPromise;\n (params: Partial): PartialCall;\n get: ShorthandCall;\n post: ShorthandCall;\n put: ShorthandCall;\n patch: ShorthandCall;\n delete: ShorthandCall;\n all: (params: APIParams) => Promise;\n}\n\nexport type APIParams = RequestOptions & {\n res?: string;\n url?: string;\n data?: object;\n token?: string;\n server?: string;\n version?: number;\n} & ({res: string} | {url: string});\n\nexport type APIPromise = Promise;\n\nexport interface APIResponse extends Response {\n data: any;\n next?: () => APIPromise;\n}\n\nexport function api(params: APIParams): APIPromise;\nexport function api(params: Partial): PartialCall;\nexport function api(params: Partial): APIPromise | PartialCall {\n // If the params don't include `res` or `url` treat it as a partial\n // application.\n if (!params.res && !params.url) {\n return partialCall(params);\n }\n\n const {\n res,\n server = 'api.pagerduty.com',\n token,\n url,\n version = 2,\n data,\n ...rest\n } = params;\n\n const config: RequestOptions = {\n method: 'GET',\n ...rest,\n headers: {\n Accept: `application/vnd.pagerduty+json;version=${version}`,\n Authorization: `Token token=${token!}`,\n ...rest.headers,\n },\n };\n\n // Allow `data` for `params` for requests without bodies.\n if (isReadonlyRequest(config.method!) && data) {\n config.params = config.params ?? (data as Record);\n } else {\n config.body = JSON.stringify(data);\n }\n\n return apiRequest(\n url ?? `https://${server}/${res!.replace(/^\\/+/, '')}`,\n config\n );\n}\n\nexport function all(params: APIParams): Promise {\n return (api(params) as APIPromise).then(resp => allInner([resp]));\n}\n\nfunction allInner(resps: APIResponse[]): Promise {\n const resp = resps[resps.length - 1];\n\n if (!resp.next) {\n return Promise.resolve(resps);\n }\n\n return resp.next().then(resp => allInner(resps.concat([resp])));\n}\n\nfunction apiRequest(url: string, options: RequestOptions): APIPromise {\n return request(url, options).then(\n (resp: Response): APIPromise => {\n const apiResp = resp as APIResponse;\n\n return resp.json().then(\n (data): APIResponse => {\n apiResp.next = nextFunc(url, options, data);\n apiResp.data = data;\n return apiResp;\n }\n );\n }\n );\n}\n\nfunction isReadonlyRequest(method: string) {\n return !['PUT', 'POST', 'DELETE', 'PATCH'].includes(\n method.toUpperCase() ?? 'GET'\n );\n}\n\n// TODO: Support cursor-based pagination.\nfunction nextFunc(\n url: string,\n options: RequestOptions,\n data: {more?: boolean; offset?: number; limit?: number}\n) {\n if (data?.more && typeof data.offset !== undefined && data.limit) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n limit: data.limit!.toString(),\n offset: (data.limit! + data.offset!).toString(),\n },\n });\n }\n\n return undefined;\n}\n\nfunction partialCall(params: Partial) {\n const partialParams = params;\n const partial = ((params: Partial) =>\n api({...partialParams, ...params})) as PartialCall;\n\n const shorthand = (method: string) => (\n res: string,\n params?: Partial\n ): APIPromise =>\n api({res, method, ...partialParams, ...params}) as APIPromise;\n\n partial.get = shorthand('get');\n partial.post = shorthand('post');\n partial.put = shorthand('put');\n partial.patch = shorthand('patch');\n partial.delete = shorthand('delete');\n\n partial.all = (params: APIParams) => all(params);\n\n return partial;\n}\n","import {request, RequestOptions} from './common';\n\nexport type Action = 'trigger' | 'acknowledge' | 'resolve';\n\nexport type EventPromise = Promise;\n\nexport interface EventResponse extends Response {\n data: any;\n}\n\nexport interface EventPayloadV1 {\n service_key: string;\n incident_key: string;\n event_type?: Action;\n client?: string;\n client_url?: string;\n description?: string;\n details?: object;\n contexts?: object;\n}\n\nexport type Severity = 'critical' | 'error' | 'warning' | 'info';\n\nexport interface Image {\n src: string;\n href?: string;\n alt?: string;\n}\n\nexport interface Link {\n href: string;\n text?: string;\n}\n\nexport interface EventPayloadV2 {\n routing_key: string;\n event_action: Action;\n dedup_key?: string;\n payload: {\n summary: string;\n source: string;\n severity: Severity;\n timestamp?: string;\n component?: string;\n group?: string;\n class?: string;\n custom_details?: object;\n };\n images?: Array;\n links?: Array;\n}\n\nexport interface EventParams extends RequestOptions {\n data: EventPayloadV1 | EventPayloadV2;\n server?: string;\n}\n\nexport interface ChangePayload {\n routing_key: string;\n payload: {\n summary: string;\n source?: string;\n timestamp: string;\n custom_details: object;\n };\n links: Array;\n}\nexport interface ChangeParams extends RequestOptions {\n data: ChangePayload;\n server?: string;\n}\n\nexport function event(params: EventParams): EventPromise {\n const {server = 'events.pagerduty.com', data, ...config} = params;\n\n return eventFetch(\n isEventsV1(params)\n ? `https://${server}/generic/2010-04-15/create_event.json`\n : `https://${server}/v2/enqueue`,\n {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n }\n );\n}\n\nexport function change(params: ChangeParams): EventPromise {\n const {server = 'events.pagerduty.com', data, ...config} = params;\n\n return eventFetch(`https://${server}/v2/change/enqueue`, {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n });\n}\n\nfunction isEventsV1(params: EventParams): boolean {\n return (params.data as EventPayloadV1).service_key !== undefined;\n}\n\nconst shorthand = (action: Action) => (params: EventParams): EventPromise => {\n const typeField = isEventsV1(params) ? 'event_type' : 'event_action';\n\n return event({\n ...params,\n data: {\n ...params.data,\n [typeField]: action,\n },\n });\n};\n\nexport const trigger = shorthand('trigger');\nexport const acknowledge = shorthand('acknowledge');\nexport const resolve = shorthand('resolve');\n\nasync function eventFetch(url: string, options: RequestOptions): EventPromise {\n const resp = (await request(url, options)) as EventResponse;\n resp.data = await resp.json();\n return resp;\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/* global window self */\n\nvar isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';\n\n/* eslint-disable no-restricted-globals */\nvar isWebWorker = (typeof self === 'undefined' ? 'undefined' : _typeof(self)) === 'object' && self.constructor && self.constructor.name === 'DedicatedWorkerGlobalScope';\n/* eslint-enable no-restricted-globals */\n\nvar isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n\n/**\n * @see https://github.com/jsdom/jsdom/releases/tag/12.0.0\n * @see https://github.com/jsdom/jsdom/issues/1537\n */\n/* eslint-disable no-undef */\nvar isJsDom = function isJsDom() {\n return typeof window !== 'undefined' && window.name === 'nodejs' || navigator.userAgent.includes('Node.js') || navigator.userAgent.includes('jsdom');\n};\n\nexports.isBrowser = isBrowser;\nexports.isWebWorker = isWebWorker;\nexports.isNode = isNode;\nexports.isJsDom = isJsDom;","var __self__ = (function (root) {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = root.DOMException\n}\nF.prototype = root;\nreturn new F();\n})(typeof self !== 'undefined' ? self : this);\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n return exports;\n\n}({}));\n})(__self__);\ndelete __self__.fetch.polyfill\nexports = __self__.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = __self__.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = __self__.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = __self__.Headers\nexports.Request = __self__.Request\nexports.Response = __self__.Response\nmodule.exports = exports\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(47);\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => module['default'] :\n\t\t() => module;\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/pdjs.js b/dist/pdjs.js new file mode 100644 index 0000000..1a19578 --- /dev/null +++ b/dist/pdjs.js @@ -0,0 +1,2 @@ +var PagerDuty;PagerDuty=(()=>{"use strict";var e={337:(e,t,r)=>{function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function c(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t,n=r.params,u=r.timeout,c=i(r,["params","timeout"]);return e=a(e=new URL(e.toString()),n),t=f(t,u),fetch(e.toString(),o(o({},c),{},{headers:new Headers(o({"Content-Type":"application/json; charset=utf-8"},c.headers))}))}function a(e,t){if(!t)return e;for(var r=e.searchParams,n=0,o=Object.keys(t);n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,["res","server","token","url","version","data"]),v=p(p({method:"GET"},y),{},{headers:p({Accept:"application/vnd.pagerduty+json;version=".concat(s),Authorization:"Token token=".concat(c)},y.headers)});return r=v.method,!["PUT","POST","DELETE","PATCH"].includes(null!==(n=r.toUpperCase())&&void 0!==n?n:"GET")&&l?v.params=null!==(t=v.params)&&void 0!==t?t:l:v.body=JSON.stringify(l),d(null!=a?a:"https://".concat(i,"/").concat(o.replace(/^\/+/,"")),v)}function O(e){return b(e).then((function(e){return v([e])}))}function v(e){var t=e[e.length-1];return t.next?t.next().then((function(t){return v(e.concat([t]))})):Promise.resolve(e)}function d(e,t){return c(e,t).then((function(r){var n=r;return r.json().then((function(r){return n.next=function(e,t,r){if((null==r?void 0:r.more)&&void 0!==s(r.offset)&&r.limit)return function(){return d(e,p(p({},t),{},{params:p(p({},t.params),{},{limit:r.limit.toString(),offset:(r.limit+r.offset).toString()})}))}}(e,t,r),n.data=r,n}))}))}function g(e,t,r,n,o,u,i){try{var c=e[u](i),a=c.value}catch(e){return void r(e)}c.done?t(a):Promise.resolve(a).then(n,o)}function m(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var u=e.apply(t,r);function i(e){g(u,n,o,i,c,"next",e)}function c(e){g(u,n,o,i,c,"throw",e)}i(void 0)}))}}function j(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function h(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function S(e){var t=e.server,r=void 0===t?"events.pagerduty.com":t,n=e.data,o=w(e,["server","data"]);return A(k(e)?"https://".concat(r,"/generic/2010-04-15/create_event.json"):"https://".concat(r,"/v2/enqueue"),h({method:"POST",body:JSON.stringify(n)},o))}function x(e){var t=e.server,r=void 0===t?"events.pagerduty.com":t,n=e.data,o=w(e,["server","data"]);return A("https://".concat(r,"/v2/change/enqueue"),h({method:"POST",body:JSON.stringify(n)},o))}function k(e){return void 0!==e.data.service_key}r.r(t),r.d(t,{acknowledge:()=>T,all:()=>O,api:()=>b,change:()=>x,event:()=>S,resolve:()=>_,trigger:()=>E});var D=function(e){return function(t){var r=k(t)?"event_type":"event_action";return S(h(h({},t),{},{data:h(h({},t.data),{},P({},r,e))}))}},E=D("trigger"),T=D("acknowledge"),_=D("resolve");function A(e,t){return C.apply(this,arguments)}function C(){return(C=m(regeneratorRuntime.mark((function e(t,r){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,c(t,r);case 2:return n=e.sent,e.next=5,n.json();case 5:return n.data=e.sent,e.abrupt("return",n);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}}},t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}return r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r(337)})(); +//# sourceMappingURL=pdjs.js.map \ No newline at end of file diff --git a/dist/pdjs.js.map b/dist/pdjs.js.map new file mode 100644 index 0000000..efb3acf --- /dev/null +++ b/dist/pdjs.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://PagerDuty/./src/common.ts","webpack://PagerDuty/./src/api.ts","webpack://PagerDuty/./src/events.ts","webpack://PagerDuty/webpack/bootstrap","webpack://PagerDuty/webpack/startup","webpack://PagerDuty/webpack/runtime/define property getters","webpack://PagerDuty/webpack/runtime/hasOwnProperty shorthand","webpack://PagerDuty/webpack/runtime/make namespace object"],"names":["request","url","options","params","timeout","rest","applyParams","URL","toString","applyTimeout","fetch","headers","Headers","combinedParams","searchParams","Object","keys","key","append","search","init","controller","AbortController","setTimeout","abort","signal","api","res","partialParams","partial","shorthand","method","get","post","put","patch","all","partialCall","server","token","version","data","config","Accept","Authorization","includes","toUpperCase","body","JSON","stringify","apiRequest","replace","then","resp","allInner","resps","length","next","concat","Promise","resolve","apiResp","json","more","undefined","offset","limit","nextFunc","event","eventFetch","isEventsV1","change","service_key","action","typeField","trigger","acknowledge","__webpack_module_cache__","__webpack_require__","moduleId","exports","module","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value"],"mappings":"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","file":"pdjs.js","sourcesContent":["/* webpack-strip-block:removed */\n\nconst VERSION = '0.0.1';\n\nexport interface RequestOptions extends RequestInit {\n params?: Record;\n timeout?: number;\n}\n\n// TODO: Retries.\n// TODO: Backoff.\nexport function request(\n url: string | URL,\n options: RequestOptions = {}\n): Promise {\n const {params, timeout, ...rest} = options;\n\n url = new URL(url.toString());\n\n url = applyParams(url, params);\n options = applyTimeout(options, timeout);\n\n return fetch(url.toString(), {\n ...rest,\n headers: new Headers({\n 'Content-Type': 'application/json; charset=utf-8',\n /* webpack-strip-block:removed */\n ...rest.headers,\n }),\n });\n}\n\nfunction userAgentHeader(): object {\n if (isBrowser) return {};\n\n return {\n 'User-Agent': `pdjs-next/${VERSION} (${process.version}/${process.platform})`,\n };\n}\n\nfunction applyParams(url: URL, params?: Record): URL {\n if (!params) return url;\n\n const combinedParams = url.searchParams;\n\n for (const key of Object.keys(params)) {\n combinedParams.append(key, params[key]);\n }\n\n url.search = combinedParams.toString();\n return url;\n}\n\nfunction applyTimeout(init: RequestOptions, timeout?: number): RequestOptions {\n if (!timeout) return init;\n\n const controller = new AbortController();\n setTimeout(() => controller.abort(), timeout);\n\n return {\n ...init,\n signal: controller.signal,\n };\n}\n","import {request, RequestOptions} from './common';\n\nexport interface ShorthandCall {\n (res: string, params?: Partial): APIPromise;\n}\n\nexport interface PartialCall {\n (params: APIParams): APIPromise;\n (params: Partial): PartialCall;\n get: ShorthandCall;\n post: ShorthandCall;\n put: ShorthandCall;\n patch: ShorthandCall;\n delete: ShorthandCall;\n all: (params: APIParams) => Promise;\n}\n\nexport type APIParams = RequestOptions & {\n res?: string;\n url?: string;\n data?: object;\n token?: string;\n server?: string;\n version?: number;\n} & ({res: string} | {url: string});\n\nexport type APIPromise = Promise;\n\nexport interface APIResponse extends Response {\n data: any;\n next?: () => APIPromise;\n}\n\nexport function api(params: APIParams): APIPromise;\nexport function api(params: Partial): PartialCall;\nexport function api(params: Partial): APIPromise | PartialCall {\n // If the params don't include `res` or `url` treat it as a partial\n // application.\n if (!params.res && !params.url) {\n return partialCall(params);\n }\n\n const {\n res,\n server = 'api.pagerduty.com',\n token,\n url,\n version = 2,\n data,\n ...rest\n } = params;\n\n const config: RequestOptions = {\n method: 'GET',\n ...rest,\n headers: {\n Accept: `application/vnd.pagerduty+json;version=${version}`,\n Authorization: `Token token=${token!}`,\n ...rest.headers,\n },\n };\n\n // Allow `data` for `params` for requests without bodies.\n if (isReadonlyRequest(config.method!) && data) {\n config.params = config.params ?? (data as Record);\n } else {\n config.body = JSON.stringify(data);\n }\n\n return apiRequest(\n url ?? `https://${server}/${res!.replace(/^\\/+/, '')}`,\n config\n );\n}\n\nexport function all(params: APIParams): Promise {\n return (api(params) as APIPromise).then(resp => allInner([resp]));\n}\n\nfunction allInner(resps: APIResponse[]): Promise {\n const resp = resps[resps.length - 1];\n\n if (!resp.next) {\n return Promise.resolve(resps);\n }\n\n return resp.next().then(resp => allInner(resps.concat([resp])));\n}\n\nfunction apiRequest(url: string, options: RequestOptions): APIPromise {\n return request(url, options).then(\n (resp: Response): APIPromise => {\n const apiResp = resp as APIResponse;\n\n return resp.json().then(\n (data): APIResponse => {\n apiResp.next = nextFunc(url, options, data);\n apiResp.data = data;\n return apiResp;\n }\n );\n }\n );\n}\n\nfunction isReadonlyRequest(method: string) {\n return !['PUT', 'POST', 'DELETE', 'PATCH'].includes(\n method.toUpperCase() ?? 'GET'\n );\n}\n\n// TODO: Support cursor-based pagination.\nfunction nextFunc(\n url: string,\n options: RequestOptions,\n data: {more?: boolean; offset?: number; limit?: number}\n) {\n if (data?.more && typeof data.offset !== undefined && data.limit) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n limit: data.limit!.toString(),\n offset: (data.limit! + data.offset!).toString(),\n },\n });\n }\n\n return undefined;\n}\n\nfunction partialCall(params: Partial) {\n const partialParams = params;\n const partial = ((params: Partial) =>\n api({...partialParams, ...params})) as PartialCall;\n\n const shorthand = (method: string) => (\n res: string,\n params?: Partial\n ): APIPromise =>\n api({res, method, ...partialParams, ...params}) as APIPromise;\n\n partial.get = shorthand('get');\n partial.post = shorthand('post');\n partial.put = shorthand('put');\n partial.patch = shorthand('patch');\n partial.delete = shorthand('delete');\n\n partial.all = (params: APIParams) => all(params);\n\n return partial;\n}\n","import {request, RequestOptions} from './common';\n\nexport type Action = 'trigger' | 'acknowledge' | 'resolve';\n\nexport type EventPromise = Promise;\n\nexport interface EventResponse extends Response {\n data: any;\n}\n\nexport interface EventPayloadV1 {\n service_key: string;\n incident_key: string;\n event_type?: Action;\n client?: string;\n client_url?: string;\n description?: string;\n details?: object;\n contexts?: object;\n}\n\nexport type Severity = 'critical' | 'error' | 'warning' | 'info';\n\nexport interface Image {\n src: string;\n href?: string;\n alt?: string;\n}\n\nexport interface Link {\n href: string;\n text?: string;\n}\n\nexport interface EventPayloadV2 {\n routing_key: string;\n event_action: Action;\n dedup_key?: string;\n payload: {\n summary: string;\n source: string;\n severity: Severity;\n timestamp?: string;\n component?: string;\n group?: string;\n class?: string;\n custom_details?: object;\n };\n images?: Array;\n links?: Array;\n}\n\nexport interface EventParams extends RequestOptions {\n data: EventPayloadV1 | EventPayloadV2;\n server?: string;\n}\n\nexport interface ChangePayload {\n routing_key: string;\n payload: {\n summary: string;\n source?: string;\n timestamp: string;\n custom_details: object;\n };\n links: Array;\n}\nexport interface ChangeParams extends RequestOptions {\n data: ChangePayload;\n server?: string;\n}\n\nexport function event(params: EventParams): EventPromise {\n const {server = 'events.pagerduty.com', data, ...config} = params;\n\n return eventFetch(\n isEventsV1(params)\n ? `https://${server}/generic/2010-04-15/create_event.json`\n : `https://${server}/v2/enqueue`,\n {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n }\n );\n}\n\nexport function change(params: ChangeParams): EventPromise {\n const {server = 'events.pagerduty.com', data, ...config} = params;\n\n return eventFetch(`https://${server}/v2/change/enqueue`, {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n });\n}\n\nfunction isEventsV1(params: EventParams): boolean {\n return (params.data as EventPayloadV1).service_key !== undefined;\n}\n\nconst shorthand = (action: Action) => (params: EventParams): EventPromise => {\n const typeField = isEventsV1(params) ? 'event_type' : 'event_action';\n\n return event({\n ...params,\n data: {\n ...params.data,\n [typeField]: action,\n },\n });\n};\n\nexport const trigger = shorthand('trigger');\nexport const acknowledge = shorthand('acknowledge');\nexport const resolve = shorthand('resolve');\n\nasync function eventFetch(url: string, options: RequestOptions): EventPromise {\n const resp = (await request(url, options)) as EventResponse;\n resp.data = await resp.json();\n return resp;\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(337);\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"sourceRoot":""} \ No newline at end of file diff --git a/examples/.DS_Store b/examples/.DS_Store deleted file mode 100644 index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 - -Add Contact Method For a PD User - - - - - - - - -
- - diff --git a/examples/config.js b/examples/config.js deleted file mode 100644 index d7ebd5d..0000000 --- a/examples/config.js +++ /dev/null @@ -1,6 +0,0 @@ -var pdjs_settings = { - subdomain: "webdemo", - token: "e8Ks3JRD9f2i982F5WuL", - refresh: 15, - logging: true -} diff --git a/examples/incidents.html b/examples/incidents.html deleted file mode 100644 index 30043a6..0000000 --- a/examples/incidents.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - -

Incidents

-
-
- - - diff --git a/examples/lib/Blob.js b/examples/lib/Blob.js deleted file mode 100644 index be514a8..0000000 --- a/examples/lib/Blob.js +++ /dev/null @@ -1,179 +0,0 @@ -/* Blob.js - * A Blob implementation. - * 2014-07-01 - * - * By Eli Grey, http://eligrey.com - * By Devin Samarin, https://github.com/eboyjr - * License: X11/MIT - * See https://github.com/eligrey/Blob.js/blob/master/LICENSE.md - */ - -/*global self, unescape */ -/*jslint bitwise: true, regexp: true, confusion: true, es5: true, vars: true, white: true, - plusplus: true */ - -/*! @source http://purl.eligrey.com/github/Blob.js/blob/master/Blob.js */ - -(function (view) { - "use strict"; - - view.URL = view.URL || view.webkitURL; - - if (view.Blob && view.URL) { - try { - new Blob; - return; - } catch (e) {} - } - - // Internally we use a BlobBuilder implementation to base Blob off of - // in order to support older browsers that only have BlobBuilder - var BlobBuilder = view.BlobBuilder || view.WebKitBlobBuilder || view.MozBlobBuilder || (function(view) { - var - get_class = function(object) { - return Object.prototype.toString.call(object).match(/^\[object\s(.*)\]$/)[1]; - } - , FakeBlobBuilder = function BlobBuilder() { - this.data = []; - } - , FakeBlob = function Blob(data, type, encoding) { - this.data = data; - this.size = data.length; - this.type = type; - this.encoding = encoding; - } - , FBB_proto = FakeBlobBuilder.prototype - , FB_proto = FakeBlob.prototype - , FileReaderSync = view.FileReaderSync - , FileException = function(type) { - this.code = this[this.name = type]; - } - , file_ex_codes = ( - "NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR " - + "NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR" - ).split(" ") - , file_ex_code = file_ex_codes.length - , real_URL = view.URL || view.webkitURL || view - , real_create_object_URL = real_URL.createObjectURL - , real_revoke_object_URL = real_URL.revokeObjectURL - , URL = real_URL - , btoa = view.btoa - , atob = view.atob - - , ArrayBuffer = view.ArrayBuffer - , Uint8Array = view.Uint8Array - ; - FakeBlob.fake = FB_proto.fake = true; - while (file_ex_code--) { - FileException.prototype[file_ex_codes[file_ex_code]] = file_ex_code + 1; - } - if (!real_URL.createObjectURL) { - URL = view.URL = {}; - } - URL.createObjectURL = function(blob) { - var - type = blob.type - , data_URI_header - ; - if (type === null) { - type = "application/octet-stream"; - } - if (blob instanceof FakeBlob) { - data_URI_header = "data:" + type; - if (blob.encoding === "base64") { - return data_URI_header + ";base64," + blob.data; - } else if (blob.encoding === "URI") { - return data_URI_header + "," + decodeURIComponent(blob.data); - } if (btoa) { - return data_URI_header + ";base64," + btoa(blob.data); - } else { - return data_URI_header + "," + encodeURIComponent(blob.data); - } - } else if (real_create_object_URL) { - return real_create_object_URL.call(real_URL, blob); - } - }; - URL.revokeObjectURL = function(object_URL) { - if (object_URL.substring(0, 5) !== "data:" && real_revoke_object_URL) { - real_revoke_object_URL.call(real_URL, object_URL); - } - }; - FBB_proto.append = function(data/*, endings*/) { - var bb = this.data; - // decode data to a binary string - if (Uint8Array && (data instanceof ArrayBuffer || data instanceof Uint8Array)) { - var - str = "" - , buf = new Uint8Array(data) - , i = 0 - , buf_len = buf.length - ; - for (; i < buf_len; i++) { - str += String.fromCharCode(buf[i]); - } - bb.push(str); - } else if (get_class(data) === "Blob" || get_class(data) === "File") { - if (FileReaderSync) { - var fr = new FileReaderSync; - bb.push(fr.readAsBinaryString(data)); - } else { - // async FileReader won't work as BlobBuilder is sync - throw new FileException("NOT_READABLE_ERR"); - } - } else if (data instanceof FakeBlob) { - if (data.encoding === "base64" && atob) { - bb.push(atob(data.data)); - } else if (data.encoding === "URI") { - bb.push(decodeURIComponent(data.data)); - } else if (data.encoding === "raw") { - bb.push(data.data); - } - } else { - if (typeof data !== "string") { - data += ""; // convert unsupported types to strings - } - // decode UTF-16 to binary string - bb.push(unescape(encodeURIComponent(data))); - } - }; - FBB_proto.getBlob = function(type) { - if (!arguments.length) { - type = null; - } - return new FakeBlob(this.data.join(""), type, "raw"); - }; - FBB_proto.toString = function() { - return "[object BlobBuilder]"; - }; - FB_proto.slice = function(start, end, type) { - var args = arguments.length; - if (args < 3) { - type = null; - } - return new FakeBlob( - this.data.slice(start, args > 1 ? end : this.data.length) - , type - , this.encoding - ); - }; - FB_proto.toString = function() { - return "[object Blob]"; - }; - FB_proto.close = function() { - this.size = 0; - delete this.data; - }; - return FakeBlobBuilder; - }(view)); - - view.Blob = function(blobParts, options) { - var type = options ? (options.type || "") : ""; - var builder = new BlobBuilder(); - if (blobParts) { - for (var i = 0, len = blobParts.length; i < len; i++) { - builder.append(blobParts[i]); - } - } - return builder.getBlob(type); - }; -}(typeof self !== "undefined" && self || typeof window !== "undefined" && window || this.content || this)); \ No newline at end of file diff --git a/examples/lib/FileSaver.js b/examples/lib/FileSaver.js deleted file mode 100644 index 497ee37..0000000 --- a/examples/lib/FileSaver.js +++ /dev/null @@ -1,241 +0,0 @@ -/* FileSaver.js - * A saveAs() FileSaver implementation. - * 2014-05-27 - * - * By Eli Grey, http://eligrey.com - * License: X11/MIT - * See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md - */ - -/*global self */ -/*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */ - -/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */ - -var saveAs = saveAs - // IE 10+ (native saveAs) - || (typeof navigator !== "undefined" && - navigator.msSaveOrOpenBlob && navigator.msSaveOrOpenBlob.bind(navigator)) - // Everyone else - || (function(view) { - "use strict"; - // IE <10 is explicitly unsupported - if (typeof navigator !== "undefined" && - /MSIE [1-9]\./.test(navigator.userAgent)) { - return; - } - var - doc = view.document - // only get URL when necessary in case Blob.js hasn't overridden it yet - , get_URL = function() { - return view.URL || view.webkitURL || view; - } - , save_link = doc.createElementNS("http://www.w3.org/1999/xhtml", "a") - , can_use_save_link = !view.externalHost && "download" in save_link - , click = function(node) { - var event = doc.createEvent("MouseEvents"); - event.initMouseEvent( - "click", true, false, view, 0, 0, 0, 0, 0 - , false, false, false, false, 0, null - ); - node.dispatchEvent(event); - } - , webkit_req_fs = view.webkitRequestFileSystem - , req_fs = view.requestFileSystem || webkit_req_fs || view.mozRequestFileSystem - , throw_outside = function(ex) { - (view.setImmediate || view.setTimeout)(function() { - throw ex; - }, 0); - } - , force_saveable_type = "application/octet-stream" - , fs_min_size = 0 - , deletion_queue = [] - , process_deletion_queue = function() { - var i = deletion_queue.length; - while (i--) { - var file = deletion_queue[i]; - if (typeof file === "string") { // file is an object URL - get_URL().revokeObjectURL(file); - } else { // file is a File - file.remove(); - } - } - deletion_queue.length = 0; // clear queue - } - , dispatch = function(filesaver, event_types, event) { - event_types = [].concat(event_types); - var i = event_types.length; - while (i--) { - var listener = filesaver["on" + event_types[i]]; - if (typeof listener === "function") { - try { - listener.call(filesaver, event || filesaver); - } catch (ex) { - throw_outside(ex); - } - } - } - } - , FileSaver = function(blob, name) { - // First try a.download, then web filesystem, then object URLs - var - filesaver = this - , type = blob.type - , blob_changed = false - , object_url - , target_view - , get_object_url = function() { - var object_url = get_URL().createObjectURL(blob); - deletion_queue.push(object_url); - return object_url; - } - , dispatch_all = function() { - dispatch(filesaver, "writestart progress write writeend".split(" ")); - } - // on any filesys errors revert to saving with object URLs - , fs_error = function() { - // don't create more object URLs than needed - if (blob_changed || !object_url) { - object_url = get_object_url(blob); - } - if (target_view) { - target_view.location.href = object_url; - } else { - window.open(object_url, "_blank"); - } - filesaver.readyState = filesaver.DONE; - dispatch_all(); - } - , abortable = function(func) { - return function() { - if (filesaver.readyState !== filesaver.DONE) { - return func.apply(this, arguments); - } - }; - } - , create_if_not_found = {create: true, exclusive: false} - , slice - ; - filesaver.readyState = filesaver.INIT; - if (!name) { - name = "download"; - } - if (can_use_save_link) { - object_url = get_object_url(blob); - save_link.href = object_url; - save_link.download = name; - click(save_link); - filesaver.readyState = filesaver.DONE; - dispatch_all(); - return; - } - // Object and web filesystem URLs have a problem saving in Google Chrome when - // viewed in a tab, so I force save with application/octet-stream - // http://code.google.com/p/chromium/issues/detail?id=91158 - if (view.chrome && type && type !== force_saveable_type) { - slice = blob.slice || blob.webkitSlice; - blob = slice.call(blob, 0, blob.size, force_saveable_type); - blob_changed = true; - } - // Since I can't be sure that the guessed media type will trigger a download - // in WebKit, I append .download to the filename. - // https://bugs.webkit.org/show_bug.cgi?id=65440 - if (webkit_req_fs && name !== "download") { - name += ".download"; - } - if (type === force_saveable_type || webkit_req_fs) { - target_view = view; - } - if (!req_fs) { - fs_error(); - return; - } - fs_min_size += blob.size; - req_fs(view.TEMPORARY, fs_min_size, abortable(function(fs) { - fs.root.getDirectory("saved", create_if_not_found, abortable(function(dir) { - var save = function() { - dir.getFile(name, create_if_not_found, abortable(function(file) { - file.createWriter(abortable(function(writer) { - writer.onwriteend = function(event) { - target_view.location.href = file.toURL(); - deletion_queue.push(file); - filesaver.readyState = filesaver.DONE; - dispatch(filesaver, "writeend", event); - }; - writer.onerror = function() { - var error = writer.error; - if (error.code !== error.ABORT_ERR) { - fs_error(); - } - }; - "writestart progress write abort".split(" ").forEach(function(event) { - writer["on" + event] = filesaver["on" + event]; - }); - writer.write(blob); - filesaver.abort = function() { - writer.abort(); - filesaver.readyState = filesaver.DONE; - }; - filesaver.readyState = filesaver.WRITING; - }), fs_error); - }), fs_error); - }; - dir.getFile(name, {create: false}, abortable(function(file) { - // delete file if it already exists - file.remove(); - save(); - }), abortable(function(ex) { - if (ex.code === ex.NOT_FOUND_ERR) { - save(); - } else { - fs_error(); - } - })); - }), fs_error); - }), fs_error); - } - , FS_proto = FileSaver.prototype - , saveAs = function(blob, name) { - return new FileSaver(blob, name); - } - ; - FS_proto.abort = function() { - var filesaver = this; - filesaver.readyState = filesaver.DONE; - dispatch(filesaver, "abort"); - }; - FS_proto.readyState = FS_proto.INIT = 0; - FS_proto.WRITING = 1; - FS_proto.DONE = 2; - - FS_proto.error = - FS_proto.onwritestart = - FS_proto.onprogress = - FS_proto.onwrite = - FS_proto.onabort = - FS_proto.onerror = - FS_proto.onwriteend = - null; - - view.addEventListener("unload", process_deletion_queue, false); - saveAs.unload = function() { - process_deletion_queue(); - view.removeEventListener("unload", process_deletion_queue, false); - }; - return saveAs; -}( - typeof self !== "undefined" && self - || typeof window !== "undefined" && window - || this.content -)); -// `self` is undefined in Firefox for Android content script context -// while `this` is nsIContentFrameMessageManager -// with an attribute `content` that corresponds to the window - -if (typeof module !== "undefined" && module !== null) { - module.exports = saveAs; -} else if ((typeof define !== "undefined" && define !== null) && (define.amd != null)) { - define([], function() { - return saveAs; - }); -} \ No newline at end of file diff --git a/examples/lib/coffee-script.js b/examples/lib/coffee-script.js deleted file mode 100755 index f8263a7..0000000 --- a/examples/lib/coffee-script.js +++ /dev/null @@ -1,12 +0,0 @@ -/** - * CoffeeScript Compiler v1.6.3 - * http://coffeescript.org - * - * Copyright 2011, Jeremy Ashkenas - * Released under the MIT License - */ -!function(root){var CoffeeScript=function(){function require(e){return require[e]}return require["./helpers"]=function(){var e={},t={exports:e};return function(){var t,n,i,s,r,o;e.starts=function(e,t,n){return t===e.substr(n,t.length)},e.ends=function(e,t,n){var i;return i=t.length,t===e.substr(e.length-i-(n||0),i)},e.repeat=r=function(e,t){var n;for(n="";t>0;)1&t&&(n+=e),t>>>=1,e+=e;return n},e.compact=function(e){var t,n,i,s;for(s=[],n=0,i=e.length;i>n;n++)t=e[n],t&&s.push(t);return s},e.count=function(e,t){var n,i;if(n=i=0,!t.length)return 1/0;for(;i=1+e.indexOf(t,i);)n++;return n},e.merge=function(e,t){return n(n({},e),t)},n=e.extend=function(e,t){var n,i;for(n in t)i=t[n],e[n]=i;return e},e.flatten=i=function(e){var t,n,s,r;for(n=[],s=0,r=e.length;r>s;s++)t=e[s],t instanceof Array?n=n.concat(i(t)):n.push(t);return n},e.del=function(e,t){var n;return n=e[t],delete e[t],n},e.last=s=function(e,t){return e[e.length-(t||0)-1]},e.some=null!=(o=Array.prototype.some)?o:function(e){var t,n,i;for(n=0,i=this.length;i>n;n++)if(t=this[n],e(t))return!0;return!1},e.invertLiterate=function(e){var t,n,i;return i=!0,n=function(){var n,s,r,o;for(r=e.split("\n"),o=[],n=0,s=r.length;s>n;n++)t=r[n],i&&/^([ ]{4}|[ ]{0,3}\t)/.test(t)?o.push(t):(i=/^\s*$/.test(t))?o.push(t):o.push("# "+t);return o}(),n.join("\n")},t=function(e,t){return t?{first_line:e.first_line,first_column:e.first_column,last_line:t.last_line,last_column:t.last_column}:e},e.addLocationDataFn=function(e,n){return function(i){return"object"==typeof i&&i.updateLocationDataIfMissing&&i.updateLocationDataIfMissing(t(e,n)),i}},e.locationDataToString=function(e){var t;return"2"in e&&"first_line"in e[2]?t=e[2]:"first_line"in e&&(t=e),t?""+(t.first_line+1)+":"+(t.first_column+1)+"-"+(""+(t.last_line+1)+":"+(t.last_column+1)):"No location data"},e.baseFileName=function(e,t,n){var i,s;return null==t&&(t=!1),null==n&&(n=!1),s=n?/\\|\//:/\//,i=e.split(s),e=i[i.length-1],t?(i=e.split("."),i.pop(),"coffee"===i[i.length-1]&&i.length>1&&i.pop(),i.join(".")):e},e.isCoffee=function(e){return/\.((lit)?coffee|coffee\.md)$/.test(e)},e.isLiterate=function(e){return/\.(litcoffee|coffee\.md)$/.test(e)},e.throwSyntaxError=function(e,t){var n;throw null==t.last_line&&(t.last_line=t.first_line),null==t.last_column&&(t.last_column=t.first_column),n=new SyntaxError(e),n.location=t,n},e.prettyErrorMessage=function(e,t,n,i){var s,o,a,c,h,l,u,p,d,f,m;return e.location?(m=e.location,h=m.first_line,c=m.first_column,u=m.last_line,l=m.last_column,s=n.split("\n")[h],f=c,a=h===u?l+1:s.length,p=r(" ",f)+r("^",a-f),i&&(o=function(e){return""+e+""},s=s.slice(0,f)+o(s.slice(f,a))+s.slice(a),p=o(p)),d=""+t+":"+(h+1)+":"+(c+1)+": error: "+e.message+"\n"+s+"\n"+p):e.stack||""+e}}.call(this),t.exports}(),require["./rewriter"]=function(){var e={},t={exports:e};return function(){var t,n,i,s,r,o,a,c,h,l,u,p,d,f,m,b,k,g,y=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1},v=[].slice;for(d=function(e,t){var n;return n=[e,t],n.generated=!0,n},e.Rewriter=function(){function e(){}return e.prototype.rewrite=function(e){return this.tokens=e,this.removeLeadingNewlines(),this.removeMidExpressionNewlines(),this.closeOpenCalls(),this.closeOpenIndexes(),this.addImplicitIndentation(),this.tagPostfixConditionals(),this.addImplicitBracesAndParens(),this.addLocationDataToGeneratedTokens(),this.tokens},e.prototype.scanTokens=function(e){var t,n,i;for(i=this.tokens,t=0;n=i[t];)t+=e.call(this,n,t,i);return!0},e.prototype.detectEnd=function(e,t,n){var r,o,a,c,h;for(a=this.tokens,r=0;o=a[e];){if(0===r&&t.call(this,o,e))return n.call(this,o,e);if(!o||0>r)return n.call(this,o,e-1);c=o[0],y.call(s,c)>=0?r+=1:(h=o[0],y.call(i,h)>=0&&(r-=1)),e+=1}return e-1},e.prototype.removeLeadingNewlines=function(){var e,t,n,i,s;for(s=this.tokens,e=n=0,i=s.length;i>n&&(t=s[e][0],"TERMINATOR"===t);e=++n);return e?this.tokens.splice(0,e):void 0},e.prototype.removeMidExpressionNewlines=function(){return this.scanTokens(function(e,t,i){var s;return"TERMINATOR"===e[0]&&(s=this.tag(t+1),y.call(n,s)>=0)?(i.splice(t,1),0):1})},e.prototype.closeOpenCalls=function(){var e,t;return t=function(e,t){var n;return")"===(n=e[0])||"CALL_END"===n||"OUTDENT"===e[0]&&")"===this.tag(t-1)},e=function(e,t){return this.tokens["OUTDENT"===e[0]?t-1:t][0]="CALL_END"},this.scanTokens(function(n,i){return"CALL_START"===n[0]&&this.detectEnd(i+1,t,e),1})},e.prototype.closeOpenIndexes=function(){var e,t;return t=function(e){var t;return"]"===(t=e[0])||"INDEX_END"===t},e=function(e){return e[0]="INDEX_END"},this.scanTokens(function(n,i){return"INDEX_START"===n[0]&&this.detectEnd(i+1,t,e),1})},e.prototype.matchTags=function(){var e,t,n,i,s,r,o;for(t=arguments[0],i=2<=arguments.length?v.call(arguments,1):[],e=0,n=s=0,r=i.length;r>=0?r>s:s>r;n=r>=0?++s:--s){for(;"HERECOMMENT"===this.tag(t+n+e);)e+=2;if(null!=i[n]&&("string"==typeof i[n]&&(i[n]=[i[n]]),o=this.tag(t+n+e),y.call(i[n],o)<0))return!1}return!0},e.prototype.looksObjectish=function(e){return this.matchTags(e,"@",null,":")||this.matchTags(e,null,":")},e.prototype.findTagsBackwards=function(e,t){var n,r,o,a,c,h,u;for(n=[];e>=0&&(n.length||(a=this.tag(e),y.call(t,a)<0&&(c=this.tag(e),y.call(s,c)<0||this.tokens[e].generated)&&(h=this.tag(e),y.call(l,h)<0)));)r=this.tag(e),y.call(i,r)>=0&&n.push(this.tag(e)),o=this.tag(e),y.call(s,o)>=0&&n.length&&n.pop(),e-=1;return u=this.tag(e),y.call(t,u)>=0},e.prototype.addImplicitBracesAndParens=function(){var e;return e=[],this.scanTokens(function(t,n,h){var u,p,f,m,b,k,g,v,w,T,C,F,L,N,x,E,D,S,R,A,I,_,$,O,j,M;if(A=t[0],T=(n>0?h[n-1]:[])[0],v=(n"!==T&&"->"!==T&&"["!==T&&"("!==T&&","!==T&&"{"!==T&&"TRY"!==T&&"ELSE"!==T&&"="!==T)for(;b();)u();return k()&&e.pop(),e.push([A,n]),f(1)}if(y.call(s,A)>=0)return e.push([A,n]),f(1);if(y.call(i,A)>=0){for(;m();)b()?u():g()?p():e.pop();e.pop()}if((y.call(a,A)>=0&&t.spaced&&!t.stringEnd||"?"===A&&n>0&&!h[n-1].spaced)&&(y.call(r,v)>=0||y.call(c,v)>=0&&!(null!=(I=h[n+1])?I.spaced:void 0)&&!(null!=(_=h[n+1])?_.newLine:void 0)))return"?"===A&&(A=t[0]="FUNC_EXIST"),D(n+1),f(2);if(y.call(a,A)>=0&&this.matchTags(n+1,"INDENT",null,":")&&!this.findTagsBackwards(n,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return D(n+1),e.push(["INDENT",n+2]),f(3);if(":"===A){for(C="@"===this.tag(n-2)?n-2:n-1;"HERECOMMENT"===this.tag(C-2);)C-=2;return R=0===C||($=this.tag(C-1),y.call(l,$)>=0)||h[C-1].newLine,x()&&(O=x(),N=O[0],L=O[1],("{"===N||"INDENT"===N&&"{"===this.tag(L-1))&&(R||","===this.tag(C-1)||"{"===this.tag(C-1)))?f(1):(S(C,!!R),f(2))}if("OUTDENT"===T&&b()&&("."===A||"?."===A||"::"===A||"?::"===A))return u(),f(1);if(g()&&y.call(l,A)>=0&&(x()[2].sameLine=!1),y.call(o,A)>=0)for(;m();)if(j=x(),N=j[0],L=j[1],M=j[2],F=M.sameLine,R=M.startsLine,b()&&","!==T)u();else if(g()&&F&&!R)p();else{if(!g()||"TERMINATOR"!==A||","===T||R&&this.looksObjectish(n+1))break;p()}if(","===A&&!this.looksObjectish(n+1)&&g()&&("TERMINATOR"!==v||!this.looksObjectish(n+2)))for(w="OUTDENT"===v?1:0;g();)p(n+w);return f(1)})},e.prototype.addLocationDataToGeneratedTokens=function(){return this.scanTokens(function(e,t,n){var i,s,r,o,a,c;return e[2]?1:e.generated||e.explicit?("{"===e[0]&&(r=null!=(a=n[t+1])?a[2]:void 0)?(s=r.first_line,i=r.first_column):(o=null!=(c=n[t-1])?c[2]:void 0)?(s=o.last_line,i=o.last_column):s=i=0,e[2]={first_line:s,first_column:i,last_line:s,last_column:i},1):1})},e.prototype.addImplicitIndentation=function(){var e,t,n,i,s;return s=n=i=null,t=function(e){var t,n;return";"!==e[1]&&(t=e[0],y.call(u,t)>=0)&&!("ELSE"===e[0]&&"THEN"!==s)&&!!("CATCH"!==(n=e[0])&&"FINALLY"!==n||"->"!==s&&"=>"!==s)},e=function(e,t){return this.tokens.splice(","===this.tag(t-1)?t-1:t,0,i)},this.scanTokens(function(r,o,a){var c,h,l,u,d;if(h=r[0],"TERMINATOR"===h&&"THEN"===this.tag(o+1))return a.splice(o,1),0;if("ELSE"===h&&"OUTDENT"!==this.tag(o-1))return a.splice.apply(a,[o,0].concat(v.call(this.indentation()))),2;if("CATCH"===h)for(c=l=1;2>=l;c=++l)if("OUTDENT"===(u=this.tag(o+c))||"TERMINATOR"===u||"FINALLY"===u)return a.splice.apply(a,[o+c,0].concat(v.call(this.indentation()))),2+c;return y.call(p,h)>=0&&"INDENT"!==this.tag(o+1)&&("ELSE"!==h||"IF"!==this.tag(o+1))?(s=h,d=this.indentation(!0),n=d[0],i=d[1],"THEN"===s&&(n.fromThen=!0),a.splice(o+1,0,n),this.detectEnd(o+2,t,e),"THEN"===h&&a.splice(o,1),1):1})},e.prototype.tagPostfixConditionals=function(){var e,t,n;return n=null,t=function(e,t){var n,i;return i=e[0],n=this.tokens[t-1][0],"TERMINATOR"===i||"INDENT"===i&&y.call(p,n)<0},e=function(e){return"INDENT"!==e[0]||e.generated&&!e.fromThen?n[0]="POST_"+n[0]:void 0},this.scanTokens(function(i,s){return"IF"!==i[0]?1:(n=i,this.detectEnd(s+1,t,e),1)})},e.prototype.indentation=function(e){var t,n;return null==e&&(e=!1),t=["INDENT",2],n=["OUTDENT",2],e&&(t.generated=n.generated=!0),e||(t.explicit=n.explicit=!0),[t,n]},e.prototype.generate=d,e.prototype.tag=function(e){var t;return null!=(t=this.tokens[e])?t[0]:void 0},e}(),t=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["CALL_START","CALL_END"],["PARAM_START","PARAM_END"],["INDEX_START","INDEX_END"]],e.INVERSES=h={},s=[],i=[],b=0,k=t.length;k>b;b++)g=t[b],f=g[0],m=g[1],s.push(h[m]=f),i.push(h[f]=m);n=["CATCH","WHEN","ELSE","FINALLY"].concat(i),a=["IDENTIFIER","SUPER",")","CALL_END","]","INDEX_END","@","THIS"],r=["IDENTIFIER","NUMBER","STRING","JS","REGEX","NEW","PARAM_START","CLASS","IF","TRY","SWITCH","THIS","BOOL","NULL","UNDEFINED","UNARY","SUPER","THROW","@","->","=>","[","(","{","--","++"],c=["+","-"],o=["POST_IF","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR"],p=["ELSE","->","=>","TRY","FINALLY","THEN"],u=["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"],l=["TERMINATOR","INDENT","OUTDENT"]}.call(this),t.exports}(),require["./lexer"]=function(){var e={},t={exports:e};return function(){var t,n,i,s,r,o,a,c,h,l,u,p,d,f,m,b,k,g,y,v,w,T,C,F,L,N,x,E,D,S,R,A,I,_,$,O,j,M,B,V,P,U,q,H,G,W,X,Y,K,z,J,Z,Q,et=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1};Z=require("./rewriter"),O=Z.Rewriter,g=Z.INVERSES,Q=require("./helpers"),H=Q.count,z=Q.starts,q=Q.compact,X=Q.last,K=Q.repeat,G=Q.invertLiterate,Y=Q.locationDataToString,J=Q.throwSyntaxError,e.Lexer=L=function(){function e(){}return e.prototype.tokenize=function(e,t){var n,i,s,r;for(null==t&&(t={}),this.literate=t.literate,this.indent=0,this.indebt=0,this.outdebt=0,this.indents=[],this.ends=[],this.tokens=[],this.chunkLine=t.line||0,this.chunkColumn=t.column||0,e=this.clean(e),i=0;this.chunk=e.slice(i);)n=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.heredocToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken(),r=this.getLineAndColumnFromChunk(n),this.chunkLine=r[0],this.chunkColumn=r[1],i+=n;return this.closeIndentation(),(s=this.ends.pop())&&this.error("missing "+s),t.rewrite===!1?this.tokens:(new O).rewrite(this.tokens)},e.prototype.clean=function(e){return e.charCodeAt(0)===t&&(e=e.slice(1)),e=e.replace(/\r/g,"").replace(V,""),U.test(e)&&(e="\n"+e,this.chunkLine--),this.literate&&(e=G(e)),e},e.prototype.identifierToken=function(){var e,t,n,i,s,c,h,l,u,p,d,f,m,k;return(h=b.exec(this.chunk))?(c=h[0],i=h[1],e=h[2],s=i.length,l=void 0,"own"===i&&"FOR"===this.tag()?(this.token("OWN",i),i.length):(n=e||(u=X(this.tokens))&&("."===(f=u[0])||"?."===f||"::"===f||"?::"===f||!u.spaced&&"@"===u[0]),p="IDENTIFIER",!n&&(et.call(w,i)>=0||et.call(a,i)>=0)&&(p=i.toUpperCase(),"WHEN"===p&&(m=this.tag(),et.call(T,m)>=0)?p="LEADING_WHEN":"FOR"===p?this.seenFor=!0:"UNLESS"===p?p="IF":et.call(P,p)>=0?p="UNARY":et.call(_,p)>=0&&("INSTANCEOF"!==p&&this.seenFor?(p="FOR"+p,this.seenFor=!1):(p="RELATION","!"===this.value()&&(l=this.tokens.pop(),i="!"+i)))),et.call(v,i)>=0&&(n?(p="IDENTIFIER",i=new String(i),i.reserved=!0):et.call($,i)>=0&&this.error('reserved word "'+i+'"')),n||(et.call(r,i)>=0&&(i=o[i]),p=function(){switch(i){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"&&":case"||":return"LOGIC";case"true":case"false":return"BOOL";case"break":case"continue":return"STATEMENT";default:return p}}()),d=this.token(p,i,0,s),l&&(k=[l[2].first_line,l[2].first_column],d[2].first_line=k[0],d[2].first_column=k[1]),e&&(t=c.lastIndexOf(":"),this.token(":",":",t,e.length)),c.length)):0},e.prototype.numberToken=function(){var e,t,n,i,s;return(n=R.exec(this.chunk))?(i=n[0],/^0[BOX]/.test(i)?this.error("radix prefix '"+i+"' must be lowercase"):/E/.test(i)&&!/^0x/.test(i)?this.error("exponential notation '"+i+"' must be indicated with a lowercase 'e'"):/^0\d*[89]/.test(i)?this.error("decimal literal '"+i+"' must not be prefixed with '0'"):/^0\d+/.test(i)&&this.error("octal literal '"+i+"' must be prefixed with '0o'"),t=i.length,(s=/^0o([0-7]+)/.exec(i))&&(i="0x"+parseInt(s[1],8).toString(16)),(e=/^0b([01]+)/.exec(i))&&(i="0x"+parseInt(e[1],2).toString(16)),this.token("NUMBER",i,0,t),t):0},e.prototype.stringToken=function(){var e,t,n;switch(this.chunk.charAt(0)){case"'":if(!(e=M.exec(this.chunk)))return 0;n=e[0],this.token("STRING",n.replace(x,"\\\n"),0,n.length);break;case'"':if(!(n=this.balancedString(this.chunk,'"')))return 0;0=0)?0:(n=I.exec(this.chunk))?(o=n,n=o[0],s=o[1],e=o[2],"/*"===s.slice(0,2)&&this.error("regular expressions cannot begin with `*`"),"//"===s&&(s="/(?:)/"),this.token("REGEX",""+s+e,0,n.length),n.length):0)},e.prototype.heregexToken=function(e){var t,n,i,s,r,o,a,c,h,l,u,p,d,f,b,k;if(s=e[0],t=e[1],n=e[2],0>t.indexOf("#{"))return a=t.replace(m,"").replace(/\//g,"\\/"),a.match(/^\*/)&&this.error("regular expressions cannot begin with `*`"),this.token("REGEX","/"+(a||"(?:)")+"/"+n,0,s.length),s.length;for(this.token("IDENTIFIER","RegExp",0,0),this.token("CALL_START","(",0,0),l=[],f=this.interpolateString(t,{regex:!0}),p=0,d=f.length;d>p;p++){if(h=f[p],c=h[0],u=h[1],"TOKENS"===c)l.push.apply(l,u);else if("NEOSTRING"===c){if(!(u=u.replace(m,"")))continue;u=u.replace(/\\/g,"\\\\"),h[0]="STRING",h[1]=this.makeString(u,'"',!0),l.push(h)}else this.error("Unexpected "+c);o=X(this.tokens),r=["+","+"],r[2]=o[2],l.push(r)}return l.pop(),"STRING"!==(null!=(b=l[0])?b[0]:void 0)&&(this.token("STRING",'""',0,0),this.token("+","+",0,0)),(k=this.tokens).push.apply(k,l),n&&(i=s.lastIndexOf(n),this.token(",",",",i,0),this.token("STRING",'"'+n+'"',i,n.length)),this.token(")",")",s.length-1,0),s.length},e.prototype.lineToken=function(){var e,t,n,i,s;if(!(n=E.exec(this.chunk)))return 0;if(t=n[0],this.seenFor=!1,s=t.length-1-t.lastIndexOf("\n"),i=this.unfinished(),s-this.indebt===this.indent)return i?this.suppressNewlines():this.newlineToken(0),t.length;if(s>this.indent){if(i)return this.indebt=s-this.indent,this.suppressNewlines(),t.length;e=s-this.indent+this.outdebt,this.token("INDENT",e,t.length-s,s),this.indents.push(e),this.ends.push("OUTDENT"),this.outdebt=this.indebt=0}else this.indebt=0,this.outdentToken(this.indent-s,i,t.length);return this.indent=s,t.length},e.prototype.outdentToken=function(e,t,n){for(var i,s;e>0;)s=this.indents.length-1,void 0===this.indents[s]?e=0:this.indents[s]===this.outdebt?(e-=this.outdebt,this.outdebt=0):this.indents[s]=0)&&this.error('reserved word "'+this.value()+"\" can't be assigned"),"||"===(a=t[1])||"&&"===a))return t[0]="COMPOUND_ASSIGN",t[1]+="=",r.length;if(";"===r)this.seenFor=!1,n="TERMINATOR";else if(et.call(N,r)>=0)n="MATH";else if(et.call(h,r)>=0)n="COMPARE";else if(et.call(l,r)>=0)n="COMPOUND_ASSIGN";else if(et.call(P,r)>=0)n="UNARY";else if(et.call(j,r)>=0)n="SHIFT";else if(et.call(F,r)>=0||"?"===r&&(null!=t?t.spaced:void 0))n="LOGIC";else if(t&&!t.spaced)if("("===r&&(c=t[0],et.call(i,c)>=0))"?"===t[0]&&(t[0]="FUNC_EXIST"),n="CALL_START";else if("["===r&&(u=t[0],et.call(k,u)>=0))switch(n="INDEX_START",t[0]){case"?":t[0]="INDEX_SOAK"}switch(r){case"(":case"{":case"[":this.ends.push(g[r]);break;case")":case"}":case"]":this.pair(r)}return this.token(n,r),r.length},e.prototype.sanitizeHeredoc=function(e,t){var n,i,s,r,o;if(s=t.indent,i=t.herecomment){if(p.test(e)&&this.error('block comment cannot contain "*/", starting'),e.indexOf("\n")<0)return e}else for(;r=d.exec(e);)n=r[1],(null===s||0<(o=n.length)&&o=1?h>c:c>h;i=h>=1?++c:--c)if(n)--n;else{switch(s=e.charAt(i)){case"\\":++n;continue;case t:if(a.pop(),!a.length)return e.slice(0,+i+1||9e9);t=a[a.length-1];continue}"}"!==t||'"'!==s&&"'"!==s?"}"===t&&"/"===s&&(r=f.exec(e.slice(i))||I.exec(e.slice(i)))?n+=r[0].length-1:"}"===t&&"{"===s?a.push(t="}"):'"'===t&&"#"===o&&"{"===s&&a.push(t="}"):a.push(t=s),o=s}return this.error("missing "+a.pop()+", starting")},e.prototype.interpolateString=function(t,n){var i,s,r,o,a,c,h,l,u,p,d,f,m,b,k,g,y,v,w,T,C,F,L,N,x,E,D,S;for(null==n&&(n={}),r=n.heredoc,y=n.regex,m=n.offsetInChunk,w=n.strOffset,u=n.lexedLength,m=m||0,w=w||0,u=u||t.length,r&&t.length>0&&"\n"===t[0]&&(t=t.slice(1),w++),F=[],b=0,o=-1;l=t.charAt(o+=1);)"\\"!==l?"#"===l&&"{"===t.charAt(o+1)&&(s=this.balancedString(t.slice(o+1),"}"))&&(o>b&&F.push(this.makeToken("NEOSTRING",t.slice(b,o),w+b)),a=s.slice(1,-1),a.length&&(E=this.getLineAndColumnFromChunk(w+o+1),p=E[0],i=E[1],f=(new e).tokenize(a,{line:p,column:i,rewrite:!1}),g=f.pop(),"TERMINATOR"===(null!=(D=f[0])?D[0]:void 0)&&(g=f.shift()),(h=f.length)&&(h>1&&(f.unshift(this.makeToken("(","(",w+o+1,0)),f.push(this.makeToken(")",")",w+o+1+a.length,0))),F.push(["TOKENS",f]))),o+=s.length,b=o+1):o+=1;if(o>b&&b1)&&this.token("(","(",m,0),o=N=0,x=F.length;x>N;o=++N)C=F[o],T=C[0],L=C[1],o&&(o&&(k=this.token("+","+")),d="TOKENS"===T?L[0]:C,k[2]={first_line:d[2].first_line,first_column:d[2].first_column,last_line:d[2].first_line,last_column:d[2].first_column}),"TOKENS"===T?(S=this.tokens).push.apply(S,L):"NEOSTRING"===T?(C[0]="STRING",C[1]=this.makeString(L,'"',r),this.tokens.push(C)):this.error("Unexpected "+T);return c&&(v=this.makeToken(")",")",m+u,0),v.stringEnd=!0,this.tokens.push(v)),F},e.prototype.pair=function(e){var t,n;return e!==(n=X(this.ends))?("OUTDENT"!==n&&this.error("unmatched "+e),this.indent-=t=X(this.indents),this.outdentToken(t,!0),this.pair(e)):this.ends.pop()},e.prototype.getLineAndColumnFromChunk=function(e){var t,n,i,s;return 0===e?[this.chunkLine,this.chunkColumn]:(s=e>=this.chunk.length?this.chunk:this.chunk.slice(0,+(e-1)+1||9e9),n=H(s,"\n"),t=this.chunkColumn,n>0?(i=s.split("\n"),t=X(i).length):t+=s.length,[this.chunkLine+n,t])},e.prototype.makeToken=function(e,t,n,i){var s,r,o,a,c;return null==n&&(n=0),null==i&&(i=t.length),r={},a=this.getLineAndColumnFromChunk(n),r.first_line=a[0],r.first_column=a[1],s=Math.max(0,i-1),c=this.getLineAndColumnFromChunk(n+s),r.last_line=c[0],r.last_column=c[1],o=[e,t,r]},e.prototype.token=function(e,t,n,i){var s;return s=this.makeToken(e,t,n,i),this.tokens.push(s),s},e.prototype.tag=function(e,t){var n;return(n=X(this.tokens,e))&&(t?n[0]=t:n[0])},e.prototype.value=function(e,t){var n;return(n=X(this.tokens,e))&&(t?n[1]=t:n[1])},e.prototype.unfinished=function(){var e;return C.test(this.chunk)||"\\"===(e=this.tag())||"."===e||"?."===e||"?::"===e||"UNARY"===e||"MATH"===e||"+"===e||"-"===e||"SHIFT"===e||"RELATION"===e||"COMPARE"===e||"LOGIC"===e||"THROW"===e||"EXTENDS"===e},e.prototype.escapeLines=function(e,t){return e.replace(x,t?"\\n":"")},e.prototype.makeString=function(e,t,n){return e?(e=e.replace(/\\([\s\S])/g,function(e,n){return"\n"===n||n===t?n:e}),e=e.replace(RegExp(""+t,"g"),"\\$&"),t+this.escapeLines(e,n)+t):t+t},e.prototype.error=function(e){return J(e,{first_line:this.chunkLine,first_column:this.chunkColumn})},e}(),w=["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","if","else","switch","for","while","do","try","catch","finally","class","extends","super"],a=["undefined","then","unless","until","loop","of","by","when"],o={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},r=function(){var e;e=[];for(W in o)e.push(W);return e}(),a=a.concat(r),$=["case","default","function","var","void","with","const","let","enum","export","import","native","__hasProp","__extends","__slice","__bind","__indexOf","implements","interface","package","private","protected","public","static","yield"],B=["arguments","eval"],v=w.concat($).concat(B),e.RESERVED=$.concat(w).concat(a).concat(B),e.STRICT_PROSCRIBED=B,t=65279,b=/^([$A-Za-z_\x7f-\uffff][$\w\x7f-\uffff]*)([^\n\S]*:(?!:))?/,R=/^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i,u=/^("""|''')([\s\S]*?)(?:\n[^\n\S]*)?\1/,A=/^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>])\2=?|\?(\.|::)|\.{2,3})/,U=/^[^\n\S]+/,c=/^###([^#][\s\S]*?)(?:###[^\n\S]*|(?:###)$)|^(?:\s*#(?!##[^#]).*)+/,s=/^[-=]>/,E=/^(?:\n[^\n\S]*)+/,M=/^'[^\\']*(?:\\.[^\\']*)*'/,y=/^`[^\\`]*(?:\\.[^\\`]*)*`/,I=/^(\/(?![\s=])[^[\/\n\\]*(?:(?:\\[\s\S]|\[[^\]\n\\]*(?:\\[\s\S][^\]\n\\]*)*])[^[\/\n\\]*)*\/)([imgy]{0,4})(?!\w)/,f=/^\/{3}([\s\S]+?)\/{3}([imgy]{0,4})(?!\w)/,m=/\s+(?:#.*)?/g,x=/\n/g,d=/\n+([^\n\S]*)/g,p=/\*\//,C=/^\s*(?:,|\??\.(?![.\d])|::)/,V=/\s+$/,l=["-=","+=","/=","*=","%=","||=","&&=","?=","<<=",">>=",">>>=","&=","^=","|="],P=["!","~","NEW","TYPEOF","DELETE","DO"],F=["&&","||","&","|","^"],j=["<<",">>",">>>"],h=["==","!=","<",">","<=",">="],N=["*","/","%"],_=["IN","OF","INSTANCEOF"],n=["TRUE","FALSE"],D=["NUMBER","REGEX","BOOL","NULL","UNDEFINED","++","--"],S=D.concat(")","}","THIS","IDENTIFIER","STRING","]"),i=["IDENTIFIER","STRING","REGEX",")","]","}","?","::","@","THIS","SUPER"],k=i.concat("NUMBER","BOOL","NULL","UNDEFINED"),T=["INDENT","OUTDENT","TERMINATOR"]}.call(this),t.exports}(),require["./parser"]=function(){var e={},t={exports:e},n=function(){function e(){this.yy={}}var t={trace:function(){},yy:{},symbols_:{error:2,Root:3,Body:4,Block:5,TERMINATOR:6,Line:7,Expression:8,Statement:9,Return:10,Comment:11,STATEMENT:12,Value:13,Invocation:14,Code:15,Operation:16,Assign:17,If:18,Try:19,While:20,For:21,Switch:22,Class:23,Throw:24,INDENT:25,OUTDENT:26,Identifier:27,IDENTIFIER:28,AlphaNumeric:29,NUMBER:30,STRING:31,Literal:32,JS:33,REGEX:34,DEBUGGER:35,UNDEFINED:36,NULL:37,BOOL:38,Assignable:39,"=":40,AssignObj:41,ObjAssignable:42,":":43,ThisProperty:44,RETURN:45,HERECOMMENT:46,PARAM_START:47,ParamList:48,PARAM_END:49,FuncGlyph:50,"->":51,"=>":52,OptComma:53,",":54,Param:55,ParamVar:56,"...":57,Array:58,Object:59,Splat:60,SimpleAssignable:61,Accessor:62,Parenthetical:63,Range:64,This:65,".":66,"?.":67,"::":68,"?::":69,Index:70,INDEX_START:71,IndexValue:72,INDEX_END:73,INDEX_SOAK:74,Slice:75,"{":76,AssignList:77,"}":78,CLASS:79,EXTENDS:80,OptFuncExist:81,Arguments:82,SUPER:83,FUNC_EXIST:84,CALL_START:85,CALL_END:86,ArgList:87,THIS:88,"@":89,"[":90,"]":91,RangeDots:92,"..":93,Arg:94,SimpleArgs:95,TRY:96,Catch:97,FINALLY:98,CATCH:99,THROW:100,"(":101,")":102,WhileSource:103,WHILE:104,WHEN:105,UNTIL:106,Loop:107,LOOP:108,ForBody:109,FOR:110,ForStart:111,ForSource:112,ForVariables:113,OWN:114,ForValue:115,FORIN:116,FOROF:117,BY:118,SWITCH:119,Whens:120,ELSE:121,When:122,LEADING_WHEN:123,IfBlock:124,IF:125,POST_IF:126,UNARY:127,"-":128,"+":129,"--":130,"++":131,"?":132,MATH:133,SHIFT:134,COMPARE:135,LOGIC:136,RELATION:137,COMPOUND_ASSIGN:138,$accept:0,$end:1},terminals_:{2:"error",6:"TERMINATOR",12:"STATEMENT",25:"INDENT",26:"OUTDENT",28:"IDENTIFIER",30:"NUMBER",31:"STRING",33:"JS",34:"REGEX",35:"DEBUGGER",36:"UNDEFINED",37:"NULL",38:"BOOL",40:"=",43:":",45:"RETURN",46:"HERECOMMENT",47:"PARAM_START",49:"PARAM_END",51:"->",52:"=>",54:",",57:"...",66:".",67:"?.",68:"::",69:"?::",71:"INDEX_START",73:"INDEX_END",74:"INDEX_SOAK",76:"{",78:"}",79:"CLASS",80:"EXTENDS",83:"SUPER",84:"FUNC_EXIST",85:"CALL_START",86:"CALL_END",88:"THIS",89:"@",90:"[",91:"]",93:"..",96:"TRY",98:"FINALLY",99:"CATCH",100:"THROW",101:"(",102:")",104:"WHILE",105:"WHEN",106:"UNTIL",108:"LOOP",110:"FOR",114:"OWN",116:"FORIN",117:"FOROF",118:"BY",119:"SWITCH",121:"ELSE",123:"LEADING_WHEN",125:"IF",126:"POST_IF",127:"UNARY",128:"-",129:"+",130:"--",131:"++",132:"?",133:"MATH",134:"SHIFT",135:"COMPARE",136:"LOGIC",137:"RELATION",138:"COMPOUND_ASSIGN"},productions_:[0,[3,0],[3,1],[3,2],[4,1],[4,3],[4,2],[7,1],[7,1],[9,1],[9,1],[9,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[5,2],[5,3],[27,1],[29,1],[29,1],[32,1],[32,1],[32,1],[32,1],[32,1],[32,1],[32,1],[17,3],[17,4],[17,5],[41,1],[41,3],[41,5],[41,1],[42,1],[42,1],[42,1],[10,2],[10,1],[11,1],[15,5],[15,2],[50,1],[50,1],[53,0],[53,1],[48,0],[48,1],[48,3],[48,4],[48,6],[55,1],[55,2],[55,3],[56,1],[56,1],[56,1],[56,1],[60,2],[61,1],[61,2],[61,2],[61,1],[39,1],[39,1],[39,1],[13,1],[13,1],[13,1],[13,1],[13,1],[62,2],[62,2],[62,2],[62,2],[62,1],[62,1],[70,3],[70,2],[72,1],[72,1],[59,4],[77,0],[77,1],[77,3],[77,4],[77,6],[23,1],[23,2],[23,3],[23,4],[23,2],[23,3],[23,4],[23,5],[14,3],[14,3],[14,1],[14,2],[81,0],[81,1],[82,2],[82,4],[65,1],[65,1],[44,2],[58,2],[58,4],[92,1],[92,1],[64,5],[75,3],[75,2],[75,2],[75,1],[87,1],[87,3],[87,4],[87,4],[87,6],[94,1],[94,1],[95,1],[95,3],[19,2],[19,3],[19,4],[19,5],[97,3],[97,3],[97,2],[24,2],[63,3],[63,5],[103,2],[103,4],[103,2],[103,4],[20,2],[20,2],[20,2],[20,1],[107,2],[107,2],[21,2],[21,2],[21,2],[109,2],[109,2],[111,2],[111,3],[115,1],[115,1],[115,1],[115,1],[113,1],[113,3],[112,2],[112,2],[112,4],[112,4],[112,4],[112,6],[112,6],[22,5],[22,7],[22,4],[22,6],[120,1],[120,2],[122,3],[122,4],[124,3],[124,5],[18,1],[18,3],[18,3],[18,3],[16,2],[16,2],[16,2],[16,2],[16,2],[16,2],[16,2],[16,2],[16,3],[16,3],[16,3],[16,3],[16,3],[16,3],[16,3],[16,3],[16,5],[16,4],[16,3]],performAction:function(e,t,n,i,s,r,o){var a=r.length-1;switch(s){case 1:return this.$=i.addLocationDataFn(o[a],o[a])(new i.Block);case 2:return this.$=r[a];case 3:return this.$=r[a-1];case 4:this.$=i.addLocationDataFn(o[a],o[a])(i.Block.wrap([r[a]]));break;case 5:this.$=i.addLocationDataFn(o[a-2],o[a])(r[a-2].push(r[a]));break;case 6:this.$=r[a-1];break;case 7:this.$=r[a];break;case 8:this.$=r[a];break;case 9:this.$=r[a];break;case 10:this.$=r[a];break;case 11:this.$=i.addLocationDataFn(o[a],o[a])(new i.Literal(r[a]));break;case 12:this.$=r[a];break;case 13:this.$=r[a];break;case 14:this.$=r[a];break;case 15:this.$=r[a];break;case 16:this.$=r[a];break;case 17:this.$=r[a];break;case 18:this.$=r[a];break;case 19:this.$=r[a];break;case 20:this.$=r[a];break;case 21:this.$=r[a];break;case 22:this.$=r[a];break;case 23:this.$=r[a];break;case 24:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Block);break;case 25:this.$=i.addLocationDataFn(o[a-2],o[a])(r[a-1]);break;case 26:this.$=i.addLocationDataFn(o[a],o[a])(new i.Literal(r[a]));break;case 27:this.$=i.addLocationDataFn(o[a],o[a])(new i.Literal(r[a]));break;case 28:this.$=i.addLocationDataFn(o[a],o[a])(new i.Literal(r[a]));break;case 29:this.$=r[a];break;case 30:this.$=i.addLocationDataFn(o[a],o[a])(new i.Literal(r[a]));break;case 31:this.$=i.addLocationDataFn(o[a],o[a])(new i.Literal(r[a]));break;case 32:this.$=i.addLocationDataFn(o[a],o[a])(new i.Literal(r[a]));break;case 33:this.$=i.addLocationDataFn(o[a],o[a])(new i.Undefined);break;case 34:this.$=i.addLocationDataFn(o[a],o[a])(new i.Null);break;case 35:this.$=i.addLocationDataFn(o[a],o[a])(new i.Bool(r[a]));break;case 36:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Assign(r[a-2],r[a]));break;case 37:this.$=i.addLocationDataFn(o[a-3],o[a])(new i.Assign(r[a-3],r[a]));break;case 38:this.$=i.addLocationDataFn(o[a-4],o[a])(new i.Assign(r[a-4],r[a-1]));break;case 39:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(r[a]));break;case 40:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Assign(i.addLocationDataFn(o[a-2])(new i.Value(r[a-2])),r[a],"object"));break;case 41:this.$=i.addLocationDataFn(o[a-4],o[a])(new i.Assign(i.addLocationDataFn(o[a-4])(new i.Value(r[a-4])),r[a-1],"object"));break;case 42:this.$=r[a];break;case 43:this.$=r[a];break;case 44:this.$=r[a];break;case 45:this.$=r[a];break;case 46:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Return(r[a]));break;case 47:this.$=i.addLocationDataFn(o[a],o[a])(new i.Return);break;case 48:this.$=i.addLocationDataFn(o[a],o[a])(new i.Comment(r[a]));break;case 49:this.$=i.addLocationDataFn(o[a-4],o[a])(new i.Code(r[a-3],r[a],r[a-1]));break;case 50:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Code([],r[a],r[a-1])); -break;case 51:this.$=i.addLocationDataFn(o[a],o[a])("func");break;case 52:this.$=i.addLocationDataFn(o[a],o[a])("boundfunc");break;case 53:this.$=r[a];break;case 54:this.$=r[a];break;case 55:this.$=i.addLocationDataFn(o[a],o[a])([]);break;case 56:this.$=i.addLocationDataFn(o[a],o[a])([r[a]]);break;case 57:this.$=i.addLocationDataFn(o[a-2],o[a])(r[a-2].concat(r[a]));break;case 58:this.$=i.addLocationDataFn(o[a-3],o[a])(r[a-3].concat(r[a]));break;case 59:this.$=i.addLocationDataFn(o[a-5],o[a])(r[a-5].concat(r[a-2]));break;case 60:this.$=i.addLocationDataFn(o[a],o[a])(new i.Param(r[a]));break;case 61:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Param(r[a-1],null,!0));break;case 62:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Param(r[a-2],r[a]));break;case 63:this.$=r[a];break;case 64:this.$=r[a];break;case 65:this.$=r[a];break;case 66:this.$=r[a];break;case 67:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Splat(r[a-1]));break;case 68:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(r[a]));break;case 69:this.$=i.addLocationDataFn(o[a-1],o[a])(r[a-1].add(r[a]));break;case 70:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Value(r[a-1],[].concat(r[a])));break;case 71:this.$=r[a];break;case 72:this.$=r[a];break;case 73:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(r[a]));break;case 74:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(r[a]));break;case 75:this.$=r[a];break;case 76:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(r[a]));break;case 77:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(r[a]));break;case 78:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(r[a]));break;case 79:this.$=r[a];break;case 80:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Access(r[a]));break;case 81:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Access(r[a],"soak"));break;case 82:this.$=i.addLocationDataFn(o[a-1],o[a])([i.addLocationDataFn(o[a-1])(new i.Access(new i.Literal("prototype"))),i.addLocationDataFn(o[a])(new i.Access(r[a]))]);break;case 83:this.$=i.addLocationDataFn(o[a-1],o[a])([i.addLocationDataFn(o[a-1])(new i.Access(new i.Literal("prototype"),"soak")),i.addLocationDataFn(o[a])(new i.Access(r[a]))]);break;case 84:this.$=i.addLocationDataFn(o[a],o[a])(new i.Access(new i.Literal("prototype")));break;case 85:this.$=r[a];break;case 86:this.$=i.addLocationDataFn(o[a-2],o[a])(r[a-1]);break;case 87:this.$=i.addLocationDataFn(o[a-1],o[a])(i.extend(r[a],{soak:!0}));break;case 88:this.$=i.addLocationDataFn(o[a],o[a])(new i.Index(r[a]));break;case 89:this.$=i.addLocationDataFn(o[a],o[a])(new i.Slice(r[a]));break;case 90:this.$=i.addLocationDataFn(o[a-3],o[a])(new i.Obj(r[a-2],r[a-3].generated));break;case 91:this.$=i.addLocationDataFn(o[a],o[a])([]);break;case 92:this.$=i.addLocationDataFn(o[a],o[a])([r[a]]);break;case 93:this.$=i.addLocationDataFn(o[a-2],o[a])(r[a-2].concat(r[a]));break;case 94:this.$=i.addLocationDataFn(o[a-3],o[a])(r[a-3].concat(r[a]));break;case 95:this.$=i.addLocationDataFn(o[a-5],o[a])(r[a-5].concat(r[a-2]));break;case 96:this.$=i.addLocationDataFn(o[a],o[a])(new i.Class);break;case 97:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Class(null,null,r[a]));break;case 98:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Class(null,r[a]));break;case 99:this.$=i.addLocationDataFn(o[a-3],o[a])(new i.Class(null,r[a-1],r[a]));break;case 100:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Class(r[a]));break;case 101:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Class(r[a-1],null,r[a]));break;case 102:this.$=i.addLocationDataFn(o[a-3],o[a])(new i.Class(r[a-2],r[a]));break;case 103:this.$=i.addLocationDataFn(o[a-4],o[a])(new i.Class(r[a-3],r[a-1],r[a]));break;case 104:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Call(r[a-2],r[a],r[a-1]));break;case 105:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Call(r[a-2],r[a],r[a-1]));break;case 106:this.$=i.addLocationDataFn(o[a],o[a])(new i.Call("super",[new i.Splat(new i.Literal("arguments"))]));break;case 107:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Call("super",r[a]));break;case 108:this.$=i.addLocationDataFn(o[a],o[a])(!1);break;case 109:this.$=i.addLocationDataFn(o[a],o[a])(!0);break;case 110:this.$=i.addLocationDataFn(o[a-1],o[a])([]);break;case 111:this.$=i.addLocationDataFn(o[a-3],o[a])(r[a-2]);break;case 112:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(new i.Literal("this")));break;case 113:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(new i.Literal("this")));break;case 114:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Value(i.addLocationDataFn(o[a-1])(new i.Literal("this")),[i.addLocationDataFn(o[a])(new i.Access(r[a]))],"this"));break;case 115:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Arr([]));break;case 116:this.$=i.addLocationDataFn(o[a-3],o[a])(new i.Arr(r[a-2]));break;case 117:this.$=i.addLocationDataFn(o[a],o[a])("inclusive");break;case 118:this.$=i.addLocationDataFn(o[a],o[a])("exclusive");break;case 119:this.$=i.addLocationDataFn(o[a-4],o[a])(new i.Range(r[a-3],r[a-1],r[a-2]));break;case 120:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Range(r[a-2],r[a],r[a-1]));break;case 121:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Range(r[a-1],null,r[a]));break;case 122:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Range(null,r[a],r[a-1]));break;case 123:this.$=i.addLocationDataFn(o[a],o[a])(new i.Range(null,null,r[a]));break;case 124:this.$=i.addLocationDataFn(o[a],o[a])([r[a]]);break;case 125:this.$=i.addLocationDataFn(o[a-2],o[a])(r[a-2].concat(r[a]));break;case 126:this.$=i.addLocationDataFn(o[a-3],o[a])(r[a-3].concat(r[a]));break;case 127:this.$=i.addLocationDataFn(o[a-3],o[a])(r[a-2]);break;case 128:this.$=i.addLocationDataFn(o[a-5],o[a])(r[a-5].concat(r[a-2]));break;case 129:this.$=r[a];break;case 130:this.$=r[a];break;case 131:this.$=r[a];break;case 132:this.$=i.addLocationDataFn(o[a-2],o[a])([].concat(r[a-2],r[a]));break;case 133:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Try(r[a]));break;case 134:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Try(r[a-1],r[a][0],r[a][1]));break;case 135:this.$=i.addLocationDataFn(o[a-3],o[a])(new i.Try(r[a-2],null,null,r[a]));break;case 136:this.$=i.addLocationDataFn(o[a-4],o[a])(new i.Try(r[a-3],r[a-2][0],r[a-2][1],r[a]));break;case 137:this.$=i.addLocationDataFn(o[a-2],o[a])([r[a-1],r[a]]);break;case 138:this.$=i.addLocationDataFn(o[a-2],o[a])([i.addLocationDataFn(o[a-1])(new i.Value(r[a-1])),r[a]]);break;case 139:this.$=i.addLocationDataFn(o[a-1],o[a])([null,r[a]]);break;case 140:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Throw(r[a]));break;case 141:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Parens(r[a-1]));break;case 142:this.$=i.addLocationDataFn(o[a-4],o[a])(new i.Parens(r[a-2]));break;case 143:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.While(r[a]));break;case 144:this.$=i.addLocationDataFn(o[a-3],o[a])(new i.While(r[a-2],{guard:r[a]}));break;case 145:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.While(r[a],{invert:!0}));break;case 146:this.$=i.addLocationDataFn(o[a-3],o[a])(new i.While(r[a-2],{invert:!0,guard:r[a]}));break;case 147:this.$=i.addLocationDataFn(o[a-1],o[a])(r[a-1].addBody(r[a]));break;case 148:this.$=i.addLocationDataFn(o[a-1],o[a])(r[a].addBody(i.addLocationDataFn(o[a-1])(i.Block.wrap([r[a-1]]))));break;case 149:this.$=i.addLocationDataFn(o[a-1],o[a])(r[a].addBody(i.addLocationDataFn(o[a-1])(i.Block.wrap([r[a-1]]))));break;case 150:this.$=i.addLocationDataFn(o[a],o[a])(r[a]);break;case 151:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.While(i.addLocationDataFn(o[a-1])(new i.Literal("true"))).addBody(r[a]));break;case 152:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.While(i.addLocationDataFn(o[a-1])(new i.Literal("true"))).addBody(i.addLocationDataFn(o[a])(i.Block.wrap([r[a]]))));break;case 153:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.For(r[a-1],r[a]));break;case 154:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.For(r[a-1],r[a]));break;case 155:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.For(r[a],r[a-1]));break;case 156:this.$=i.addLocationDataFn(o[a-1],o[a])({source:i.addLocationDataFn(o[a])(new i.Value(r[a]))});break;case 157:this.$=i.addLocationDataFn(o[a-1],o[a])(function(){return r[a].own=r[a-1].own,r[a].name=r[a-1][0],r[a].index=r[a-1][1],r[a]}());break;case 158:this.$=i.addLocationDataFn(o[a-1],o[a])(r[a]);break;case 159:this.$=i.addLocationDataFn(o[a-2],o[a])(function(){return r[a].own=!0,r[a]}());break;case 160:this.$=r[a];break;case 161:this.$=r[a];break;case 162:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(r[a]));break;case 163:this.$=i.addLocationDataFn(o[a],o[a])(new i.Value(r[a]));break;case 164:this.$=i.addLocationDataFn(o[a],o[a])([r[a]]);break;case 165:this.$=i.addLocationDataFn(o[a-2],o[a])([r[a-2],r[a]]);break;case 166:this.$=i.addLocationDataFn(o[a-1],o[a])({source:r[a]});break;case 167:this.$=i.addLocationDataFn(o[a-1],o[a])({source:r[a],object:!0});break;case 168:this.$=i.addLocationDataFn(o[a-3],o[a])({source:r[a-2],guard:r[a]});break;case 169:this.$=i.addLocationDataFn(o[a-3],o[a])({source:r[a-2],guard:r[a],object:!0});break;case 170:this.$=i.addLocationDataFn(o[a-3],o[a])({source:r[a-2],step:r[a]});break;case 171:this.$=i.addLocationDataFn(o[a-5],o[a])({source:r[a-4],guard:r[a-2],step:r[a]});break;case 172:this.$=i.addLocationDataFn(o[a-5],o[a])({source:r[a-4],step:r[a-2],guard:r[a]});break;case 173:this.$=i.addLocationDataFn(o[a-4],o[a])(new i.Switch(r[a-3],r[a-1]));break;case 174:this.$=i.addLocationDataFn(o[a-6],o[a])(new i.Switch(r[a-5],r[a-3],r[a-1]));break;case 175:this.$=i.addLocationDataFn(o[a-3],o[a])(new i.Switch(null,r[a-1]));break;case 176:this.$=i.addLocationDataFn(o[a-5],o[a])(new i.Switch(null,r[a-3],r[a-1]));break;case 177:this.$=r[a];break;case 178:this.$=i.addLocationDataFn(o[a-1],o[a])(r[a-1].concat(r[a]));break;case 179:this.$=i.addLocationDataFn(o[a-2],o[a])([[r[a-1],r[a]]]);break;case 180:this.$=i.addLocationDataFn(o[a-3],o[a])([[r[a-2],r[a-1]]]);break;case 181:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.If(r[a-1],r[a],{type:r[a-2]}));break;case 182:this.$=i.addLocationDataFn(o[a-4],o[a])(r[a-4].addElse(new i.If(r[a-1],r[a],{type:r[a-2]})));break;case 183:this.$=r[a];break;case 184:this.$=i.addLocationDataFn(o[a-2],o[a])(r[a-2].addElse(r[a]));break;case 185:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.If(r[a],i.addLocationDataFn(o[a-2])(i.Block.wrap([r[a-2]])),{type:r[a-1],statement:!0}));break;case 186:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.If(r[a],i.addLocationDataFn(o[a-2])(i.Block.wrap([r[a-2]])),{type:r[a-1],statement:!0}));break;case 187:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Op(r[a-1],r[a]));break;case 188:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Op("-",r[a]));break;case 189:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Op("+",r[a]));break;case 190:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Op("--",r[a]));break;case 191:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Op("++",r[a]));break;case 192:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Op("--",r[a-1],null,!0));break;case 193:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Op("++",r[a-1],null,!0));break;case 194:this.$=i.addLocationDataFn(o[a-1],o[a])(new i.Existence(r[a-1]));break;case 195:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Op("+",r[a-2],r[a]));break;case 196:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Op("-",r[a-2],r[a]));break;case 197:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Op(r[a-1],r[a-2],r[a]));break;case 198:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Op(r[a-1],r[a-2],r[a]));break;case 199:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Op(r[a-1],r[a-2],r[a]));break;case 200:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Op(r[a-1],r[a-2],r[a]));break;case 201:this.$=i.addLocationDataFn(o[a-2],o[a])(function(){return"!"===r[a-1].charAt(0)?new i.Op(r[a-1].slice(1),r[a-2],r[a]).invert():new i.Op(r[a-1],r[a-2],r[a])}());break;case 202:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Assign(r[a-2],r[a],r[a-1]));break;case 203:this.$=i.addLocationDataFn(o[a-4],o[a])(new i.Assign(r[a-4],r[a-1],r[a-3]));break;case 204:this.$=i.addLocationDataFn(o[a-3],o[a])(new i.Assign(r[a-3],r[a],r[a-2]));break;case 205:this.$=i.addLocationDataFn(o[a-2],o[a])(new i.Extends(r[a-2],r[a]))}},table:[{1:[2,1],3:1,4:2,5:3,7:4,8:6,9:7,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,5],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{1:[3]},{1:[2,2],6:[1,74]},{6:[1,75]},{1:[2,4],6:[2,4],26:[2,4],102:[2,4]},{4:77,7:4,8:6,9:7,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,26:[1,76],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{1:[2,7],6:[2,7],26:[2,7],102:[2,7],103:87,104:[1,65],106:[1,66],109:88,110:[1,68],111:69,126:[1,86],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{1:[2,8],6:[2,8],26:[2,8],102:[2,8],103:90,104:[1,65],106:[1,66],109:91,110:[1,68],111:69,126:[1,89]},{1:[2,12],6:[2,12],25:[2,12],26:[2,12],49:[2,12],54:[2,12],57:[2,12],62:93,66:[1,95],67:[1,96],68:[1,97],69:[1,98],70:99,71:[1,100],73:[2,12],74:[1,101],78:[2,12],81:92,84:[1,94],85:[2,108],86:[2,12],91:[2,12],93:[2,12],102:[2,12],104:[2,12],105:[2,12],106:[2,12],110:[2,12],118:[2,12],126:[2,12],128:[2,12],129:[2,12],132:[2,12],133:[2,12],134:[2,12],135:[2,12],136:[2,12],137:[2,12]},{1:[2,13],6:[2,13],25:[2,13],26:[2,13],49:[2,13],54:[2,13],57:[2,13],62:103,66:[1,95],67:[1,96],68:[1,97],69:[1,98],70:99,71:[1,100],73:[2,13],74:[1,101],78:[2,13],81:102,84:[1,94],85:[2,108],86:[2,13],91:[2,13],93:[2,13],102:[2,13],104:[2,13],105:[2,13],106:[2,13],110:[2,13],118:[2,13],126:[2,13],128:[2,13],129:[2,13],132:[2,13],133:[2,13],134:[2,13],135:[2,13],136:[2,13],137:[2,13]},{1:[2,14],6:[2,14],25:[2,14],26:[2,14],49:[2,14],54:[2,14],57:[2,14],73:[2,14],78:[2,14],86:[2,14],91:[2,14],93:[2,14],102:[2,14],104:[2,14],105:[2,14],106:[2,14],110:[2,14],118:[2,14],126:[2,14],128:[2,14],129:[2,14],132:[2,14],133:[2,14],134:[2,14],135:[2,14],136:[2,14],137:[2,14]},{1:[2,15],6:[2,15],25:[2,15],26:[2,15],49:[2,15],54:[2,15],57:[2,15],73:[2,15],78:[2,15],86:[2,15],91:[2,15],93:[2,15],102:[2,15],104:[2,15],105:[2,15],106:[2,15],110:[2,15],118:[2,15],126:[2,15],128:[2,15],129:[2,15],132:[2,15],133:[2,15],134:[2,15],135:[2,15],136:[2,15],137:[2,15]},{1:[2,16],6:[2,16],25:[2,16],26:[2,16],49:[2,16],54:[2,16],57:[2,16],73:[2,16],78:[2,16],86:[2,16],91:[2,16],93:[2,16],102:[2,16],104:[2,16],105:[2,16],106:[2,16],110:[2,16],118:[2,16],126:[2,16],128:[2,16],129:[2,16],132:[2,16],133:[2,16],134:[2,16],135:[2,16],136:[2,16],137:[2,16]},{1:[2,17],6:[2,17],25:[2,17],26:[2,17],49:[2,17],54:[2,17],57:[2,17],73:[2,17],78:[2,17],86:[2,17],91:[2,17],93:[2,17],102:[2,17],104:[2,17],105:[2,17],106:[2,17],110:[2,17],118:[2,17],126:[2,17],128:[2,17],129:[2,17],132:[2,17],133:[2,17],134:[2,17],135:[2,17],136:[2,17],137:[2,17]},{1:[2,18],6:[2,18],25:[2,18],26:[2,18],49:[2,18],54:[2,18],57:[2,18],73:[2,18],78:[2,18],86:[2,18],91:[2,18],93:[2,18],102:[2,18],104:[2,18],105:[2,18],106:[2,18],110:[2,18],118:[2,18],126:[2,18],128:[2,18],129:[2,18],132:[2,18],133:[2,18],134:[2,18],135:[2,18],136:[2,18],137:[2,18]},{1:[2,19],6:[2,19],25:[2,19],26:[2,19],49:[2,19],54:[2,19],57:[2,19],73:[2,19],78:[2,19],86:[2,19],91:[2,19],93:[2,19],102:[2,19],104:[2,19],105:[2,19],106:[2,19],110:[2,19],118:[2,19],126:[2,19],128:[2,19],129:[2,19],132:[2,19],133:[2,19],134:[2,19],135:[2,19],136:[2,19],137:[2,19]},{1:[2,20],6:[2,20],25:[2,20],26:[2,20],49:[2,20],54:[2,20],57:[2,20],73:[2,20],78:[2,20],86:[2,20],91:[2,20],93:[2,20],102:[2,20],104:[2,20],105:[2,20],106:[2,20],110:[2,20],118:[2,20],126:[2,20],128:[2,20],129:[2,20],132:[2,20],133:[2,20],134:[2,20],135:[2,20],136:[2,20],137:[2,20]},{1:[2,21],6:[2,21],25:[2,21],26:[2,21],49:[2,21],54:[2,21],57:[2,21],73:[2,21],78:[2,21],86:[2,21],91:[2,21],93:[2,21],102:[2,21],104:[2,21],105:[2,21],106:[2,21],110:[2,21],118:[2,21],126:[2,21],128:[2,21],129:[2,21],132:[2,21],133:[2,21],134:[2,21],135:[2,21],136:[2,21],137:[2,21]},{1:[2,22],6:[2,22],25:[2,22],26:[2,22],49:[2,22],54:[2,22],57:[2,22],73:[2,22],78:[2,22],86:[2,22],91:[2,22],93:[2,22],102:[2,22],104:[2,22],105:[2,22],106:[2,22],110:[2,22],118:[2,22],126:[2,22],128:[2,22],129:[2,22],132:[2,22],133:[2,22],134:[2,22],135:[2,22],136:[2,22],137:[2,22]},{1:[2,23],6:[2,23],25:[2,23],26:[2,23],49:[2,23],54:[2,23],57:[2,23],73:[2,23],78:[2,23],86:[2,23],91:[2,23],93:[2,23],102:[2,23],104:[2,23],105:[2,23],106:[2,23],110:[2,23],118:[2,23],126:[2,23],128:[2,23],129:[2,23],132:[2,23],133:[2,23],134:[2,23],135:[2,23],136:[2,23],137:[2,23]},{1:[2,9],6:[2,9],26:[2,9],102:[2,9],104:[2,9],106:[2,9],110:[2,9],126:[2,9]},{1:[2,10],6:[2,10],26:[2,10],102:[2,10],104:[2,10],106:[2,10],110:[2,10],126:[2,10]},{1:[2,11],6:[2,11],26:[2,11],102:[2,11],104:[2,11],106:[2,11],110:[2,11],126:[2,11]},{1:[2,75],6:[2,75],25:[2,75],26:[2,75],40:[1,104],49:[2,75],54:[2,75],57:[2,75],66:[2,75],67:[2,75],68:[2,75],69:[2,75],71:[2,75],73:[2,75],74:[2,75],78:[2,75],84:[2,75],85:[2,75],86:[2,75],91:[2,75],93:[2,75],102:[2,75],104:[2,75],105:[2,75],106:[2,75],110:[2,75],118:[2,75],126:[2,75],128:[2,75],129:[2,75],132:[2,75],133:[2,75],134:[2,75],135:[2,75],136:[2,75],137:[2,75]},{1:[2,76],6:[2,76],25:[2,76],26:[2,76],49:[2,76],54:[2,76],57:[2,76],66:[2,76],67:[2,76],68:[2,76],69:[2,76],71:[2,76],73:[2,76],74:[2,76],78:[2,76],84:[2,76],85:[2,76],86:[2,76],91:[2,76],93:[2,76],102:[2,76],104:[2,76],105:[2,76],106:[2,76],110:[2,76],118:[2,76],126:[2,76],128:[2,76],129:[2,76],132:[2,76],133:[2,76],134:[2,76],135:[2,76],136:[2,76],137:[2,76]},{1:[2,77],6:[2,77],25:[2,77],26:[2,77],49:[2,77],54:[2,77],57:[2,77],66:[2,77],67:[2,77],68:[2,77],69:[2,77],71:[2,77],73:[2,77],74:[2,77],78:[2,77],84:[2,77],85:[2,77],86:[2,77],91:[2,77],93:[2,77],102:[2,77],104:[2,77],105:[2,77],106:[2,77],110:[2,77],118:[2,77],126:[2,77],128:[2,77],129:[2,77],132:[2,77],133:[2,77],134:[2,77],135:[2,77],136:[2,77],137:[2,77]},{1:[2,78],6:[2,78],25:[2,78],26:[2,78],49:[2,78],54:[2,78],57:[2,78],66:[2,78],67:[2,78],68:[2,78],69:[2,78],71:[2,78],73:[2,78],74:[2,78],78:[2,78],84:[2,78],85:[2,78],86:[2,78],91:[2,78],93:[2,78],102:[2,78],104:[2,78],105:[2,78],106:[2,78],110:[2,78],118:[2,78],126:[2,78],128:[2,78],129:[2,78],132:[2,78],133:[2,78],134:[2,78],135:[2,78],136:[2,78],137:[2,78]},{1:[2,79],6:[2,79],25:[2,79],26:[2,79],49:[2,79],54:[2,79],57:[2,79],66:[2,79],67:[2,79],68:[2,79],69:[2,79],71:[2,79],73:[2,79],74:[2,79],78:[2,79],84:[2,79],85:[2,79],86:[2,79],91:[2,79],93:[2,79],102:[2,79],104:[2,79],105:[2,79],106:[2,79],110:[2,79],118:[2,79],126:[2,79],128:[2,79],129:[2,79],132:[2,79],133:[2,79],134:[2,79],135:[2,79],136:[2,79],137:[2,79]},{1:[2,106],6:[2,106],25:[2,106],26:[2,106],49:[2,106],54:[2,106],57:[2,106],66:[2,106],67:[2,106],68:[2,106],69:[2,106],71:[2,106],73:[2,106],74:[2,106],78:[2,106],82:105,84:[2,106],85:[1,106],86:[2,106],91:[2,106],93:[2,106],102:[2,106],104:[2,106],105:[2,106],106:[2,106],110:[2,106],118:[2,106],126:[2,106],128:[2,106],129:[2,106],132:[2,106],133:[2,106],134:[2,106],135:[2,106],136:[2,106],137:[2,106]},{6:[2,55],25:[2,55],27:110,28:[1,73],44:111,48:107,49:[2,55],54:[2,55],55:108,56:109,58:112,59:113,76:[1,70],89:[1,114],90:[1,115]},{5:116,25:[1,5]},{8:117,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{8:119,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{8:120,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{13:122,14:123,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:124,44:63,58:47,59:48,61:121,63:25,64:26,65:27,76:[1,70],83:[1,28],88:[1,58],89:[1,59],90:[1,57],101:[1,56]},{13:122,14:123,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:124,44:63,58:47,59:48,61:125,63:25,64:26,65:27,76:[1,70],83:[1,28],88:[1,58],89:[1,59],90:[1,57],101:[1,56]},{1:[2,72],6:[2,72],25:[2,72],26:[2,72],40:[2,72],49:[2,72],54:[2,72],57:[2,72],66:[2,72],67:[2,72],68:[2,72],69:[2,72],71:[2,72],73:[2,72],74:[2,72],78:[2,72],80:[1,129],84:[2,72],85:[2,72],86:[2,72],91:[2,72],93:[2,72],102:[2,72],104:[2,72],105:[2,72],106:[2,72],110:[2,72],118:[2,72],126:[2,72],128:[2,72],129:[2,72],130:[1,126],131:[1,127],132:[2,72],133:[2,72],134:[2,72],135:[2,72],136:[2,72],137:[2,72],138:[1,128]},{1:[2,183],6:[2,183],25:[2,183],26:[2,183],49:[2,183],54:[2,183],57:[2,183],73:[2,183],78:[2,183],86:[2,183],91:[2,183],93:[2,183],102:[2,183],104:[2,183],105:[2,183],106:[2,183],110:[2,183],118:[2,183],121:[1,130],126:[2,183],128:[2,183],129:[2,183],132:[2,183],133:[2,183],134:[2,183],135:[2,183],136:[2,183],137:[2,183]},{5:131,25:[1,5]},{5:132,25:[1,5]},{1:[2,150],6:[2,150],25:[2,150],26:[2,150],49:[2,150],54:[2,150],57:[2,150],73:[2,150],78:[2,150],86:[2,150],91:[2,150],93:[2,150],102:[2,150],104:[2,150],105:[2,150],106:[2,150],110:[2,150],118:[2,150],126:[2,150],128:[2,150],129:[2,150],132:[2,150],133:[2,150],134:[2,150],135:[2,150],136:[2,150],137:[2,150]},{5:133,25:[1,5]},{8:134,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,135],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{1:[2,96],5:136,6:[2,96],13:122,14:123,25:[1,5],26:[2,96],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:124,44:63,49:[2,96],54:[2,96],57:[2,96],58:47,59:48,61:138,63:25,64:26,65:27,73:[2,96],76:[1,70],78:[2,96],80:[1,137],83:[1,28],86:[2,96],88:[1,58],89:[1,59],90:[1,57],91:[2,96],93:[2,96],101:[1,56],102:[2,96],104:[2,96],105:[2,96],106:[2,96],110:[2,96],118:[2,96],126:[2,96],128:[2,96],129:[2,96],132:[2,96],133:[2,96],134:[2,96],135:[2,96],136:[2,96],137:[2,96]},{8:139,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{1:[2,47],6:[2,47],8:140,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,26:[2,47],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],102:[2,47],103:39,104:[2,47],106:[2,47],107:40,108:[1,67],109:41,110:[2,47],111:69,119:[1,42],124:37,125:[1,64],126:[2,47],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{1:[2,48],6:[2,48],25:[2,48],26:[2,48],54:[2,48],78:[2,48],102:[2,48],104:[2,48],106:[2,48],110:[2,48],126:[2,48]},{1:[2,73],6:[2,73],25:[2,73],26:[2,73],40:[2,73],49:[2,73],54:[2,73],57:[2,73],66:[2,73],67:[2,73],68:[2,73],69:[2,73],71:[2,73],73:[2,73],74:[2,73],78:[2,73],84:[2,73],85:[2,73],86:[2,73],91:[2,73],93:[2,73],102:[2,73],104:[2,73],105:[2,73],106:[2,73],110:[2,73],118:[2,73],126:[2,73],128:[2,73],129:[2,73],132:[2,73],133:[2,73],134:[2,73],135:[2,73],136:[2,73],137:[2,73]},{1:[2,74],6:[2,74],25:[2,74],26:[2,74],40:[2,74],49:[2,74],54:[2,74],57:[2,74],66:[2,74],67:[2,74],68:[2,74],69:[2,74],71:[2,74],73:[2,74],74:[2,74],78:[2,74],84:[2,74],85:[2,74],86:[2,74],91:[2,74],93:[2,74],102:[2,74],104:[2,74],105:[2,74],106:[2,74],110:[2,74],118:[2,74],126:[2,74],128:[2,74],129:[2,74],132:[2,74],133:[2,74],134:[2,74],135:[2,74],136:[2,74],137:[2,74]},{1:[2,29],6:[2,29],25:[2,29],26:[2,29],49:[2,29],54:[2,29],57:[2,29],66:[2,29],67:[2,29],68:[2,29],69:[2,29],71:[2,29],73:[2,29],74:[2,29],78:[2,29],84:[2,29],85:[2,29],86:[2,29],91:[2,29],93:[2,29],102:[2,29],104:[2,29],105:[2,29],106:[2,29],110:[2,29],118:[2,29],126:[2,29],128:[2,29],129:[2,29],132:[2,29],133:[2,29],134:[2,29],135:[2,29],136:[2,29],137:[2,29]},{1:[2,30],6:[2,30],25:[2,30],26:[2,30],49:[2,30],54:[2,30],57:[2,30],66:[2,30],67:[2,30],68:[2,30],69:[2,30],71:[2,30],73:[2,30],74:[2,30],78:[2,30],84:[2,30],85:[2,30],86:[2,30],91:[2,30],93:[2,30],102:[2,30],104:[2,30],105:[2,30],106:[2,30],110:[2,30],118:[2,30],126:[2,30],128:[2,30],129:[2,30],132:[2,30],133:[2,30],134:[2,30],135:[2,30],136:[2,30],137:[2,30]},{1:[2,31],6:[2,31],25:[2,31],26:[2,31],49:[2,31],54:[2,31],57:[2,31],66:[2,31],67:[2,31],68:[2,31],69:[2,31],71:[2,31],73:[2,31],74:[2,31],78:[2,31],84:[2,31],85:[2,31],86:[2,31],91:[2,31],93:[2,31],102:[2,31],104:[2,31],105:[2,31],106:[2,31],110:[2,31],118:[2,31],126:[2,31],128:[2,31],129:[2,31],132:[2,31],133:[2,31],134:[2,31],135:[2,31],136:[2,31],137:[2,31]},{1:[2,32],6:[2,32],25:[2,32],26:[2,32],49:[2,32],54:[2,32],57:[2,32],66:[2,32],67:[2,32],68:[2,32],69:[2,32],71:[2,32],73:[2,32],74:[2,32],78:[2,32],84:[2,32],85:[2,32],86:[2,32],91:[2,32],93:[2,32],102:[2,32],104:[2,32],105:[2,32],106:[2,32],110:[2,32],118:[2,32],126:[2,32],128:[2,32],129:[2,32],132:[2,32],133:[2,32],134:[2,32],135:[2,32],136:[2,32],137:[2,32]},{1:[2,33],6:[2,33],25:[2,33],26:[2,33],49:[2,33],54:[2,33],57:[2,33],66:[2,33],67:[2,33],68:[2,33],69:[2,33],71:[2,33],73:[2,33],74:[2,33],78:[2,33],84:[2,33],85:[2,33],86:[2,33],91:[2,33],93:[2,33],102:[2,33],104:[2,33],105:[2,33],106:[2,33],110:[2,33],118:[2,33],126:[2,33],128:[2,33],129:[2,33],132:[2,33],133:[2,33],134:[2,33],135:[2,33],136:[2,33],137:[2,33]},{1:[2,34],6:[2,34],25:[2,34],26:[2,34],49:[2,34],54:[2,34],57:[2,34],66:[2,34],67:[2,34],68:[2,34],69:[2,34],71:[2,34],73:[2,34],74:[2,34],78:[2,34],84:[2,34],85:[2,34],86:[2,34],91:[2,34],93:[2,34],102:[2,34],104:[2,34],105:[2,34],106:[2,34],110:[2,34],118:[2,34],126:[2,34],128:[2,34],129:[2,34],132:[2,34],133:[2,34],134:[2,34],135:[2,34],136:[2,34],137:[2,34]},{1:[2,35],6:[2,35],25:[2,35],26:[2,35],49:[2,35],54:[2,35],57:[2,35],66:[2,35],67:[2,35],68:[2,35],69:[2,35],71:[2,35],73:[2,35],74:[2,35],78:[2,35],84:[2,35],85:[2,35],86:[2,35],91:[2,35],93:[2,35],102:[2,35],104:[2,35],105:[2,35],106:[2,35],110:[2,35],118:[2,35],126:[2,35],128:[2,35],129:[2,35],132:[2,35],133:[2,35],134:[2,35],135:[2,35],136:[2,35],137:[2,35]},{4:141,7:4,8:6,9:7,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,142],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{8:143,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,147],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,60:148,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],87:145,88:[1,58],89:[1,59],90:[1,57],91:[1,144],94:146,96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{1:[2,112],6:[2,112],25:[2,112],26:[2,112],49:[2,112],54:[2,112],57:[2,112],66:[2,112],67:[2,112],68:[2,112],69:[2,112],71:[2,112],73:[2,112],74:[2,112],78:[2,112],84:[2,112],85:[2,112],86:[2,112],91:[2,112],93:[2,112],102:[2,112],104:[2,112],105:[2,112],106:[2,112],110:[2,112],118:[2,112],126:[2,112],128:[2,112],129:[2,112],132:[2,112],133:[2,112],134:[2,112],135:[2,112],136:[2,112],137:[2,112]},{1:[2,113],6:[2,113],25:[2,113],26:[2,113],27:149,28:[1,73],49:[2,113],54:[2,113],57:[2,113],66:[2,113],67:[2,113],68:[2,113],69:[2,113],71:[2,113],73:[2,113],74:[2,113],78:[2,113],84:[2,113],85:[2,113],86:[2,113],91:[2,113],93:[2,113],102:[2,113],104:[2,113],105:[2,113],106:[2,113],110:[2,113],118:[2,113],126:[2,113],128:[2,113],129:[2,113],132:[2,113],133:[2,113],134:[2,113],135:[2,113],136:[2,113],137:[2,113]},{25:[2,51]},{25:[2,52]},{1:[2,68],6:[2,68],25:[2,68],26:[2,68],40:[2,68],49:[2,68],54:[2,68],57:[2,68],66:[2,68],67:[2,68],68:[2,68],69:[2,68],71:[2,68],73:[2,68],74:[2,68],78:[2,68],80:[2,68],84:[2,68],85:[2,68],86:[2,68],91:[2,68],93:[2,68],102:[2,68],104:[2,68],105:[2,68],106:[2,68],110:[2,68],118:[2,68],126:[2,68],128:[2,68],129:[2,68],130:[2,68],131:[2,68],132:[2,68],133:[2,68],134:[2,68],135:[2,68],136:[2,68],137:[2,68],138:[2,68]},{1:[2,71],6:[2,71],25:[2,71],26:[2,71],40:[2,71],49:[2,71],54:[2,71],57:[2,71],66:[2,71],67:[2,71],68:[2,71],69:[2,71],71:[2,71],73:[2,71],74:[2,71],78:[2,71],80:[2,71],84:[2,71],85:[2,71],86:[2,71],91:[2,71],93:[2,71],102:[2,71],104:[2,71],105:[2,71],106:[2,71],110:[2,71],118:[2,71],126:[2,71],128:[2,71],129:[2,71],130:[2,71],131:[2,71],132:[2,71],133:[2,71],134:[2,71],135:[2,71],136:[2,71],137:[2,71],138:[2,71]},{8:150,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{8:151,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{8:152,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{5:153,8:154,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,5],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{27:159,28:[1,73],44:160,58:161,59:162,64:155,76:[1,70],89:[1,114],90:[1,57],113:156,114:[1,157],115:158},{112:163,116:[1,164],117:[1,165]},{6:[2,91],11:169,25:[2,91],27:170,28:[1,73],29:171,30:[1,71],31:[1,72],41:167,42:168,44:172,46:[1,46],54:[2,91],77:166,78:[2,91],89:[1,114]},{1:[2,27],6:[2,27],25:[2,27],26:[2,27],43:[2,27],49:[2,27],54:[2,27],57:[2,27],66:[2,27],67:[2,27],68:[2,27],69:[2,27],71:[2,27],73:[2,27],74:[2,27],78:[2,27],84:[2,27],85:[2,27],86:[2,27],91:[2,27],93:[2,27],102:[2,27],104:[2,27],105:[2,27],106:[2,27],110:[2,27],118:[2,27],126:[2,27],128:[2,27],129:[2,27],132:[2,27],133:[2,27],134:[2,27],135:[2,27],136:[2,27],137:[2,27]},{1:[2,28],6:[2,28],25:[2,28],26:[2,28],43:[2,28],49:[2,28],54:[2,28],57:[2,28],66:[2,28],67:[2,28],68:[2,28],69:[2,28],71:[2,28],73:[2,28],74:[2,28],78:[2,28],84:[2,28],85:[2,28],86:[2,28],91:[2,28],93:[2,28],102:[2,28],104:[2,28],105:[2,28],106:[2,28],110:[2,28],118:[2,28],126:[2,28],128:[2,28],129:[2,28],132:[2,28],133:[2,28],134:[2,28],135:[2,28],136:[2,28],137:[2,28]},{1:[2,26],6:[2,26],25:[2,26],26:[2,26],40:[2,26],43:[2,26],49:[2,26],54:[2,26],57:[2,26],66:[2,26],67:[2,26],68:[2,26],69:[2,26],71:[2,26],73:[2,26],74:[2,26],78:[2,26],80:[2,26],84:[2,26],85:[2,26],86:[2,26],91:[2,26],93:[2,26],102:[2,26],104:[2,26],105:[2,26],106:[2,26],110:[2,26],116:[2,26],117:[2,26],118:[2,26],126:[2,26],128:[2,26],129:[2,26],130:[2,26],131:[2,26],132:[2,26],133:[2,26],134:[2,26],135:[2,26],136:[2,26],137:[2,26],138:[2,26]},{1:[2,6],6:[2,6],7:173,8:6,9:7,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,26:[2,6],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],102:[2,6],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{1:[2,3]},{1:[2,24],6:[2,24],25:[2,24],26:[2,24],49:[2,24],54:[2,24],57:[2,24],73:[2,24],78:[2,24],86:[2,24],91:[2,24],93:[2,24],98:[2,24],99:[2,24],102:[2,24],104:[2,24],105:[2,24],106:[2,24],110:[2,24],118:[2,24],121:[2,24],123:[2,24],126:[2,24],128:[2,24],129:[2,24],132:[2,24],133:[2,24],134:[2,24],135:[2,24],136:[2,24],137:[2,24]},{6:[1,74],26:[1,174]},{1:[2,194],6:[2,194],25:[2,194],26:[2,194],49:[2,194],54:[2,194],57:[2,194],73:[2,194],78:[2,194],86:[2,194],91:[2,194],93:[2,194],102:[2,194],104:[2,194],105:[2,194],106:[2,194],110:[2,194],118:[2,194],126:[2,194],128:[2,194],129:[2,194],132:[2,194],133:[2,194],134:[2,194],135:[2,194],136:[2,194],137:[2,194]},{8:175,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{8:176,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{8:177,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{8:178,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{8:179,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{8:180,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{8:181,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{8:182,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{1:[2,149],6:[2,149],25:[2,149],26:[2,149],49:[2,149],54:[2,149],57:[2,149],73:[2,149],78:[2,149],86:[2,149],91:[2,149],93:[2,149],102:[2,149],104:[2,149],105:[2,149],106:[2,149],110:[2,149],118:[2,149],126:[2,149],128:[2,149],129:[2,149],132:[2,149],133:[2,149],134:[2,149],135:[2,149],136:[2,149],137:[2,149]},{1:[2,154],6:[2,154],25:[2,154],26:[2,154],49:[2,154],54:[2,154],57:[2,154],73:[2,154],78:[2,154],86:[2,154],91:[2,154],93:[2,154],102:[2,154],104:[2,154],105:[2,154],106:[2,154],110:[2,154],118:[2,154],126:[2,154],128:[2,154],129:[2,154],132:[2,154],133:[2,154],134:[2,154],135:[2,154],136:[2,154],137:[2,154]},{8:183,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{1:[2,148],6:[2,148],25:[2,148],26:[2,148],49:[2,148],54:[2,148],57:[2,148],73:[2,148],78:[2,148],86:[2,148],91:[2,148],93:[2,148],102:[2,148],104:[2,148],105:[2,148],106:[2,148],110:[2,148],118:[2,148],126:[2,148],128:[2,148],129:[2,148],132:[2,148],133:[2,148],134:[2,148],135:[2,148],136:[2,148],137:[2,148]},{1:[2,153],6:[2,153],25:[2,153],26:[2,153],49:[2,153],54:[2,153],57:[2,153],73:[2,153],78:[2,153],86:[2,153],91:[2,153],93:[2,153],102:[2,153],104:[2,153],105:[2,153],106:[2,153],110:[2,153],118:[2,153],126:[2,153],128:[2,153],129:[2,153],132:[2,153],133:[2,153],134:[2,153],135:[2,153],136:[2,153],137:[2,153]},{82:184,85:[1,106]},{1:[2,69],6:[2,69],25:[2,69],26:[2,69],40:[2,69],49:[2,69],54:[2,69],57:[2,69],66:[2,69],67:[2,69],68:[2,69],69:[2,69],71:[2,69],73:[2,69],74:[2,69],78:[2,69],80:[2,69],84:[2,69],85:[2,69],86:[2,69],91:[2,69],93:[2,69],102:[2,69],104:[2,69],105:[2,69],106:[2,69],110:[2,69],118:[2,69],126:[2,69],128:[2,69],129:[2,69],130:[2,69],131:[2,69],132:[2,69],133:[2,69],134:[2,69],135:[2,69],136:[2,69],137:[2,69],138:[2,69]},{85:[2,109]},{27:185,28:[1,73]},{27:186,28:[1,73]},{1:[2,84],6:[2,84],25:[2,84],26:[2,84],27:187,28:[1,73],40:[2,84],49:[2,84],54:[2,84],57:[2,84],66:[2,84],67:[2,84],68:[2,84],69:[2,84],71:[2,84],73:[2,84],74:[2,84],78:[2,84],80:[2,84],84:[2,84],85:[2,84],86:[2,84],91:[2,84],93:[2,84],102:[2,84],104:[2,84],105:[2,84],106:[2,84],110:[2,84],118:[2,84],126:[2,84],128:[2,84],129:[2,84],130:[2,84],131:[2,84],132:[2,84],133:[2,84],134:[2,84],135:[2,84],136:[2,84],137:[2,84],138:[2,84]},{27:188,28:[1,73]},{1:[2,85],6:[2,85],25:[2,85],26:[2,85],40:[2,85],49:[2,85],54:[2,85],57:[2,85],66:[2,85],67:[2,85],68:[2,85],69:[2,85],71:[2,85],73:[2,85],74:[2,85],78:[2,85],80:[2,85],84:[2,85],85:[2,85],86:[2,85],91:[2,85],93:[2,85],102:[2,85],104:[2,85],105:[2,85],106:[2,85],110:[2,85],118:[2,85],126:[2,85],128:[2,85],129:[2,85],130:[2,85],131:[2,85],132:[2,85],133:[2,85],134:[2,85],135:[2,85],136:[2,85],137:[2,85],138:[2,85]},{8:190,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],57:[1,194],58:47,59:48,61:36,63:25,64:26,65:27,72:189,75:191,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],92:192,93:[1,193],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{70:195,71:[1,100],74:[1,101]},{82:196,85:[1,106]},{1:[2,70],6:[2,70],25:[2,70],26:[2,70],40:[2,70],49:[2,70],54:[2,70],57:[2,70],66:[2,70],67:[2,70],68:[2,70],69:[2,70],71:[2,70],73:[2,70],74:[2,70],78:[2,70],80:[2,70],84:[2,70],85:[2,70],86:[2,70],91:[2,70],93:[2,70],102:[2,70],104:[2,70],105:[2,70],106:[2,70],110:[2,70],118:[2,70],126:[2,70],128:[2,70],129:[2,70],130:[2,70],131:[2,70],132:[2,70],133:[2,70],134:[2,70],135:[2,70],136:[2,70],137:[2,70],138:[2,70]},{6:[1,198],8:197,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,199],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{1:[2,107],6:[2,107],25:[2,107],26:[2,107],49:[2,107],54:[2,107],57:[2,107],66:[2,107],67:[2,107],68:[2,107],69:[2,107],71:[2,107],73:[2,107],74:[2,107],78:[2,107],84:[2,107],85:[2,107],86:[2,107],91:[2,107],93:[2,107],102:[2,107],104:[2,107],105:[2,107],106:[2,107],110:[2,107],118:[2,107],126:[2,107],128:[2,107],129:[2,107],132:[2,107],133:[2,107],134:[2,107],135:[2,107],136:[2,107],137:[2,107]},{8:202,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,147],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,60:148,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],86:[1,200],87:201,88:[1,58],89:[1,59],90:[1,57],94:146,96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{6:[2,53],25:[2,53],49:[1,203],53:205,54:[1,204]},{6:[2,56],25:[2,56],26:[2,56],49:[2,56],54:[2,56]},{6:[2,60],25:[2,60],26:[2,60],40:[1,207],49:[2,60],54:[2,60],57:[1,206]},{6:[2,63],25:[2,63],26:[2,63],40:[2,63],49:[2,63],54:[2,63],57:[2,63]},{6:[2,64],25:[2,64],26:[2,64],40:[2,64],49:[2,64],54:[2,64],57:[2,64]},{6:[2,65],25:[2,65],26:[2,65],40:[2,65],49:[2,65],54:[2,65],57:[2,65]},{6:[2,66],25:[2,66],26:[2,66],40:[2,66],49:[2,66],54:[2,66],57:[2,66]},{27:149,28:[1,73]},{8:202,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,147],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,60:148,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],87:145,88:[1,58],89:[1,59],90:[1,57],91:[1,144],94:146,96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{1:[2,50],6:[2,50],25:[2,50],26:[2,50],49:[2,50],54:[2,50],57:[2,50],73:[2,50],78:[2,50],86:[2,50],91:[2,50],93:[2,50],102:[2,50],104:[2,50],105:[2,50],106:[2,50],110:[2,50],118:[2,50],126:[2,50],128:[2,50],129:[2,50],132:[2,50],133:[2,50],134:[2,50],135:[2,50],136:[2,50],137:[2,50]},{1:[2,187],6:[2,187],25:[2,187],26:[2,187],49:[2,187],54:[2,187],57:[2,187],73:[2,187],78:[2,187],86:[2,187],91:[2,187],93:[2,187],102:[2,187],103:87,104:[2,187],105:[2,187],106:[2,187],109:88,110:[2,187],111:69,118:[2,187],126:[2,187],128:[2,187],129:[2,187],132:[1,78],133:[2,187],134:[2,187],135:[2,187],136:[2,187],137:[2,187]},{103:90,104:[1,65],106:[1,66],109:91,110:[1,68],111:69,126:[1,89]},{1:[2,188],6:[2,188],25:[2,188],26:[2,188],49:[2,188],54:[2,188],57:[2,188],73:[2,188],78:[2,188],86:[2,188],91:[2,188],93:[2,188],102:[2,188],103:87,104:[2,188],105:[2,188],106:[2,188],109:88,110:[2,188],111:69,118:[2,188],126:[2,188],128:[2,188],129:[2,188],132:[1,78],133:[2,188],134:[2,188],135:[2,188],136:[2,188],137:[2,188]},{1:[2,189],6:[2,189],25:[2,189],26:[2,189],49:[2,189],54:[2,189],57:[2,189],73:[2,189],78:[2,189],86:[2,189],91:[2,189],93:[2,189],102:[2,189],103:87,104:[2,189],105:[2,189],106:[2,189],109:88,110:[2,189],111:69,118:[2,189],126:[2,189],128:[2,189],129:[2,189],132:[1,78],133:[2,189],134:[2,189],135:[2,189],136:[2,189],137:[2,189]},{1:[2,190],6:[2,190],25:[2,190],26:[2,190],49:[2,190],54:[2,190],57:[2,190],66:[2,72],67:[2,72],68:[2,72],69:[2,72],71:[2,72],73:[2,190],74:[2,72],78:[2,190],84:[2,72],85:[2,72],86:[2,190],91:[2,190],93:[2,190],102:[2,190],104:[2,190],105:[2,190],106:[2,190],110:[2,190],118:[2,190],126:[2,190],128:[2,190],129:[2,190],132:[2,190],133:[2,190],134:[2,190],135:[2,190],136:[2,190],137:[2,190]},{62:93,66:[1,95],67:[1,96],68:[1,97],69:[1,98],70:99,71:[1,100],74:[1,101],81:92,84:[1,94],85:[2,108]},{62:103,66:[1,95],67:[1,96],68:[1,97],69:[1,98],70:99,71:[1,100],74:[1,101],81:102,84:[1,94],85:[2,108]},{66:[2,75],67:[2,75],68:[2,75],69:[2,75],71:[2,75],74:[2,75],84:[2,75],85:[2,75]},{1:[2,191],6:[2,191],25:[2,191],26:[2,191],49:[2,191],54:[2,191],57:[2,191],66:[2,72],67:[2,72],68:[2,72],69:[2,72],71:[2,72],73:[2,191],74:[2,72],78:[2,191],84:[2,72],85:[2,72],86:[2,191],91:[2,191],93:[2,191],102:[2,191],104:[2,191],105:[2,191],106:[2,191],110:[2,191],118:[2,191],126:[2,191],128:[2,191],129:[2,191],132:[2,191],133:[2,191],134:[2,191],135:[2,191],136:[2,191],137:[2,191]},{1:[2,192],6:[2,192],25:[2,192],26:[2,192],49:[2,192],54:[2,192],57:[2,192],73:[2,192],78:[2,192],86:[2,192],91:[2,192],93:[2,192],102:[2,192],104:[2,192],105:[2,192],106:[2,192],110:[2,192],118:[2,192],126:[2,192],128:[2,192],129:[2,192],132:[2,192],133:[2,192],134:[2,192],135:[2,192],136:[2,192],137:[2,192]},{1:[2,193],6:[2,193],25:[2,193],26:[2,193],49:[2,193],54:[2,193],57:[2,193],73:[2,193],78:[2,193],86:[2,193],91:[2,193],93:[2,193],102:[2,193],104:[2,193],105:[2,193],106:[2,193],110:[2,193],118:[2,193],126:[2,193],128:[2,193],129:[2,193],132:[2,193],133:[2,193],134:[2,193],135:[2,193],136:[2,193],137:[2,193]},{6:[1,210],8:208,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,209],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{8:211,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{5:212,25:[1,5],125:[1,213]},{1:[2,133],6:[2,133],25:[2,133],26:[2,133],49:[2,133],54:[2,133],57:[2,133],73:[2,133],78:[2,133],86:[2,133],91:[2,133],93:[2,133],97:214,98:[1,215],99:[1,216],102:[2,133],104:[2,133],105:[2,133],106:[2,133],110:[2,133],118:[2,133],126:[2,133],128:[2,133],129:[2,133],132:[2,133],133:[2,133],134:[2,133],135:[2,133],136:[2,133],137:[2,133]},{1:[2,147],6:[2,147],25:[2,147],26:[2,147],49:[2,147],54:[2,147],57:[2,147],73:[2,147],78:[2,147],86:[2,147],91:[2,147],93:[2,147],102:[2,147],104:[2,147],105:[2,147],106:[2,147],110:[2,147],118:[2,147],126:[2,147],128:[2,147],129:[2,147],132:[2,147],133:[2,147],134:[2,147],135:[2,147],136:[2,147],137:[2,147]},{1:[2,155],6:[2,155],25:[2,155],26:[2,155],49:[2,155],54:[2,155],57:[2,155],73:[2,155],78:[2,155],86:[2,155],91:[2,155],93:[2,155],102:[2,155],104:[2,155],105:[2,155],106:[2,155],110:[2,155],118:[2,155],126:[2,155],128:[2,155],129:[2,155],132:[2,155],133:[2,155],134:[2,155],135:[2,155],136:[2,155],137:[2,155]},{25:[1,217],103:87,104:[1,65],106:[1,66],109:88,110:[1,68],111:69,126:[1,86],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{120:218,122:219,123:[1,220]},{1:[2,97],6:[2,97],25:[2,97],26:[2,97],49:[2,97],54:[2,97],57:[2,97],73:[2,97],78:[2,97],86:[2,97],91:[2,97],93:[2,97],102:[2,97],104:[2,97],105:[2,97],106:[2,97],110:[2,97],118:[2,97],126:[2,97],128:[2,97],129:[2,97],132:[2,97],133:[2,97],134:[2,97],135:[2,97],136:[2,97],137:[2,97]},{8:221,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{1:[2,100],5:222,6:[2,100],25:[1,5],26:[2,100],49:[2,100],54:[2,100],57:[2,100],66:[2,72],67:[2,72],68:[2,72],69:[2,72],71:[2,72],73:[2,100],74:[2,72],78:[2,100],80:[1,223],84:[2,72],85:[2,72],86:[2,100],91:[2,100],93:[2,100],102:[2,100],104:[2,100],105:[2,100],106:[2,100],110:[2,100],118:[2,100],126:[2,100],128:[2,100],129:[2,100],132:[2,100],133:[2,100],134:[2,100],135:[2,100],136:[2,100],137:[2,100]},{1:[2,140],6:[2,140],25:[2,140],26:[2,140],49:[2,140],54:[2,140],57:[2,140],73:[2,140],78:[2,140],86:[2,140],91:[2,140],93:[2,140],102:[2,140],103:87,104:[2,140],105:[2,140],106:[2,140],109:88,110:[2,140],111:69,118:[2,140],126:[2,140],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{1:[2,46],6:[2,46],26:[2,46],102:[2,46],103:87,104:[2,46],106:[2,46],109:88,110:[2,46],111:69,126:[2,46],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{6:[1,74],102:[1,224]},{4:225,7:4,8:6,9:7,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{6:[2,129],25:[2,129],54:[2,129],57:[1,227],91:[2,129],92:226,93:[1,193],103:87,104:[1,65],106:[1,66],109:88,110:[1,68],111:69,126:[1,86],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{1:[2,115],6:[2,115],25:[2,115],26:[2,115],40:[2,115],49:[2,115],54:[2,115],57:[2,115],66:[2,115],67:[2,115],68:[2,115],69:[2,115],71:[2,115],73:[2,115],74:[2,115],78:[2,115],84:[2,115],85:[2,115],86:[2,115],91:[2,115],93:[2,115],102:[2,115],104:[2,115],105:[2,115],106:[2,115],110:[2,115],116:[2,115],117:[2,115],118:[2,115],126:[2,115],128:[2,115],129:[2,115],132:[2,115],133:[2,115],134:[2,115],135:[2,115],136:[2,115],137:[2,115]},{6:[2,53],25:[2,53],53:228,54:[1,229],91:[2,53]},{6:[2,124],25:[2,124],26:[2,124],54:[2,124],86:[2,124],91:[2,124]},{8:202,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,147],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,60:148,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],87:230,88:[1,58],89:[1,59],90:[1,57],94:146,96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{6:[2,130],25:[2,130],26:[2,130],54:[2,130],86:[2,130],91:[2,130]},{1:[2,114],6:[2,114],25:[2,114],26:[2,114],40:[2,114],43:[2,114],49:[2,114],54:[2,114],57:[2,114],66:[2,114],67:[2,114],68:[2,114],69:[2,114],71:[2,114],73:[2,114],74:[2,114],78:[2,114],80:[2,114],84:[2,114],85:[2,114],86:[2,114],91:[2,114],93:[2,114],102:[2,114],104:[2,114],105:[2,114],106:[2,114],110:[2,114],116:[2,114],117:[2,114],118:[2,114],126:[2,114],128:[2,114],129:[2,114],130:[2,114],131:[2,114],132:[2,114],133:[2,114],134:[2,114],135:[2,114],136:[2,114],137:[2,114],138:[2,114]},{5:231,25:[1,5],103:87,104:[1,65],106:[1,66],109:88,110:[1,68],111:69,126:[1,86],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{1:[2,143],6:[2,143],25:[2,143],26:[2,143],49:[2,143],54:[2,143],57:[2,143],73:[2,143],78:[2,143],86:[2,143],91:[2,143],93:[2,143],102:[2,143],103:87,104:[1,65],105:[1,232],106:[1,66],109:88,110:[1,68],111:69,118:[2,143],126:[2,143],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{1:[2,145],6:[2,145],25:[2,145],26:[2,145],49:[2,145],54:[2,145],57:[2,145],73:[2,145],78:[2,145],86:[2,145],91:[2,145],93:[2,145],102:[2,145],103:87,104:[1,65],105:[1,233],106:[1,66],109:88,110:[1,68],111:69,118:[2,145],126:[2,145],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{1:[2,151],6:[2,151],25:[2,151],26:[2,151],49:[2,151],54:[2,151],57:[2,151],73:[2,151],78:[2,151],86:[2,151],91:[2,151],93:[2,151],102:[2,151],104:[2,151],105:[2,151],106:[2,151],110:[2,151],118:[2,151],126:[2,151],128:[2,151],129:[2,151],132:[2,151],133:[2,151],134:[2,151],135:[2,151],136:[2,151],137:[2,151]},{1:[2,152],6:[2,152],25:[2,152],26:[2,152],49:[2,152],54:[2,152],57:[2,152],73:[2,152],78:[2,152],86:[2,152],91:[2,152],93:[2,152],102:[2,152],103:87,104:[1,65],105:[2,152],106:[1,66],109:88,110:[1,68],111:69,118:[2,152],126:[2,152],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{1:[2,156],6:[2,156],25:[2,156],26:[2,156],49:[2,156],54:[2,156],57:[2,156],73:[2,156],78:[2,156],86:[2,156],91:[2,156],93:[2,156],102:[2,156],104:[2,156],105:[2,156],106:[2,156],110:[2,156],118:[2,156],126:[2,156],128:[2,156],129:[2,156],132:[2,156],133:[2,156],134:[2,156],135:[2,156],136:[2,156],137:[2,156]},{116:[2,158],117:[2,158]},{27:159,28:[1,73],44:160,58:161,59:162,76:[1,70],89:[1,114],90:[1,115],113:234,115:158},{54:[1,235],116:[2,164],117:[2,164]},{54:[2,160],116:[2,160],117:[2,160]},{54:[2,161],116:[2,161],117:[2,161]},{54:[2,162],116:[2,162],117:[2,162]},{54:[2,163],116:[2,163],117:[2,163]},{1:[2,157],6:[2,157],25:[2,157],26:[2,157],49:[2,157],54:[2,157],57:[2,157],73:[2,157],78:[2,157],86:[2,157],91:[2,157],93:[2,157],102:[2,157],104:[2,157],105:[2,157],106:[2,157],110:[2,157],118:[2,157],126:[2,157],128:[2,157],129:[2,157],132:[2,157],133:[2,157],134:[2,157],135:[2,157],136:[2,157],137:[2,157]},{8:236,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{8:237,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{6:[2,53],25:[2,53],53:238,54:[1,239],78:[2,53]},{6:[2,92],25:[2,92],26:[2,92],54:[2,92],78:[2,92]},{6:[2,39],25:[2,39],26:[2,39],43:[1,240],54:[2,39],78:[2,39]},{6:[2,42],25:[2,42],26:[2,42],54:[2,42],78:[2,42]},{6:[2,43],25:[2,43],26:[2,43],43:[2,43],54:[2,43],78:[2,43]},{6:[2,44],25:[2,44],26:[2,44],43:[2,44],54:[2,44],78:[2,44]},{6:[2,45],25:[2,45],26:[2,45],43:[2,45],54:[2,45],78:[2,45]},{1:[2,5],6:[2,5],26:[2,5],102:[2,5]},{1:[2,25],6:[2,25],25:[2,25],26:[2,25],49:[2,25],54:[2,25],57:[2,25],73:[2,25],78:[2,25],86:[2,25],91:[2,25],93:[2,25],98:[2,25],99:[2,25],102:[2,25],104:[2,25],105:[2,25],106:[2,25],110:[2,25],118:[2,25],121:[2,25],123:[2,25],126:[2,25],128:[2,25],129:[2,25],132:[2,25],133:[2,25],134:[2,25],135:[2,25],136:[2,25],137:[2,25]},{1:[2,195],6:[2,195],25:[2,195],26:[2,195],49:[2,195],54:[2,195],57:[2,195],73:[2,195],78:[2,195],86:[2,195],91:[2,195],93:[2,195],102:[2,195],103:87,104:[2,195],105:[2,195],106:[2,195],109:88,110:[2,195],111:69,118:[2,195],126:[2,195],128:[2,195],129:[2,195],132:[1,78],133:[1,81],134:[2,195],135:[2,195],136:[2,195],137:[2,195]},{1:[2,196],6:[2,196],25:[2,196],26:[2,196],49:[2,196],54:[2,196],57:[2,196],73:[2,196],78:[2,196],86:[2,196],91:[2,196],93:[2,196],102:[2,196],103:87,104:[2,196],105:[2,196],106:[2,196],109:88,110:[2,196],111:69,118:[2,196],126:[2,196],128:[2,196],129:[2,196],132:[1,78],133:[1,81],134:[2,196],135:[2,196],136:[2,196],137:[2,196]},{1:[2,197],6:[2,197],25:[2,197],26:[2,197],49:[2,197],54:[2,197],57:[2,197],73:[2,197],78:[2,197],86:[2,197],91:[2,197],93:[2,197],102:[2,197],103:87,104:[2,197],105:[2,197],106:[2,197],109:88,110:[2,197],111:69,118:[2,197],126:[2,197],128:[2,197],129:[2,197],132:[1,78],133:[2,197],134:[2,197],135:[2,197],136:[2,197],137:[2,197]},{1:[2,198],6:[2,198],25:[2,198],26:[2,198],49:[2,198],54:[2,198],57:[2,198],73:[2,198],78:[2,198],86:[2,198],91:[2,198],93:[2,198],102:[2,198],103:87,104:[2,198],105:[2,198],106:[2,198],109:88,110:[2,198],111:69,118:[2,198],126:[2,198],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[2,198],135:[2,198],136:[2,198],137:[2,198]},{1:[2,199],6:[2,199],25:[2,199],26:[2,199],49:[2,199],54:[2,199],57:[2,199],73:[2,199],78:[2,199],86:[2,199],91:[2,199],93:[2,199],102:[2,199],103:87,104:[2,199],105:[2,199],106:[2,199],109:88,110:[2,199],111:69,118:[2,199],126:[2,199],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[2,199],136:[2,199],137:[1,85]},{1:[2,200],6:[2,200],25:[2,200],26:[2,200],49:[2,200],54:[2,200],57:[2,200],73:[2,200],78:[2,200],86:[2,200],91:[2,200],93:[2,200],102:[2,200],103:87,104:[2,200],105:[2,200],106:[2,200],109:88,110:[2,200],111:69,118:[2,200],126:[2,200],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[2,200],137:[1,85]},{1:[2,201],6:[2,201],25:[2,201],26:[2,201],49:[2,201],54:[2,201],57:[2,201],73:[2,201],78:[2,201],86:[2,201],91:[2,201],93:[2,201],102:[2,201],103:87,104:[2,201],105:[2,201],106:[2,201],109:88,110:[2,201],111:69,118:[2,201],126:[2,201],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[2,201],136:[2,201],137:[2,201]},{1:[2,186],6:[2,186],25:[2,186],26:[2,186],49:[2,186],54:[2,186],57:[2,186],73:[2,186],78:[2,186],86:[2,186],91:[2,186],93:[2,186],102:[2,186],103:87,104:[1,65],105:[2,186],106:[1,66],109:88,110:[1,68],111:69,118:[2,186],126:[1,86],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{1:[2,185],6:[2,185],25:[2,185],26:[2,185],49:[2,185],54:[2,185],57:[2,185],73:[2,185],78:[2,185],86:[2,185],91:[2,185],93:[2,185],102:[2,185],103:87,104:[1,65],105:[2,185],106:[1,66],109:88,110:[1,68],111:69,118:[2,185],126:[1,86],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{1:[2,104],6:[2,104],25:[2,104],26:[2,104],49:[2,104],54:[2,104],57:[2,104],66:[2,104],67:[2,104],68:[2,104],69:[2,104],71:[2,104],73:[2,104],74:[2,104],78:[2,104],84:[2,104],85:[2,104],86:[2,104],91:[2,104],93:[2,104],102:[2,104],104:[2,104],105:[2,104],106:[2,104],110:[2,104],118:[2,104],126:[2,104],128:[2,104],129:[2,104],132:[2,104],133:[2,104],134:[2,104],135:[2,104],136:[2,104],137:[2,104]},{1:[2,80],6:[2,80],25:[2,80],26:[2,80],40:[2,80],49:[2,80],54:[2,80],57:[2,80],66:[2,80],67:[2,80],68:[2,80],69:[2,80],71:[2,80],73:[2,80],74:[2,80],78:[2,80],80:[2,80],84:[2,80],85:[2,80],86:[2,80],91:[2,80],93:[2,80],102:[2,80],104:[2,80],105:[2,80],106:[2,80],110:[2,80],118:[2,80],126:[2,80],128:[2,80],129:[2,80],130:[2,80],131:[2,80],132:[2,80],133:[2,80],134:[2,80],135:[2,80],136:[2,80],137:[2,80],138:[2,80]},{1:[2,81],6:[2,81],25:[2,81],26:[2,81],40:[2,81],49:[2,81],54:[2,81],57:[2,81],66:[2,81],67:[2,81],68:[2,81],69:[2,81],71:[2,81],73:[2,81],74:[2,81],78:[2,81],80:[2,81],84:[2,81],85:[2,81],86:[2,81],91:[2,81],93:[2,81],102:[2,81],104:[2,81],105:[2,81],106:[2,81],110:[2,81],118:[2,81],126:[2,81],128:[2,81],129:[2,81],130:[2,81],131:[2,81],132:[2,81],133:[2,81],134:[2,81],135:[2,81],136:[2,81],137:[2,81],138:[2,81]},{1:[2,82],6:[2,82],25:[2,82],26:[2,82],40:[2,82],49:[2,82],54:[2,82],57:[2,82],66:[2,82],67:[2,82],68:[2,82],69:[2,82],71:[2,82],73:[2,82],74:[2,82],78:[2,82],80:[2,82],84:[2,82],85:[2,82],86:[2,82],91:[2,82],93:[2,82],102:[2,82],104:[2,82],105:[2,82],106:[2,82],110:[2,82],118:[2,82],126:[2,82],128:[2,82],129:[2,82],130:[2,82],131:[2,82],132:[2,82],133:[2,82],134:[2,82],135:[2,82],136:[2,82],137:[2,82],138:[2,82]},{1:[2,83],6:[2,83],25:[2,83],26:[2,83],40:[2,83],49:[2,83],54:[2,83],57:[2,83],66:[2,83],67:[2,83],68:[2,83],69:[2,83],71:[2,83],73:[2,83],74:[2,83],78:[2,83],80:[2,83],84:[2,83],85:[2,83],86:[2,83],91:[2,83],93:[2,83],102:[2,83],104:[2,83],105:[2,83],106:[2,83],110:[2,83],118:[2,83],126:[2,83],128:[2,83],129:[2,83],130:[2,83],131:[2,83],132:[2,83],133:[2,83],134:[2,83],135:[2,83],136:[2,83],137:[2,83],138:[2,83]},{73:[1,241]},{57:[1,194],73:[2,88],92:242,93:[1,193],103:87,104:[1,65],106:[1,66],109:88,110:[1,68],111:69,126:[1,86],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{73:[2,89]},{8:243,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,73:[2,123],76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{12:[2,117],28:[2,117],30:[2,117],31:[2,117],33:[2,117],34:[2,117],35:[2,117],36:[2,117],37:[2,117],38:[2,117],45:[2,117],46:[2,117],47:[2,117],51:[2,117],52:[2,117],73:[2,117],76:[2,117],79:[2,117],83:[2,117],88:[2,117],89:[2,117],90:[2,117],96:[2,117],100:[2,117],101:[2,117],104:[2,117],106:[2,117],108:[2,117],110:[2,117],119:[2,117],125:[2,117],127:[2,117],128:[2,117],129:[2,117],130:[2,117],131:[2,117]},{12:[2,118],28:[2,118],30:[2,118],31:[2,118],33:[2,118],34:[2,118],35:[2,118],36:[2,118],37:[2,118],38:[2,118],45:[2,118],46:[2,118],47:[2,118],51:[2,118],52:[2,118],73:[2,118],76:[2,118],79:[2,118],83:[2,118],88:[2,118],89:[2,118],90:[2,118],96:[2,118],100:[2,118],101:[2,118],104:[2,118],106:[2,118],108:[2,118],110:[2,118],119:[2,118],125:[2,118],127:[2,118],128:[2,118],129:[2,118],130:[2,118],131:[2,118]},{1:[2,87],6:[2,87],25:[2,87],26:[2,87],40:[2,87],49:[2,87],54:[2,87],57:[2,87],66:[2,87],67:[2,87],68:[2,87],69:[2,87],71:[2,87],73:[2,87],74:[2,87],78:[2,87],80:[2,87],84:[2,87],85:[2,87],86:[2,87],91:[2,87],93:[2,87],102:[2,87],104:[2,87],105:[2,87],106:[2,87],110:[2,87],118:[2,87],126:[2,87],128:[2,87],129:[2,87],130:[2,87],131:[2,87],132:[2,87],133:[2,87],134:[2,87],135:[2,87],136:[2,87],137:[2,87],138:[2,87]},{1:[2,105],6:[2,105],25:[2,105],26:[2,105],49:[2,105],54:[2,105],57:[2,105],66:[2,105],67:[2,105],68:[2,105],69:[2,105],71:[2,105],73:[2,105],74:[2,105],78:[2,105],84:[2,105],85:[2,105],86:[2,105],91:[2,105],93:[2,105],102:[2,105],104:[2,105],105:[2,105],106:[2,105],110:[2,105],118:[2,105],126:[2,105],128:[2,105],129:[2,105],132:[2,105],133:[2,105],134:[2,105],135:[2,105],136:[2,105],137:[2,105]},{1:[2,36],6:[2,36],25:[2,36],26:[2,36],49:[2,36],54:[2,36],57:[2,36],73:[2,36],78:[2,36],86:[2,36],91:[2,36],93:[2,36],102:[2,36],103:87,104:[2,36],105:[2,36],106:[2,36],109:88,110:[2,36],111:69,118:[2,36],126:[2,36],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{8:244,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{8:245,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{1:[2,110],6:[2,110],25:[2,110],26:[2,110],49:[2,110],54:[2,110],57:[2,110],66:[2,110],67:[2,110],68:[2,110],69:[2,110],71:[2,110],73:[2,110],74:[2,110],78:[2,110],84:[2,110],85:[2,110],86:[2,110],91:[2,110],93:[2,110],102:[2,110],104:[2,110],105:[2,110],106:[2,110],110:[2,110],118:[2,110],126:[2,110],128:[2,110],129:[2,110],132:[2,110],133:[2,110],134:[2,110],135:[2,110],136:[2,110],137:[2,110]},{6:[2,53],25:[2,53],53:246,54:[1,229],86:[2,53]},{6:[2,129],25:[2,129],26:[2,129],54:[2,129],57:[1,247],86:[2,129],91:[2,129],103:87,104:[1,65],106:[1,66],109:88,110:[1,68],111:69,126:[1,86],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{50:248,51:[1,60],52:[1,61]},{6:[2,54],25:[2,54],26:[2,54],27:110,28:[1,73],44:111,55:249,56:109,58:112,59:113,76:[1,70],89:[1,114],90:[1,115]},{6:[1,250],25:[1,251]},{6:[2,61],25:[2,61],26:[2,61],49:[2,61],54:[2,61]},{8:252,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{1:[2,202],6:[2,202],25:[2,202],26:[2,202],49:[2,202],54:[2,202],57:[2,202],73:[2,202],78:[2,202],86:[2,202],91:[2,202],93:[2,202],102:[2,202],103:87,104:[2,202],105:[2,202],106:[2,202],109:88,110:[2,202],111:69,118:[2,202],126:[2,202],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{8:253,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{8:254,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{1:[2,205],6:[2,205],25:[2,205],26:[2,205],49:[2,205],54:[2,205],57:[2,205],73:[2,205],78:[2,205],86:[2,205],91:[2,205],93:[2,205],102:[2,205],103:87,104:[2,205],105:[2,205],106:[2,205],109:88,110:[2,205],111:69,118:[2,205],126:[2,205],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{1:[2,184],6:[2,184],25:[2,184],26:[2,184],49:[2,184],54:[2,184],57:[2,184],73:[2,184],78:[2,184],86:[2,184],91:[2,184],93:[2,184],102:[2,184],104:[2,184],105:[2,184],106:[2,184],110:[2,184],118:[2,184],126:[2,184],128:[2,184],129:[2,184],132:[2,184],133:[2,184],134:[2,184],135:[2,184],136:[2,184],137:[2,184]},{8:255,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{1:[2,134],6:[2,134],25:[2,134],26:[2,134],49:[2,134],54:[2,134],57:[2,134],73:[2,134],78:[2,134],86:[2,134],91:[2,134],93:[2,134],98:[1,256],102:[2,134],104:[2,134],105:[2,134],106:[2,134],110:[2,134],118:[2,134],126:[2,134],128:[2,134],129:[2,134],132:[2,134],133:[2,134],134:[2,134],135:[2,134],136:[2,134],137:[2,134]},{5:257,25:[1,5]},{5:260,25:[1,5],27:258,28:[1,73],59:259,76:[1,70]},{120:261,122:219,123:[1,220]},{26:[1,262],121:[1,263],122:264,123:[1,220]},{26:[2,177],121:[2,177],123:[2,177]},{8:266,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],95:265,96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{1:[2,98],5:267,6:[2,98],25:[1,5],26:[2,98],49:[2,98],54:[2,98],57:[2,98],73:[2,98],78:[2,98],86:[2,98],91:[2,98],93:[2,98],102:[2,98],103:87,104:[1,65],105:[2,98],106:[1,66],109:88,110:[1,68],111:69,118:[2,98],126:[2,98],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{1:[2,101],6:[2,101],25:[2,101],26:[2,101],49:[2,101],54:[2,101],57:[2,101],73:[2,101],78:[2,101],86:[2,101],91:[2,101],93:[2,101],102:[2,101],104:[2,101],105:[2,101],106:[2,101],110:[2,101],118:[2,101],126:[2,101],128:[2,101],129:[2,101],132:[2,101],133:[2,101],134:[2,101],135:[2,101],136:[2,101],137:[2,101]},{8:268,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{1:[2,141],6:[2,141],25:[2,141],26:[2,141],49:[2,141],54:[2,141],57:[2,141],66:[2,141],67:[2,141],68:[2,141],69:[2,141],71:[2,141],73:[2,141],74:[2,141],78:[2,141],84:[2,141],85:[2,141],86:[2,141],91:[2,141],93:[2,141],102:[2,141],104:[2,141],105:[2,141],106:[2,141],110:[2,141],118:[2,141],126:[2,141],128:[2,141],129:[2,141],132:[2,141],133:[2,141],134:[2,141],135:[2,141],136:[2,141],137:[2,141]},{6:[1,74],26:[1,269]},{8:270,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{6:[2,67],12:[2,118],25:[2,67],28:[2,118],30:[2,118],31:[2,118],33:[2,118],34:[2,118],35:[2,118],36:[2,118],37:[2,118],38:[2,118],45:[2,118],46:[2,118],47:[2,118],51:[2,118],52:[2,118],54:[2,67],76:[2,118],79:[2,118],83:[2,118],88:[2,118],89:[2,118],90:[2,118],91:[2,67],96:[2,118],100:[2,118],101:[2,118],104:[2,118],106:[2,118],108:[2,118],110:[2,118],119:[2,118],125:[2,118],127:[2,118],128:[2,118],129:[2,118],130:[2,118],131:[2,118]},{6:[1,272],25:[1,273],91:[1,271]},{6:[2,54],8:202,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[2,54],26:[2,54],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,60:148,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],86:[2,54],88:[1,58],89:[1,59],90:[1,57],91:[2,54],94:274,96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{6:[2,53],25:[2,53],26:[2,53],53:275,54:[1,229]},{1:[2,181],6:[2,181],25:[2,181],26:[2,181],49:[2,181],54:[2,181],57:[2,181],73:[2,181],78:[2,181],86:[2,181],91:[2,181],93:[2,181],102:[2,181],104:[2,181],105:[2,181],106:[2,181],110:[2,181],118:[2,181],121:[2,181],126:[2,181],128:[2,181],129:[2,181],132:[2,181],133:[2,181],134:[2,181],135:[2,181],136:[2,181],137:[2,181]},{8:276,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{8:277,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{116:[2,159],117:[2,159]},{27:159,28:[1,73],44:160,58:161,59:162,76:[1,70],89:[1,114],90:[1,115],115:278},{1:[2,166],6:[2,166],25:[2,166],26:[2,166],49:[2,166],54:[2,166],57:[2,166],73:[2,166],78:[2,166],86:[2,166],91:[2,166],93:[2,166],102:[2,166],103:87,104:[2,166],105:[1,279],106:[2,166],109:88,110:[2,166],111:69,118:[1,280],126:[2,166],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{1:[2,167],6:[2,167],25:[2,167],26:[2,167],49:[2,167],54:[2,167],57:[2,167],73:[2,167],78:[2,167],86:[2,167],91:[2,167],93:[2,167],102:[2,167],103:87,104:[2,167],105:[1,281],106:[2,167],109:88,110:[2,167],111:69,118:[2,167],126:[2,167],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{6:[1,283],25:[1,284],78:[1,282]},{6:[2,54],11:169,25:[2,54],26:[2,54],27:170,28:[1,73],29:171,30:[1,71],31:[1,72],41:285,42:168,44:172,46:[1,46],78:[2,54],89:[1,114]},{8:286,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,287],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{1:[2,86],6:[2,86],25:[2,86],26:[2,86],40:[2,86],49:[2,86],54:[2,86],57:[2,86],66:[2,86],67:[2,86],68:[2,86],69:[2,86],71:[2,86],73:[2,86],74:[2,86],78:[2,86],80:[2,86],84:[2,86],85:[2,86],86:[2,86],91:[2,86],93:[2,86],102:[2,86],104:[2,86],105:[2,86],106:[2,86],110:[2,86],118:[2,86],126:[2,86],128:[2,86],129:[2,86],130:[2,86],131:[2,86],132:[2,86],133:[2,86],134:[2,86],135:[2,86],136:[2,86],137:[2,86],138:[2,86]},{8:288,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,73:[2,121],76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{73:[2,122],103:87,104:[1,65],106:[1,66],109:88,110:[1,68],111:69,126:[1,86],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{1:[2,37],6:[2,37],25:[2,37],26:[2,37],49:[2,37],54:[2,37],57:[2,37],73:[2,37],78:[2,37],86:[2,37],91:[2,37],93:[2,37],102:[2,37],103:87,104:[2,37],105:[2,37],106:[2,37],109:88,110:[2,37],111:69,118:[2,37],126:[2,37],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{26:[1,289],103:87,104:[1,65],106:[1,66],109:88,110:[1,68],111:69,126:[1,86],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{6:[1,272],25:[1,273],86:[1,290]},{6:[2,67],25:[2,67],26:[2,67],54:[2,67],86:[2,67],91:[2,67]},{5:291,25:[1,5]},{6:[2,57],25:[2,57],26:[2,57],49:[2,57],54:[2,57]},{27:110,28:[1,73],44:111,55:292,56:109,58:112,59:113,76:[1,70],89:[1,114],90:[1,115]},{6:[2,55],25:[2,55],26:[2,55],27:110,28:[1,73],44:111,48:293,54:[2,55],55:108,56:109,58:112,59:113,76:[1,70],89:[1,114],90:[1,115]},{6:[2,62],25:[2,62],26:[2,62],49:[2,62],54:[2,62],103:87,104:[1,65],106:[1,66],109:88,110:[1,68],111:69,126:[1,86],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{26:[1,294],103:87,104:[1,65],106:[1,66],109:88,110:[1,68],111:69,126:[1,86],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{1:[2,204],6:[2,204],25:[2,204],26:[2,204],49:[2,204],54:[2,204],57:[2,204],73:[2,204],78:[2,204],86:[2,204],91:[2,204],93:[2,204],102:[2,204],103:87,104:[2,204],105:[2,204],106:[2,204],109:88,110:[2,204],111:69,118:[2,204],126:[2,204],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{5:295,25:[1,5],103:87,104:[1,65],106:[1,66],109:88,110:[1,68],111:69,126:[1,86],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{5:296,25:[1,5]},{1:[2,135],6:[2,135],25:[2,135],26:[2,135],49:[2,135],54:[2,135],57:[2,135],73:[2,135],78:[2,135],86:[2,135],91:[2,135],93:[2,135],102:[2,135],104:[2,135],105:[2,135],106:[2,135],110:[2,135],118:[2,135],126:[2,135],128:[2,135],129:[2,135],132:[2,135],133:[2,135],134:[2,135],135:[2,135],136:[2,135],137:[2,135]},{5:297,25:[1,5]},{5:298,25:[1,5]},{1:[2,139],6:[2,139],25:[2,139],26:[2,139],49:[2,139],54:[2,139],57:[2,139],73:[2,139],78:[2,139],86:[2,139],91:[2,139],93:[2,139],98:[2,139],102:[2,139],104:[2,139],105:[2,139],106:[2,139],110:[2,139],118:[2,139],126:[2,139],128:[2,139],129:[2,139],132:[2,139],133:[2,139],134:[2,139],135:[2,139],136:[2,139],137:[2,139]},{26:[1,299],121:[1,300],122:264,123:[1,220]},{1:[2,175],6:[2,175],25:[2,175],26:[2,175],49:[2,175],54:[2,175],57:[2,175],73:[2,175],78:[2,175],86:[2,175],91:[2,175],93:[2,175],102:[2,175],104:[2,175],105:[2,175],106:[2,175],110:[2,175],118:[2,175],126:[2,175],128:[2,175],129:[2,175],132:[2,175],133:[2,175],134:[2,175],135:[2,175],136:[2,175],137:[2,175]},{5:301,25:[1,5]},{26:[2,178],121:[2,178],123:[2,178]},{5:302,25:[1,5],54:[1,303]},{25:[2,131],54:[2,131],103:87,104:[1,65],106:[1,66],109:88,110:[1,68],111:69,126:[1,86],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{1:[2,99],6:[2,99],25:[2,99],26:[2,99],49:[2,99],54:[2,99],57:[2,99],73:[2,99],78:[2,99],86:[2,99],91:[2,99],93:[2,99],102:[2,99],104:[2,99],105:[2,99],106:[2,99],110:[2,99],118:[2,99],126:[2,99],128:[2,99],129:[2,99],132:[2,99],133:[2,99],134:[2,99],135:[2,99],136:[2,99],137:[2,99]},{1:[2,102],5:304,6:[2,102],25:[1,5],26:[2,102],49:[2,102],54:[2,102],57:[2,102],73:[2,102],78:[2,102],86:[2,102],91:[2,102],93:[2,102],102:[2,102],103:87,104:[1,65],105:[2,102],106:[1,66],109:88,110:[1,68],111:69,118:[2,102],126:[2,102],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{102:[1,305]},{91:[1,306],103:87,104:[1,65],106:[1,66],109:88,110:[1,68],111:69,126:[1,86],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{1:[2,116],6:[2,116],25:[2,116],26:[2,116],40:[2,116],49:[2,116],54:[2,116],57:[2,116],66:[2,116],67:[2,116],68:[2,116],69:[2,116],71:[2,116],73:[2,116],74:[2,116],78:[2,116],84:[2,116],85:[2,116],86:[2,116],91:[2,116],93:[2,116],102:[2,116],104:[2,116],105:[2,116],106:[2,116],110:[2,116],116:[2,116],117:[2,116],118:[2,116],126:[2,116],128:[2,116],129:[2,116],132:[2,116],133:[2,116],134:[2,116],135:[2,116],136:[2,116],137:[2,116]},{8:202,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,60:148,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],94:307,96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{8:202,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,25:[1,147],27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,60:148,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],87:308,88:[1,58],89:[1,59],90:[1,57],94:146,96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{6:[2,125],25:[2,125],26:[2,125],54:[2,125],86:[2,125],91:[2,125]},{6:[1,272],25:[1,273],26:[1,309]},{1:[2,144],6:[2,144],25:[2,144],26:[2,144],49:[2,144],54:[2,144],57:[2,144],73:[2,144],78:[2,144],86:[2,144],91:[2,144],93:[2,144],102:[2,144],103:87,104:[1,65],105:[2,144],106:[1,66],109:88,110:[1,68],111:69,118:[2,144],126:[2,144],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{1:[2,146],6:[2,146],25:[2,146],26:[2,146],49:[2,146],54:[2,146],57:[2,146],73:[2,146],78:[2,146],86:[2,146],91:[2,146],93:[2,146],102:[2,146],103:87,104:[1,65],105:[2,146],106:[1,66],109:88,110:[1,68],111:69,118:[2,146],126:[2,146],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{116:[2,165],117:[2,165]},{8:310,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{8:311,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{8:312,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{1:[2,90],6:[2,90],25:[2,90],26:[2,90],40:[2,90],49:[2,90],54:[2,90],57:[2,90],66:[2,90],67:[2,90],68:[2,90],69:[2,90],71:[2,90],73:[2,90],74:[2,90],78:[2,90],84:[2,90],85:[2,90],86:[2,90],91:[2,90],93:[2,90],102:[2,90],104:[2,90],105:[2,90],106:[2,90],110:[2,90],116:[2,90],117:[2,90],118:[2,90],126:[2,90],128:[2,90],129:[2,90],132:[2,90],133:[2,90],134:[2,90],135:[2,90],136:[2,90],137:[2,90]},{11:169,27:170,28:[1,73],29:171,30:[1,71],31:[1,72],41:313,42:168,44:172,46:[1,46],89:[1,114]},{6:[2,91],11:169,25:[2,91],26:[2,91],27:170,28:[1,73],29:171,30:[1,71],31:[1,72],41:167,42:168,44:172,46:[1,46],54:[2,91],77:314,89:[1,114]},{6:[2,93],25:[2,93],26:[2,93],54:[2,93],78:[2,93]},{6:[2,40],25:[2,40],26:[2,40],54:[2,40],78:[2,40],103:87,104:[1,65],106:[1,66],109:88,110:[1,68],111:69,126:[1,86],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{8:315,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{73:[2,120],103:87,104:[1,65],106:[1,66],109:88,110:[1,68],111:69,126:[1,86],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{1:[2,38],6:[2,38],25:[2,38],26:[2,38],49:[2,38],54:[2,38],57:[2,38],73:[2,38],78:[2,38],86:[2,38],91:[2,38],93:[2,38],102:[2,38],104:[2,38],105:[2,38],106:[2,38],110:[2,38],118:[2,38],126:[2,38],128:[2,38],129:[2,38],132:[2,38],133:[2,38],134:[2,38],135:[2,38],136:[2,38],137:[2,38]},{1:[2,111],6:[2,111],25:[2,111],26:[2,111],49:[2,111],54:[2,111],57:[2,111],66:[2,111],67:[2,111],68:[2,111],69:[2,111],71:[2,111],73:[2,111],74:[2,111],78:[2,111],84:[2,111],85:[2,111],86:[2,111],91:[2,111],93:[2,111],102:[2,111],104:[2,111],105:[2,111],106:[2,111],110:[2,111],118:[2,111],126:[2,111],128:[2,111],129:[2,111],132:[2,111],133:[2,111],134:[2,111],135:[2,111],136:[2,111],137:[2,111]},{1:[2,49],6:[2,49],25:[2,49],26:[2,49],49:[2,49],54:[2,49],57:[2,49],73:[2,49],78:[2,49],86:[2,49],91:[2,49],93:[2,49],102:[2,49],104:[2,49],105:[2,49],106:[2,49],110:[2,49],118:[2,49],126:[2,49],128:[2,49],129:[2,49],132:[2,49],133:[2,49],134:[2,49],135:[2,49],136:[2,49],137:[2,49]},{6:[2,58],25:[2,58],26:[2,58],49:[2,58],54:[2,58]},{6:[2,53],25:[2,53],26:[2,53],53:316,54:[1,204]},{1:[2,203],6:[2,203],25:[2,203],26:[2,203],49:[2,203],54:[2,203],57:[2,203],73:[2,203],78:[2,203],86:[2,203],91:[2,203],93:[2,203],102:[2,203],104:[2,203],105:[2,203],106:[2,203],110:[2,203],118:[2,203],126:[2,203],128:[2,203],129:[2,203],132:[2,203],133:[2,203],134:[2,203],135:[2,203],136:[2,203],137:[2,203]},{1:[2,182],6:[2,182],25:[2,182],26:[2,182],49:[2,182],54:[2,182],57:[2,182],73:[2,182],78:[2,182],86:[2,182],91:[2,182],93:[2,182],102:[2,182],104:[2,182],105:[2,182],106:[2,182],110:[2,182],118:[2,182],121:[2,182],126:[2,182],128:[2,182],129:[2,182],132:[2,182],133:[2,182],134:[2,182],135:[2,182],136:[2,182],137:[2,182]},{1:[2,136],6:[2,136],25:[2,136],26:[2,136],49:[2,136],54:[2,136],57:[2,136],73:[2,136],78:[2,136],86:[2,136],91:[2,136],93:[2,136],102:[2,136],104:[2,136],105:[2,136],106:[2,136],110:[2,136],118:[2,136],126:[2,136],128:[2,136],129:[2,136],132:[2,136],133:[2,136],134:[2,136],135:[2,136],136:[2,136],137:[2,136]},{1:[2,137],6:[2,137],25:[2,137],26:[2,137],49:[2,137],54:[2,137],57:[2,137],73:[2,137],78:[2,137],86:[2,137],91:[2,137],93:[2,137],98:[2,137],102:[2,137],104:[2,137],105:[2,137],106:[2,137],110:[2,137],118:[2,137],126:[2,137],128:[2,137],129:[2,137],132:[2,137],133:[2,137],134:[2,137],135:[2,137],136:[2,137],137:[2,137]},{1:[2,138],6:[2,138],25:[2,138],26:[2,138],49:[2,138],54:[2,138],57:[2,138],73:[2,138],78:[2,138],86:[2,138],91:[2,138],93:[2,138],98:[2,138],102:[2,138],104:[2,138],105:[2,138],106:[2,138],110:[2,138],118:[2,138],126:[2,138],128:[2,138],129:[2,138],132:[2,138],133:[2,138],134:[2,138],135:[2,138],136:[2,138],137:[2,138]},{1:[2,173],6:[2,173],25:[2,173],26:[2,173],49:[2,173],54:[2,173],57:[2,173],73:[2,173],78:[2,173],86:[2,173],91:[2,173],93:[2,173],102:[2,173],104:[2,173],105:[2,173],106:[2,173],110:[2,173],118:[2,173],126:[2,173],128:[2,173],129:[2,173],132:[2,173],133:[2,173],134:[2,173],135:[2,173],136:[2,173],137:[2,173]},{5:317,25:[1,5]},{26:[1,318]},{6:[1,319],26:[2,179],121:[2,179],123:[2,179]},{8:320,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{1:[2,103],6:[2,103],25:[2,103],26:[2,103],49:[2,103],54:[2,103],57:[2,103],73:[2,103],78:[2,103],86:[2,103],91:[2,103],93:[2,103],102:[2,103],104:[2,103],105:[2,103],106:[2,103],110:[2,103],118:[2,103],126:[2,103],128:[2,103],129:[2,103],132:[2,103],133:[2,103],134:[2,103],135:[2,103],136:[2,103],137:[2,103]},{1:[2,142],6:[2,142],25:[2,142],26:[2,142],49:[2,142],54:[2,142],57:[2,142],66:[2,142],67:[2,142],68:[2,142],69:[2,142],71:[2,142],73:[2,142],74:[2,142],78:[2,142],84:[2,142],85:[2,142],86:[2,142],91:[2,142],93:[2,142],102:[2,142],104:[2,142],105:[2,142],106:[2,142],110:[2,142],118:[2,142],126:[2,142],128:[2,142],129:[2,142],132:[2,142],133:[2,142],134:[2,142],135:[2,142],136:[2,142],137:[2,142]},{1:[2,119],6:[2,119],25:[2,119],26:[2,119],49:[2,119],54:[2,119],57:[2,119],66:[2,119],67:[2,119],68:[2,119],69:[2,119],71:[2,119],73:[2,119],74:[2,119],78:[2,119],84:[2,119],85:[2,119],86:[2,119],91:[2,119],93:[2,119],102:[2,119],104:[2,119],105:[2,119],106:[2,119],110:[2,119],118:[2,119],126:[2,119],128:[2,119],129:[2,119],132:[2,119],133:[2,119],134:[2,119],135:[2,119],136:[2,119],137:[2,119]},{6:[2,126],25:[2,126],26:[2,126],54:[2,126],86:[2,126],91:[2,126]},{6:[2,53],25:[2,53],26:[2,53],53:321,54:[1,229]},{6:[2,127],25:[2,127],26:[2,127],54:[2,127],86:[2,127],91:[2,127]},{1:[2,168],6:[2,168],25:[2,168],26:[2,168],49:[2,168],54:[2,168],57:[2,168],73:[2,168],78:[2,168],86:[2,168],91:[2,168],93:[2,168],102:[2,168],103:87,104:[2,168],105:[2,168],106:[2,168],109:88,110:[2,168],111:69,118:[1,322],126:[2,168],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{1:[2,170],6:[2,170],25:[2,170],26:[2,170],49:[2,170],54:[2,170],57:[2,170],73:[2,170],78:[2,170],86:[2,170],91:[2,170],93:[2,170],102:[2,170],103:87,104:[2,170],105:[1,323],106:[2,170],109:88,110:[2,170],111:69,118:[2,170],126:[2,170],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{1:[2,169],6:[2,169],25:[2,169],26:[2,169],49:[2,169],54:[2,169],57:[2,169],73:[2,169],78:[2,169],86:[2,169],91:[2,169],93:[2,169],102:[2,169],103:87,104:[2,169],105:[2,169],106:[2,169],109:88,110:[2,169],111:69,118:[2,169],126:[2,169],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{6:[2,94],25:[2,94],26:[2,94],54:[2,94],78:[2,94]},{6:[2,53],25:[2,53],26:[2,53],53:324,54:[1,239]},{26:[1,325],103:87,104:[1,65],106:[1,66],109:88,110:[1,68],111:69,126:[1,86],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{6:[1,250],25:[1,251],26:[1,326]},{26:[1,327]},{1:[2,176],6:[2,176],25:[2,176],26:[2,176],49:[2,176],54:[2,176],57:[2,176],73:[2,176],78:[2,176],86:[2,176],91:[2,176],93:[2,176],102:[2,176],104:[2,176],105:[2,176],106:[2,176],110:[2,176],118:[2,176],126:[2,176],128:[2,176],129:[2,176],132:[2,176],133:[2,176],134:[2,176],135:[2,176],136:[2,176],137:[2,176]},{26:[2,180],121:[2,180],123:[2,180]},{25:[2,132],54:[2,132],103:87,104:[1,65],106:[1,66],109:88,110:[1,68],111:69,126:[1,86],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{6:[1,272],25:[1,273],26:[1,328]},{8:329,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{8:330,9:118,10:20,11:21,12:[1,22],13:8,14:9,15:10,16:11,17:12,18:13,19:14,20:15,21:16,22:17,23:18,24:19,27:62,28:[1,73],29:49,30:[1,71],31:[1,72],32:24,33:[1,50],34:[1,51],35:[1,52],36:[1,53],37:[1,54],38:[1,55],39:23,44:63,45:[1,45],46:[1,46],47:[1,29],50:30,51:[1,60],52:[1,61],58:47,59:48,61:36,63:25,64:26,65:27,76:[1,70],79:[1,43],83:[1,28],88:[1,58],89:[1,59],90:[1,57],96:[1,38],100:[1,44],101:[1,56],103:39,104:[1,65],106:[1,66],107:40,108:[1,67],109:41,110:[1,68],111:69,119:[1,42],124:37,125:[1,64],127:[1,31],128:[1,32],129:[1,33],130:[1,34],131:[1,35]},{6:[1,283],25:[1,284],26:[1,331]},{6:[2,41],25:[2,41],26:[2,41],54:[2,41],78:[2,41]},{6:[2,59],25:[2,59],26:[2,59],49:[2,59],54:[2,59]},{1:[2,174],6:[2,174],25:[2,174],26:[2,174],49:[2,174],54:[2,174],57:[2,174],73:[2,174],78:[2,174],86:[2,174],91:[2,174],93:[2,174],102:[2,174],104:[2,174],105:[2,174],106:[2,174],110:[2,174],118:[2,174],126:[2,174],128:[2,174],129:[2,174],132:[2,174],133:[2,174],134:[2,174],135:[2,174],136:[2,174],137:[2,174]},{6:[2,128],25:[2,128],26:[2,128],54:[2,128],86:[2,128],91:[2,128]},{1:[2,171],6:[2,171],25:[2,171],26:[2,171],49:[2,171],54:[2,171],57:[2,171],73:[2,171],78:[2,171],86:[2,171],91:[2,171],93:[2,171],102:[2,171],103:87,104:[2,171],105:[2,171],106:[2,171],109:88,110:[2,171],111:69,118:[2,171],126:[2,171],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{1:[2,172],6:[2,172],25:[2,172],26:[2,172],49:[2,172],54:[2,172],57:[2,172],73:[2,172],78:[2,172],86:[2,172],91:[2,172],93:[2,172],102:[2,172],103:87,104:[2,172],105:[2,172],106:[2,172],109:88,110:[2,172],111:69,118:[2,172],126:[2,172],128:[1,80],129:[1,79],132:[1,78],133:[1,81],134:[1,82],135:[1,83],136:[1,84],137:[1,85]},{6:[2,95],25:[2,95],26:[2,95],54:[2,95],78:[2,95]}],defaultActions:{60:[2,51],61:[2,52],75:[2,3],94:[2,109],191:[2,89]},parseError:function(e){throw new Error(e) -},parse:function(e){function t(){var e;return e=n.lexer.lex()||1,"number"!=typeof e&&(e=n.symbols_[e]||e),e}var n=this,i=[0],s=[null],r=[],o=this.table,a="",c=0,h=0,l=0;this.lexer.setInput(e),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var u=this.lexer.yylloc;r.push(u);var p=this.lexer.options&&this.lexer.options.ranges;"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var d,f,m,b,k,g,y,v,w,T={};;){if(m=i[i.length-1],this.defaultActions[m]?b=this.defaultActions[m]:((null===d||"undefined"==typeof d)&&(d=t()),b=o[m]&&o[m][d]),"undefined"==typeof b||!b.length||!b[0]){var C="";if(!l){w=[];for(g in o[m])this.terminals_[g]&&g>2&&w.push("'"+this.terminals_[g]+"'");C=this.lexer.showPosition?"Parse error on line "+(c+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[d]||d)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==d?"end of input":"'"+(this.terminals_[d]||d)+"'"),this.parseError(C,{text:this.lexer.match,token:this.terminals_[d]||d,line:this.lexer.yylineno,loc:u,expected:w})}}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+d);switch(b[0]){case 1:i.push(d),s.push(this.lexer.yytext),r.push(this.lexer.yylloc),i.push(b[1]),d=null,f?(d=f,f=null):(h=this.lexer.yyleng,a=this.lexer.yytext,c=this.lexer.yylineno,u=this.lexer.yylloc,l>0&&l--);break;case 2:if(y=this.productions_[b[1]][1],T.$=s[s.length-y],T._$={first_line:r[r.length-(y||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(y||1)].first_column,last_column:r[r.length-1].last_column},p&&(T._$.range=[r[r.length-(y||1)].range[0],r[r.length-1].range[1]]),k=this.performAction.call(T,a,h,c,this.yy,b[1],s,r),"undefined"!=typeof k)return k;y&&(i=i.slice(0,2*-1*y),s=s.slice(0,-1*y),r=r.slice(0,-1*y)),i.push(this.productions_[b[1]][0]),s.push(T.$),r.push(T._$),v=o[i[i.length-2]][i[i.length-1]],i.push(v);break;case 3:return!0}}return!0}};return e.prototype=t,t.Parser=e,new e}();return"undefined"!=typeof require&&"undefined"!=typeof e&&(e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=require("fs").readFileSync(require("path").normalize(t[1]),"utf8");return e.parser.parse(n)},"undefined"!=typeof t&&require.main===t&&e.main(process.argv.slice(1))),t.exports}(),require["./scope"]=function(){var e={},t={exports:e};return function(){var t,n,i,s;s=require("./helpers"),n=s.extend,i=s.last,e.Scope=t=function(){function e(t,n,i){this.parent=t,this.expressions=n,this.method=i,this.variables=[{name:"arguments",type:"arguments"}],this.positions={},this.parent||(e.root=this)}return e.root=null,e.prototype.add=function(e,t,n){return this.shared&&!n?this.parent.add(e,t,n):Object.prototype.hasOwnProperty.call(this.positions,e)?this.variables[this.positions[e]].type=t:this.positions[e]=this.variables.push({name:e,type:t})-1},e.prototype.namedMethod=function(){var e;return(null!=(e=this.method)?e.name:void 0)||!this.parent?this.method:this.parent.namedMethod()},e.prototype.find=function(e){return this.check(e)?!0:(this.add(e,"var"),!1)},e.prototype.parameter=function(e){return this.shared&&this.parent.check(e,!0)?void 0:this.add(e,"param")},e.prototype.check=function(e){var t;return!!(this.type(e)||(null!=(t=this.parent)?t.check(e):void 0))},e.prototype.temporary=function(e,t){return e.length>1?"_"+e+(t>1?t-1:""):"_"+(t+parseInt(e,36)).toString(36).replace(/\d/g,"a")},e.prototype.type=function(e){var t,n,i,s;for(s=this.variables,n=0,i=s.length;i>n;n++)if(t=s[n],t.name===e)return t.type;return null},e.prototype.freeVariable=function(e,t){var n,i;for(null==t&&(t=!0),n=0;this.check(i=this.temporary(e,n));)n++;return t&&this.add(i,"var",!0),i},e.prototype.assign=function(e,t){return this.add(e,{value:t,assigned:!0},!0),this.hasAssignments=!0},e.prototype.hasDeclarations=function(){return!!this.declaredVariables().length},e.prototype.declaredVariables=function(){var e,t,n,i,s,r;for(e=[],t=[],r=this.variables,i=0,s=r.length;s>i;i++)n=r[i],"var"===n.type&&("_"===n.name.charAt(0)?t:e).push(n.name);return e.sort().concat(t.sort())},e.prototype.assignedVariables=function(){var e,t,n,i,s;for(i=this.variables,s=[],t=0,n=i.length;n>t;t++)e=i[t],e.type.assigned&&s.push(""+e.name+" = "+e.type.value);return s},e}()}.call(this),t.exports}(),require["./nodes"]=function(){var e={},t={exports:e};return function(){var t,n,i,s,r,o,a,c,h,l,u,p,d,f,m,b,k,g,y,v,w,T,C,F,L,N,x,E,D,S,R,A,I,_,$,O,j,M,B,V,P,U,q,H,G,W,X,Y,K,z,J,Z,Q,et,tt,nt,it,st,rt,ot,at,ct,ht,lt,ut,pt,dt,ft,mt,bt,kt,gt={}.hasOwnProperty,yt=function(e,t){function n(){this.constructor=e}for(var i in t)gt.call(t,i)&&(e[i]=t[i]);return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e},vt=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1},wt=[].slice;Error.stackTraceLimit=1/0,V=require("./scope").Scope,ft=require("./lexer"),$=ft.RESERVED,B=ft.STRICT_PROSCRIBED,mt=require("./helpers"),Q=mt.compact,it=mt.flatten,nt=mt.extend,at=mt.merge,et=mt.del,lt=mt.starts,tt=mt.ends,rt=mt.last,ht=mt.some,Z=mt.addLocationDataFn,ot=mt.locationDataToString,ut=mt.throwSyntaxError,e.extend=nt,e.addLocationDataFn=Z,J=function(){return!0},S=function(){return!1},G=function(){return this},D=function(){return this.negated=!this.negated,this},e.CodeFragment=l=function(){function e(e,t){var n;this.code=""+t,this.locationData=null!=e?e.locationData:void 0,this.type=(null!=e?null!=(n=e.constructor)?n.name:void 0:void 0)||"unknown"}return e.prototype.toString=function(){return""+this.code+(this.locationData?": "+ot(this.locationData):"")},e}(),st=function(e){var t;return function(){var n,i,s;for(s=[],n=0,i=e.length;i>n;n++)t=e[n],s.push(t.code);return s}().join("")},e.Base=s=function(){function e(){}return e.prototype.compile=function(e,t){return st(this.compileToFragments(e,t))},e.prototype.compileToFragments=function(e,t){var n;return e=nt({},e),t&&(e.level=t),n=this.unfoldSoak(e)||this,n.tab=e.indent,e.level!==N&&n.isStatement(e)?n.compileClosure(e):n.compileNode(e)},e.prototype.compileClosure=function(e){var t;return(t=this.jumps())&&t.error("cannot use a pure statement in an expression"),e.sharedScope=!0,c.wrap(this).compileNode(e)},e.prototype.cache=function(e,t,n){var s,r;return this.isComplex()?(s=new x(n||e.scope.freeVariable("ref")),r=new i(s,this),t?[r.compileToFragments(e,t),[this.makeCode(s.value)]]:[r,s]):(s=t?this.compileToFragments(e,t):this,[s,s])},e.prototype.cacheToCodeFragments=function(e){return[st(e[0]),st(e[1])]},e.prototype.makeReturn=function(e){var t;return t=this.unwrapAll(),e?new o(new x(""+e+".push"),[t]):new j(t)},e.prototype.contains=function(e){var t;return t=void 0,this.traverseChildren(!1,function(n){return e(n)?(t=n,!1):void 0}),t},e.prototype.lastNonComment=function(e){var t;for(t=e.length;t--;)if(!(e[t]instanceof u))return e[t];return null},e.prototype.toString=function(e,t){var n;return null==e&&(e=""),null==t&&(t=this.constructor.name),n="\n"+e+t,this.soak&&(n+="?"),this.eachChild(function(t){return n+=t.toString(e+H)}),n},e.prototype.eachChild=function(e){var t,n,i,s,r,o,a,c;if(!this.children)return this;for(a=this.children,i=0,r=a.length;r>i;i++)if(t=a[i],this[t])for(c=it([this[t]]),s=0,o=c.length;o>s;s++)if(n=c[s],e(n)===!1)return this;return this},e.prototype.traverseChildren=function(e,t){return this.eachChild(function(n){var i;return i=t(n),i!==!1?n.traverseChildren(e,t):void 0})},e.prototype.invert=function(){return new A("!",this)},e.prototype.unwrapAll=function(){var e;for(e=this;e!==(e=e.unwrap()););return e},e.prototype.children=[],e.prototype.isStatement=S,e.prototype.jumps=S,e.prototype.isComplex=J,e.prototype.isChainable=S,e.prototype.isAssignable=S,e.prototype.unwrap=G,e.prototype.unfoldSoak=S,e.prototype.assigns=S,e.prototype.updateLocationDataIfMissing=function(e){return this.locationData||(this.locationData=e),this.eachChild(function(t){return t.updateLocationDataIfMissing(e)})},e.prototype.error=function(e){return ut(e,this.locationData)},e.prototype.makeCode=function(e){return new l(this,e)},e.prototype.wrapInBraces=function(e){return[].concat(this.makeCode("("),e,this.makeCode(")"))},e.prototype.joinFragmentArrays=function(e,t){var n,i,s,r,o;for(n=[],s=r=0,o=e.length;o>r;s=++r)i=e[s],s&&n.push(this.makeCode(t)),n=n.concat(i);return n},e}(),e.Block=r=function(e){function t(e){this.expressions=Q(it(e||[]))}return yt(t,e),t.prototype.children=["expressions"],t.prototype.push=function(e){return this.expressions.push(e),this},t.prototype.pop=function(){return this.expressions.pop()},t.prototype.unshift=function(e){return this.expressions.unshift(e),this},t.prototype.unwrap=function(){return 1===this.expressions.length?this.expressions[0]:this},t.prototype.isEmpty=function(){return!this.expressions.length},t.prototype.isStatement=function(e){var t,n,i,s;for(s=this.expressions,n=0,i=s.length;i>n;n++)if(t=s[n],t.isStatement(e))return!0;return!1},t.prototype.jumps=function(e){var t,n,i,s;for(s=this.expressions,n=0,i=s.length;i>n;n++)if(t=s[n],t.jumps(e))return t},t.prototype.makeReturn=function(e){var t,n;for(n=this.expressions.length;n--;)if(t=this.expressions[n],!(t instanceof u)){this.expressions[n]=t.makeReturn(e),t instanceof j&&!t.expression&&this.expressions.splice(n,1);break}return this},t.prototype.compileToFragments=function(e,n){return null==e&&(e={}),e.scope?t.__super__.compileToFragments.call(this,e,n):this.compileRoot(e)},t.prototype.compileNode=function(e){var n,i,s,r,o,a,c,h,l;for(this.tab=e.indent,a=e.level===N,i=[],l=this.expressions,r=c=0,h=l.length;h>c;r=++c)o=l[r],o=o.unwrapAll(),o=o.unfoldSoak(e)||o,o instanceof t?i.push(o.compileNode(e)):a?(o.front=!0,s=o.compileToFragments(e),o.isStatement(e)||(s.unshift(this.makeCode(""+this.tab)),s.push(this.makeCode(";"))),i.push(s)):i.push(o.compileToFragments(e,C));return a?this.spaced?[].concat(this.joinFragmentArrays(i,"\n\n"),this.makeCode("\n")):this.joinFragmentArrays(i,"\n"):(n=i.length?this.joinFragmentArrays(i,", "):[this.makeCode("void 0")],i.length>1&&e.level>=C?this.wrapInBraces(n):n)},t.prototype.compileRoot=function(e){var t,n,i,s,r,o,a,c,h,l;for(e.indent=e.bare?"":H,e.level=N,this.spaced=!0,e.scope=new V(null,this,null),l=e.locals||[],c=0,h=l.length;h>c;c++)s=l[c],e.scope.parameter(s);return r=[],e.bare||(o=function(){var e,n,s,r;for(s=this.expressions,r=[],i=e=0,n=s.length;n>e&&(t=s[i],t.unwrap()instanceof u);i=++e)r.push(t);return r}.call(this),a=this.expressions.slice(o.length),this.expressions=o,o.length&&(r=this.compileNode(at(e,{indent:""})),r.push(this.makeCode("\n"))),this.expressions=a),n=this.compileWithDeclarations(e),e.bare?n:[].concat(r,this.makeCode("(function() {\n"),n,this.makeCode("\n}).call(this);\n"))},t.prototype.compileWithDeclarations=function(e){var t,n,i,s,r,o,a,c,h,l,p,d,f,m;for(s=[],o=[],d=this.expressions,r=l=0,p=d.length;p>l&&(i=d[r],i=i.unwrap(),i instanceof u||i instanceof x);r=++l);return e=at(e,{level:N}),r&&(a=this.expressions.splice(r,9e9),f=[this.spaced,!1],h=f[0],this.spaced=f[1],m=[this.compileNode(e),h],s=m[0],this.spaced=m[1],this.expressions=a),o=this.compileNode(e),c=e.scope,c.expressions===this&&(n=e.scope.hasDeclarations(),t=c.hasAssignments,n||t?(r&&s.push(this.makeCode("\n")),s.push(this.makeCode(""+this.tab+"var ")),n&&s.push(this.makeCode(c.declaredVariables().join(", "))),t&&(n&&s.push(this.makeCode(",\n"+(this.tab+H))),s.push(this.makeCode(c.assignedVariables().join(",\n"+(this.tab+H))))),s.push(this.makeCode(";\n"+(this.spaced?"\n":"")))):s.length&&o.length&&s.push(this.makeCode("\n"))),s.concat(o)},t.wrap=function(e){return 1===e.length&&e[0]instanceof t?e[0]:new t(e)},t}(s),e.Literal=x=function(e){function t(e){this.value=e}return yt(t,e),t.prototype.makeReturn=function(){return this.isStatement()?this:t.__super__.makeReturn.apply(this,arguments)},t.prototype.isAssignable=function(){return m.test(this.value)},t.prototype.isStatement=function(){var e;return"break"===(e=this.value)||"continue"===e||"debugger"===e},t.prototype.isComplex=S,t.prototype.assigns=function(e){return e===this.value},t.prototype.jumps=function(e){return"break"!==this.value||(null!=e?e.loop:void 0)||(null!=e?e.block:void 0)?"continue"!==this.value||(null!=e?e.loop:void 0)?void 0:this:this},t.prototype.compileNode=function(e){var t,n,i;return n="this"===this.value?(null!=(i=e.scope.method)?i.bound:void 0)?e.scope.method.context:this.value:this.value.reserved?'"'+this.value+'"':this.value,t=this.isStatement()?""+this.tab+n+";":n,[this.makeCode(t)]},t.prototype.toString=function(){return' "'+this.value+'"'},t}(s),e.Undefined=function(e){function t(){return bt=t.__super__.constructor.apply(this,arguments)}return yt(t,e),t.prototype.isAssignable=S,t.prototype.isComplex=S,t.prototype.compileNode=function(e){return[this.makeCode(e.level>=w?"(void 0)":"void 0")]},t}(s),e.Null=function(e){function t(){return kt=t.__super__.constructor.apply(this,arguments)}return yt(t,e),t.prototype.isAssignable=S,t.prototype.isComplex=S,t.prototype.compileNode=function(){return[this.makeCode("null")]},t}(s),e.Bool=function(e){function t(e){this.val=e}return yt(t,e),t.prototype.isAssignable=S,t.prototype.isComplex=S,t.prototype.compileNode=function(){return[this.makeCode(this.val)]},t}(s),e.Return=j=function(e){function t(e){e&&!e.unwrap().isUndefined&&(this.expression=e)}return yt(t,e),t.prototype.children=["expression"],t.prototype.isStatement=J,t.prototype.makeReturn=G,t.prototype.jumps=G,t.prototype.compileToFragments=function(e,n){var i,s;return i=null!=(s=this.expression)?s.makeReturn():void 0,!i||i instanceof t?t.__super__.compileToFragments.call(this,e,n):i.compileToFragments(e,n)},t.prototype.compileNode=function(e){var t;return t=[],t.push(this.makeCode(this.tab+("return"+(this.expression?" ":"")))),this.expression&&(t=t.concat(this.expression.compileToFragments(e,L))),t.push(this.makeCode(";")),t},t}(s),e.Value=K=function(e){function t(e,n,i){return!n&&e instanceof t?e:(this.base=e,this.properties=n||[],i&&(this[i]=!0),this)}return yt(t,e),t.prototype.children=["base","properties"],t.prototype.add=function(e){return this.properties=this.properties.concat(e),this},t.prototype.hasProperties=function(){return!!this.properties.length},t.prototype.isArray=function(){return!this.properties.length&&this.base instanceof n},t.prototype.isComplex=function(){return this.hasProperties()||this.base.isComplex()},t.prototype.isAssignable=function(){return this.hasProperties()||this.base.isAssignable()},t.prototype.isSimpleNumber=function(){return this.base instanceof x&&M.test(this.base.value)},t.prototype.isString=function(){return this.base instanceof x&&k.test(this.base.value)},t.prototype.isAtomic=function(){var e,t,n,i;for(i=this.properties.concat(this.base),t=0,n=i.length;n>t;t++)if(e=i[t],e.soak||e instanceof o)return!1;return!0},t.prototype.isStatement=function(e){return!this.properties.length&&this.base.isStatement(e)},t.prototype.assigns=function(e){return!this.properties.length&&this.base.assigns(e)},t.prototype.jumps=function(e){return!this.properties.length&&this.base.jumps(e)},t.prototype.isObject=function(e){return this.properties.length?!1:this.base instanceof R&&(!e||this.base.generated)},t.prototype.isSplice=function(){return rt(this.properties)instanceof P},t.prototype.unwrap=function(){return this.properties.length?this:this.base},t.prototype.cacheReference=function(e){var n,s,r,o;return r=rt(this.properties),this.properties.length<2&&!this.base.isComplex()&&!(null!=r?r.isComplex():void 0)?[this,this]:(n=new t(this.base,this.properties.slice(0,-1)),n.isComplex()&&(s=new x(e.scope.freeVariable("base")),n=new t(new _(new i(s,n)))),r?(r.isComplex()&&(o=new x(e.scope.freeVariable("name")),r=new v(new i(o,r.index)),o=new v(o)),[n.add(r),new t(s||n.base,[o||r])]):[n,s])},t.prototype.compileNode=function(e){var t,n,i,s,r;for(this.base.front=this.front,i=this.properties,t=this.base.compileToFragments(e,i.length?w:null),(this.base instanceof _||i.length)&&M.test(st(t))&&t.push(this.makeCode(".")),s=0,r=i.length;r>s;s++)n=i[s],t.push.apply(t,n.compileToFragments(e));return t},t.prototype.unfoldSoak=function(e){var n=this;return null!=this.unfoldedSoak?this.unfoldedSoak:this.unfoldedSoak=function(){var s,r,o,a,c,h,l,u,d,f;if(o=n.base.unfoldSoak(e))return(d=o.body.properties).push.apply(d,n.properties),o;for(f=n.properties,r=l=0,u=f.length;u>l;r=++l)if(a=f[r],a.soak)return a.soak=!1,s=new t(n.base,n.properties.slice(0,r)),h=new t(n.base,n.properties.slice(r)),s.isComplex()&&(c=new x(e.scope.freeVariable("ref")),s=new _(new i(c,s)),h.base=c),new g(new p(s),h,{soak:!0});return!1}()},t}(s),e.Comment=u=function(e){function t(e){this.comment=e}return yt(t,e),t.prototype.isStatement=J,t.prototype.makeReturn=G,t.prototype.compileNode=function(e,t){var n;return n="/*"+ct(this.comment,this.tab)+(vt.call(this.comment,"\n")>=0?"\n"+this.tab:"")+"*/\n",(t||e.level)===N&&(n=e.indent+n),[this.makeCode(n)]},t}(s),e.Call=o=function(e){function n(e,t,n){this.args=null!=t?t:[],this.soak=n,this.isNew=!1,this.isSuper="super"===e,this.variable=this.isSuper?null:e}return yt(n,e),n.prototype.children=["variable","args"],n.prototype.newInstance=function(){var e,t;return e=(null!=(t=this.variable)?t.base:void 0)||this.variable,e instanceof n&&!e.isNew?e.newInstance():this.isNew=!0,this},n.prototype.superReference=function(e){var n,i;return i=e.scope.namedMethod(),(null!=i?i.klass:void 0)?(n=[new t(new x("__super__"))],i["static"]&&n.push(new t(new x("constructor"))),n.push(new t(new x(i.name))),new K(new x(i.klass),n).compile(e)):(null!=i?i.ctor:void 0)?""+i.name+".__super__.constructor":this.error("cannot call super outside of an instance method.")},n.prototype.superThis=function(e){var t;return t=e.scope.method,t&&!t.klass&&t.context||"this"},n.prototype.unfoldSoak=function(e){var t,i,s,r,o,a,c,h,l;if(this.soak){if(this.variable){if(i=pt(e,this,"variable"))return i;h=new K(this.variable).cacheReference(e),s=h[0],o=h[1]}else s=new x(this.superReference(e)),o=new K(s);return o=new n(o,this.args),o.isNew=this.isNew,s=new x("typeof "+s.compile(e)+' === "function"'),new g(s,new K(o),{soak:!0})}for(t=this,r=[];;)if(t.variable instanceof n)r.push(t),t=t.variable;else{if(!(t.variable instanceof K))break;if(r.push(t),!((t=t.variable.base)instanceof n))break}for(l=r.reverse(),a=0,c=l.length;c>a;a++)t=l[a],i&&(t.variable instanceof n?t.variable=i:t.variable.base=i),i=pt(e,t,"variable");return i},n.prototype.compileNode=function(e){var t,n,i,s,r,o,a,c,h,l;if(null!=(h=this.variable)&&(h.front=this.front),s=U.compileSplattedArray(e,this.args,!0),s.length)return this.compileSplat(e,s);for(i=[],l=this.args,n=a=0,c=l.length;c>a;n=++a)t=l[n],n&&i.push(this.makeCode(", ")),i.push.apply(i,t.compileToFragments(e,C));return r=[],this.isSuper?(o=this.superReference(e)+(".call("+this.superThis(e)),i.length&&(o+=", "),r.push(this.makeCode(o))):(this.isNew&&r.push(this.makeCode("new ")),r.push.apply(r,this.variable.compileToFragments(e,w)),r.push(this.makeCode("("))),r.push.apply(r,i),r.push(this.makeCode(")")),r},n.prototype.compileSplat=function(e,t){var n,i,s,r,o,a;return this.isSuper?[].concat(this.makeCode(""+this.superReference(e)+".apply("+this.superThis(e)+", "),t,this.makeCode(")")):this.isNew?(r=this.tab+H,[].concat(this.makeCode("(function(func, args, ctor) {\n"+r+"ctor.prototype = func.prototype;\n"+r+"var child = new ctor, result = func.apply(child, args);\n"+r+"return Object(result) === result ? result : child;\n"+this.tab+"})("),this.variable.compileToFragments(e,C),this.makeCode(", "),t,this.makeCode(", function(){})"))):(n=[],i=new K(this.variable),(o=i.properties.pop())&&i.isComplex()?(a=e.scope.freeVariable("ref"),n=n.concat(this.makeCode("("+a+" = "),i.compileToFragments(e,C),this.makeCode(")"),o.compileToFragments(e))):(s=i.compileToFragments(e,w),M.test(st(s))&&(s=this.wrapInBraces(s)),o?(a=st(s),s.push.apply(s,o.compileToFragments(e))):a="null",n=n.concat(s)),n=n.concat(this.makeCode(".apply("+a+", "),t,this.makeCode(")")))},n}(s),e.Extends=d=function(e){function t(e,t){this.child=e,this.parent=t}return yt(t,e),t.prototype.children=["child","parent"],t.prototype.compileToFragments=function(e){return new o(new K(new x(dt("extends"))),[this.child,this.parent]).compileToFragments(e)},t}(s),e.Access=t=function(e){function t(e,t){this.name=e,this.name.asKey=!0,this.soak="soak"===t}return yt(t,e),t.prototype.children=["name"],t.prototype.compileToFragments=function(e){var t;return t=this.name.compileToFragments(e),m.test(st(t))?t.unshift(this.makeCode(".")):(t.unshift(this.makeCode("[")),t.push(this.makeCode("]"))),t},t.prototype.isComplex=S,t}(s),e.Index=v=function(e){function t(e){this.index=e}return yt(t,e),t.prototype.children=["index"],t.prototype.compileToFragments=function(e){return[].concat(this.makeCode("["),this.index.compileToFragments(e,L),this.makeCode("]"))},t.prototype.isComplex=function(){return this.index.isComplex()},t}(s),e.Range=O=function(e){function t(e,t,n){this.from=e,this.to=t,this.exclusive="exclusive"===n,this.equals=this.exclusive?"":"="}return yt(t,e),t.prototype.children=["from","to"],t.prototype.compileVariables=function(e){var t,n,i,s,r;return e=at(e,{top:!0}),n=this.cacheToCodeFragments(this.from.cache(e,C)),this.fromC=n[0],this.fromVar=n[1],i=this.cacheToCodeFragments(this.to.cache(e,C)),this.toC=i[0],this.toVar=i[1],(t=et(e,"step"))&&(s=this.cacheToCodeFragments(t.cache(e,C)),this.step=s[0],this.stepVar=s[1]),r=[this.fromVar.match(M),this.toVar.match(M)],this.fromNum=r[0],this.toNum=r[1],this.stepVar?this.stepNum=this.stepVar.match(M):void 0},t.prototype.compileNode=function(e){var t,n,i,s,r,o,a,c,h,l,u,p,d,f;return this.fromVar||this.compileVariables(e),e.index?(a=this.fromNum&&this.toNum,r=et(e,"index"),o=et(e,"name"),h=o&&o!==r,p=""+r+" = "+this.fromC,this.toC!==this.toVar&&(p+=", "+this.toC),this.step!==this.stepVar&&(p+=", "+this.step),d=[""+r+" <"+this.equals,""+r+" >"+this.equals],c=d[0],s=d[1],n=this.stepNum?+this.stepNum>0?""+c+" "+this.toVar:""+s+" "+this.toVar:a?(f=[+this.fromNum,+this.toNum],i=f[0],u=f[1],f,u>=i?""+c+" "+u:""+s+" "+u):(t=this.stepVar?""+this.stepVar+" > 0":""+this.fromVar+" <= "+this.toVar,""+t+" ? "+c+" "+this.toVar+" : "+s+" "+this.toVar),l=this.stepVar?""+r+" += "+this.stepVar:a?h?u>=i?"++"+r:"--"+r:u>=i?""+r+"++":""+r+"--":h?""+t+" ? ++"+r+" : --"+r:""+t+" ? "+r+"++ : "+r+"--",h&&(p=""+o+" = "+p),h&&(l=""+o+" = "+l),[this.makeCode(""+p+"; "+n+"; "+l)]):this.compileArray(e)},t.prototype.compileArray=function(e){var t,n,i,s,r,o,a,c,h,l,u,p,d;return this.fromNum&&this.toNum&&Math.abs(this.fromNum-this.toNum)<=20?(h=function(){d=[];for(var e=p=+this.fromNum,t=+this.toNum;t>=p?t>=e:e>=t;t>=p?e++:e--)d.push(e);return d}.apply(this),this.exclusive&&h.pop(),[this.makeCode("["+h.join(", ")+"]")]):(o=this.tab+H,r=e.scope.freeVariable("i"),l=e.scope.freeVariable("results"),c="\n"+o+l+" = [];",this.fromNum&&this.toNum?(e.index=r,n=st(this.compileNode(e))):(u=""+r+" = "+this.fromC+(this.toC!==this.toVar?", "+this.toC:""),i=""+this.fromVar+" <= "+this.toVar,n="var "+u+"; "+i+" ? "+r+" <"+this.equals+" "+this.toVar+" : "+r+" >"+this.equals+" "+this.toVar+"; "+i+" ? "+r+"++ : "+r+"--"),a="{ "+l+".push("+r+"); }\n"+o+"return "+l+";\n"+e.indent,s=function(e){return null!=e?e.contains(function(e){return e instanceof x&&"arguments"===e.value&&!e.asKey}):void 0},(s(this.from)||s(this.to))&&(t=", arguments"),[this.makeCode("(function() {"+c+"\n"+o+"for ("+n+")"+a+"}).apply(this"+(null!=t?t:"")+")")])},t}(s),e.Slice=P=function(e){function t(e){this.range=e,t.__super__.constructor.call(this)}return yt(t,e),t.prototype.children=["range"],t.prototype.compileNode=function(e){var t,n,i,s,r,o,a;return a=this.range,r=a.to,i=a.from,s=i&&i.compileToFragments(e,L)||[this.makeCode("0")],r&&(t=r.compileToFragments(e,L),n=st(t),(this.range.exclusive||-1!==+n)&&(o=", "+(this.range.exclusive?n:M.test(n)?""+(+n+1):(t=r.compileToFragments(e,w),"+"+st(t)+" + 1 || 9e9")))),[this.makeCode(".slice("+st(s)+(o||"")+")")]},t}(s),e.Obj=R=function(e){function t(e,t){this.generated=null!=t?t:!1,this.objects=this.properties=e||[]}return yt(t,e),t.prototype.children=["properties"],t.prototype.compileNode=function(e){var t,n,s,r,o,a,c,h,l,p,d,f,m;if(l=this.properties,!l.length)return[this.makeCode(this.front?"({})":"{}")];if(this.generated)for(p=0,f=l.length;f>p;p++)c=l[p],c instanceof K&&c.error("cannot have an implicit value in an implicit object");for(s=e.indent+=H,a=this.lastNonComment(this.properties),t=[],n=d=0,m=l.length;m>d;n=++d)h=l[n],o=n===l.length-1?"":h===a||h instanceof u?"\n":",\n",r=h instanceof u?"":s,h instanceof i&&h.variable instanceof K&&h.variable.hasProperties()&&h.variable.error("Invalid object key"),h instanceof K&&h["this"]&&(h=new i(h.properties[0].name,h,"object")),h instanceof u||(h instanceof i||(h=new i(h,h,"object")),(h.variable.base||h.variable).asKey=!0),r&&t.push(this.makeCode(r)),t.push.apply(t,h.compileToFragments(e,N)),o&&t.push(this.makeCode(o));return t.unshift(this.makeCode("{"+(l.length&&"\n"))),t.push(this.makeCode(""+(l.length&&"\n"+this.tab)+"}")),this.front?this.wrapInBraces(t):t},t.prototype.assigns=function(e){var t,n,i,s;for(s=this.properties,n=0,i=s.length;i>n;n++)if(t=s[n],t.assigns(e))return!0;return!1},t}(s),e.Arr=n=function(e){function t(e){this.objects=e||[]}return yt(t,e),t.prototype.children=["objects"],t.prototype.compileNode=function(e){var t,n,i,s,r,o,a;if(!this.objects.length)return[this.makeCode("[]")];if(e.indent+=H,t=U.compileSplattedArray(e,this.objects),t.length)return t;for(t=[],n=function(){var t,n,i,s;for(i=this.objects,s=[],t=0,n=i.length;n>t;t++)r=i[t],s.push(r.compileToFragments(e,C));return s}.call(this),s=o=0,a=n.length;a>o;s=++o)i=n[s],s&&t.push(this.makeCode(", ")),t.push.apply(t,i);return st(t).indexOf("\n")>=0?(t.unshift(this.makeCode("[\n"+e.indent)),t.push(this.makeCode("\n"+this.tab+"]"))):(t.unshift(this.makeCode("[")),t.push(this.makeCode("]"))),t},t.prototype.assigns=function(e){var t,n,i,s;for(s=this.objects,n=0,i=s.length;i>n;n++)if(t=s[n],t.assigns(e))return!0;return!1},t}(s),e.Class=a=function(e){function n(e,t,n){this.variable=e,this.parent=t,this.body=null!=n?n:new r,this.boundFuncs=[],this.body.classBody=!0}return yt(n,e),n.prototype.children=["variable","parent","body"],n.prototype.determineName=function(){var e,n;return this.variable?(e=(n=rt(this.variable.properties))?n instanceof t&&n.name.value:this.variable.base.value,vt.call(B,e)>=0&&this.variable.error("class variable name may not be "+e),e&&(e=m.test(e)&&e)):null},n.prototype.setContext=function(e){return this.body.traverseChildren(!1,function(t){return t.classBody?!1:t instanceof x&&"this"===t.value?t.value=e:t instanceof h&&(t.klass=e,t.bound)?t.context=e:void 0})},n.prototype.addBoundFunctions=function(e){var n,i,s,r,o;for(o=this.boundFuncs,s=0,r=o.length;r>s;s++)n=o[s],i=new K(new x("this"),[new t(n)]).compile(e),this.ctor.body.unshift(new x(""+i+" = "+dt("bind")+"("+i+", this)"))},n.prototype.addProperties=function(e,n,s){var r,o,a,c,l;return l=e.base.properties.slice(0),a=function(){var e;for(e=[];r=l.shift();)r instanceof i&&(o=r.variable.base,delete r.context,c=r.value,"constructor"===o.value?(this.ctor&&r.error("cannot define more than one constructor in a class"),c.bound&&r.error("cannot define a constructor as a bound function"),c instanceof h?r=this.ctor=c:(this.externalCtor=s.scope.freeVariable("class"),r=new i(new x(this.externalCtor),c))):r.variable["this"]?(c["static"]=!0,c.bound&&(c.context=n)):(r.variable=new K(new x(n),[new t(new x("prototype")),new t(o)]),c instanceof h&&c.bound&&(this.boundFuncs.push(o),c.bound=!1))),e.push(r);return e}.call(this),Q(a)},n.prototype.walkBody=function(e,t){var i=this;return this.traverseChildren(!1,function(s){var o,a,c,h,l,u,p;if(o=!0,s instanceof n)return!1;if(s instanceof r){for(p=a=s.expressions,c=l=0,u=p.length;u>l;c=++l)h=p[c],h instanceof K&&h.isObject(!0)&&(o=!1,a[c]=i.addProperties(h,e,t));s.expressions=a=it(a)}return o&&!(s instanceof n)})},n.prototype.hoistDirectivePrologue=function(){var e,t,n;for(t=0,e=this.body.expressions;(n=e[t])&&n instanceof u||n instanceof K&&n.isString();)++t;return this.directives=e.splice(0,t)},n.prototype.ensureConstructor=function(e,t){var n,s,r;return n=!this.ctor,this.ctor||(this.ctor=new h),this.ctor.ctor=this.ctor.name=e,this.ctor.klass=null,this.ctor.noReturn=!0,n?(this.parent&&(r=new x(""+e+".__super__.constructor.apply(this, arguments)")),this.externalCtor&&(r=new x(""+this.externalCtor+".apply(this, arguments)")),r&&(s=new x(t.scope.freeVariable("ref")),this.ctor.body.unshift(new i(s,r))),this.addBoundFunctions(t),r&&(this.ctor.body.push(s),this.ctor.body.makeReturn()),this.body.expressions.unshift(this.ctor)):this.addBoundFunctions(t)},n.prototype.compileNode=function(e){var t,n,s,r,o,a,l;return n=this.determineName(),o=n||"_Class",o.reserved&&(o="_"+o),r=new x(o),this.hoistDirectivePrologue(),this.setContext(o),this.walkBody(o,e),this.ensureConstructor(o,e),this.body.spaced=!0,this.ctor instanceof h||this.body.expressions.unshift(this.ctor),this.body.expressions.push(r),(l=this.body.expressions).unshift.apply(l,this.directives),t=c.wrap(this.body),this.parent&&(this.superClass=new x(e.scope.freeVariable("super",!1)),this.body.expressions.unshift(new d(r,this.superClass)),t.args.push(this.parent),a=t.variable.params||t.variable.base.params,a.push(new I(this.superClass))),s=new _(t,!0),this.variable&&(s=new i(this.variable,s)),s.compileToFragments(e)},n}(s),e.Assign=i=function(e){function n(e,t,n,i){var s,r,o;this.variable=e,this.value=t,this.context=n,this.param=i&&i.param,this.subpattern=i&&i.subpattern,o=r=this.variable.unwrapAll().value,s=vt.call(B,o)>=0,s&&"object"!==this.context&&this.variable.error('variable name may not be "'+r+'"')}return yt(n,e),n.prototype.children=["variable","value"],n.prototype.isStatement=function(e){return(null!=e?e.level:void 0)===N&&null!=this.context&&vt.call(this.context,"?")>=0},n.prototype.assigns=function(e){return this["object"===this.context?"value":"variable"].assigns(e)},n.prototype.unfoldSoak=function(e){return pt(e,this,"variable")},n.prototype.compileNode=function(e){var t,n,i,s,r,o,a,c,l,u,p;if(i=this.variable instanceof K){if(this.variable.isArray()||this.variable.isObject())return this.compilePatternMatch(e);if(this.variable.isSplice())return this.compileSplice(e);if("||="===(c=this.context)||"&&="===c||"?="===c)return this.compileConditional(e)}return n=this.variable.compileToFragments(e,C),r=st(n),this.context||(a=this.variable.unwrapAll(),a.isAssignable()||this.variable.error('"'+this.variable.compile(e)+'" cannot be assigned'),("function"==typeof a.hasProperties?a.hasProperties():void 0)||(this.param?e.scope.add(r,"var"):e.scope.find(r))),this.value instanceof h&&(s=E.exec(r))&&(s[1]&&(this.value.klass=s[1]),this.value.name=null!=(l=null!=(u=null!=(p=s[2])?p:s[3])?u:s[4])?l:s[5]),o=this.value.compileToFragments(e,C),"object"===this.context?n.concat(this.makeCode(": "),o):(t=n.concat(this.makeCode(" "+(this.context||"=")+" "),o),e.level<=C?t:this.wrapInBraces(t))},n.prototype.compilePatternMatch=function(e){var i,s,r,o,a,c,h,l,u,p,d,f,b,k,g,y,w,T,L,E,D,S,R,A,I,O,j,M;if(y=e.level===N,T=this.value,d=this.variable.base.objects,!(f=d.length))return r=T.compileToFragments(e),e.level>=F?this.wrapInBraces(r):r;if(h=this.variable.isObject(),y&&1===f&&!((p=d[0])instanceof U))return p instanceof n?(R=p,A=R.variable,c=A.base,p=R.value):c=h?p["this"]?p.properties[0].name:p:new x(0),i=m.test(c.unwrap().value||0),T=new K(T),T.properties.push(new(i?t:v)(c)),I=p.unwrap().value,vt.call($,I)>=0&&p.error("assignment to a reserved word: "+p.compile(e)),new n(p,T,null,{param:this.param}).compileToFragments(e,N);for(L=T.compileToFragments(e,C),E=st(L),s=[],g=!1,(!m.test(E)||this.variable.assigns(E))&&(s.push([this.makeCode(""+(b=e.scope.freeVariable("ref"))+" = ")].concat(wt.call(L))),L=[this.makeCode(b)],E=b),a=D=0,S=d.length;S>D;a=++D)p=d[a],c=a,h&&(p instanceof n?(O=p,j=O.variable,c=j.base,p=O.value):p.base instanceof _?(M=new K(p.unwrapAll()).cacheReference(e),p=M[0],c=M[1]):c=p["this"]?p.properties[0].name:p),!g&&p instanceof U?(u=p.name.unwrap().value,p=p.unwrap(),w=""+f+" <= "+E+".length ? "+dt("slice")+".call("+E+", "+a,(k=f-a-1)?(l=e.scope.freeVariable("i"),w+=", "+l+" = "+E+".length - "+k+") : ("+l+" = "+a+", [])"):w+=") : []",w=new x(w),g=""+l+"++"):(u=p.unwrap().value,p instanceof U&&p.error("multiple splats are disallowed in an assignment"),"number"==typeof c?(c=new x(g||c),i=!1):i=h&&m.test(c.unwrap().value||0),w=new K(new x(E),[new(i?t:v)(c)])),null!=u&&vt.call($,u)>=0&&p.error("assignment to a reserved word: "+p.compile(e)),s.push(new n(p,w,null,{param:this.param,subpattern:!0}).compileToFragments(e,C)); -return y||this.subpattern||s.push(L),o=this.joinFragmentArrays(s,", "),e.level=0&&(e.isExistentialEquals=!0),new A(this.context.slice(0,-1),t,new n(i,this.value,"=")).compileToFragments(e)},n.prototype.compileSplice=function(e){var t,n,i,s,r,o,a,c,h,l,u,p;return l=this.variable.properties.pop().range,i=l.from,a=l.to,n=l.exclusive,o=this.variable.compile(e),i?(u=this.cacheToCodeFragments(i.cache(e,F)),s=u[0],r=u[1]):s=r="0",a?(null!=i?i.isSimpleNumber():void 0)&&a.isSimpleNumber()?(a=+a.compile(e)-+r,n||(a+=1)):(a=a.compile(e,w)+" - "+r,n||(a+=" + 1")):a="9e9",p=this.value.cache(e,C),c=p[0],h=p[1],t=[].concat(this.makeCode("[].splice.apply("+o+", ["+s+", "+a+"].concat("),c,this.makeCode(")), "),h),e.level>N?this.wrapInBraces(t):t},n}(s),e.Code=h=function(e){function t(e,t,n){this.params=e||[],this.body=t||new r,this.bound="boundfunc"===n,this.bound&&(this.context="_this")}return yt(t,e),t.prototype.children=["params","body"],t.prototype.isStatement=function(){return!!this.ctor},t.prototype.jumps=S,t.prototype.compileNode=function(e){var t,s,r,o,a,c,h,l,u,p,d,f,m,b,k,y,v,T,C,F,L,N,E,D,S,R,I,_,$;for(e.scope=new V(e.scope,this.body,this),e.scope.shared=et(e,"sharedScope"),e.indent+=H,delete e.bare,delete e.isExistentialEquals,u=[],r=[],this.eachParamName(function(t){return e.scope.check(t)?void 0:e.scope.parameter(t)}),S=this.params,k=0,C=S.length;C>k;k++)if(l=S[k],l.splat){for(R=this.params,y=0,F=R.length;F>y;y++)h=R[y].name,h["this"]&&(h=h.properties[0].name),h.value&&e.scope.add(h.value,"var",!0);d=new i(new K(new n(function(){var t,n,i,s;for(i=this.params,s=[],t=0,n=i.length;n>t;t++)h=i[t],s.push(h.asReference(e));return s}.call(this))),new K(new x("arguments")));break}for(I=this.params,v=0,L=I.length;L>v;v++)l=I[v],l.isComplex()?(m=p=l.asReference(e),l.value&&(m=new A("?",p,l.value)),r.push(new i(new K(l.name),m,"=",{param:!0}))):(p=l,l.value&&(c=new x(p.name.value+" == null"),m=new i(new K(l.name),l.value,"="),r.push(new g(c,m)))),d||u.push(p);for(b=this.body.isEmpty(),d&&r.unshift(d),r.length&&(_=this.body.expressions).unshift.apply(_,r),o=T=0,N=u.length;N>T;o=++T)h=u[o],u[o]=h.compileToFragments(e),e.scope.parameter(st(u[o]));for(f=[],this.eachParamName(function(e,t){return vt.call(f,e)>=0&&t.error("multiple parameters named '"+e+"'"),f.push(e)}),b||this.noReturn||this.body.makeReturn(),this.bound&&((null!=($=e.scope.parent.method)?$.bound:void 0)?this.bound=this.context=e.scope.parent.method.context:this["static"]||e.scope.parent.assign("_this","this")),a=e.indent,s="function",this.ctor&&(s+=" "+this.name),s+="(",t=[this.makeCode(s)],o=D=0,E=u.length;E>D;o=++D)h=u[o],o&&t.push(this.makeCode(", ")),t.push.apply(t,h);return t.push(this.makeCode(") {")),this.body.isEmpty()||(t=t.concat(this.makeCode("\n"),this.body.compileWithDeclarations(e),this.makeCode("\n"+this.tab))),t.push(this.makeCode("}")),this.ctor?[this.makeCode(this.tab)].concat(wt.call(t)):this.front||e.level>=w?this.wrapInBraces(t):t},t.prototype.eachParamName=function(e){var t,n,i,s,r;for(s=this.params,r=[],n=0,i=s.length;i>n;n++)t=s[n],r.push(t.eachName(e));return r},t.prototype.traverseChildren=function(e,n){return e?t.__super__.traverseChildren.call(this,e,n):void 0},t}(s),e.Param=I=function(e){function t(e,t,n){var i;this.name=e,this.value=t,this.splat=n,i=e=this.name.unwrapAll().value,vt.call(B,i)>=0&&this.name.error('parameter name "'+e+'" is not allowed')}return yt(t,e),t.prototype.children=["name","value"],t.prototype.compileToFragments=function(e){return this.name.compileToFragments(e,C)},t.prototype.asReference=function(e){var t;return this.reference?this.reference:(t=this.name,t["this"]?(t=t.properties[0].name,t.value.reserved&&(t=new x(e.scope.freeVariable(t.value)))):t.isComplex()&&(t=new x(e.scope.freeVariable("arg"))),t=new K(t),this.splat&&(t=new U(t)),this.reference=t)},t.prototype.isComplex=function(){return this.name.isComplex()},t.prototype.eachName=function(e,t){var n,s,r,o,a,c;if(null==t&&(t=this.name),n=function(t){var n;return n=t.properties[0].name,n.value.reserved?void 0:e(n.value,n)},t instanceof x)return e(t.value,t);if(t instanceof K)return n(t);for(c=t.objects,o=0,a=c.length;a>o;o++)r=c[o],r instanceof i?this.eachName(e,r.value.unwrap()):r instanceof U?(s=r.name.unwrap(),e(s.value,s)):r instanceof K?r.isArray()||r.isObject()?this.eachName(e,r.base):r["this"]?n(r):e(r.base.value,r.base):r.error("illegal parameter "+r.compile())},t}(s),e.Splat=U=function(e){function t(e){this.name=e.compile?e:new x(e)}return yt(t,e),t.prototype.children=["name"],t.prototype.isAssignable=J,t.prototype.assigns=function(e){return this.name.assigns(e)},t.prototype.compileToFragments=function(e){return this.name.compileToFragments(e)},t.prototype.unwrap=function(){return this.name},t.compileSplattedArray=function(e,n,i){var s,r,o,a,c,h,l,u,p,d;for(l=-1;(u=n[++l])&&!(u instanceof t););if(l>=n.length)return[];if(1===n.length)return u=n[0],c=u.compileToFragments(e,C),i?c:[].concat(u.makeCode(""+dt("slice")+".call("),c,u.makeCode(")"));for(s=n.slice(l),h=p=0,d=s.length;d>p;h=++p)u=s[h],o=u.compileToFragments(e,C),s[h]=u instanceof t?[].concat(u.makeCode(""+dt("slice")+".call("),o,u.makeCode(")")):[].concat(u.makeCode("["),o,u.makeCode("]"));return 0===l?(u=n[0],a=u.joinFragmentArrays(s.slice(1),", "),s[0].concat(u.makeCode(".concat("),a,u.makeCode(")"))):(r=function(){var t,i,s,r;for(s=n.slice(0,l),r=[],t=0,i=s.length;i>t;t++)u=s[t],r.push(u.compileToFragments(e,C));return r}(),r=n[0].joinFragmentArrays(r,", "),a=n[l].joinFragmentArrays(s,", "),[].concat(n[0].makeCode("["),r,n[l].makeCode("].concat("),a,rt(n).makeCode(")")))},t}(s),e.While=z=function(e){function t(e,t){this.condition=(null!=t?t.invert:void 0)?e.invert():e,this.guard=null!=t?t.guard:void 0}return yt(t,e),t.prototype.children=["condition","guard","body"],t.prototype.isStatement=J,t.prototype.makeReturn=function(e){return e?t.__super__.makeReturn.apply(this,arguments):(this.returns=!this.jumps({loop:!0}),this)},t.prototype.addBody=function(e){return this.body=e,this},t.prototype.jumps=function(){var e,t,n,i;if(e=this.body.expressions,!e.length)return!1;for(n=0,i=e.length;i>n;n++)if(t=e[n],t.jumps({loop:!0}))return t;return!1},t.prototype.compileNode=function(e){var t,n,i,s;return e.indent+=H,s="",n=this.body,n.isEmpty()?n=this.makeCode(""):(this.returns&&(n.makeReturn(i=e.scope.freeVariable("results")),s=""+this.tab+i+" = [];\n"),this.guard&&(n.expressions.length>1?n.expressions.unshift(new g(new _(this.guard).invert(),new x("continue"))):this.guard&&(n=r.wrap([new g(this.guard,n)]))),n=[].concat(this.makeCode("\n"),n.compileToFragments(e,N),this.makeCode("\n"+this.tab))),t=[].concat(this.makeCode(s+this.tab+"while ("),this.condition.compileToFragments(e,L),this.makeCode(") {"),n,this.makeCode("}")),this.returns&&t.push(this.makeCode("\n"+this.tab+"return "+i+";")),t},t}(s),e.Op=A=function(e){function t(e,t,i,s){if("in"===e)return new y(t,i);if("do"===e)return this.generateDo(t);if("new"===e){if(t instanceof o&&!t["do"]&&!t.isNew)return t.newInstance();(t instanceof h&&t.bound||t["do"])&&(t=new _(t))}return this.operator=n[e]||e,this.first=t,this.second=i,this.flip=!!s,this}var n,s;return yt(t,e),n={"==":"===","!=":"!==",of:"in"},s={"!==":"===","===":"!=="},t.prototype.children=["first","second"],t.prototype.isSimpleNumber=S,t.prototype.isUnary=function(){return!this.second},t.prototype.isComplex=function(){var e;return!(this.isUnary()&&("+"===(e=this.operator)||"-"===e))||this.first.isComplex()},t.prototype.isChainable=function(){var e;return"<"===(e=this.operator)||">"===e||">="===e||"<="===e||"==="===e||"!=="===e},t.prototype.invert=function(){var e,n,i,r,o;if(this.isChainable()&&this.first.isChainable()){for(e=!0,n=this;n&&n.operator;)e&&(e=n.operator in s),n=n.first;if(!e)return new _(this).invert();for(n=this;n&&n.operator;)n.invert=!n.invert,n.operator=s[n.operator],n=n.first;return this}return(r=s[this.operator])?(this.operator=r,this.first.unwrap()instanceof t&&this.first.invert(),this):this.second?new _(this).invert():"!"===this.operator&&(i=this.first.unwrap())instanceof t&&("!"===(o=i.operator)||"in"===o||"instanceof"===o)?i:new t("!",this)},t.prototype.unfoldSoak=function(e){var t;return("++"===(t=this.operator)||"--"===t||"delete"===t)&&pt(e,this,"first")},t.prototype.generateDo=function(e){var t,n,s,r,a,c,l,u;for(r=[],n=e instanceof i&&(a=e.value.unwrap())instanceof h?a:e,u=n.params||[],c=0,l=u.length;l>c;c++)s=u[c],s.value?(r.push(s.value),delete s.value):r.push(s);return t=new o(e,r),t["do"]=!0,t},t.prototype.compileNode=function(e){var t,n,i,s;return n=this.isChainable()&&this.first.isChainable(),n||(this.first.front=this.front),"delete"===this.operator&&e.scope.check(this.first.unwrapAll().value)&&this.error("delete operand may not be argument or var"),("--"===(i=this.operator)||"++"===i)&&(s=this.first.unwrapAll().value,vt.call(B,s)>=0)&&this.error('cannot increment/decrement "'+this.first.unwrapAll().value+'"'),this.isUnary()?this.compileUnary(e):n?this.compileChain(e):"?"===this.operator?this.compileExistence(e):(t=[].concat(this.first.compileToFragments(e,F),this.makeCode(" "+this.operator+" "),this.second.compileToFragments(e,F)),e.level<=F?t:this.wrapInBraces(t))},t.prototype.compileChain=function(e){var t,n,i,s;return s=this.first.second.cache(e),this.first.second=s[0],i=s[1],n=this.first.compileToFragments(e,F),t=n.concat(this.makeCode(" "+(this.invert?"&&":"||")+" "),i.compileToFragments(e),this.makeCode(" "+this.operator+" "),this.second.compileToFragments(e,F)),this.wrapInBraces(t)},t.prototype.compileExistence=function(e){var t,n;return!e.isExistentialEquals&&this.first.isComplex()?(n=new x(e.scope.freeVariable("ref")),t=new _(new i(n,this.first))):(t=this.first,n=t),new g(new p(t),n,{type:"if"}).addElse(this.second).compileToFragments(e)},t.prototype.compileUnary=function(e){var n,i,s;return i=[],n=this.operator,i.push([this.makeCode(n)]),"!"===n&&this.first instanceof p?(this.first.negated=!this.first.negated,this.first.compileToFragments(e)):e.level>=w?new _(this).compileToFragments(e):(s="+"===n||"-"===n,("new"===n||"typeof"===n||"delete"===n||s&&this.first instanceof t&&this.first.operator===n)&&i.push([this.makeCode(" ")]),(s&&this.first instanceof t||"new"===n&&this.first.isStatement(e))&&(this.first=new _(this.first)),i.push(this.first.compileToFragments(e,F)),this.flip&&i.reverse(),this.joinFragmentArrays(i,""))},t.prototype.toString=function(e){return t.__super__.toString.call(this,e,this.constructor.name+" "+this.operator)},t}(s),e.In=y=function(e){function t(e,t){this.object=e,this.array=t}return yt(t,e),t.prototype.children=["object","array"],t.prototype.invert=D,t.prototype.compileNode=function(e){var t,n,i,s,r;if(this.array instanceof K&&this.array.isArray()){for(r=this.array.base.objects,i=0,s=r.length;s>i;i++)if(n=r[i],n instanceof U){t=!0;break}if(!t)return this.compileOrTest(e)}return this.compileLoopTest(e)},t.prototype.compileOrTest=function(e){var t,n,i,s,r,o,a,c,h,l,u,p;if(0===this.array.base.objects.length)return[this.makeCode(""+!!this.negated)];for(l=this.object.cache(e,F),o=l[0],r=l[1],u=this.negated?[" !== "," && "]:[" === "," || "],t=u[0],n=u[1],a=[],p=this.array.base.objects,i=c=0,h=p.length;h>c;i=++c)s=p[i],i&&a.push(this.makeCode(n)),a=a.concat(i?r:o,this.makeCode(t),s.compileToFragments(e,w));return e.level= 0"))),st(i)===st(n)?t:(t=i.concat(this.makeCode(", "),t),e.level+B)||(F=I.freeVariable("len")),a=""+w+y+" = 0, "+F+" = "+P+".length",c=""+w+y+" = "+P+".length - 1",s=""+y+" < "+F,o=""+y+" >= 0",this.step?(B?u&&(s=o,a=c):(s=""+V+" > 0 ? "+s+" : "+o,a="("+V+" > 0 ? ("+a+") : "+c+")"),b=""+y+" += "+V):b=""+(v!==y?"++"+y:""+y+"++"),p=[this.makeCode(""+a+"; "+s+"; "+w+b)])),this.returns&&(S=""+this.tab+A+" = [];\n",R="\n"+this.tab+"return "+A+";",t.makeReturn(A)),this.guard&&(t.expressions.length>1?t.expressions.unshift(new g(new _(this.guard).invert(),new x("continue"))):this.guard&&(t=r.wrap([new g(this.guard,t)]))),this.pattern&&t.expressions.unshift(new i(this.name,new x(""+P+"["+v+"]"))),l=[].concat(this.makeCode(h),this.pluckDirectCall(e,t)),E&&(U="\n"+f+E+";"),this.object&&(p=[this.makeCode(""+v+" in "+P)],this.own&&(d="\n"+f+"if (!"+dt("hasProp")+".call("+P+", "+v+")) continue;")),n=t.compileToFragments(at(e,{indent:f}),N),n&&n.length>0&&(n=[].concat(this.makeCode("\n"),n,this.makeCode("\n"))),[].concat(l,this.makeCode(""+(S||"")+this.tab+"for ("),p,this.makeCode(") {"+d+U),n,this.makeCode(""+this.tab+"}"+(R||"")))},t.prototype.pluckDirectCall=function(e,t){var n,s,r,a,c,l,u,p,d,f,m,b,k,g,y;for(s=[],f=t.expressions,c=p=0,d=f.length;d>p;c=++p)r=f[c],r=r.unwrapAll(),r instanceof o&&(u=r.variable.unwrapAll(),(u instanceof h||u instanceof K&&(null!=(m=u.base)?m.unwrapAll():void 0)instanceof h&&1===u.properties.length&&("call"===(b=null!=(k=u.properties[0].name)?k.value:void 0)||"apply"===b))&&(a=(null!=(g=u.base)?g.unwrapAll():void 0)||u,l=new x(e.scope.freeVariable("fn")),n=new K(l),u.base&&(y=[n,u],u.base=y[0],n=y[1]),t.expressions[c]=new o(n,r.args),s=s.concat(this.makeCode(this.tab),new i(l,a).compileToFragments(e,N),this.makeCode(";\n"))));return s},t}(z),e.Switch=q=function(e){function t(e,t,n){this.subject=e,this.cases=t,this.otherwise=n}return yt(t,e),t.prototype.children=["subject","cases","otherwise"],t.prototype.isStatement=J,t.prototype.jumps=function(e){var t,n,i,s,r,o,a;for(null==e&&(e={block:!0}),r=this.cases,i=0,s=r.length;s>i;i++)if(o=r[i],n=o[0],t=o[1],t.jumps(e))return t;return null!=(a=this.otherwise)?a.jumps(e):void 0},t.prototype.makeReturn=function(e){var t,n,i,s,o;for(s=this.cases,n=0,i=s.length;i>n;n++)t=s[n],t[1].makeReturn(e);return e&&(this.otherwise||(this.otherwise=new r([new x("void 0")]))),null!=(o=this.otherwise)&&o.makeReturn(e),this},t.prototype.compileNode=function(e){var t,n,i,s,r,o,a,c,h,l,u,p,d,f,m,b;for(c=e.indent+H,h=e.indent=c+H,o=[].concat(this.makeCode(this.tab+"switch ("),this.subject?this.subject.compileToFragments(e,L):this.makeCode("false"),this.makeCode(") {\n")),f=this.cases,a=l=0,p=f.length;p>l;a=++l){for(m=f[a],s=m[0],t=m[1],b=it([s]),u=0,d=b.length;d>u;u++)i=b[u],this.subject||(i=i.invert()),o=o.concat(this.makeCode(c+"case "),i.compileToFragments(e,L),this.makeCode(":\n"));if((n=t.compileToFragments(e,N)).length>0&&(o=o.concat(n,this.makeCode("\n"))),a===this.cases.length-1&&!this.otherwise)break;r=this.lastNonComment(t.expressions),r instanceof j||r instanceof x&&r.jumps()&&"debugger"!==r.value||o.push(i.makeCode(h+"break;\n"))}return this.otherwise&&this.otherwise.expressions.length&&o.push.apply(o,[this.makeCode(c+"default:\n")].concat(wt.call(this.otherwise.compileToFragments(e,N)),[this.makeCode("\n")])),o.push(this.makeCode(this.tab+"}")),o},t}(s),e.If=g=function(e){function t(e,t,n){this.body=t,null==n&&(n={}),this.condition="unless"===n.type?e.invert():e,this.elseBody=null,this.isChain=!1,this.soak=n.soak}return yt(t,e),t.prototype.children=["condition","body","elseBody"],t.prototype.bodyNode=function(){var e;return null!=(e=this.body)?e.unwrap():void 0},t.prototype.elseBodyNode=function(){var e;return null!=(e=this.elseBody)?e.unwrap():void 0},t.prototype.addElse=function(e){return this.isChain?this.elseBodyNode().addElse(e):(this.isChain=e instanceof t,this.elseBody=this.ensureBlock(e)),this},t.prototype.isStatement=function(e){var t;return(null!=e?e.level:void 0)===N||this.bodyNode().isStatement(e)||(null!=(t=this.elseBodyNode())?t.isStatement(e):void 0)},t.prototype.jumps=function(e){var t;return this.body.jumps(e)||(null!=(t=this.elseBody)?t.jumps(e):void 0)},t.prototype.compileNode=function(e){return this.isStatement(e)?this.compileStatement(e):this.compileExpression(e)},t.prototype.makeReturn=function(e){return e&&(this.elseBody||(this.elseBody=new r([new x("void 0")]))),this.body&&(this.body=new r([this.body.makeReturn(e)])),this.elseBody&&(this.elseBody=new r([this.elseBody.makeReturn(e)])),this},t.prototype.ensureBlock=function(e){return e instanceof r?e:new r([e])},t.prototype.compileStatement=function(e){var n,i,s,r,o,a,c;return s=et(e,"chainChild"),(o=et(e,"isExistentialEquals"))?new t(this.condition.invert(),this.elseBodyNode(),{type:"if"}).compileToFragments(e):(c=e.indent+H,r=this.condition.compileToFragments(e,L),i=this.ensureBlock(this.body).compileToFragments(at(e,{indent:c})),a=[].concat(this.makeCode("if ("),r,this.makeCode(") {\n"),i,this.makeCode("\n"+this.tab+"}")),s||a.unshift(this.makeCode(this.tab)),this.elseBody?(n=a.concat(this.makeCode(" else ")),this.isChain?(e.chainChild=!0,n=n.concat(this.elseBody.unwrap().compileToFragments(e,N))):n=n.concat(this.makeCode("{\n"),this.elseBody.compileToFragments(at(e,{indent:c}),N),this.makeCode("\n"+this.tab+"}")),n):a)},t.prototype.compileExpression=function(e){var t,n,i,s;return i=this.condition.compileToFragments(e,T),n=this.bodyNode().compileToFragments(e,C),t=this.elseBodyNode()?this.elseBodyNode().compileToFragments(e,C):[this.makeCode("void 0")],s=i.concat(this.makeCode(" ? "),n,this.makeCode(" : "),t),e.level>=T?this.wrapInBraces(s):s},t.prototype.unfoldSoak=function(){return this.soak&&this},t}(s),c={wrap:function(e,n,i){var s,a,c,l,u;return e.jumps()?e:(l=new h([],r.wrap([e])),s=[],a=e.contains(this.isLiteralArguments),a&&e.classBody&&a.error("Class bodies shouldn't reference arguments"),(a||e.contains(this.isLiteralThis))&&(u=new x(a?"apply":"call"),s=[new x("this")],a&&s.push(new x("arguments")),l=new K(l,[new t(u)])),l.noReturn=i,c=new o(l,s),n?r.wrap([c]):c)},isLiteralArguments:function(e){return e instanceof x&&"arguments"===e.value&&!e.asKey},isLiteralThis:function(e){return e instanceof x&&"this"===e.value&&!e.asKey||e instanceof h&&e.bound||e instanceof o&&e.isSuper}},pt=function(e,t,n){var i;if(i=t[n].unfoldSoak(e))return t[n]=i.body,i.body=new K(t),i},Y={"extends":function(){return"function(child, parent) { for (var key in parent) { if ("+dt("hasProp")+".call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }"},bind:function(){return"function(fn, me){ return function(){ return fn.apply(me, arguments); }; }"},indexOf:function(){return"[].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }"},hasProp:function(){return"{}.hasOwnProperty"},slice:function(){return"[].slice"}},N=1,L=2,C=3,T=4,F=5,w=6,H=" ",b="[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*",m=RegExp("^"+b+"$"),M=/^[+-]?\d+$/,E=RegExp("^(?:("+b+")\\.prototype(?:\\.("+b+")|\\[(\"(?:[^\\\\\"\\r\\n]|\\\\.)*\"|'(?:[^\\\\'\\r\\n]|\\\\.)*')\\]|\\[(0x[\\da-fA-F]+|\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\]))|("+b+")$"),k=/^['"]/,dt=function(e){var t;return t="__"+e,V.root.assign(t,Y[e]()),t},ct=function(e,t){return e=e.replace(/\n/g,"$&"+t),e.replace(/\s+$/,"")}}.call(this),t.exports}(),require["./sourcemap"]=function(){var e={},t={exports:e};return function(){var e,n;e=function(){function e(e){this.line=e,this.columns=[]}return e.prototype.add=function(e,t,n){var i,s;return s=t[0],i=t[1],null==n&&(n={}),this.columns[e]&&n.noReplace?void 0:this.columns[e]={line:this.line,column:e,sourceLine:s,sourceColumn:i}},e.prototype.sourceLocation=function(e){for(var t;!((t=this.columns[e])||0>=e);)e--;return t&&[t.sourceLine,t.sourceColumn]},e}(),n=function(){function t(){this.lines=[]}var n,i,s,r;return t.prototype.add=function(t,n,i){var s,r,o,a;return null==i&&(i={}),r=n[0],s=n[1],o=(a=this.lines)[r]||(a[r]=new e(r)),o.add(s,t,i)},t.prototype.sourceLocation=function(e){var t,n,i;for(n=e[0],t=e[1];!((i=this.lines[n])||0>=n);)n--;return i&&i.sourceLocation(t)},t.prototype.generate=function(e,t){var n,i,s,r,o,a,c,h,l,u,p,d,f,m,b,k;for(null==e&&(e={}),null==t&&(t=null),u=0,i=0,r=0,s=0,h=!1,n="",b=this.lines,a=p=0,f=b.length;f>p;a=++p)if(o=b[a])for(k=o.columns,d=0,m=k.length;m>d;d++)if(c=k[d]){for(;ue?1:0,a=(Math.abs(e)<<1)+o;a||!t;)n=a&r,a>>=s,a&&(n|=i),t+=this.encodeBase64(n);return t},n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t.prototype.encodeBase64=function(e){return n[e]||function(){throw new Error("Cannot Base64 encode value: "+e)}()},t}(),t.exports=n}.call(this),t.exports}(),require["./coffee-script"]=function(){var e={},t={exports:e};return function(){var t,n,i,s,r,o,a,c,h,l,u,p,d,f,m,b,k,g,y,v,w,T,C={}.hasOwnProperty;if(l=require("fs"),y=require("vm"),k=require("path"),s=require("child_process"),t=require("./lexer").Lexer,f=require("./parser").parser,u=require("./helpers"),i=require("./sourcemap"),e.VERSION="1.6.3",e.helpers=u,e.compile=r=function(e,t){var n,s,r,o,a,c,h,l,d,m,b,k;for(null==t&&(t={}),d=u.merge,t.sourceMap&&(l=new i),a=f.parse(p.tokenize(e,t)).compileToFragments(t),r=0,t.header&&(r+=1),t.shiftLine&&(r+=1),s=0,h="",b=0,k=a.length;k>b;b++)o=a[b],t.sourceMap&&(o.locationData&&l.add([o.locationData.first_line,o.locationData.first_column],[r,s],{noReplace:!0}),m=u.count(o.code,"\n"),r+=m,s=o.code.length-(m?o.code.lastIndexOf("\n"):0)),h+=o.code;return t.header&&(c="Generated by CoffeeScript "+this.VERSION,h="// "+c+"\n"+h),t.sourceMap?(n={js:h},n.sourceMap=l,n.v3SourceMap=l.generate(t,e),n):h},e.tokens=function(e,t){return p.tokenize(e,t)},e.nodes=function(e,t){return"string"==typeof e?f.parse(p.tokenize(e,t)):f.parse(e)},e.run=function(e,t){var n,i;return null==t&&(t={}),i=require.main,null==t.sourceMap&&(t.sourceMap=!0),i.filename=process.argv[1]=t.filename?l.realpathSync(t.filename):".",i.moduleCache&&(i.moduleCache={}),i.paths=require("module")._nodeModulePaths(k.dirname(l.realpathSync(t.filename||"."))),!u.isCoffee(i.filename)||require.extensions?(n=r(e,t),m(),g[i.filename]=n.sourceMap,i._compile(n.js,i.filename)):i._compile(e,i.filename)},e.eval=function(e,t){var n,i,s,o,a,c,h,l,u,p,d,f,m,b;if(null==t&&(t={}),e=e.trim()){if(i=y.Script){if(null!=t.sandbox){if(t.sandbox instanceof i.createContext().constructor)h=t.sandbox;else{h=i.createContext(),f=t.sandbox;for(o in f)C.call(f,o)&&(l=f[o],h[o]=l)}h.global=h.root=h.GLOBAL=h}else h=global;if(h.__filename=t.filename||"eval",h.__dirname=k.dirname(h.__filename),h===global&&!h.module&&!h.require){for(n=require("module"),h.module=d=new n(t.modulename||"eval"),h.require=b=function(e){return n._load(e,d,!0)},d.filename=h.__filename,m=Object.getOwnPropertyNames(require),u=0,p=m.length;p>u;u++)c=m[u],"paths"!==c&&(b[c]=require[c]);b.paths=d.paths=n._nodeModulePaths(process.cwd()),b.resolve=function(e){return n._resolveFilename(e,d)}}}a={};for(o in t)C.call(t,o)&&(l=t[o],a[o]=l);return a.bare=!0,s=r(e,a),h===global?y.runInThisContext(s):y.runInContext(s,h)}},d=function(e,t){var n,i,s;return i=l.readFileSync(t,"utf8"),s=65279===i.charCodeAt(0)?i.substring(1):i,n=r(s,{filename:t,sourceMap:!0,literate:u.isLiterate(t)}),g[t]=n.sourceMap,e._compile(n.js,t)},require.extensions){for(T=[".coffee",".litcoffee",".coffee.md"],v=0,w=T.length;w>v;v++)o=T[v],require.extensions[o]=d;n=require("module"),a=function(e){var t,i;for(i=k.basename(e).split("."),""===i[0]&&i.shift();i.shift();)if(t="."+i.join("."),n._extensions[t])return t;return".js"},n.prototype.load=function(e){var t;return this.filename=e,this.paths=n._nodeModulePaths(k.dirname(e)),t=a(e),n._extensions[t](this,e),this.loaded=!0}}s&&(c=s.fork,s.fork=function(e,t,n){var i;return null==t&&(t=[]),null==n&&(n={}),i=u.isCoffee(e)?"coffee":null,Array.isArray(t)||(t=[],n=t||{}),n.execPath||(n.execPath=i),c(e,t,n)}),p=new t,f.lexer={lex:function(){var e,t;return t=this.tokens[this.pos++],t?(e=t[0],this.yytext=t[1],this.yylloc=t[2],this.yylineno=this.yylloc.first_line):e="",e},setInput:function(e){return this.tokens=e,this.pos=0},upcomingInput:function(){return""}},f.yy=require("./nodes"),f.yy.parseError=function(e,t){var n;return n=t.token,e="unexpected "+(1===n?"end of input":n),u.throwSyntaxError(e,f.lexer.yylloc)},b=!1,g={},m=function(){var t;if(!b)return b=!0,t=require.main,Error.prepareStackTrace=function(t,n){var i,s,r,o,a;return o={},r=function(e,t,n){var i,s;return s=g[e],s&&(i=s.sourceLocation([t-1,n-1])),i?[i[0]+1,i[1]+1]:null},s=function(){var t,s,o;for(o=[],t=0,s=n.length;s>t&&(i=n[t],i.getFunction()!==e.run);t++)o.push(" at "+h(i,r));return o}(),""+t.name+": "+(null!=(a=t.message)?a:"")+"\n"+s.join("\n")+"\n"}},h=function(e,t){var n,i,s,r,o,a,c,h,l,u,p,d;return r=void 0,s="",e.isNative()?s="native":(e.isEval()?(r=e.getScriptNameOrSourceURL(),r||(s=""+e.getEvalOrigin()+", ")):r=e.getFileName(),r||(r=""),h=e.getLineNumber(),i=e.getColumnNumber(),u=t(r,h,i),s=u?""+r+":"+u[0]+":"+u[1]+", :"+h+":"+i:""+r+":"+h+":"+i),o=e.getFunctionName(),a=e.isConstructor(),c=!(e.isToplevel()||a),c?(l=e.getMethodName(),d=e.getTypeName(),o?(p=n="",d&&o.indexOf(d)&&(p=""+d+"."),l&&o.indexOf("."+l)!==o.length-l.length-1&&(n=" [as "+l+"]"),""+p+o+n+" ("+s+")"):""+d+"."+(l||"")+" ("+s+")"):a?"new "+(o||"")+" ("+s+")":o?""+o+" ("+s+")":s}}.call(this),t.exports}(),require["./browser"]=function(){var exports={},module={exports:exports};return function(){var CoffeeScript,compile,runScripts,__indexOf=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1};CoffeeScript=require("./coffee-script"),CoffeeScript.require=require,compile=CoffeeScript.compile,CoffeeScript.eval=function(code,options){return null==options&&(options={}),null==options.bare&&(options.bare=!0),eval(compile(code,options))},CoffeeScript.run=function(e,t){return null==t&&(t={}),t.bare=!0,t.shiftLine=!0,Function(compile(e,t))()},"undefined"!=typeof window&&null!==window&&("undefined"!=typeof btoa&&null!==btoa&&"undefined"!=typeof JSON&&null!==JSON&&"undefined"!=typeof unescape&&null!==unescape&&"undefined"!=typeof encodeURIComponent&&null!==encodeURIComponent&&(compile=function(e,t){var n,i,s;return null==t&&(t={}),t.sourceMap=!0,t.inline=!0,s=CoffeeScript.compile(e,t),n=s.js,i=s.v3SourceMap,""+n+"\n//@ sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(i)))+"\n//@ sourceURL=coffeescript"}),CoffeeScript.load=function(e,t,n){var i;return null==n&&(n={}),n.sourceFiles=[e],i=window.ActiveXObject?new window.ActiveXObject("Microsoft.XMLHTTP"):new window.XMLHttpRequest,i.open("GET",e,!0),"overrideMimeType"in i&&i.overrideMimeType("text/plain"),i.onreadystatechange=function(){var s;if(4===i.readyState){if(0!==(s=i.status)&&200!==s)throw new Error("Could not load "+e);if(CoffeeScript.run(i.responseText,n),t)return t()}},i.send(null)},runScripts=function(){var e,t,n,i,s,r,o;return o=window.document.getElementsByTagName("script"),t=["text/coffeescript","text/literate-coffeescript"],e=function(){var e,n,i,s; -for(s=[],e=0,n=o.length;n>e;e++)r=o[e],i=r.type,__indexOf.call(t,i)>=0&&s.push(r);return s}(),i=0,s=e.length,(n=function(){var s,r,o;return o=e[i++],s=null!=o?o.type:void 0,__indexOf.call(t,s)>=0?(r={literate:"text/literate-coffeescript"===s},o.src?CoffeeScript.load(o.src,n,r):(r.sourceFiles=["embedded"],CoffeeScript.run(o.innerHTML,r),n())):void 0})(),null},window.addEventListener?window.addEventListener("DOMContentLoaded",runScripts,!1):window.attachEvent("onload",runScripts))}.call(this),module.exports}(),require["./coffee-script"]}();"function"==typeof define&&define.amd?define(function(){return CoffeeScript}):root.CoffeeScript=CoffeeScript}(this); \ No newline at end of file diff --git a/examples/lib/moment.min.js b/examples/lib/moment.min.js deleted file mode 100644 index 62b1697..0000000 --- a/examples/lib/moment.min.js +++ /dev/null @@ -1,6 +0,0 @@ -// moment.js -// version : 2.1.0 -// author : Tim Wood -// license : MIT -// momentjs.com -!function(t){function e(t,e){return function(n){return u(t.call(this,n),e)}}function n(t,e){return function(n){return this.lang().ordinal(t.call(this,n),e)}}function s(){}function i(t){a(this,t)}function r(t){var e=t.years||t.year||t.y||0,n=t.months||t.month||t.M||0,s=t.weeks||t.week||t.w||0,i=t.days||t.day||t.d||0,r=t.hours||t.hour||t.h||0,a=t.minutes||t.minute||t.m||0,o=t.seconds||t.second||t.s||0,u=t.milliseconds||t.millisecond||t.ms||0;this._input=t,this._milliseconds=u+1e3*o+6e4*a+36e5*r,this._days=i+7*s,this._months=n+12*e,this._data={},this._bubble()}function a(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function o(t){return 0>t?Math.ceil(t):Math.floor(t)}function u(t,e){for(var n=t+"";n.lengthn;n++)~~t[n]!==~~e[n]&&r++;return r+i}function f(t){return t?ie[t]||t.toLowerCase().replace(/(.)s$/,"$1"):t}function l(t,e){return e.abbr=t,x[t]||(x[t]=new s),x[t].set(e),x[t]}function _(t){if(!t)return H.fn._lang;if(!x[t]&&A)try{require("./lang/"+t)}catch(e){return H.fn._lang}return x[t]}function m(t){return t.match(/\[.*\]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function y(t){var e,n,s=t.match(E);for(e=0,n=s.length;n>e;e++)s[e]=ue[s[e]]?ue[s[e]]:m(s[e]);return function(i){var r="";for(e=0;n>e;e++)r+=s[e]instanceof Function?s[e].call(i,t):s[e];return r}}function M(t,e){function n(e){return t.lang().longDateFormat(e)||e}for(var s=5;s--&&N.test(e);)e=e.replace(N,n);return re[e]||(re[e]=y(e)),re[e](t)}function g(t,e){switch(t){case"DDDD":return V;case"YYYY":return X;case"YYYYY":return $;case"S":case"SS":case"SSS":case"DDD":return I;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return R;case"a":case"A":return _(e._l)._meridiemParse;case"X":return B;case"Z":case"ZZ":return j;case"T":return q;case"MM":case"DD":case"YY":case"HH":case"hh":case"mm":case"ss":case"M":case"D":case"d":case"H":case"h":case"m":case"s":return J;default:return new RegExp(t.replace("\\",""))}}function p(t){var e=(j.exec(t)||[])[0],n=(e+"").match(ee)||["-",0,0],s=+(60*n[1])+~~n[2];return"+"===n[0]?-s:s}function D(t,e,n){var s,i=n._a;switch(t){case"M":case"MM":i[1]=null==e?0:~~e-1;break;case"MMM":case"MMMM":s=_(n._l).monthsParse(e),null!=s?i[1]=s:n._isValid=!1;break;case"D":case"DD":case"DDD":case"DDDD":null!=e&&(i[2]=~~e);break;case"YY":i[0]=~~e+(~~e>68?1900:2e3);break;case"YYYY":case"YYYYY":i[0]=~~e;break;case"a":case"A":n._isPm=_(n._l).isPM(e);break;case"H":case"HH":case"h":case"hh":i[3]=~~e;break;case"m":case"mm":i[4]=~~e;break;case"s":case"ss":i[5]=~~e;break;case"S":case"SS":case"SSS":i[6]=~~(1e3*("0."+e));break;case"X":n._d=new Date(1e3*parseFloat(e));break;case"Z":case"ZZ":n._useUTC=!0,n._tzm=p(e)}null==e&&(n._isValid=!1)}function Y(t){var e,n,s=[];if(!t._d){for(e=0;7>e;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];s[3]+=~~((t._tzm||0)/60),s[4]+=~~((t._tzm||0)%60),n=new Date(0),t._useUTC?(n.setUTCFullYear(s[0],s[1],s[2]),n.setUTCHours(s[3],s[4],s[5],s[6])):(n.setFullYear(s[0],s[1],s[2]),n.setHours(s[3],s[4],s[5],s[6])),t._d=n}}function w(t){var e,n,s=t._f.match(E),i=t._i;for(t._a=[],e=0;eo&&(u=o,s=n);a(t,s)}function v(t){var e,n=t._i,s=K.exec(n);if(s){for(t._f="YYYY-MM-DD"+(s[2]||" "),e=0;4>e;e++)if(te[e][1].exec(n)){t._f+=te[e][0];break}j.exec(n)&&(t._f+=" Z"),w(t)}else t._d=new Date(n)}function T(e){var n=e._i,s=G.exec(n);n===t?e._d=new Date:s?e._d=new Date(+s[1]):"string"==typeof n?v(e):d(n)?(e._a=n.slice(0),Y(e)):e._d=n instanceof Date?new Date(+n):new Date(n)}function b(t,e,n,s,i){return i.relativeTime(e||1,!!n,t,s)}function S(t,e,n){var s=W(Math.abs(t)/1e3),i=W(s/60),r=W(i/60),a=W(r/24),o=W(a/365),u=45>s&&["s",s]||1===i&&["m"]||45>i&&["mm",i]||1===r&&["h"]||22>r&&["hh",r]||1===a&&["d"]||25>=a&&["dd",a]||45>=a&&["M"]||345>a&&["MM",W(a/30)]||1===o&&["y"]||["yy",o];return u[2]=e,u[3]=t>0,u[4]=n,b.apply({},u)}function F(t,e,n){var s,i=n-e,r=n-t.day();return r>i&&(r-=7),i-7>r&&(r+=7),s=H(t).add("d",r),{week:Math.ceil(s.dayOfYear()/7),year:s.year()}}function O(t){var e=t._i,n=t._f;return null===e||""===e?null:("string"==typeof e&&(t._i=e=_().preparse(e)),H.isMoment(e)?(t=a({},e),t._d=new Date(+e._d)):n?d(n)?k(t):w(t):T(t),new i(t))}function z(t,e){H.fn[t]=H.fn[t+"s"]=function(t){var n=this._isUTC?"UTC":"";return null!=t?(this._d["set"+n+e](t),H.updateOffset(this),this):this._d["get"+n+e]()}}function C(t){H.duration.fn[t]=function(){return this._data[t]}}function L(t,e){H.duration.fn["as"+t]=function(){return+this/e}}for(var H,P,U="2.1.0",W=Math.round,x={},A="undefined"!=typeof module&&module.exports,G=/^\/?Date\((\-?\d+)/i,Z=/(\-)?(\d*)?\.?(\d+)\:(\d+)\:(\d+)\.?(\d{3})?/,E=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|SS?S?|X|zz?|ZZ?|.)/g,N=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,J=/\d\d?/,I=/\d{1,3}/,V=/\d{3}/,X=/\d{1,4}/,$=/[+\-]?\d{1,6}/,R=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,j=/Z|[\+\-]\d\d:?\d\d/i,q=/T/i,B=/[\+\-]?\d+(\.\d{1,3})?/,K=/^\s*\d{4}-\d\d-\d\d((T| )(\d\d(:\d\d(:\d\d(\.\d\d?\d?)?)?)?)?([\+\-]\d\d:?\d\d)?)?/,Q="YYYY-MM-DDTHH:mm:ssZ",te=[["HH:mm:ss.S",/(T| )\d\d:\d\d:\d\d\.\d{1,3}/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],ee=/([\+\-]|\d\d)/gi,ne="Date|Hours|Minutes|Seconds|Milliseconds".split("|"),se={Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6},ie={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",w:"week",M:"month",y:"year"},re={},ae="DDD w W M D d".split(" "),oe="M D H h m s w W".split(" "),ue={M:function(){return this.month()+1},MMM:function(t){return this.lang().monthsShort(this,t)},MMMM:function(t){return this.lang().months(this,t)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(t){return this.lang().weekdaysMin(this,t)},ddd:function(t){return this.lang().weekdaysShort(this,t)},dddd:function(t){return this.lang().weekdays(this,t)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return u(this.year()%100,2)},YYYY:function(){return u(this.year(),4)},YYYYY:function(){return u(this.year(),5)},gg:function(){return u(this.weekYear()%100,2)},gggg:function(){return this.weekYear()},ggggg:function(){return u(this.weekYear(),5)},GG:function(){return u(this.isoWeekYear()%100,2)},GGGG:function(){return this.isoWeekYear()},GGGGG:function(){return u(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return~~(this.milliseconds()/100)},SS:function(){return u(~~(this.milliseconds()/10),2)},SSS:function(){return u(this.milliseconds(),3)},Z:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+u(~~(t/60),2)+":"+u(~~t%60,2)},ZZ:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+u(~~(10*t/6),4)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()}};ae.length;)P=ae.pop(),ue[P+"o"]=n(ue[P],P);for(;oe.length;)P=oe.pop(),ue[P+P]=e(ue[P],2);for(ue.DDDD=e(ue.DDD,3),s.prototype={set:function(t){var e,n;for(n in t)e=t[n],"function"==typeof e?this[n]=e:this["_"+n]=e},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(t){return this._months[t.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(t){return this._monthsShort[t.month()]},monthsParse:function(t){var e,n,s;for(this._monthsParse||(this._monthsParse=[]),e=0;12>e;e++)if(this._monthsParse[e]||(n=H([2e3,e]),s="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[e]=new RegExp(s.replace(".",""),"i")),this._monthsParse[e].test(t))return e},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(t){return this._weekdays[t.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(t){return this._weekdaysShort[t.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(t){return this._weekdaysMin[t.day()]},weekdaysParse:function(t){var e,n,s;for(this._weekdaysParse||(this._weekdaysParse=[]),e=0;7>e;e++)if(this._weekdaysParse[e]||(n=H([2e3,1]).day(e),s="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[e]=new RegExp(s.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D YYYY",LLL:"MMMM D YYYY LT",LLLL:"dddd, MMMM D YYYY LT"},longDateFormat:function(t){var e=this._longDateFormat[t];return!e&&this._longDateFormat[t.toUpperCase()]&&(e=this._longDateFormat[t.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t]=e),e},isPM:function(t){return"p"===(t+"").toLowerCase()[0]},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(t,e){var n=this._calendar[t];return"function"==typeof n?n.apply(e):n},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(t,e,n,s){var i=this._relativeTime[n];return"function"==typeof i?i(t,e,n,s):i.replace(/%d/i,t)},pastFuture:function(t,e){var n=this._relativeTime[t>0?"future":"past"];return"function"==typeof n?n(e):n.replace(/%s/i,e)},ordinal:function(t){return this._ordinal.replace("%d",t)},_ordinal:"%d",preparse:function(t){return t},postformat:function(t){return t},week:function(t){return F(t,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6}},H=function(t,e,n){return O({_i:t,_f:e,_l:n,_isUTC:!1})},H.utc=function(t,e,n){return O({_useUTC:!0,_isUTC:!0,_l:n,_i:t,_f:e})},H.unix=function(t){return H(1e3*t)},H.duration=function(t,e){var n,s,i=H.isDuration(t),a="number"==typeof t,o=i?t._input:a?{}:t,u=Z.exec(t);return a?e?o[e]=t:o.milliseconds=t:u&&(n="-"===u[1]?-1:1,o={y:0,d:~~u[2]*n,h:~~u[3]*n,m:~~u[4]*n,s:~~u[5]*n,ms:~~u[6]*n}),s=new r(o),i&&t.hasOwnProperty("_lang")&&(s._lang=t._lang),s},H.version=U,H.defaultFormat=Q,H.updateOffset=function(){},H.lang=function(t,e){return t?(e?l(t,e):x[t]||_(t),H.duration.fn._lang=H.fn._lang=_(t),void 0):H.fn._lang._abbr},H.langData=function(t){return t&&t._lang&&t._lang._abbr&&(t=t._lang._abbr),_(t)},H.isMoment=function(t){return t instanceof i},H.isDuration=function(t){return t instanceof r},H.fn=i.prototype={clone:function(){return H(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){return M(H(this).utc(),"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){var t=this;return[t.year(),t.month(),t.date(),t.hours(),t.minutes(),t.seconds(),t.milliseconds()]},isValid:function(){return null==this._isValid&&(this._isValid=this._a?!c(this._a,(this._isUTC?H.utc(this._a):H(this._a)).toArray()):!isNaN(this._d.getTime())),!!this._isValid},utc:function(){return this.zone(0)},local:function(){return this.zone(0),this._isUTC=!1,this},format:function(t){var e=M(this,t||H.defaultFormat);return this.lang().postformat(e)},add:function(t,e){var n;return n="string"==typeof t?H.duration(+e,t):H.duration(t,e),h(this,n,1),this},subtract:function(t,e){var n;return n="string"==typeof t?H.duration(+e,t):H.duration(t,e),h(this,n,-1),this},diff:function(t,e,n){var s,i,r=this._isUTC?H(t).zone(this._offset||0):H(t).local(),a=6e4*(this.zone()-r.zone());return e=f(e),"year"===e||"month"===e?(s=432e5*(this.daysInMonth()+r.daysInMonth()),i=12*(this.year()-r.year())+(this.month()-r.month()),i+=(this-H(this).startOf("month")-(r-H(r).startOf("month")))/s,i-=6e4*(this.zone()-H(this).startOf("month").zone()-(r.zone()-H(r).startOf("month").zone()))/s,"year"===e&&(i/=12)):(s=this-r,i="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-a)/864e5:"week"===e?(s-a)/6048e5:s),n?i:o(i)},from:function(t,e){return H.duration(this.diff(t)).lang(this.lang()._abbr).humanize(!e)},fromNow:function(t){return this.from(H(),t)},calendar:function(){var t=this.diff(H().startOf("day"),"days",!0),e=-6>t?"sameElse":-1>t?"lastWeek":0>t?"lastDay":1>t?"sameDay":2>t?"nextDay":7>t?"nextWeek":"sameElse";return this.format(this.lang().calendar(e,this))},isLeapYear:function(){var t=this.year();return 0===t%4&&0!==t%100||0===t%400},isDST:function(){return this.zone()+H(t).startOf(e)},isBefore:function(t,e){return e="undefined"!=typeof e?e:"millisecond",+this.clone().startOf(e)<+H(t).startOf(e)},isSame:function(t,e){return e="undefined"!=typeof e?e:"millisecond",+this.clone().startOf(e)===+H(t).startOf(e)},min:function(t){return t=H.apply(null,arguments),this>t?this:t},max:function(t){return t=H.apply(null,arguments),t>this?this:t},zone:function(t){var e=this._offset||0;return null==t?this._isUTC?e:this._d.getTimezoneOffset():("string"==typeof t&&(t=p(t)),Math.abs(t)<16&&(t=60*t),this._offset=t,this._isUTC=!0,e!==t&&h(this,H.duration(e-t,"m"),1,!0),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},daysInMonth:function(){return H.utc([this.year(),this.month()+1,0]).date()},dayOfYear:function(t){var e=W((H(this).startOf("day")-H(this).startOf("year"))/864e5)+1;return null==t?e:this.add("d",t-e)},weekYear:function(t){var e=F(this,this.lang()._week.dow,this.lang()._week.doy).year;return null==t?e:this.add("y",t-e)},isoWeekYear:function(t){var e=F(this,1,4).year;return null==t?e:this.add("y",t-e)},week:function(t){var e=this.lang().week(this);return null==t?e:this.add("d",7*(t-e))},isoWeek:function(t){var e=F(this,1,4).week;return null==t?e:this.add("d",7*(t-e))},weekday:function(t){var e=(this._d.getDay()+7-this.lang()._week.dow)%7;return null==t?e:this.add("d",t-e)},isoWeekday:function(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)},lang:function(e){return e===t?this._lang:(this._lang=_(e),this)}},P=0;P - - - - - - - - -
Loading
-

-  
-

-  
-

-  
-

-
-
-
diff --git a/examples/userCSV.html b/examples/userCSV.html
deleted file mode 100644
index 95dede6..0000000
--- a/examples/userCSV.html
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-This will download your PagerDuty users as a CSV:
-
    -
  1. Your subdomain:
  2. -
  3. Click -
-
Status: Ready.
- - - diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000..c9d1241 --- /dev/null +++ b/jest.config.js @@ -0,0 +1,5 @@ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', + testPathIgnorePatterns: ['/node_modules/', 'build'], +}; diff --git a/js/pdjs.js b/js/pdjs.js deleted file mode 100644 index 7f5eb58..0000000 --- a/js/pdjs.js +++ /dev/null @@ -1,211 +0,0 @@ -// Generated by CoffeeScript 2.3.2 -(function() { - window.PDJSobj = (function() { - class PDJSobj { - logg(str) { - if (this.logging) { - return console.log(str); - } - } - - req() { - return this.req_count++; - } - - constructor(params = {}) { - var ref; - this.async = (ref = params.async === false) != null ? ref : { - false: true - }; - this.token = params.token; - this.refresh = params.refresh || 60; - this.refresh_in_ms = this.refresh * 1000; - this.protocol = params.protocol || "https"; - this.server = params.server || "pagerduty.com"; - this.logging = params.logging || false; - this.req_count = 1; - this.logg("Initializing PDJSobj"); - } - - // If you don't specify a callback, show something useful for debugging - no_success_function(json, callerparams) { - this.logg("no success function defined for " + callerparams.res); - return this.logg(json); - } - - // If you don't override the callback on error we do the basic error handling - error_function(err, callerparams) { - var anyerror, error_detail; - console.log("Error for " + callerparams.res); - console.log(err.status); - error_detail = err.responseText; - try { - error_detail = JSON.parse(error_detail); - } catch (error1) { - anyerror = error1; - this.logg("Not an JSON error"); - } - return console.log(error_detail); - } - - // PDJStools.logg(err) - // TODO Handle these: - // 0 Failed to connect to anything - // 401 bad auth - // 400 Thing not found - api(params = {}) { - this.logg("Call to API: " + params.res); - //PDJStools.logg(params) - params.url = params.url || this.protocol + "://api." + this.server + "/" + params.res; - params.attempt = params.attempt || 0; - params.async = params.async || this.async; // For batch jobs, async helps us avoid getting throttled - params.headers = params.headers || {}; - params.contentType = "application/json; charset=utf-8"; - params.dataType = "json"; - params.accepts = { - json: 'application/vnd.pagerduty+json;version=2' - }; - params.data = params.data || {}; - params.data.PDJSversion = PDJSobj.version; - params.data.request_count = this.req(); - params.data.attempt = params.attempt++; - this.logg("params.data:"); - this.logg(params.data); - params.type = (params.type || "GET").toUpperCase(); - if (params.type === "POST" || params.type === "PUT") { // the update APIs expect the data in the body to be JSON - params.data = JSON.stringify(params.data); - } - params.headers.Authorization = 'Token token=' + this.token; - params.error = params.error || ((err) => { - return this.error_function(err, params); - }); - params.success = params.success || ((data) => { - return this.no_success_function(data, params); - }); - this.logg(params); - return this.sendRequest(params); - } - - // For list queries, this will recursively keep getting the next offset - api_all(params = {}, datasofar = []) { - params.data = params.data || {}; - params.data.limit = 100; - params.data.offset = params.data.offset || 0; - params.final_success = params.final_success || ((data) => { - return this.no_success_function(data, params); - }); - params.incremental_success = params.incremental_success || ((data) => { - return 0; - }); - params.success = ((data) => { - data.res = params.res; - params.incremental_success(data[params.res]); - datasofar = datasofar.concat(data[params.res]); - window.datasofar = datasofar; - window.d = data; - if (data.total > data.limit + data.offset) { - this.logg("Getting more"); - params.data.offset += params.data.limit; - return this.api_all(params, datasofar); - } else { - this.logg("All done"); - this.logg(params); - data[params.res] = datasofar; - data.res = params.res; - data.offset = 0; - data.limit = data.total; - this.logg(data); - return params.final_success(data); - } - }); - this.logg(params); - return this.api(params); - } - - // the event API is different enough to have its own function - event(params = {}) { - this.logg("Create an event"); - params.type = "POST"; - params.url = params.url || this.protocol + "://events." + this.server + "/generic/2010-04-15/create_event.json"; - params.data = params.data || {}; - params.headers = params.headers || {}; - params.data.service_key = params.data.service_key || params.service_key || this.logg("No service key"); - params.data.event_type = params.data.event_type || params.event_type || "trigger"; - params.data.incident_key = params.data.incident_key || params.incident_key || "Please specify an incident_key"; - if (params.client) { - params.data.client = params.data.client || params.client; - } - if (params.client_url) { - params.data.client_url = params.data.client_url || params.client_url; - } - params.data.description = params.data.description || params.description || "No description provided"; - params.data.details = params.data.details || params.details || {}; - params.data.contexts = params.data.contexts || params.contexts || {}; - params.data = JSON.stringify(params.data); - params.contentType = "application/json; charset=utf-8"; - params.dataType = "json"; - params.error = params.error || ((err) => { - return this.error_function(err, params); - }); - params.success = params.success || ((data) => { - return this.no_success_function(data, params); - }); - return this.sendRequest(params); - } - - // Shortcut methods - trigger(params = {}) { - params.event_type = "trigger"; - return this.event(params); - } - - // Todo: add some examples to the docs - acknowledge(params = {}) { - params.event_type = "acknowledge"; - return this.event(params); - } - - resolve(params = {}) { - params.event_type = "resolve"; - return this.event(params); - } - - sendRequest(params = {}) { - var accepts, contentType, data, error, headers, query, success, type, url, xhr; - ({accepts, contentType, data, error, headers, success, type, url} = params); - xhr = new XMLHttpRequest(); - if (type === 'GET') { - query = ''; - Object.keys(data).map(function(key) { - if (query !== '') { - query += '&'; - } - return query += key + '=' + encodeURIComponent(data[key]); - }); - url += '?' + query; - } - xhr.open(type, url); - xhr.setRequestHeader('Content-Type', contentType); - xhr.setRequestHeader('Authorization', headers.Authorization); - if ((accepts != null ? accepts.json : void 0) != null) { - xhr.setRequestHeader('Accept', accepts.json); - } - xhr.onload = function() { - if (xhr.status >= 200 && xhr.status < 300) { - return success(JSON.parse(xhr.responseText)); - } else { - return error(JSON.parse(xhr.responseText)); - } - }; - return xhr.send(data); - } - - }; - - PDJSobj.version = "PDJS-1.1.0"; - - return PDJSobj; - - }).call(this); - -}).call(this); diff --git a/package-lock.json b/package-lock.json index 5cf1d82..127759a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,9823 @@ { - "name": "pagerduty-pdjs", - "version": "1.1.1", - "lockfileVersion": 1 + "name": "pdjs-next", + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/compat-data": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.5.tgz", + "integrity": "sha512-DTsS7cxrsH3by8nqQSpFSyjSfSYl57D6Cf4q8dW3LK83tBKBDCkfcay1nYkXq1nIHXnpX8WMMb/O25HOy3h1zg==", + "dev": true + }, + "@babel/core": { + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz", + "integrity": "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.1", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.1", + "@babel/parser": "^7.12.3", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "@babel/generator": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz", + "integrity": "sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==", + "dev": true, + "requires": { + "@babel/types": "^7.12.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", + "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", + "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.12.5", + "@babel/helper-validator-option": "^7.12.1", + "browserslist": "^4.14.5", + "semver": "^5.5.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", + "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.1.tgz", + "integrity": "sha512-rsZ4LGvFTZnzdNZR5HZdmJVuXK8834R5QkF3WvcnBhrlVtF0HSIUC6zbreL9MgjTywhKokn8RIYRiq99+DLAxA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-regex": "^7.10.4", + "regexpu-core": "^4.7.1" + } + }, + "@babel/helper-define-map": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", + "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz", + "integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-module-imports": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", + "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz", + "integrity": "sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==", + "dev": true, + "requires": { + "lodash": "^4.17.19" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", + "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-replace-supers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz", + "integrity": "sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "dev": true, + "requires": { + "@babel/types": "^7.11.0" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz", + "integrity": "sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", + "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helpers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "dev": true, + "requires": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.5.tgz", + "integrity": "sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz", + "integrity": "sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", + "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", + "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", + "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", + "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", + "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", + "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.5.tgz", + "integrity": "sha512-UiAnkKuOrCyjZ3sYNHlRlfuZJbBHknMQ9VMwVeX97Ofwx7RpD6gS2HfqTCh8KNUQgcOm8IKt103oR4KIjh7Q8g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.12.1" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", + "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz", + "integrity": "sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", + "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", + "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", + "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", + "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.1.tgz", + "integrity": "sha512-UZNEcCY+4Dp9yYRCAHrHDU+9ZXLYaY9MgBXSRLkB9WjYFRR6quJBumfVrEkUxrePPBwFcpWfNKXqVRQQtm7mMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", + "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", + "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", + "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz", + "integrity": "sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", + "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", + "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", + "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", + "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", + "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", + "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", + "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", + "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", + "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", + "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", + "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", + "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.12.1", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", + "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-identifier": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", + "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", + "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", + "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", + "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", + "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", + "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", + "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", + "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", + "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", + "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.1.tgz", + "integrity": "sha512-CiUgKQ3AGVk7kveIaPEET1jNDhZZEl1RPMWdTBE1799bdz++SwqDHStmxfCtDfBhQgCl38YRiSnrMuUMZIWSUQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-regex": "^7.10.4" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", + "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz", + "integrity": "sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz", + "integrity": "sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-typescript": "^7.12.1" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", + "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", + "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/preset-env": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.1.tgz", + "integrity": "sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.12.1", + "@babel/helper-compilation-targets": "^7.12.1", + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.1", + "@babel/plugin-proposal-async-generator-functions": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-dynamic-import": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.1", + "@babel/plugin-proposal-json-strings": "^7.12.1", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-numeric-separator": "^7.12.1", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.1", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.12.1", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/plugin-transform-block-scoped-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.1", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-computed-properties": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-dotall-regex": "^7.12.1", + "@babel/plugin-transform-duplicate-keys": "^7.12.1", + "@babel/plugin-transform-exponentiation-operator": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-function-name": "^7.12.1", + "@babel/plugin-transform-literals": "^7.12.1", + "@babel/plugin-transform-member-expression-literals": "^7.12.1", + "@babel/plugin-transform-modules-amd": "^7.12.1", + "@babel/plugin-transform-modules-commonjs": "^7.12.1", + "@babel/plugin-transform-modules-systemjs": "^7.12.1", + "@babel/plugin-transform-modules-umd": "^7.12.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", + "@babel/plugin-transform-new-target": "^7.12.1", + "@babel/plugin-transform-object-super": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-property-literals": "^7.12.1", + "@babel/plugin-transform-regenerator": "^7.12.1", + "@babel/plugin-transform-reserved-words": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/plugin-transform-sticky-regex": "^7.12.1", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/plugin-transform-typeof-symbol": "^7.12.1", + "@babel/plugin-transform-unicode-escapes": "^7.12.1", + "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.12.1", + "core-js-compat": "^3.6.2", + "semver": "^5.5.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-typescript": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.1.tgz", + "integrity": "sha512-hNK/DhmoJPsksdHuI/RVrcEws7GN5eamhi28JkO52MqIxU8Z0QpmiSOQxZHWOHV7I3P4UjHV97ay4TcamMA6Kw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.12.1" + } + }, + "@babel/runtime": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", + "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", + "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/traverse": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.5.tgz", + "integrity": "sha512-xa15FbQnias7z9a62LwYAA5SZZPkHIXpd42C6uW68o8uTuua96FHZy1y61Va5P/i83FAAcMpW8+A/QayntzuqA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.12.5", + "@babel/types": "^7.12.5", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", + "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@eslint/eslintrc": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.1.tgz", + "integrity": "sha512-XRUeBZ5zBWLYgSANMpThFddrZZkEbGHgUdt5UJjZfnlN9BGCiUBrf+nvbRupSjMvqzwnQN0qwCmOxITt1cfywA==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + } + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "dev": true + }, + "@jest/console": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", + "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^26.6.2", + "jest-util": "^26.6.2", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/core": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", + "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/reporters": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^26.6.2", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-resolve-dependencies": "^26.6.3", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "jest-watcher": "^26.6.2", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/environment": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", + "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" + } + }, + "@jest/fake-timers": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", + "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@sinonjs/fake-timers": "^6.0.1", + "@types/node": "*", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + } + }, + "@jest/globals": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", + "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", + "dev": true, + "requires": { + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" + } + }, + "@jest/reporters": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", + "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "node-notifier": "^8.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^7.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/source-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", + "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@jest/test-result": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", + "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", + "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", + "dev": true, + "requires": { + "@jest/test-result": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3" + } + }, + "@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" + } + }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true + }, + "@sinonjs/commons": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz", + "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@types/babel__core": { + "version": "7.1.12", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.12.tgz", + "integrity": "sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", + "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.3.tgz", + "integrity": "sha512-uCoznIPDmnickEi6D0v11SBpW0OuVqHJCa7syXqQHy5uktSCreIlt0iglsCnmvz8yCb38hGcWeseA8cWJSwv5Q==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.15.tgz", + "integrity": "sha512-Pzh9O3sTK8V6I1olsXpCfj2k/ygO2q1X0vhhnDrEQyYLHZesWz+zMZMVcwXLCYf0U36EtmyYaFGPfXlTtDHe3A==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/browser-or-node": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/browser-or-node/-/browser-or-node-1.2.0.tgz", + "integrity": "sha512-hLn4jvpZ804yQDu71YW7qNQDm045XmODoEOZohkH4jWb23AaPodhVM5qztG+XM54Oqw8X1dA4A7z49iNFGbrxA==", + "dev": true + }, + "@types/eslint": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.4.tgz", + "integrity": "sha512-YCY4kzHMsHoyKspQH+nwSe+70Kep7Vjt2X+dZe5Vs2vkRudqtoFoUIv1RlJmZB8Hbp7McneupoZij4PadxsK5Q==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", + "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.45", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz", + "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==", + "dev": true + }, + "@types/graceful-fs": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.4.tgz", + "integrity": "sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "26.0.15", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.15.tgz", + "integrity": "sha512-s2VMReFXRg9XXxV+CW9e5Nz8fH2K1aEhwgjUqPPbQd7g95T0laAcvLv032EhFHIa5GHsZ8W7iJEQVaJq6k3Gog==", + "dev": true, + "requires": { + "jest-diff": "^26.0.0", + "pretty-format": "^26.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", + "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", + "dev": true + }, + "@types/minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=", + "dev": true + }, + "@types/moxios": { + "version": "0.4.9", + "resolved": "https://registry.npmjs.org/@types/moxios/-/moxios-0.4.9.tgz", + "integrity": "sha512-Sd1b24QRW2N194j2LEDPQAZK1h0TBtpN+2EIH+rERCgm38qm14JZwC7NlpE7n3jULhlCIPZBG8uNcbjF8KcCaQ==", + "dev": true, + "requires": { + "axios": "^0.19.0" + } + }, + "@types/node": { + "version": "13.13.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.30.tgz", + "integrity": "sha512-HmqFpNzp3TSELxU/bUuRK+xzarVOAsR00hzcvM0TXrMlt/+wcSLa5q6YhTb6/cA6wqDCZLDcfd8fSL95x5h7AA==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, + "@types/prettier": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.5.tgz", + "integrity": "sha512-UEyp8LwZ4Dg30kVU2Q3amHHyTn1jEdhCIE59ANed76GaT1Vp76DD3ZWSAxgCrw6wJ0TqeoBpqmfUHiUDPs//HQ==", + "dev": true + }, + "@types/sinon": { + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-9.0.8.tgz", + "integrity": "sha512-IVnI820FZFMGI+u1R+2VdRaD/82YIQTdqLYC9DLPszZuynAJDtCvCtCs3bmyL66s7FqRM3+LPX7DhHnVTaagDw==", + "dev": true, + "requires": { + "@types/sinonjs__fake-timers": "*" + } + }, + "@types/sinonjs__fake-timers": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.2.tgz", + "integrity": "sha512-dIPoZ3g5gcx9zZEszaxLSVTvMReD3xxyyDnQUjA6IYDG9Ba2AV0otMPs+77sG9ojB4Qr2N2Vk5RnKeuA0X/0bg==", + "dev": true + }, + "@types/stack-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", + "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==", + "dev": true + }, + "@types/yargs": { + "version": "15.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.9.tgz", + "integrity": "sha512-HmU8SeIRhZCWcnRskCs36Q1Q00KBV6Cqh/ora8WN1+22dY07AZdn6Gel8QZ3t26XYPImtcL8WV/eqjhVmMEw4g==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.6.1.tgz", + "integrity": "sha512-SNZyflefTMK2JyrPfFFzzoy2asLmZvZJ6+/L5cIqg4HfKGiW2Gr1Go1OyEVqne/U4QwmoasuMwppoBHWBWF2nA==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "4.6.1", + "@typescript-eslint/scope-manager": "4.6.1", + "debug": "^4.1.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + } + } + }, + "@typescript-eslint/experimental-utils": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.6.1.tgz", + "integrity": "sha512-qyPqCFWlHZXkEBoV56UxHSoXW2qnTr4JrWVXOh3soBP3q0o7p4pUEMfInDwIa0dB/ypdtm7gLOS0hg0a73ijfg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/scope-manager": "4.6.1", + "@typescript-eslint/types": "4.6.1", + "@typescript-eslint/typescript-estree": "4.6.1", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.6.1.tgz", + "integrity": "sha512-lScKRPt1wM9UwyKkGKyQDqf0bh6jm8DQ5iN37urRIXDm16GEv+HGEmum2Fc423xlk5NUOkOpfTnKZc/tqKZkDQ==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "4.6.1", + "@typescript-eslint/types": "4.6.1", + "@typescript-eslint/typescript-estree": "4.6.1", + "debug": "^4.1.1" + } + }, + "@typescript-eslint/scope-manager": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.6.1.tgz", + "integrity": "sha512-f95+80r6VdINYscJY1KDUEDcxZ3prAWHulL4qRDfNVD0I5QAVSGqFkwHERDoLYJJWmEAkUMdQVvx7/c2Hp+Bjg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.6.1", + "@typescript-eslint/visitor-keys": "4.6.1" + } + }, + "@typescript-eslint/types": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.6.1.tgz", + "integrity": "sha512-k2ZCHhJ96YZyPIsykickez+OMHkz06xppVLfJ+DY90i532/Cx2Z+HiRMH8YZQo7a4zVd/TwNBuRCdXlGK4yo8w==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.6.1.tgz", + "integrity": "sha512-/J/kxiyjQQKqEr5kuKLNQ1Finpfb8gf/NpbwqFFYEBjxOsZ621r9AqwS9UDRA1Rrr/eneX/YsbPAIhU2rFLjXQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.6.1", + "@typescript-eslint/visitor-keys": "4.6.1", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.6.1.tgz", + "integrity": "sha512-owABze4toX7QXwOLT3/D5a8NecZEjEWU1srqxENTfqsY3bwVnl3YYbOh6s1rp2wQKO9RTHFGjKes08FgE7SVMw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.6.1", + "eslint-visitor-keys": "^2.0.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/info": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.1.0.tgz", + "integrity": "sha512-uNWSdaYHc+f3LdIZNwhdhkjjLDDl3jP2+XBqAq9H8DjrJUvlOKdP8TNruy1yEaDfgpAIgbSAN7pye4FEHg9tYQ==", + "dev": true, + "requires": { + "envinfo": "^7.7.3" + } + }, + "@webpack-cli/serve": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.1.0.tgz", + "integrity": "sha512-7RfnMXCpJ/NThrhq4gYQYILB18xWyoQcBey81oIyVbmgbc6m5ZHHyFK+DyH7pLHJf0p14MxL4mTsoPAgBSTpIg==", + "dev": true + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "ansi-align": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", + "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "dev": true, + "requires": { + "string-width": "^3.0.0" + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + }, + "dependencies": { + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + } + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-back": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.1.tgz", + "integrity": "sha512-Z/JnaVEXv+A9xabHzN43FiiiWEE7gPCRXMrVmRm00tWbjZRul1iHm7ECzlyNq1p4a4ATXz+G9FJ3GqGOkOV3fg==", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "axios": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "dev": true, + "requires": { + "follow-redirects": "1.5.10" + } + }, + "babel-jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", + "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "dev": true, + "requires": { + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "babel-loader": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", + "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", + "dev": true, + "requires": { + "find-cache-dir": "^2.1.0", + "loader-utils": "^1.4.0", + "mkdirp": "^0.5.3", + "pify": "^4.0.1", + "schema-utils": "^2.6.5" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", + "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.0.tgz", + "integrity": "sha512-mGkvkpocWJes1CmMKtgGUwCeeq0pOhALyymozzDWYomHTbDLwueDYG6p4TK1YOeYHCzBzYPsWkgTto10JubI1Q==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", + "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "boxen": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", + "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", + "dev": true, + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "cli-boxes": "^2.2.0", + "string-width": "^4.1.0", + "term-size": "^2.1.0", + "type-fest": "^0.8.1", + "widest-line": "^3.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-or-node": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-1.3.0.tgz", + "integrity": "sha512-0F2z/VSnLbmEeBcUrSuDH5l0HxTXdQQzLjkmBR4cYfvg1zJrKSlmIZFqyFR8oX0NrwPhy3c3HQ6i3OxMbew4Tg==" + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "browserslist": { + "version": "4.14.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.6.tgz", + "integrity": "sha512-zeFYcUo85ENhc/zxHbiIp0LGzzTrE2Pv2JhxvS7kpUb9Q9D38kUX6Bie7pGutJ/5iF5rOxE7CepAuWD56xJ33A==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001154", + "electron-to-chromium": "^1.3.585", + "escalade": "^3.1.1", + "node-releases": "^1.1.65" + } + }, + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "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" + } + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + } + } + }, + "call-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", + "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.0" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + } + }, + "caniuse-lite": { + "version": "1.0.30001157", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001157.tgz", + "integrity": "sha512-gOerH9Wz2IRZ2ZPdMfBvyOi3cjaz4O4dgNwPGzx8EhqAs4+2IL/O+fJsbt+znSigujoZG8bVcIAUM/I/E5K3MA==", + "dev": true + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "requires": { + "rsvp": "^4.8.4" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "cjs-module-lexer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", + "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "command-line-usage": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.1.tgz", + "integrity": "sha512-F59pEuAR9o1SF/bD0dQBDluhpT4jJQNWUHEuVBqpDmCUo6gPjCi+m9fCWnWZVR/oG6cMTUms4h+3NPl74wGXvA==", + "dev": true, + "requires": { + "array-back": "^4.0.1", + "chalk": "^2.4.2", + "table-layout": "^1.0.1", + "typical": "^5.2.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-js-compat": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.7.0.tgz", + "integrity": "sha512-V8yBI3+ZLDVomoWICO6kq/CD28Y4r1M7CWeO4AGpMdMfseu8bkSubBmUPySMGKRTS+su4XQ07zUkAsiu9FCWTg==", + "dev": true, + "requires": { + "browserslist": "^4.14.6", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cross-fetch": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.6.tgz", + "integrity": "sha512-KBPUbqgFjzWlVcURG+Svp9TlhA5uliYtiNx/0r8nv0pdypeQCRJ9IaSIc3q/x3q8t3F75cHuwxVql1HFGHCNJQ==", + "requires": { + "node-fetch": "2.6.1" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + } + } + }, + "decimal.js": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", + "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, + "diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true + } + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "electron-to-chromium": { + "version": "1.3.591", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.591.tgz", + "integrity": "sha512-ol/0WzjL4NS4Kqy9VD6xXQON91xIihDT36sYCew/G/bnd1v0/4D+kahp26JauQhgFUjrdva3kRSo7URcUmQ+qw==", + "dev": true + }, + "emittery": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", + "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", + "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "envinfo": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.3.tgz", + "integrity": "sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==", + "dev": true + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, + "eslint": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.13.0.tgz", + "integrity": "sha512-uCORMuOO8tUzJmsdRtrvcGq5qposf7Rw0LwkTJkoDbOycVQtQjmnhZSuLQnozLE4TmAzlMVV45eCHmQ1OpDKUQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.2.1", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.0", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "eslint-config-prettier": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", + "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", + "dev": true, + "requires": { + "get-stdin": "^6.0.0" + } + }, + "eslint-plugin-es": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", + "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", + "dev": true, + "requires": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + } + }, + "eslint-plugin-node": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", + "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", + "dev": true, + "requires": { + "eslint-plugin-es": "^3.0.0", + "eslint-utils": "^2.0.0", + "ignore": "^5.1.1", + "minimatch": "^3.0.4", + "resolve": "^1.10.1", + "semver": "^6.1.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "eslint-plugin-prettier": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.4.tgz", + "integrity": "sha512-jZDa8z76klRqo+TdGDTFJSavwbnWK2ZpqGKNZ+VvweMW516pDUMmQ2koXvxEE4JhzNvTv+radye/bWGBmA6jmg==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true + }, + "espree": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz", + "integrity": "sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "events": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", + "dev": true + }, + "exec-sh": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", + "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", + "dev": true + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "expect": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", + "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "fast-glob": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", + "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastq": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz", + "integrity": "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "dev": true, + "requires": { + "debug": "=3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.2.1.tgz", + "integrity": "sha512-bTLYHSeC0UH/EFXS9KqWnXuOl/wHK5Z/d+ghd5AsFMYN7wIGkUCOJyzy88+wJKkZPGON8u4Z9f6U4FdgURE9qA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", + "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "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-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "global-dirs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz", + "integrity": "sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==", + "dev": true, + "requires": { + "ini": "^1.3.5" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "dependencies": { + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + } + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true, + "optional": true + }, + "gts": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gts/-/gts-3.0.2.tgz", + "integrity": "sha512-Vhy9/ToD7B8nlPIiNyBfeLwMCRb9Xw1eMh6lRu4/Th2ifMO/Tbi8q8GsqB975NMiHIkmsDTPki5d2x84WcUmgA==", + "dev": true, + "requires": { + "@typescript-eslint/eslint-plugin": "^4.2.0", + "@typescript-eslint/parser": "^4.2.0", + "chalk": "^4.1.0", + "eslint": "^7.10.0", + "eslint-config-prettier": "^6.12.0", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-prettier": "^3.1.4", + "execa": "^4.0.3", + "inquirer": "^7.3.3", + "meow": "^7.1.1", + "ncp": "^2.0.0", + "prettier": "^2.1.2", + "rimraf": "^3.0.2", + "update-notifier": "^5.0.0", + "write-file-atomic": "^3.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "import-fresh": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz", + "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, + "import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz", + "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-docker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "dev": true, + "optional": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-installed-globally": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", + "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", + "dev": true, + "requires": { + "global-dirs": "^2.0.1", + "is-path-inside": "^3.0.1" + } + }, + "is-npm": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", + "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", + "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", + "dev": true + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-potential-custom-element-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", + "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=", + "dev": true + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "optional": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", + "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "dev": true, + "requires": { + "@jest/core": "^26.6.3", + "import-local": "^3.0.2", + "jest-cli": "^26.6.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jest-cli": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", + "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "dev": true, + "requires": { + "@jest/core": "^26.6.3", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^26.6.3", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "prompts": "^2.0.1", + "yargs": "^15.4.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-changed-files": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", + "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" + } + }, + "jest-config": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", + "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^26.6.3", + "@jest/types": "^26.6.2", + "babel-jest": "^26.6.3", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^26.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-docblock": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", + "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", + "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-environment-jsdom": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", + "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", + "dev": true, + "requires": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2", + "jsdom": "^16.4.0" + } + }, + "jest-environment-node": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", + "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", + "dev": true, + "requires": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + } + }, + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "dev": true + }, + "jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + } + }, + "jest-jasmine2": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", + "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^26.6.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2", + "throat": "^5.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-leak-detector": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", + "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", + "dev": true, + "requires": { + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-message-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", + "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true + }, + "jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "dev": true + }, + "jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", + "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + } + }, + "jest-runner": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", + "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.7.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-docblock": "^26.0.0", + "jest-haste-map": "^26.6.2", + "jest-leak-detector": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-runtime": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", + "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/globals": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^0.6.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.4.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "dev": true, + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + } + }, + "jest-snapshot": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", + "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.0.0", + "chalk": "^4.0.0", + "expect": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-haste-map": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^26.6.2", + "semver": "^7.3.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-validate": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", + "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "leven": "^3.1.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watcher": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", + "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", + "dev": true, + "requires": { + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^26.6.2", + "string-length": "^4.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsdom": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", + "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "acorn": "^7.1.1", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.2.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.0", + "domexception": "^2.0.1", + "escodegen": "^1.14.1", + "html-encoding-sniffer": "^2.0.1", + "is-potential-custom-element-name": "^1.0.0", + "nwsapi": "^2.2.0", + "parse5": "5.1.1", + "request": "^2.88.2", + "request-promise-native": "^1.0.8", + "saxes": "^5.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0", + "ws": "^7.2.3", + "xml-name-validator": "^3.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "dev": true, + "requires": { + "package-json": "^6.3.0" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "loader-runner": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.1.0.tgz", + "integrity": "sha512-oR4lB4WvwFoC70ocraKhn5nkKSs23t57h9udUgw8o0iH8hMXeEoRuUgfcvgUwAJ1ZpRqBvcou4N2SMvM1DwMrA==", + "dev": true + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "requires": { + "tmpl": "1.0.x" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz", + "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "meow": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-7.1.1.tgz", + "integrity": "sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==", + "dev": true, + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^2.5.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" + }, + "dependencies": { + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true + } + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "dev": true + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "dev": true, + "requires": { + "mime-db": "1.44.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "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" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "ncp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", + "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "nock": { + "version": "13.0.4", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.0.4.tgz", + "integrity": "sha512-alqTV8Qt7TUbc74x1pKRLSENzfjp4nywovcJgi/1aXDiUxXdt7TkruSTF5MDWPP7UoPVgea4F9ghVdmX0xxnSA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "json-stringify-safe": "^5.0.1", + "lodash.set": "^4.3.2", + "propagate": "^2.0.0" + } + }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true + }, + "node-notifier": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.0.tgz", + "integrity": "sha512-46z7DUmcjoYdaWyXouuFNNfUo6eFa94t23c53c+lG/9Cvauk4a98rAUp9672X5dxGdQmLpPzTxzu8f/OeEPaFA==", + "dev": true, + "optional": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true, + "optional": true + } + } + }, + "node-releases": { + "version": "1.1.66", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.66.tgz", + "integrity": "sha512-JHEQ1iWPGK+38VLB2H9ef2otU4l8s3yAMt9Xf934r6+ojCYDMHPMqvCc9TnzfeFSP1QEOeU6YZEd3+De0LTCgg==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true + }, + "p-each-series": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.1.0.tgz", + "integrity": "sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "dev": true, + "requires": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", + "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + }, + "prettier": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.1.2.tgz", + "integrity": "sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "prompts": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", + "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "propagate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", + "dev": true + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "dev": true, + "requires": { + "escape-goat": "^2.0.0" + } + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + } + } + }, + "react-is": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", + "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "dev": true + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + } + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "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" + } + }, + "rechoir": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", + "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", + "dev": true, + "requires": { + "resolve": "^1.9.0" + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, + "reduce-flatten": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", + "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", + "dev": true + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true + }, + "regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + } + }, + "registry-auth-token": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.0.tgz", + "integrity": "sha512-P+lWzPrsgfN+UEpDS3U8AQKg/UjZX6mQSJueZj3EK+vNESoqBSpBUD3gmu4sF9lOsjXWjF11dQKUqemf3veq1w==", + "dev": true, + "requires": { + "rc": "^1.2.8" + } + }, + "registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "dev": true, + "requires": { + "rc": "^1.2.8" + } + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true + }, + "regjsparser": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + } + } + }, + "request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "requires": { + "lodash": "^4.17.19" + } + }, + "request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "dev": true, + "requires": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "resolve": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", + "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", + "dev": true, + "requires": { + "is-core-module": "^2.0.0", + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "run-parallel": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", + "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", + "dev": true + }, + "rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "dev": true, + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "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" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "dev": true, + "requires": { + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz", + "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stack-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.2.tgz", + "integrity": "sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "string-length": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz", + "integrity": "sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", + "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + } + }, + "table-layout": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.1.tgz", + "integrity": "sha512-dEquqYNJiGwY7iPfZ3wbXDI944iqanTSchrACLL2nOB+1r+h1Nzu2eH+DuPPvWvm5Ry7iAPeFlgEtP5bIp5U7Q==", + "dev": true, + "requires": { + "array-back": "^4.0.1", + "deep-extend": "~0.6.0", + "typical": "^5.2.0", + "wordwrapjs": "^4.0.0" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "term-size": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", + "dev": true + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "terser": { + "version": "5.3.8", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.3.8.tgz", + "integrity": "sha512-zVotuHoIfnYjtlurOouTazciEfL7V38QMAOhGqpXDEg6yT13cF4+fEP9b0rrCEQTn+tT46uxgFsTZzhygk+CzQ==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.0.3.tgz", + "integrity": "sha512-zFdGk8Lh9ZJGPxxPE6jwysOlATWB8GMW8HcfGULWA/nPal+3VdATflQvSBSLQJRCmYZnfFJl6vkRTiwJGNgPiQ==", + "dev": true, + "requires": { + "jest-worker": "^26.6.1", + "p-limit": "^3.0.2", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "source-map": "^0.6.1", + "terser": "^5.3.8" + }, + "dependencies": { + "p-limit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz", + "integrity": "sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "dev": true, + "requires": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", + "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "trim-newlines": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz", + "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==", + "dev": true + }, + "ts-jest": { + "version": "26.4.4", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.4.tgz", + "integrity": "sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg==", + "dev": true, + "requires": { + "@types/jest": "26.x", + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^26.1.0", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "mkdirp": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true + } + } + }, + "ts-loader": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.0.11.tgz", + "integrity": "sha512-06X+mWA2JXoXJHYAesUUL4mHFYhnmyoCdQVMXofXF552Lzd4wNwSGg7unJpttqUP7ziaruM8d7u8LUB6I1sgzA==", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "enhanced-resolve": "^4.0.0", + "loader-utils": "^1.0.2", + "micromatch": "^4.0.0", + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsutils": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.5.tgz", + "integrity": "sha512-ywmr/VrTVCmNTJ6iV2LwIrfG1P+lv6luD8sUJs+2eI9NLGigaN+nUQc13iHqisq7bra9lnmUSYqbJvegraBOPQ==", + "dev": true + }, + "typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "dev": true + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "update-notifier": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.0.1.tgz", + "integrity": "sha512-BuVpRdlwxeIOvmc32AGYvO1KVdPlsmqSh8KDDBxS6kDE5VR7R8OMP1d8MdhaVBvxl4H3551k9akXr0Y1iIB2Wg==", + "dev": true, + "requires": { + "boxen": "^4.2.0", + "chalk": "^4.1.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.3.2", + "is-npm": "^5.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.1.0", + "pupa": "^2.1.1", + "semver": "^7.3.2", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "uri-js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "requires": { + "prepend-http": "^2.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "uuid": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz", + "integrity": "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==", + "dev": true, + "optional": true + }, + "v8-compile-cache": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", + "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", + "dev": true + }, + "v8-to-istanbul": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.0.0.tgz", + "integrity": "sha512-fLL2rFuQpMtm9r8hrAV2apXX/WqHJ6+IC4/eQVdMDGBUgH/YMV4Gv3duk3kjmyg6uiQWBAA9nJwue4iJUOkHeA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "requires": { + "makeerror": "1.0.x" + } + }, + "watchpack": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.0.1.tgz", + "integrity": "sha512-vO8AKGX22ZRo6PiOFM9dC0re8IcKh8Kd/aH2zeqUc6w4/jBGlTy2P7fTC6ekT0NjVeGjgU2dGC5rNstKkeLEQg==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true + }, + "webpack": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.4.0.tgz", + "integrity": "sha512-udpYTyqz8toTTdaOsL2QKPLeZLt2IEm9qY7yTXuFEQhKu5bk0yQD9BtAdVQksmz4jFbbWOiWmm3NHarO0zr/ng==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.45", + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^8.0.4", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.3.1", + "eslint-scope": "^5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.1.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "pkg-dir": "^4.2.0", + "schema-utils": "^3.0.0", + "tapable": "^2.0.0", + "terser-webpack-plugin": "^5.0.3", + "watchpack": "^2.0.0", + "webpack-sources": "^2.1.1" + }, + "dependencies": { + "acorn": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.4.tgz", + "integrity": "sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==", + "dev": true + }, + "enhanced-resolve": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.3.1.tgz", + "integrity": "sha512-G1XD3MRGrGfNcf6Hg0LVZG7GIKcYkbfHa5QMxt1HDUTdYoXH0JR1xXyg+MaKLF73E9A27uWNVxvFivNRYeUB6w==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.0.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "tapable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.1.1.tgz", + "integrity": "sha512-Wib1S8m2wdpLbmQz0RBEVosIyvb/ykfKXf3ZIDqvWoMg/zTNm6G/tDSuUM61J1kNCDXWJrLHGSFeMhAG+gAGpQ==", + "dev": true + } + } + }, + "webpack-cli": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.2.0.tgz", + "integrity": "sha512-EIl3k88vaF4fSxWSgtAQR+VwicfLMTZ9amQtqS4o+TDPW9HGaEpbFBbAZ4A3ZOT5SOnMxNOzROsSTPiE8tBJPA==", + "dev": true, + "requires": { + "@webpack-cli/info": "^1.1.0", + "@webpack-cli/serve": "^1.1.0", + "colorette": "^1.2.1", + "command-line-usage": "^6.1.0", + "commander": "^6.2.0", + "enquirer": "^2.3.6", + "execa": "^4.1.0", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "leven": "^3.1.0", + "rechoir": "^0.7.0", + "v8-compile-cache": "^2.2.0", + "webpack-merge": "^4.2.2" + }, + "dependencies": { + "commander": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz", + "integrity": "sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==", + "dev": true + } + } + }, + "webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "webpack-sources": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", + "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", + "dev": true, + "requires": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "webpack-strip-block": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/webpack-strip-block/-/webpack-strip-block-0.3.0.tgz", + "integrity": "sha512-rXN+SI6S7tzUr1Jvhq3Rcl2bGfpY5ZC9XSRm2rH68eYkDheCczEs61iir1A00iv1Nt8FY1J6BDRgXKtil+fk+g==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0" + } + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz", + "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^2.0.2", + "webidl-conversions": "^6.1.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dev": true, + "requires": { + "string-width": "^4.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wordwrapjs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.0.tgz", + "integrity": "sha512-Svqw723a3R34KvsMgpjFBYCgNOSdcW3mQFK4wIfhGQhtaFVOJmdYoXgi63ne3dTlWgatVcUc7t4HtQ/+bUVIzQ==", + "dev": true, + "requires": { + "reduce-flatten": "^2.0.0", + "typical": "^5.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.0.tgz", + "integrity": "sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ==", + "dev": true + }, + "xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "dev": true + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } } diff --git a/package.json b/package.json index 4b15fce..e68096d 100644 --- a/package.json +++ b/package.json @@ -1,25 +1,47 @@ { - "name": "pagerduty-pdjs", - "version": "1.1.1", - "description": "JavaScript wrapper for the PagerDuty API, maintained by PagerDuty", - "main": "index.js", - "directories": { - "example": "examples" - }, + "name": "pdjs-next", + "version": "0.0.1", + "description": "A new simple JavaScript wrapper for the PagerDuty API", + "main": "build/src/index.js", + "types": "build/src/index.d.ts", + "files": [ + "build/src" + ], + "license": "Apache-2.0", + "keywords": [], "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "build": "tsc && webpack", + "test": "jest", + "compile": "tsc", + "lint": "gts lint", + "clean": "gts clean", + "fix": "gts fix" }, - "repository": { - "type": "git", - "url": "git+https://github.com/PagerDuty/pdjs.git" + "devDependencies": { + "@babel/core": "^7.12.3", + "@babel/preset-env": "^7.12.1", + "@babel/preset-typescript": "^7.12.1", + "@types/browser-or-node": "^1.2.0", + "@types/jest": "^26.0.14", + "@types/moxios": "^0.4.9", + "@types/node": "^13.11.1", + "@types/sinon": "^9.0.8", + "babel-loader": "^8.1.0", + "gts": "^3.0.0", + "jest": "^26.5.2", + "nock": "^13.0.4", + "ts-jest": "^26.4.1", + "ts-loader": "^8.0.6", + "typescript": "^4.0.3", + "webpack": "^5.4.0", + "webpack-cli": "^4.1.0", + "webpack-strip-block": "^0.3.0" }, - "keywords": [ - "PagerDuty" - ], - "author": "PagerDuty ", - "license": "MIT", - "bugs": { - "url": "https://github.com/PagerDuty/pdjs/issues" + "dependencies": { + "browser-or-node": "^1.3.0", + "cross-fetch": "^3.0.6" }, - "homepage": "https://github.com/PagerDuty/pdjs#readme" + "engines": { + "node": ">=10.0.0" + } } diff --git a/release.sh b/release.sh deleted file mode 100755 index 682c479..0000000 --- a/release.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -#This is a script to push the resulting js to http://eurica.github.io/pdjs/pdjs.js - -releasedir=../pdjsgh -echo Last version number: -cat version -[ "$#" -eq 1 ] || { echo " Please enter a version number" >&2; exit 1; } -version=$1 -echo Creating version ${version} -echo ${version} > version - -# This is the ugliest sed ever, someday I'll fix it. -sed -i '' -E 's/version *= *"PDJS-[0-9.]+"/version = "PDJS-VERSIONNUMBER"/g' coffee/pdjsbase.coffee -sed -E -i '' s/VERSIONNUMBER/${version}/g coffee/pdjsbase.coffee - -cp coffee/* ${releasedir}/coffee/ - -# prepare a release -coffee --output ${releasedir}/ --compile --join pdjs.js coffee/ -cp README.* ${releasedir}/ -cp -r examples/* ${releasedir}/examples/ - -cwd=$(pwd) -cd ${releasedir}/ -cp pdjs.js js/pdjs-${version}.js -cp pdjs.js js/pdjs.js -git add . -git commit -m "preparing version ${version} for github pages" -git push origin gh-pages --force -cd ${cwd} diff --git a/src/api.test.ts b/src/api.test.ts new file mode 100644 index 0000000..1f01a37 --- /dev/null +++ b/src/api.test.ts @@ -0,0 +1,261 @@ +import nock = require('nock'); +import {all, api} from './index'; + +const EMPTY_BODY = { + incidents: [], + limit: 25, + offset: 0, + total: null, + more: false, +}; + +test('API calls return JSON for basic API calls with server', async done => { + nock('https://api.pagerduty.com', { + reqheaders: { + Authorization: 'Token token=someToken1234567890', + 'User-Agent': header => header.startsWith('pdjs-next'), + }, + }) + .get('/incidents') + .reply(200, EMPTY_BODY); + + const resp = await api({ + token: 'someToken1234567890', + server: 'api.pagerduty.com', + endpoint: 'incidents' + }) + + expect(resp.url).toEqual('https://api.pagerduty.com/incidents'); + expect(resp.data).toEqual(EMPTY_BODY); + done(); +}); + +test('API calls return JSON for basic API calls with url', async done => { + nock('https://api.pagerduty.com', { + reqheaders: { + Authorization: 'Token token=someToken1234567890', + 'User-Agent': header => header.startsWith('pdjs-next'), + }, + }) + .get('/incidents') + .reply(200, EMPTY_BODY); + + const resp = await api({ + token: 'someToken1234567890', + url: 'https://api.pagerduty.com/incidents', + }); + + expect(resp.url).toEqual('https://api.pagerduty.com/incidents'); + expect(resp.data).toEqual(EMPTY_BODY); + done(); +}); + +test('API calls return JSON for basic API calls with endpoint', async done => { + nock('https://api.pagerduty.com', { + reqheaders: { + Authorization: 'Token token=someToken1234567890', + 'User-Agent': header => header.startsWith('pdjs-next'), + }, + }) + .get('/incidents') + .reply(200, EMPTY_BODY); + + const resp = await api({ + token: 'someToken1234567890', + endpoint: 'incidents', + }); + + expect(resp.url).toEqual('https://api.pagerduty.com/incidents'); + expect(resp.data).toEqual(EMPTY_BODY); + done(); +}); + +test('API calls support partial application with url', async done => { + nock('https://api.pagerduty.com', { + reqheaders: { + Authorization: 'Token token=someToken1234567890', + 'User-Agent': header => header.startsWith('pdjs-next'), + }, + }) + .get('/incidents') + .reply(200, EMPTY_BODY); + + const pd = api({token: 'someToken1234567890'}); + const resp = await pd({ + url: 'https://api.pagerduty.com/incidents', + }); + + expect(resp.url).toEqual('https://api.pagerduty.com/incidents'); + expect(resp.data).toEqual(EMPTY_BODY); + done(); +}); + +test('API calls support partial application with convenience methods', async done => { + nock('https://api.pagerduty.com', { + reqheaders: { + Authorization: 'Token token=someToken1234567890', + 'User-Agent': header => header.startsWith('pdjs-next'), + }, + }) + .get('/incidents') + .reply(200, EMPTY_BODY); + + const resp = await api({token: 'someToken1234567890'}).get('/incidents'); + + expect(resp.url).toEqual('https://api.pagerduty.com/incidents'); + expect(resp.data).toEqual(EMPTY_BODY); + done(); +}); + +test('API calls use data in place of params when provided on GET requests', async done => { + nock('https://api.pagerduty.com') + .get('/incidents?sort_by=created_at&total=true') + .reply(200, EMPTY_BODY); + + const resp = await api({ + token: 'someToken1234567890', + endpoint: '/incidents', + data: {sort_by: 'created_at', total: true}, + }); + + expect(resp.url).toEqual( + 'https://api.pagerduty.com/incidents?sort_by=created_at&total=true' + ); + expect(resp.data).toEqual(EMPTY_BODY); + done(); +}); + +test('API calls populate resource field', async done => { + nock('https://api.pagerduty.com') + .get('/incidents') + .reply(200, { + incidents: ['one', 1, null], + limit: 25, + offset: 0, + total: null, + more: false, + }); + + const resp = await api({ + token: 'someToken1234567890', + endpoint: '/incidents' + }); + expect(resp.resource).toEqual(['one', 1, null]); + done(); +}); + +test('API `all` calls for offset should generate requests until no more results', async done => { + + const body = { + incidents: [], + limit: 1, + offset: 0, + total: null, + more: true, + }; + + nock('https://api.pagerduty.com').get('/incidents?limit=1').reply(200, body); + + nock('https://api.pagerduty.com') + .get('/incidents?limit=1&offset=1') + .reply(200, { + ...body, + offset: 1, + }); + + nock('https://api.pagerduty.com') + .get('/incidents?limit=1&offset=2') + .reply(200, { + ...body, + offset: 2, + more: false, + }); + + const resps = await all({ + token: 'someToken1234567890', + endpoint: '/incidents', + data: {limit: 1}, + }); + + expect(resps.length).toEqual(3); + expect(resps[0].data.offset).toEqual(0); + expect(resps[1].data.offset).toEqual(1); + expect(resps[2].data.offset).toEqual(2); + done(); +}); + +test('API `all` calls for cursor should generate requests until no more results', async done => { + const body = { + incidents: [], + limit: 1, + cursor: 'one', + }; + + nock('https://api.pagerduty.com').get('/incidents?limit=1').reply(200, body); + + nock('https://api.pagerduty.com') + .get('/incidents?limit=1&cursor=one') + .reply(200, { + ...body, + cursor: 'two', + }); + + nock('https://api.pagerduty.com') + .get('/incidents?limit=1&cursor=two') + .reply(200, { + ...body, + cursor: null + }); + + const responses = await all({ + token: 'someToken1234567890', + endpoint: '/incidents', + data: {limit: 1}, + }); + + expect(responses.length).toEqual(3); + expect(responses[0].data.cursor).toEqual('one'); + expect(responses[1].data.cursor).toEqual('two'); + expect(responses[2].data.offset).toEqual(undefined); + done(); +}); + +test('API `all` calls on partials should generate requests until no more results', async done => { + const body = { + incidents: [], + limit: 1, + offset: 0, + total: null, + more: true, + }; + + nock('https://api.pagerduty.com').get('/incidents?limit=1').reply(200, body); + + nock('https://api.pagerduty.com') + .get('/incidents?limit=1&offset=1') + .reply(200, { + ...body, + offset: 1, + }); + + nock('https://api.pagerduty.com') + .get('/incidents?limit=1&offset=2') + .reply(200, { + ...body, + offset: 2, + more: false, + }); + + const pd = api({token: 'someToken1234567890'}); + + const resps = await pd.all({ + endpoint: '/incidents', + data: {limit: 1}, + }); + + expect(resps.length).toEqual(3); + expect(resps[0].data.offset).toEqual(0); + expect(resps[1].data.offset).toEqual(1); + expect(resps[2].data.offset).toEqual(2); + done(); +}); diff --git a/src/api.ts b/src/api.ts new file mode 100644 index 0000000..3ec6166 --- /dev/null +++ b/src/api.ts @@ -0,0 +1,205 @@ +import {request, RequestOptions} from './common'; + +export interface ShorthandCall { + (res: string, params?: Partial): APIPromise; +} + +export interface PartialCall { + (params: APIParams): APIPromise; + (params: Partial): PartialCall; + get: ShorthandCall; + post: ShorthandCall; + put: ShorthandCall; + patch: ShorthandCall; + delete: ShorthandCall; + all: (params: APIParams) => Promise; +} + +export type APIParams = RequestOptions & { + endpoint?: string; + url?: string; + data?: object; + token?: string; + server?: string; + version?: number; +} & ({endpoint: string} | {url: string}); + +export type APIPromise = Promise; + +export interface APIResponse extends Response { + data: any; + resource: any; + response: Response; + next?: () => APIPromise; +} + +export function api(params: APIParams): APIPromise; +export function api(params: Partial): PartialCall; +export function api(params: Partial): APIPromise | PartialCall { + // If the params don't include `endpoint` treat it as a partial + // application. + if (!params.endpoint && !params.url) { + return partialCall(params); + } + + const { + endpoint, + server = 'api.pagerduty.com', + token, + url, + version = 2, + data, + ...rest + } = params; + + const config: RequestOptions = { + method: 'GET', + ...rest, + headers: { + Accept: `application/vnd.pagerduty+json;version=${version}`, + Authorization: `Token token=${token!}`, + ...rest.headers, + }, + }; + + // Allow `data` for `params` for requests without bodies. + if (isReadonlyRequest(config.method!) && data) { + config.params = config.params ?? (data as Record); + } else { + config.body = JSON.stringify(data); + } + + return apiRequest( + url ?? `https://${server}/${endpoint!.replace(/^\/+/, '')}`, + config + ); +} + +export function all(params: APIParams): Promise { + return (api(params) as APIPromise).then(response => allInner([response])); +} + +function allInner(responses: APIResponse[]): Promise { + const response = responses[responses.length - 1]; + + if (!response.next) { + return Promise.resolve(responses); + } + + return response.next().then(response => allInner(responses.concat([response]))); +} + +function apiRequest(url: string, options: RequestOptions): APIPromise { + return request(url, options).then( + (response: Response): APIPromise => { + const apiResponse = response as APIResponse; + const resource = resourceKey(url); + return response.json().then( + (data): APIResponse => { + apiResponse.next = nextFunc(url, options, data); + apiResponse.data = data; + apiResponse.resource = resource ? data[resource] : null; + apiResponse.response = response; + return apiResponse; + } + ); + } + ); +} + +function resourceKey(url: string) { + let resource = url.match(/.+.com\/(?[\w]+)/); + if (resource) { + return resource[1]; + } + return null; +} + +function isReadonlyRequest(method: string) { + return !['PUT', 'POST', 'DELETE', 'PATCH'].includes( + method.toUpperCase() ?? 'GET' + ); +} + +interface OffsetPagination { + type: 'offset'; + more?: boolean; + offset?: number; + limit?: number; +} + +interface CursorPagination { + type: 'cursor'; + cursor?: string; + limit?: number; +} + +function isOffsetPagination(data: OffsetPagination | CursorPagination): data is OffsetPagination { + if ((data as OffsetPagination).offset !== undefined) { + return true + } + return false +} + +function isCursorPagination(data: OffsetPagination | CursorPagination): data is CursorPagination { + if ((data as CursorPagination).cursor !== undefined) { + return true + } + return false +} + +function nextFunc( + url: string, + options: RequestOptions, + data: OffsetPagination | CursorPagination +) { + if (isOffsetPagination(data)) { + if (data?.more && typeof data.offset !== undefined && data.limit) { + return () => + apiRequest(url, { + ...options, + params: { + ...options.params, + limit: data.limit!.toString(), + offset: (data.limit! + data.offset!).toString(), + }, + }); + } + } else if (isCursorPagination(data)) { + if (data?.cursor) { + return () => + apiRequest(url, { + ...options, + params: { + ...options.params, + cursor: data.cursor!, + limit: data.limit!.toString(), + } + }) + } + } + + return undefined; +} + +function partialCall(params: Partial) { + const partialParams = params; + const partial = ((params: Partial) => + api({...partialParams, ...params})) as PartialCall; + + const shorthand = (method: string) => ( + endpoint: string, + params?: Partial + ): APIPromise => + api({endpoint, method, ...partialParams, ...params}) as APIPromise; + + partial.get = shorthand('get'); + partial.post = shorthand('post'); + partial.put = shorthand('put'); + partial.patch = shorthand('patch'); + partial.delete = shorthand('delete'); + + partial.all = (params: APIParams) => all(params); + + return partial; +} diff --git a/src/common.ts b/src/common.ts new file mode 100644 index 0000000..10ac7a6 --- /dev/null +++ b/src/common.ts @@ -0,0 +1,69 @@ +/* NODE-ONLY-START */ +import fetch, {Headers} from 'cross-fetch'; +import {isBrowser} from 'browser-or-node'; +/* NODE-ONLY-END */ + +const VERSION = '0.0.1'; + +export interface RequestOptions extends RequestInit { + params?: Record; + timeout?: number; +} + +// TODO: Retries. +// TODO: Backoff. +export function request( + url: string | URL, + options: RequestOptions = {} +): Promise { + const {params, timeout, ...rest} = options; + + url = new URL(url.toString()); + + url = applyParams(url, params); + options = applyTimeout(options, timeout); + + return fetch(url.toString(), { + ...rest, + headers: new Headers({ + 'Content-Type': 'application/json; charset=utf-8', + /* NODE-ONLY-START */ + ...userAgentHeader(), + /* NODE-ONLY-END */ + ...rest.headers, + }), + }); +} + +function userAgentHeader(): object { + if (isBrowser) return {}; + + return { + 'User-Agent': `pdjs-next/${VERSION} (${process.version}/${process.platform})`, + }; +} + +function applyParams(url: URL, params?: Record): URL { + if (!params) return url; + + const combinedParams = url.searchParams; + + for (const key of Object.keys(params)) { + combinedParams.append(key, params[key]); + } + + url.search = combinedParams.toString(); + return url; +} + +function applyTimeout(init: RequestOptions, timeout?: number): RequestOptions { + if (!timeout) return init; + + const controller = new AbortController(); + setTimeout(() => controller.abort(), timeout); + + return { + ...init, + signal: controller.signal, + }; +} diff --git a/src/events.test.ts b/src/events.test.ts new file mode 100644 index 0000000..b9d7d31 --- /dev/null +++ b/src/events.test.ts @@ -0,0 +1,137 @@ +import nock = require('nock'); +import {Action, Severity} from './events'; +import {event, change, trigger, resolve, acknowledge} from './index'; + +const eventPayloadV2 = { + data: { + routing_key: 'someRoutingKeybfa2a710673888f520', + event_action: 'trigger', + dedup_key: 'test_incident_2_88f520', + payload: { + summary: 'Test Event V2', + source: 'test-source', + severity: 'error', + }, + }, +}; + +test('Events API properly passes Events V2 requests', async done => { + const body = { + data: { + status: 'success', + message: 'Event processed', + dedup_key: 'test_incident_2_88f520', + }, + }; + + nock('https://events.pagerduty.com', { + reqheaders: { + 'User-Agent': header => header.startsWith('pdjs-next'), + }, + }) + .post('/v2/enqueue') + .reply(200, body); + + const resp = await event(eventPayloadV2); + + expect(resp.url).toEqual('https://events.pagerduty.com/v2/enqueue'); + expect(resp.data).toEqual(body); + done(); +}); + + +test('Events API properly passes Change Events requests', async done => { + const body = { + data: { + status: 'success', + message: 'Event processed', + dedup_key: 'test_incident_2_88f520', + }, + }; + + nock('https://events.pagerduty.com', { + reqheaders: { + 'User-Agent': header => header.startsWith('pdjs-next'), + }, + }) + .post('/v2/change/enqueue') + .reply(200, body); + + const resp = await change(eventPayloadV2); + + expect(resp.url).toEqual('https://events.pagerduty.com/v2/change/enqueue'); + expect(resp.data).toEqual(body); + done(); +}); + +test('Events API properly passes Events V2 requests with images/links/details', async done => { + const body = { + data: { + status: 'success', + message: 'Event processed', + dedup_key: 'test_incident_2_88f520', + }, + }; + + nock('https://events.pagerduty.com', { + reqheaders: { + 'User-Agent': header => header.startsWith('pdjs-next'), + }, + }) + .post('/v2/enqueue') + .reply(200, body); + + const resp = await event({ + data: { + routing_key: 'someRoutingKeybfa2a710673888f520', + event_action: 'trigger', + dedup_key: 'test_incident_3_88f520', + payload: { + summary: 'Test Event V2', + source: 'test-source', + severity: 'error', + custom_details: { + foo: 'bar', + }, + }, + images: [ + { + src: 'foo.jpg', + }, + ], + links: [ + { + href: 'https://www.pagerduty.com', + }, + ], + }, + }); + + expect(resp.url).toEqual('https://events.pagerduty.com/v2/enqueue'); + expect(resp.data).toEqual(body); + done(); +}); + +test('Events API shorthands should send corresponding events', async done => { + const body = { + data: { + status: 'success', + message: 'Event processed', + dedup_key: 'test_incident_2_88f520', + }, + }; + + nock('https://events.pagerduty.com', { + reqheaders: { + 'User-Agent': header => header.startsWith('pdjs-next'), + }, + }) + .post('/v2/enqueue') + .reply(200, body); + + const resp = await acknowledge(eventPayloadV2); + + expect(resp.url).toEqual('https://events.pagerduty.com/v2/enqueue'); + expect(resp.data).toEqual(body); + done(); +}); diff --git a/src/events.ts b/src/events.ts new file mode 100644 index 0000000..67d97db --- /dev/null +++ b/src/events.ts @@ -0,0 +1,103 @@ +import {request, RequestOptions} from './common'; + +export type Action = 'trigger' | 'acknowledge' | 'resolve'; + +export type EventPromise = Promise; + +export interface EventResponse extends Response { + data: any; +} + +export type Severity = 'critical' | 'error' | 'warning' | 'info'; + +export interface Image { + src: string; + href?: string; + alt?: string; +} + +export interface Link { + href: string; + text?: string; +} + +export interface EventPayloadV2 { + routing_key: string; + event_action: Action; + dedup_key?: string; + payload: { + summary: string; + source: string; + severity: Severity; + timestamp?: string; + component?: string; + group?: string; + class?: string; + custom_details?: object; + }; + images?: Array; + links?: Array; +} + +export interface EventParams extends RequestOptions { + data: EventPayloadV2; + type?: string; + server?: string; +} + +export interface ChangePayload { + routing_key: string; + payload: { + summary: string; + source?: string; + timestamp: string; + custom_details: object; + }; + links: Array; +} +export interface ChangeParams extends RequestOptions { + data: ChangePayload; + server?: string; +} + +export function event(params: EventParams): EventPromise { + const {server = 'events.pagerduty.com', type = 'event', data, ...config} = params; + + let url = `https://${server}/v2/enqueue` + if (type === 'change') { + url = `https://${server}/v2/change/enqueue` + } + + return eventFetch( + url, + { + method: 'POST', + body: JSON.stringify(data), + ...config, + } + ); +} + +const shorthand = (action: Action) => (params: EventParams): EventPromise => { + const typeField = 'event_action'; + + return event({ + ...params, + data: { + ...params.data, + [typeField]: action, + }, + }); +}; + +export const trigger = shorthand('trigger'); +export const acknowledge = shorthand('acknowledge'); +export const resolve = shorthand('resolve'); +export const change = (params: EventParams) => event({...params, type: 'change'}); + +async function eventFetch(url: string, options: RequestOptions): EventPromise { + const resp = (await request(url, options)) as EventResponse; + resp.data = await resp.json(); + // TODO: Something with the return data data. + return resp; +} diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..8723543 --- /dev/null +++ b/src/index.ts @@ -0,0 +1,2 @@ +export {all, api} from './api'; +export {event, change, trigger, acknowledge, resolve} from './events'; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..4038295 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "lib": ["dom"], + "rootDir": ".", + "outDir": "build", + "sourceMap": true + }, + "include": ["src/**/*.ts", "test/**/*.ts"] +} diff --git a/tslint.json b/tslint.json new file mode 100644 index 0000000..9e97bd2 --- /dev/null +++ b/tslint.json @@ -0,0 +1,7 @@ +{ + "defaultSeverity": "error", + "extends": ["tslint:recommended"], + "jsRules": {}, + "rules": {}, + "rulesDirectory": [] +} diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 0000000..90852c1 --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,56 @@ +const path = require('path'); + +const baseConfig = { + entry: './src/index.ts', + devtool: 'source-map', + output: { + filename: 'pdjs.js', + library: 'PagerDuty', + path: path.resolve(__dirname, 'dist'), + }, + module: { + rules: [ + { + test: /\.tsx?$/, + exclude: /node_modules/, + loader: 'babel-loader', + }, + ], + }, + resolve: { + extensions: ['.tsx', '.ts', '.js'], + }, +}; + +module.exports = [ + { + ...baseConfig, + output: { + ...baseConfig.output, + filename: 'pdjs-legacy.js', + }, + }, + { + ...baseConfig, + module: { + ...baseConfig.module, + rules: [ + ...baseConfig.module.rules, + { + test: /\.[jt]sx?$/, + enforce: 'pre', + exclude: /(node_modules|\.spec\.js)/, + use: [ + { + loader: 'webpack-strip-block', + options: { + start: 'NODE-ONLY-START', + end: 'NODE-ONLY-END', + }, + }, + ], + }, + ], + }, + }, +]; From 5fe782404250048acc9069b84a874175908060e8 Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Tue, 10 Nov 2020 11:36:33 -0500 Subject: [PATCH 02/26] Remove -next and other artifacts, and rebuild. --- README.md | 12 ++++++------ dist/pdjs-legacy.js | 2 +- dist/pdjs-legacy.js.map | 2 +- dist/pdjs.js | 2 +- dist/pdjs.js.map | 2 +- package-lock.json | 4 ++-- package.json | 4 ++-- src/common.ts | 2 +- src/events.test.ts | 8 ++++---- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 8491539..86573ef 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ A simple JavaScript wrapper for the PagerDuty APIs. For the time being: ```bash -npm install --save dobs/pdjs-next#main +npm install --save pagerduty/pdjs#2.0 ``` ## Usage @@ -25,7 +25,7 @@ REST API calls can be done using the convenience methods or by passing in a `url #### convenience Methods ```javascript -import {api} from 'pdjs-next'; +import {api} from 'pdjs'; const pd = api({token: 'someToken1234567890'}) @@ -74,7 +74,7 @@ There's an async `all` that attempts to fetch all pages for a given endpoint and Note that the PagerDuty API has a limit of 10,000 for most endpoints and recommends using parameters to refine searches where more results are necessary. More information can be found in the [Developer Documentation.](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) ```javascript -import {all} from 'pdjs-next'; +import {all} from 'pdjs'; // List every API-accessible incident. const responses = await all({ @@ -93,7 +93,7 @@ for (response of responses) { Both V1 and V2 of the Events API are supported, with the version to used being based on the payload. For example, the Events API V2: ```javascript -import {event} from 'pdjs-next'; +import {event} from 'pdjs'; event({ data: { @@ -115,8 +115,8 @@ event({ Two browser-ready scripts are provided: -- [dist/pdjs.js](https://raw.githubusercontent.com/dobs/pdjs-next/main/dist/pdjs.js): For browsers supporting `fetch`. -- [dist/pdjs-legacy.js](https://raw.githubusercontent.com/dobs/pdjs-next/main/dist/pdjs-legacy.js): For older browsers requiring a `fetch` polyfill -- mostly IE 11. +- [dist/pdjs.js](https://raw.githubusercontent.com/PagerDuty/pdjs/2.0/dist/pdjs.js): For browsers supporting `fetch`. +- [dist/pdjs-legacy.js](https://raw.githubusercontent.com/PagerDuty/pdjs/2.0/dist/pdjs-legacy.js): For older browsers requiring a `fetch` polyfill -- mostly IE 11. Either of these files can be used by copying them into your project and including them directly, with all functions namespaced `PagerDuty`: diff --git a/dist/pdjs-legacy.js b/dist/pdjs-legacy.js index be92d21..50d1ede 100644 --- a/dist/pdjs-legacy.js +++ b/dist/pdjs-legacy.js @@ -1,2 +1,2 @@ -var PagerDuty;PagerDuty=(()=>{var t={47:(t,e,r)=>{"use strict";r.r(e),r.d(e,{acknowledge:()=>R,all:()=>O,api:()=>v,change:()=>A,event:()=>_,resolve:()=>k,trigger:()=>U});var n=r(98),o=r.n(n),i=r(818);function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function a(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function f(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e,i=r.params,s=r.timeout,u=c(r,["params","timeout"]);return t=l(t=new URL(t.toString()),i),e=y(e,s),o()(t.toString(),a(a({},u),{},{headers:new n.Headers(a(a({"Content-Type":"application/json; charset=utf-8"},p()),u.headers))}))}function p(){return i.jU?{}:{"User-Agent":"pdjs-next/".concat("0.0.1"," (").concat(process.version,"/").concat(process.platform,")")}}function l(t,e){if(!e)return t;for(var r=t.searchParams,n=0,o=Object.keys(e);n=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["res","server","token","url","version","data"]),y=b(b({method:"GET"},l),{},{headers:b({Accept:"application/vnd.pagerduty+json;version=".concat(f),Authorization:"Token token=".concat(a)},l.headers)});return r=y.method,!["PUT","POST","DELETE","PATCH"].includes(null!==(n=r.toUpperCase())&&void 0!==n?n:"GET")&&p?y.params=null!==(e=y.params)&&void 0!==e?e:p:y.body=JSON.stringify(p),w(null!=u?u:"https://".concat(s,"/").concat(o.replace(/^\/+/,"")),y)}function O(t){return v(t).then((function(t){return g([t])}))}function g(t){var e=t[t.length-1];return e.next?e.next().then((function(e){return g(t.concat([e]))})):Promise.resolve(t)}function w(t,e){return f(t,e).then((function(r){var n=r;return r.json().then((function(r){return n.next=function(t,e,r){if((null==r?void 0:r.more)&&void 0!==d(r.offset)&&r.limit)return function(){return w(t,b(b({},e),{},{params:b(b({},e.params),{},{limit:r.limit.toString(),offset:(r.limit+r.offset).toString()})}))}}(t,e,r),n.data=r,n}))}))}function j(t,e,r,n,o,i,s){try{var a=t[i](s),u=a.value}catch(t){return void r(t)}a.done?e(u):Promise.resolve(u).then(n,o)}function P(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function s(t){j(i,n,o,s,a,"next",t)}function a(t){j(i,n,o,s,a,"throw",t)}s(void 0)}))}}function E(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function x(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function _(t){var e=t.server,r=void 0===e?"events.pagerduty.com":e,n=t.data,o=T(t,["server","data"]);return I(D(t)?"https://".concat(r,"/generic/2010-04-15/create_event.json"):"https://".concat(r,"/v2/enqueue"),x({method:"POST",body:JSON.stringify(n)},o))}function A(t){var e=t.server,r=void 0===e?"events.pagerduty.com":e,n=t.data,o=T(t,["server","data"]);return I("https://".concat(r,"/v2/change/enqueue"),x({method:"POST",body:JSON.stringify(n)},o))}function D(t){return void 0!==t.data.service_key}var B=function(t){return function(e){var r=D(e)?"event_type":"event_action";return _(x(x({},e),{},{data:x(x({},e.data),{},S({},r,t))}))}},U=B("trigger"),R=B("acknowledge"),k=B("resolve");function I(t,e){return F.apply(this,arguments)}function F(){return(F=P(regeneratorRuntime.mark((function t(e,r){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,f(e,r);case 2:return n=t.sent,t.next=5,n.json();case 5:return n.data=t.sent,t.abrupt("return",n);case 7:case"end":return t.stop()}}),t)})))).apply(this,arguments)}},818:(t,e)=>{"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n="undefined"!=typeof window&&void 0!==window.document;"object"===("undefined"==typeof self?"undefined":r(self))&&self.constructor&&self.constructor.name,"undefined"!=typeof process&&null!=process.versions&&process.versions.node;e.jU=n},98:function(t,e){var r=function(t){function e(){this.fetch=!1,this.DOMException=t.DOMException}return e.prototype=t,new e}("undefined"!=typeof self?self:this);!function(t){!function(e){var r="URLSearchParams"in t,n="Symbol"in t&&"iterator"in Symbol,o="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),i="FormData"in t,s="ArrayBuffer"in t;if(s)var a=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],u=ArrayBuffer.isView||function(t){return t&&a.indexOf(Object.prototype.toString.call(t))>-1};function c(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function f(t){return"string"!=typeof t&&(t=String(t)),t}function p(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return n&&(e[Symbol.iterator]=function(){return e}),e}function l(t){this.map={},t instanceof l?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function y(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function d(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function h(t){var e=new FileReader,r=d(e);return e.readAsArrayBuffer(t),r}function b(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function m(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:o&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:i&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:r&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():s&&o&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=b(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):s&&(ArrayBuffer.prototype.isPrototypeOf(t)||u(t))?this._bodyArrayBuffer=b(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var t=y(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?y(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(h)}),this.text=function(){var t,e,r,n=y(this);if(n)return n;if(this._bodyBlob)return t=this._bodyBlob,r=d(e=new FileReader),e.readAsText(t),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n-1?n:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function g(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}})),e}function w(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new l(e.headers),this.url=e.url||"",this._initBody(t)}O.prototype.clone=function(){return new O(this,{body:this._bodyInit})},m.call(O.prototype),m.call(w.prototype),w.prototype.clone=function(){return new w(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new l(this.headers),url:this.url})},w.error=function(){var t=new w(null,{status:0,statusText:""});return t.type="error",t};var j=[301,302,303,307,308];w.redirect=function(t,e){if(-1===j.indexOf(e))throw new RangeError("Invalid status code");return new w(null,{status:e,headers:{location:t}})},e.DOMException=t.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function P(t,r){return new Promise((function(n,i){var s=new O(t,r);if(s.signal&&s.signal.aborted)return i(new e.DOMException("Aborted","AbortError"));var a=new XMLHttpRequest;function u(){a.abort()}a.onload=function(){var t,e,r={status:a.status,statusText:a.statusText,headers:(t=a.getAllResponseHeaders()||"",e=new l,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}})),e)};r.url="responseURL"in a?a.responseURL:r.headers.get("X-Request-URL");var o="response"in a?a.response:a.responseText;n(new w(o,r))},a.onerror=function(){i(new TypeError("Network request failed"))},a.ontimeout=function(){i(new TypeError("Network request failed"))},a.onabort=function(){i(new e.DOMException("Aborted","AbortError"))},a.open(s.method,s.url,!0),"include"===s.credentials?a.withCredentials=!0:"omit"===s.credentials&&(a.withCredentials=!1),"responseType"in a&&o&&(a.responseType="blob"),s.headers.forEach((function(t,e){a.setRequestHeader(e,t)})),s.signal&&(s.signal.addEventListener("abort",u),a.onreadystatechange=function(){4===a.readyState&&s.signal.removeEventListener("abort",u)}),a.send(void 0===s._bodyInit?null:s._bodyInit)}))}P.polyfill=!0,t.fetch||(t.fetch=P,t.Headers=l,t.Request=O,t.Response=w),e.Headers=l,e.Request=O,e.Response=w,e.fetch=P}({})}(r),delete r.fetch.polyfill,(e=r.fetch).default=r.fetch,e.fetch=r.fetch,e.Headers=r.Headers,e.Request=r.Request,e.Response=r.Response,t.exports=e}},e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return t[n].call(o.exports,o,o.exports,r),o.exports}return r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r(47)})(); +var PagerDuty;PagerDuty=(()=>{var t={47:(t,e,r)=>{"use strict";r.r(e),r.d(e,{acknowledge:()=>F,all:()=>S,api:()=>E,change:()=>C,event:()=>k,resolve:()=>L,trigger:()=>M});var n=r(98),o=r.n(n),i=r(818);function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function u(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function f(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e,i=r.params,s=r.timeout,a=c(r,["params","timeout"]);return t=l(t=new URL(t.toString()),i),e=y(e,s),o()(t.toString(),u(u({},a),{},{headers:new n.Headers(u(u({"Content-Type":"application/json; charset=utf-8"},p()),a.headers))}))}function p(){return i.jU?{}:{"User-Agent":"pdjs/".concat("0.0.1"," (").concat(process.version,"/").concat(process.platform,")")}}function l(t,e){if(!e)return t;for(var r=t.searchParams,n=0,o=Object.keys(e);n]+)>/g,(function(t,e){return"$"+r[e]})))}if("function"==typeof e){var i=this;return n[Symbol.replace].call(this,t,(function(){var t=[];return t.push.apply(t,arguments),"object"!==h(t[t.length-1])&&t.push(s(t,i)),e.apply(this,t)}))}return n[Symbol.replace].call(this,t,e)},d.apply(this,arguments)}function b(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&g(t,e)}function v(t){var e="function"==typeof Map?new Map:void 0;return(v=function(t){if(null===t||(r=t,-1===Function.toString.call(r).indexOf("[native code]")))return t;var r;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return m(t,arguments,w(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),g(n,t)})(t)}function m(t,e,r){return(m=O()?Reflect.construct:function(t,e,r){var n=[null];n.push.apply(n,e);var o=new(Function.bind.apply(t,n));return r&&g(o,r.prototype),o}).apply(null,arguments)}function O(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function g(t,e){return(g=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function w(t){return(w=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function j(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function P(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["endpoint","server","token","url","version","data"]),y=P(P({method:"GET"},l),{},{headers:P({Accept:"application/vnd.pagerduty+json;version=".concat(f),Authorization:"Token token=".concat(u)},l.headers)});return r=y.method,!["PUT","POST","DELETE","PATCH"].includes(null!==(n=r.toUpperCase())&&void 0!==n?n:"GET")&&p?y.params=null!==(e=y.params)&&void 0!==e?e:p:y.body=JSON.stringify(p),T(null!=a?a:"https://".concat(s,"/").concat(o.replace(/^\/+/,"")),y)}function S(t){return E(t).then((function(t){return _([t])}))}function _(t){var e=t[t.length-1];return e.next?e.next().then((function(e){return _(t.concat([e]))})):Promise.resolve(t)}function T(t,e){return f(t,e).then((function(r){var n=r,o=function(t){var e=t.match(d(/.+.com\/([0-9A-Z_a-z]+)/,{resource:1}));return e?e[1]:null}(t);return r.json().then((function(i){return n.next=function(t,e,r){if(function(t){return void 0!==t.offset}(r)){if((null==r?void 0:r.more)&&void 0!==h(r.offset)&&r.limit)return function(){return T(t,P(P({},e),{},{params:P(P({},e.params),{},{limit:r.limit.toString(),offset:(r.limit+r.offset).toString()})}))}}else if(function(t){return void 0!==t.cursor}(r)&&(null==r?void 0:r.cursor))return function(){return T(t,P(P({},e),{},{params:P(P({},e.params),{},{cursor:r.cursor,limit:r.limit.toString()})}))}}(t,e,i),n.data=i,n.resource=o?i[o]:null,n.response=r,n}))}))}function A(t,e,r,n,o,i,s){try{var u=t[i](s),a=u.value}catch(t){return void r(t)}u.done?e(a):Promise.resolve(a).then(n,o)}function D(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function s(t){A(i,n,o,s,u,"next",t)}function u(t){A(i,n,o,s,u,"throw",t)}s(void 0)}))}}function R(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function B(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["server","type","data"]),u="https://".concat(r,"/v2/enqueue");return"change"===o&&(u="https://".concat(r,"/v2/change/enqueue")),function(t,e){return q.apply(this,arguments)}(u,B({method:"POST",body:JSON.stringify(i)},s))}var I=function(t){return function(e){return k(B(B({},e),{},{data:B(B({},e.data),{},U({},"event_action",t))}))}},M=I("trigger"),F=I("acknowledge"),L=I("resolve"),C=function(t){return k(B(B({},t),{},{type:"change"}))};function q(){return(q=D(regeneratorRuntime.mark((function t(e,r){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,f(e,r);case 2:return n=t.sent,t.next=5,n.json();case 5:return n.data=t.sent,t.abrupt("return",n);case 7:case"end":return t.stop()}}),t)})))).apply(this,arguments)}},818:(t,e)=>{"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n="undefined"!=typeof window&&void 0!==window.document;"object"===("undefined"==typeof self?"undefined":r(self))&&self.constructor&&self.constructor.name,"undefined"!=typeof process&&null!=process.versions&&process.versions.node;e.jU=n},98:function(t,e){var r=function(t){function e(){this.fetch=!1,this.DOMException=t.DOMException}return e.prototype=t,new e}("undefined"!=typeof self?self:this);!function(t){!function(e){var r="URLSearchParams"in t,n="Symbol"in t&&"iterator"in Symbol,o="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),i="FormData"in t,s="ArrayBuffer"in t;if(s)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],a=ArrayBuffer.isView||function(t){return t&&u.indexOf(Object.prototype.toString.call(t))>-1};function c(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function f(t){return"string"!=typeof t&&(t=String(t)),t}function p(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return n&&(e[Symbol.iterator]=function(){return e}),e}function l(t){this.map={},t instanceof l?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function y(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function h(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function d(t){var e=new FileReader,r=h(e);return e.readAsArrayBuffer(t),r}function b(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:o&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:i&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:r&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():s&&o&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=b(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):s&&(ArrayBuffer.prototype.isPrototypeOf(t)||a(t))?this._bodyArrayBuffer=b(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var t=y(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?y(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(d)}),this.text=function(){var t,e,r,n=y(this);if(n)return n;if(this._bodyBlob)return t=this._bodyBlob,r=h(e=new FileReader),e.readAsText(t),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n-1?n:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function g(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}})),e}function w(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new l(e.headers),this.url=e.url||"",this._initBody(t)}O.prototype.clone=function(){return new O(this,{body:this._bodyInit})},v.call(O.prototype),v.call(w.prototype),w.prototype.clone=function(){return new w(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new l(this.headers),url:this.url})},w.error=function(){var t=new w(null,{status:0,statusText:""});return t.type="error",t};var j=[301,302,303,307,308];w.redirect=function(t,e){if(-1===j.indexOf(e))throw new RangeError("Invalid status code");return new w(null,{status:e,headers:{location:t}})},e.DOMException=t.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function P(t,r){return new Promise((function(n,i){var s=new O(t,r);if(s.signal&&s.signal.aborted)return i(new e.DOMException("Aborted","AbortError"));var u=new XMLHttpRequest;function a(){u.abort()}u.onload=function(){var t,e,r={status:u.status,statusText:u.statusText,headers:(t=u.getAllResponseHeaders()||"",e=new l,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}})),e)};r.url="responseURL"in u?u.responseURL:r.headers.get("X-Request-URL");var o="response"in u?u.response:u.responseText;n(new w(o,r))},u.onerror=function(){i(new TypeError("Network request failed"))},u.ontimeout=function(){i(new TypeError("Network request failed"))},u.onabort=function(){i(new e.DOMException("Aborted","AbortError"))},u.open(s.method,s.url,!0),"include"===s.credentials?u.withCredentials=!0:"omit"===s.credentials&&(u.withCredentials=!1),"responseType"in u&&o&&(u.responseType="blob"),s.headers.forEach((function(t,e){u.setRequestHeader(e,t)})),s.signal&&(s.signal.addEventListener("abort",a),u.onreadystatechange=function(){4===u.readyState&&s.signal.removeEventListener("abort",a)}),u.send(void 0===s._bodyInit?null:s._bodyInit)}))}P.polyfill=!0,t.fetch||(t.fetch=P,t.Headers=l,t.Request=O,t.Response=w),e.Headers=l,e.Request=O,e.Response=w,e.fetch=P}({})}(r),delete r.fetch.polyfill,(e=r.fetch).default=r.fetch,e.fetch=r.fetch,e.Headers=r.Headers,e.Request=r.Request,e.Response=r.Response,t.exports=e}},e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return t[n].call(o.exports,o,o.exports,r),o.exports}return r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r(47)})(); //# sourceMappingURL=pdjs-legacy.js.map \ No newline at end of file diff --git a/dist/pdjs-legacy.js.map b/dist/pdjs-legacy.js.map index c894bd6..8442a22 100644 --- a/dist/pdjs-legacy.js.map +++ b/dist/pdjs-legacy.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://PagerDuty/./src/common.ts","webpack://PagerDuty/./src/api.ts","webpack://PagerDuty/./src/events.ts","webpack://PagerDuty/./node_modules/browser-or-node/lib/index.js","webpack://PagerDuty/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://PagerDuty/webpack/bootstrap","webpack://PagerDuty/webpack/startup","webpack://PagerDuty/webpack/runtime/compat get default export","webpack://PagerDuty/webpack/runtime/define property getters","webpack://PagerDuty/webpack/runtime/hasOwnProperty shorthand","webpack://PagerDuty/webpack/runtime/make namespace object"],"names":["request","url","options","params","timeout","rest","applyParams","URL","toString","applyTimeout","fetch","headers","Headers","userAgentHeader","isBrowser","process","version","platform","combinedParams","searchParams","Object","keys","key","append","search","init","controller","AbortController","setTimeout","abort","signal","api","res","partialParams","partial","shorthand","method","get","post","put","patch","all","partialCall","server","token","data","config","Accept","Authorization","includes","toUpperCase","body","JSON","stringify","apiRequest","replace","then","resp","allInner","resps","length","next","concat","Promise","resolve","apiResp","json","more","undefined","offset","limit","nextFunc","event","eventFetch","isEventsV1","change","service_key","action","typeField","trigger","acknowledge","_typeof","Symbol","iterator","obj","constructor","prototype","window","document","self","name","versions","node","exports","__self__","root","F","this","DOMException","support","Blob","e","viewClasses","isArrayBufferView","ArrayBuffer","isView","indexOf","call","normalizeName","String","test","TypeError","toLowerCase","normalizeValue","value","iteratorFor","items","shift","done","map","forEach","Array","isArray","header","getOwnPropertyNames","consumed","bodyUsed","reject","fileReaderReady","reader","onload","result","onerror","error","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","buf","slice","view","Uint8Array","byteLength","set","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","type","rejected","Error","arrayBuffer","text","readAsText","chars","i","fromCharCode","join","readArrayBufferAsText","formData","decode","parse","oldValue","has","hasOwnProperty","callback","thisArg","push","values","entries","methods","Request","input","upcased","credentials","mode","referrer","form","trim","split","bytes","decodeURIComponent","Response","bodyInit","status","ok","statusText","clone","response","redirectStatuses","redirect","RangeError","location","err","message","stack","create","aborted","xhr","XMLHttpRequest","abortXhr","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","onabort","open","withCredentials","responseType","setRequestHeader","addEventListener","onreadystatechange","readyState","removeEventListener","send","polyfill","default","module","__webpack_module_cache__","__webpack_require__","moduleId","__webpack_modules__","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","prop","r","toStringTag"],"mappings":"mvCAcO,SAASA,EACdC,GAEmB,IADnBC,EACmB,uDADO,GACP,EACgBA,EAA5BC,EADY,EACZA,OAAQC,EADI,EACJA,QAAYC,EADR,0BAQnB,OAHAJ,EAAMK,EAFNL,EAAM,IAAIM,IAAIN,EAAIO,YAEKL,GACvBD,EAAUO,EAAaP,EAASE,GAEzBM,IAAMT,EAAIO,WAAL,OACPH,GADO,IAEVM,QAAS,IAAIC,UAAJ,KACP,eAAgB,mCAEbC,KAEAR,EAAKM,aAKd,SAASE,IACP,OAAIC,KAAkB,GAEf,CACL,iCApCY,QAoCZ,aAAuCC,QAAQC,QAA/C,YAA0DD,QAAQE,SAAlE,MAIJ,SAASX,EAAYL,EAAUE,GAC7B,IAAKA,EAAQ,OAAOF,EAIpB,IAFA,IAAMiB,EAAiBjB,EAAIkB,aAE3B,MAAkBC,OAAOC,KAAKlB,GAA9B,eAAuC,CAAlC,IAAMmB,EAAG,KACZJ,EAAeK,OAAOD,EAAKnB,EAAOmB,IAIpC,OADArB,EAAIuB,OAASN,EAAeV,WACrBP,EAGT,SAASQ,EAAagB,EAAsBrB,GAC1C,IAAKA,EAAS,OAAOqB,EAErB,IAAMC,EAAa,IAAIC,gBAGvB,OAFAC,YAAW,kBAAMF,EAAWG,UAASzB,GAErC,OACKqB,GADL,IAEEK,OAAQJ,EAAWI,S,45BC/BhB,SAASC,EAAI5B,GAGlB,IAAKA,EAAO6B,MAAQ7B,EAAOF,IACzB,OA6FJ,SAAqBE,GACnB,IAAM8B,EAAgB9B,EAChB+B,EAAW,SAAC/B,GAAD,OACf4B,EAAI,OAAIE,GAAkB9B,KAEtBgC,EAAY,SAACC,GAAD,OAAoB,SACpCJ,EACA7B,GAFoC,OAIpC4B,EAAI,KAACC,MAAKI,UAAWH,GAAkB9B,MAUzC,OARA+B,EAAQG,IAAMF,EAAU,OACxBD,EAAQI,KAAOH,EAAU,QACzBD,EAAQK,IAAMJ,EAAU,OACxBD,EAAQM,MAAQL,EAAU,SAC1BD,EAAO,OAAUC,EAAU,UAE3BD,EAAQO,IAAM,SAACtC,GAAD,OAAuBsC,EAAItC,IAElC+B,EAhHEQ,CAAYvC,GAJmD,IA4BzB,EA0CtBiC,EAAgB,EA9DvCJ,EAOE7B,EAPF6B,IARsE,EAepE7B,EANFwC,cATsE,MAS7D,oBAT6D,EAUtEC,EAKEzC,EALFyC,MACA3C,EAIEE,EAJFF,IAXsE,EAepEE,EAHFa,eAZsE,MAY5D,EAZ4D,EAatE6B,EAEE1C,EAFF0C,KACGxC,E,kXAdmE,CAepEF,EAfoE,iDAiBlE2C,EAAyB,KAC7BV,OAAQ,OACL/B,GAFuB,IAG1BM,QAAS,GACPoC,OAAQ,0CAAF,OAA4C/B,GAClDgC,cAAe,eAAF,OAAiBJ,IAC3BvC,EAAKM,WAWZ,OAoCyByB,EA1CHU,EAAOV,QA2CrB,CAAC,MAAO,OAAQ,SAAU,SAASa,SAAnC,UACNb,EAAOc,qBADD,QACkB,QA5CeL,EACvCC,EAAO3C,OAAP,UAAgB2C,EAAO3C,cAAvB,QAAkC0C,EAElCC,EAAOK,KAAOC,KAAKC,UAAUR,GAGxBS,EACLrD,UADe,kBACG0C,EADH,YACaX,EAAKuB,QAAQ,OAAQ,KACjDT,GAIG,SAASL,EAAItC,GAClB,OAAQ4B,EAAI5B,GAAuBqD,MAAK,SAAAC,GAAI,OAAIC,EAAS,CAACD,OAG5D,SAASC,EAASC,GAChB,IAAMF,EAAOE,EAAMA,EAAMC,OAAS,GAElC,OAAKH,EAAKI,KAIHJ,EAAKI,OAAOL,MAAK,SAAAC,GAAI,OAAIC,EAASC,EAAMG,OAAO,CAACL,QAH9CM,QAAQC,QAAQL,GAM3B,SAASL,EAAWrD,EAAaC,GAC/B,OAAOF,EAAQC,EAAKC,GAASsD,MAC3B,SAACC,GACC,IAAMQ,EAAUR,EAEhB,OAAOA,EAAKS,OAAOV,MACjB,SAACX,GAGC,OAFAoB,EAAQJ,KAgBlB,SACE5D,EACAC,EACA2C,GAEA,IAAIA,aAAA,EAAAA,EAAMsB,YAA+BC,IAAvB,EAAOvB,EAAKwB,SAAwBxB,EAAKyB,MACzD,OAAO,kBACLhB,EAAWrD,EAAD,EAAC,KACNC,GADK,IAERC,OAAQ,OACHD,EAAQC,QADP,IAEJmE,MAAOzB,EAAKyB,MAAO9D,WACnB6D,QAASxB,EAAKyB,MAASzB,EAAKwB,QAAS7D,iBA5BtB+D,CAAStE,EAAKC,EAAS2C,GACtCoB,EAAQpB,KAAOA,EACRoB,Q,u2CC1BV,SAASO,EAAMrE,GAAmC,MACIA,EAApDwC,cADgD,MACvC,uBADuC,EACfE,EAAmB1C,EAAnB0C,KAASC,EADM,EACI3C,EADJ,mBAGvD,OAAOsE,EACLC,EAAWvE,GAAX,kBACewC,EADf,2DAEeA,EAFf,eADe,GAKbP,OAAQ,OACRe,KAAMC,KAAKC,UAAUR,IAClBC,IAKF,SAAS6B,EAAOxE,GAAoC,MACEA,EAApDwC,cADkD,MACzC,uBADyC,EACjBE,EAAmB1C,EAAnB0C,KAASC,EADQ,EACE3C,EADF,mBAGzD,OAAOsE,EAAW,WAAD,OAAY9B,EAAZ,yBACfP,OAAQ,OACRe,KAAMC,KAAKC,UAAUR,IAClBC,IAIP,SAAS4B,EAAWvE,GAClB,YAAuDiE,IAA/CjE,EAAO0C,KAAwB+B,YAGzC,IAAMzC,EAAY,SAAC0C,GAAD,OAAoB,SAAC1E,GACrC,IAAM2E,EAAYJ,EAAWvE,GAAU,aAAe,eAEtD,OAAOqE,EAAM,OACRrE,GADO,IAEV0C,KAAM,OACD1C,EAAO0C,MADR,QAEDiC,EAAYD,SAKNE,EAAU5C,EAAU,WACpB6C,EAAc7C,EAAU,eACxB6B,EAAU7B,EAAU,W,SAElBsC,E,qFAAf,WAA0BxE,EAAaC,GAAvC,sGACsBF,EAAQC,EAAKC,GADnC,cACQuD,EADR,gBAEoBA,EAAKS,OAFzB,cAEET,EAAKZ,KAFP,yBAGSY,GAHT,4C,iDC/GA,IAAIwB,EAA4B,mBAAXC,QAAoD,iBAApBA,OAAOC,SAAwB,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAyB,mBAAXF,QAAyBE,EAAIC,cAAgBH,QAAUE,IAAQF,OAAOI,UAAY,gBAAkBF,GAIlQtE,EAA8B,oBAAXyE,aAAqD,IAApBA,OAAOC,SAGmB,YAA/C,oBAATC,KAAuB,YAAcR,EAAQQ,QAAuBA,KAAKJ,aAAeI,KAAKJ,YAAYK,KAGnG,oBAAZ3E,SAA+C,MAApBA,QAAQ4E,UAAoB5E,QAAQ4E,SAASC,KAW5FC,EAAQ,GAAY/E,G,iBC3BpB,IAAIgF,EAAW,SAAWC,GAC1B,SAASC,IACTC,KAAKvF,OAAQ,EACbuF,KAAKC,aAAeH,EAAKG,aAGzB,OADAF,EAAEV,UAAYS,EACP,IAAIC,EANI,CAOI,oBAATP,KAAuBA,KAAOQ,OACxC,SAAUR,IAEQ,SAAUI,GAE1B,IAAIM,EACY,oBAAqBV,EADjCU,EAEQ,WAAYV,GAAQ,aAAcP,OAF1CiB,EAIA,eAAgBV,GAChB,SAAUA,GACV,WACE,IAEE,OADA,IAAIW,MACG,EACP,MAAOC,GACP,OAAO,GALX,GANAF,EAcQ,aAAcV,EAdtBU,EAeW,gBAAiBV,EAOhC,GAAIU,EACF,IAAIG,EAAc,CAChB,qBACA,sBACA,6BACA,sBACA,uBACA,sBACA,uBACA,wBACA,yBAGEC,EACFC,YAAYC,QACZ,SAASrB,GACP,OAAOA,GAAOkB,EAAYI,QAAQtF,OAAOkE,UAAU9E,SAASmG,KAAKvB,KAAS,GAIhF,SAASwB,EAAclB,GAIrB,GAHoB,iBAATA,IACTA,EAAOmB,OAAOnB,IAEZ,4BAA4BoB,KAAKpB,GACnC,MAAM,IAAIqB,UAAU,0CAEtB,OAAOrB,EAAKsB,cAGd,SAASC,EAAeC,GAItB,MAHqB,iBAAVA,IACTA,EAAQL,OAAOK,IAEVA,EAIT,SAASC,EAAYC,GACnB,IAAIjC,EAAW,CACbtB,KAAM,WACJ,IAAIqD,EAAQE,EAAMC,QAClB,MAAO,CAACC,UAAgBlD,IAAV8C,EAAqBA,MAAOA,KAU9C,OANIf,IACFhB,EAASD,OAAOC,UAAY,WAC1B,OAAOA,IAIJA,EAGT,SAASvE,EAAQD,GACfsF,KAAKsB,IAAM,GAEP5G,aAAmBC,EACrBD,EAAQ6G,SAAQ,SAASN,EAAOxB,GAC9BO,KAAK1E,OAAOmE,EAAMwB,KACjBjB,MACMwB,MAAMC,QAAQ/G,GACvBA,EAAQ6G,SAAQ,SAASG,GACvB1B,KAAK1E,OAAOoG,EAAO,GAAIA,EAAO,MAC7B1B,MACMtF,GACTS,OAAOwG,oBAAoBjH,GAAS6G,SAAQ,SAAS9B,GACnDO,KAAK1E,OAAOmE,EAAM/E,EAAQ+E,MACzBO,MAgEP,SAAS4B,EAAS1E,GAChB,GAAIA,EAAK2E,SACP,OAAO/D,QAAQgE,OAAO,IAAIhB,UAAU,iBAEtC5D,EAAK2E,UAAW,EAGlB,SAASE,EAAgBC,GACvB,OAAO,IAAIlE,SAAQ,SAASC,EAAS+D,GACnCE,EAAOC,OAAS,WACdlE,EAAQiE,EAAOE,SAEjBF,EAAOG,QAAU,WACfL,EAAOE,EAAOI,WAKpB,SAASC,EAAsBC,GAC7B,IAAIN,EAAS,IAAIO,WACbC,EAAUT,EAAgBC,GAE9B,OADAA,EAAOS,kBAAkBH,GAClBE,EAoBT,SAASE,EAAYC,GACnB,GAAIA,EAAIC,MACN,OAAOD,EAAIC,MAAM,GAEjB,IAAIC,EAAO,IAAIC,WAAWH,EAAII,YAE9B,OADAF,EAAKG,IAAI,IAAIF,WAAWH,IACjBE,EAAKI,OAIhB,SAASC,IA0FP,OAzFAlD,KAAK6B,UAAW,EAEhB7B,KAAKmD,UAAY,SAASjG,GAhM5B,IAAoBiC,EAiMhBa,KAAKoD,UAAYlG,EACZA,EAEsB,iBAATA,EAChB8C,KAAKqD,UAAYnG,EACRgD,GAAgBC,KAAKd,UAAUiE,cAAcpG,GACtD8C,KAAKuD,UAAYrG,EACRgD,GAAoBsD,SAASnE,UAAUiE,cAAcpG,GAC9D8C,KAAKyD,cAAgBvG,EACZgD,GAAwBwD,gBAAgBrE,UAAUiE,cAAcpG,GACzE8C,KAAKqD,UAAYnG,EAAK3C,WACb2F,GAAuBA,IA5MlBf,EA4M6CjC,IA3MjDyG,SAAStE,UAAUiE,cAAcnE,IA4M3Ca,KAAK4D,iBAAmBlB,EAAYxF,EAAK+F,QAEzCjD,KAAKoD,UAAY,IAAIjD,KAAK,CAACH,KAAK4D,oBACvB1D,IAAwBK,YAAYlB,UAAUiE,cAAcpG,IAASoD,EAAkBpD,IAChG8C,KAAK4D,iBAAmBlB,EAAYxF,GAEpC8C,KAAKqD,UAAYnG,EAAO/B,OAAOkE,UAAU9E,SAASmG,KAAKxD,GAhBvD8C,KAAKqD,UAAY,GAmBdrD,KAAKtF,QAAQ0B,IAAI,kBACA,iBAATc,EACT8C,KAAKtF,QAAQsI,IAAI,eAAgB,4BACxBhD,KAAKuD,WAAavD,KAAKuD,UAAUM,KAC1C7D,KAAKtF,QAAQsI,IAAI,eAAgBhD,KAAKuD,UAAUM,MACvC3D,GAAwBwD,gBAAgBrE,UAAUiE,cAAcpG,IACzE8C,KAAKtF,QAAQsI,IAAI,eAAgB,qDAKnC9C,IACFF,KAAKsC,KAAO,WACV,IAAIwB,EAAWlC,EAAS5B,MACxB,GAAI8D,EACF,OAAOA,EAGT,GAAI9D,KAAKuD,UACP,OAAOzF,QAAQC,QAAQiC,KAAKuD,WACvB,GAAIvD,KAAK4D,iBACd,OAAO9F,QAAQC,QAAQ,IAAIoC,KAAK,CAACH,KAAK4D,oBACjC,GAAI5D,KAAKyD,cACd,MAAM,IAAIM,MAAM,wCAEhB,OAAOjG,QAAQC,QAAQ,IAAIoC,KAAK,CAACH,KAAKqD,cAI1CrD,KAAKgE,YAAc,WACjB,OAAIhE,KAAK4D,iBACAhC,EAAS5B,OAASlC,QAAQC,QAAQiC,KAAK4D,kBAEvC5D,KAAKsC,OAAO/E,KAAK8E,KAK9BrC,KAAKiE,KAAO,WACV,IA3FoB3B,EAClBN,EACAQ,EAyFEsB,EAAWlC,EAAS5B,MACxB,GAAI8D,EACF,OAAOA,EAGT,GAAI9D,KAAKuD,UACP,OAjGkBjB,EAiGItC,KAAKuD,UA/F3Bf,EAAUT,EADVC,EAAS,IAAIO,YAEjBP,EAAOkC,WAAW5B,GACXE,EA8FE,GAAIxC,KAAK4D,iBACd,OAAO9F,QAAQC,QA5FrB,SAA+B4E,GAI7B,IAHA,IAAIE,EAAO,IAAIC,WAAWH,GACtBwB,EAAQ,IAAI3C,MAAMqB,EAAKlF,QAElByG,EAAI,EAAGA,EAAIvB,EAAKlF,OAAQyG,IAC/BD,EAAMC,GAAKxD,OAAOyD,aAAaxB,EAAKuB,IAEtC,OAAOD,EAAMG,KAAK,IAqFSC,CAAsBvE,KAAK4D,mBAC7C,GAAI5D,KAAKyD,cACd,MAAM,IAAIM,MAAM,wCAEhB,OAAOjG,QAAQC,QAAQiC,KAAKqD,YAI5BnD,IACFF,KAAKwE,SAAW,WACd,OAAOxE,KAAKiE,OAAO1G,KAAKkH,KAI5BzE,KAAK/B,KAAO,WACV,OAAO+B,KAAKiE,OAAO1G,KAAKJ,KAAKuH,QAGxB1E,KA1MTrF,EAAQ0E,UAAU/D,OAAS,SAASmE,EAAMwB,GACxCxB,EAAOkB,EAAclB,GACrBwB,EAAQD,EAAeC,GACvB,IAAI0D,EAAW3E,KAAKsB,IAAI7B,GACxBO,KAAKsB,IAAI7B,GAAQkF,EAAWA,EAAW,KAAO1D,EAAQA,GAGxDtG,EAAQ0E,UAAkB,OAAI,SAASI,UAC9BO,KAAKsB,IAAIX,EAAclB,KAGhC9E,EAAQ0E,UAAUjD,IAAM,SAASqD,GAE/B,OADAA,EAAOkB,EAAclB,GACdO,KAAK4E,IAAInF,GAAQO,KAAKsB,IAAI7B,GAAQ,MAG3C9E,EAAQ0E,UAAUuF,IAAM,SAASnF,GAC/B,OAAOO,KAAKsB,IAAIuD,eAAelE,EAAclB,KAG/C9E,EAAQ0E,UAAU2D,IAAM,SAASvD,EAAMwB,GACrCjB,KAAKsB,IAAIX,EAAclB,IAASuB,EAAeC,IAGjDtG,EAAQ0E,UAAUkC,QAAU,SAASuD,EAAUC,GAC7C,IAAK,IAAItF,KAAQO,KAAKsB,IAChBtB,KAAKsB,IAAIuD,eAAepF,IAC1BqF,EAASpE,KAAKqE,EAAS/E,KAAKsB,IAAI7B,GAAOA,EAAMO,OAKnDrF,EAAQ0E,UAAUjE,KAAO,WACvB,IAAI+F,EAAQ,GAIZ,OAHAnB,KAAKuB,SAAQ,SAASN,EAAOxB,GAC3B0B,EAAM6D,KAAKvF,MAENyB,EAAYC,IAGrBxG,EAAQ0E,UAAU4F,OAAS,WACzB,IAAI9D,EAAQ,GAIZ,OAHAnB,KAAKuB,SAAQ,SAASN,GACpBE,EAAM6D,KAAK/D,MAENC,EAAYC,IAGrBxG,EAAQ0E,UAAU6F,QAAU,WAC1B,IAAI/D,EAAQ,GAIZ,OAHAnB,KAAKuB,SAAQ,SAASN,EAAOxB,GAC3B0B,EAAM6D,KAAK,CAACvF,EAAMwB,OAEbC,EAAYC,IAGjBjB,IACFvF,EAAQ0E,UAAUJ,OAAOC,UAAYvE,EAAQ0E,UAAU6F,SAqJzD,IAAIC,EAAU,CAAC,SAAU,MAAO,OAAQ,UAAW,OAAQ,OAO3D,SAASC,EAAQC,EAAOpL,GAEtB,IAPuBkC,EACnBmJ,EAMApI,GADJjD,EAAUA,GAAW,IACFiD,KAEnB,GAAImI,aAAiBD,EAAS,CAC5B,GAAIC,EAAMxD,SACR,MAAM,IAAIf,UAAU,gBAEtBd,KAAKhG,IAAMqL,EAAMrL,IACjBgG,KAAKuF,YAAcF,EAAME,YACpBtL,EAAQS,UACXsF,KAAKtF,QAAU,IAAIC,EAAQ0K,EAAM3K,UAEnCsF,KAAK7D,OAASkJ,EAAMlJ,OACpB6D,KAAKwF,KAAOH,EAAMG,KAClBxF,KAAKnE,OAASwJ,EAAMxJ,OACfqB,GAA2B,MAAnBmI,EAAMjC,YACjBlG,EAAOmI,EAAMjC,UACbiC,EAAMxD,UAAW,QAGnB7B,KAAKhG,IAAM4G,OAAOyE,GAYpB,GATArF,KAAKuF,YAActL,EAAQsL,aAAevF,KAAKuF,aAAe,eAC1DtL,EAAQS,SAAYsF,KAAKtF,UAC3BsF,KAAKtF,QAAU,IAAIC,EAAQV,EAAQS,UAErCsF,KAAK7D,QAhCDmJ,GADmBnJ,EAiCOlC,EAAQkC,QAAU6D,KAAK7D,QAAU,OAhC1Cc,cACdkI,EAAQ1E,QAAQ6E,IAAY,EAAIA,EAAUnJ,GAgCjD6D,KAAKwF,KAAOvL,EAAQuL,MAAQxF,KAAKwF,MAAQ,KACzCxF,KAAKnE,OAAS5B,EAAQ4B,QAAUmE,KAAKnE,OACrCmE,KAAKyF,SAAW,MAEK,QAAhBzF,KAAK7D,QAAoC,SAAhB6D,KAAK7D,SAAsBe,EACvD,MAAM,IAAI4D,UAAU,6CAEtBd,KAAKmD,UAAUjG,GAOjB,SAASuH,EAAOvH,GACd,IAAIwI,EAAO,IAAIlC,SAYf,OAXAtG,EACGyI,OACAC,MAAM,KACNrE,SAAQ,SAASsE,GAChB,GAAIA,EAAO,CACT,IAAID,EAAQC,EAAMD,MAAM,KACpBnG,EAAOmG,EAAMxE,QAAQ9D,QAAQ,MAAO,KACpC2D,EAAQ2E,EAAMtB,KAAK,KAAKhH,QAAQ,MAAO,KAC3CoI,EAAKpK,OAAOwK,mBAAmBrG,GAAOqG,mBAAmB7E,QAGxDyE,EAqBT,SAASK,EAASC,EAAU/L,GACrBA,IACHA,EAAU,IAGZ+F,KAAK6D,KAAO,UACZ7D,KAAKiG,YAA4B9H,IAAnBlE,EAAQgM,OAAuB,IAAMhM,EAAQgM,OAC3DjG,KAAKkG,GAAKlG,KAAKiG,QAAU,KAAOjG,KAAKiG,OAAS,IAC9CjG,KAAKmG,WAAa,eAAgBlM,EAAUA,EAAQkM,WAAa,KACjEnG,KAAKtF,QAAU,IAAIC,EAAQV,EAAQS,SACnCsF,KAAKhG,IAAMC,EAAQD,KAAO,GAC1BgG,KAAKmD,UAAU6C,GAjDjBZ,EAAQ/F,UAAU+G,MAAQ,WACxB,OAAO,IAAIhB,EAAQpF,KAAM,CAAC9C,KAAM8C,KAAKoD,aAmCvCF,EAAKxC,KAAK0E,EAAQ/F,WAgBlB6D,EAAKxC,KAAKqF,EAAS1G,WAEnB0G,EAAS1G,UAAU+G,MAAQ,WACzB,OAAO,IAAIL,EAAS/F,KAAKoD,UAAW,CAClC6C,OAAQjG,KAAKiG,OACbE,WAAYnG,KAAKmG,WACjBzL,QAAS,IAAIC,EAAQqF,KAAKtF,SAC1BV,IAAKgG,KAAKhG,OAId+L,EAAS3D,MAAQ,WACf,IAAIiE,EAAW,IAAIN,EAAS,KAAM,CAACE,OAAQ,EAAGE,WAAY,KAE1D,OADAE,EAASxC,KAAO,QACTwC,GAGT,IAAIC,EAAmB,CAAC,IAAK,IAAK,IAAK,IAAK,KAE5CP,EAASQ,SAAW,SAASvM,EAAKiM,GAChC,IAA0C,IAAtCK,EAAiB7F,QAAQwF,GAC3B,MAAM,IAAIO,WAAW,uBAGvB,OAAO,IAAIT,EAAS,KAAM,CAACE,OAAQA,EAAQvL,QAAS,CAAC+L,SAAUzM,MAGjE4F,EAAQK,aAAeT,EAAKS,aAC5B,IACE,IAAIL,EAAQK,aACZ,MAAOyG,GACP9G,EAAQK,aAAe,SAAS0G,EAASlH,GACvCO,KAAK2G,QAAUA,EACf3G,KAAKP,KAAOA,EACZ,IAAI2C,EAAQ2B,MAAM4C,GAClB3G,KAAK4G,MAAQxE,EAAMwE,OAErBhH,EAAQK,aAAaZ,UAAYlE,OAAO0L,OAAO9C,MAAM1E,WACrDO,EAAQK,aAAaZ,UAAUD,YAAcQ,EAAQK,aAGvD,SAASxF,EAAM4K,EAAO7J,GACpB,OAAO,IAAIsC,SAAQ,SAASC,EAAS+D,GACnC,IAAI/H,EAAU,IAAIqL,EAAQC,EAAO7J,GAEjC,GAAIzB,EAAQ8B,QAAU9B,EAAQ8B,OAAOiL,QACnC,OAAOhF,EAAO,IAAIlC,EAAQK,aAAa,UAAW,eAGpD,IAAI8G,EAAM,IAAIC,eAEd,SAASC,IACPF,EAAInL,QAGNmL,EAAI9E,OAAS,WACX,IAxFgBiF,EAChBxM,EAuFIT,EAAU,CACZgM,OAAQc,EAAId,OACZE,WAAYY,EAAIZ,WAChBzL,SA3FcwM,EA2FQH,EAAII,yBAA2B,GA1FvDzM,EAAU,IAAIC,EAGQuM,EAAW5J,QAAQ,eAAgB,KACzCsI,MAAM,SAASrE,SAAQ,SAAS6F,GAClD,IAAIC,EAAQD,EAAKxB,MAAM,KACnBvK,EAAMgM,EAAMjG,QAAQuE,OACxB,GAAItK,EAAK,CACP,IAAI4F,EAAQoG,EAAM/C,KAAK,KAAKqB,OAC5BjL,EAAQY,OAAOD,EAAK4F,OAGjBvG,IAgFHT,EAAQD,IAAM,gBAAiB+M,EAAMA,EAAIO,YAAcrN,EAAQS,QAAQ0B,IAAI,iBAC3E,IAAIc,EAAO,aAAc6J,EAAMA,EAAIV,SAAWU,EAAIQ,aAClDxJ,EAAQ,IAAIgI,EAAS7I,EAAMjD,KAG7B8M,EAAI5E,QAAU,WACZL,EAAO,IAAIhB,UAAU,4BAGvBiG,EAAIS,UAAY,WACd1F,EAAO,IAAIhB,UAAU,4BAGvBiG,EAAIU,QAAU,WACZ3F,EAAO,IAAIlC,EAAQK,aAAa,UAAW,gBAG7C8G,EAAIW,KAAK3N,EAAQoC,OAAQpC,EAAQC,KAAK,GAEV,YAAxBD,EAAQwL,YACVwB,EAAIY,iBAAkB,EACW,SAAxB5N,EAAQwL,cACjBwB,EAAIY,iBAAkB,GAGpB,iBAAkBZ,GAAO7G,IAC3B6G,EAAIa,aAAe,QAGrB7N,EAAQW,QAAQ6G,SAAQ,SAASN,EAAOxB,GACtCsH,EAAIc,iBAAiBpI,EAAMwB,MAGzBlH,EAAQ8B,SACV9B,EAAQ8B,OAAOiM,iBAAiB,QAASb,GAEzCF,EAAIgB,mBAAqB,WAEA,IAAnBhB,EAAIiB,YACNjO,EAAQ8B,OAAOoM,oBAAoB,QAAShB,KAKlDF,EAAImB,UAAkC,IAAtBnO,EAAQqJ,UAA4B,KAAOrJ,EAAQqJ,cAIvE3I,EAAM0N,UAAW,EAEZ3I,EAAK/E,QACR+E,EAAK/E,MAAQA,EACb+E,EAAK7E,QAAUA,EACf6E,EAAK4F,QAAUA,EACf5F,EAAKuG,SAAWA,GAGlBnG,EAAQjF,QAAUA,EAClBiF,EAAQwF,QAAUA,EAClBxF,EAAQmG,SAAWA,EACnBnG,EAAQnF,MAAQA,EA1gBD,CA8gBf,IAhhBF,CAihBGoF,UACIA,EAASpF,MAAM0N,UACtBvI,EAAUC,EAASpF,OACX2N,QAAUvI,EAASpF,MAC3BmF,EAAQnF,MAAQoF,EAASpF,MACzBmF,EAAQjF,QAAUkF,EAASlF,QAC3BiF,EAAQwF,QAAUvF,EAASuF,QAC3BxF,EAAQmG,SAAWlG,EAASkG,SAC5BsC,EAAOzI,QAAUA,IChiBb0I,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAU5I,QAG3C,IAAIyI,EAASC,EAAyBE,GAAY,CAGjD5I,QAAS,IAOV,OAHA6I,EAAoBD,GAAU9H,KAAK2H,EAAOzI,QAASyI,EAAQA,EAAOzI,QAAS2I,GAGpEF,EAAOzI,QCjBf,OCFA2I,EAAoBG,EAAKL,IACxB,IAAIM,EAASN,GAAUA,EAAOO,WAC7B,IAAMP,EAAgB,QACtB,IAAMA,EAEP,OADAE,EAAoBM,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,GCLRJ,EAAoBM,EAAI,CAACjJ,EAASmJ,KACjC,IAAI,IAAI1N,KAAO0N,EACXR,EAAoBS,EAAED,EAAY1N,KAASkN,EAAoBS,EAAEpJ,EAASvE,IAC5EF,OAAO8N,eAAerJ,EAASvE,EAAK,CAAE6N,YAAY,EAAM9M,IAAK2M,EAAW1N,MCJ3EkN,EAAoBS,EAAI,CAAC7J,EAAKgK,IAAShO,OAAOkE,UAAUwF,eAAenE,KAAKvB,EAAKgK,GCCjFZ,EAAoBa,EAAKxJ,IACH,oBAAXX,QAA0BA,OAAOoK,aAC1ClO,OAAO8N,eAAerJ,EAASX,OAAOoK,YAAa,CAAEpI,MAAO,WAE7D9F,OAAO8N,eAAerJ,EAAS,aAAc,CAAEqB,OAAO,KJFhDsH,EAAoB,K","file":"pdjs-legacy.js","sourcesContent":["/* NODE-ONLY-START */\nimport fetch, {Headers} from 'cross-fetch';\nimport {isBrowser} from 'browser-or-node';\n/* NODE-ONLY-END */\n\nconst VERSION = '0.0.1';\n\nexport interface RequestOptions extends RequestInit {\n params?: Record;\n timeout?: number;\n}\n\n// TODO: Retries.\n// TODO: Backoff.\nexport function request(\n url: string | URL,\n options: RequestOptions = {}\n): Promise {\n const {params, timeout, ...rest} = options;\n\n url = new URL(url.toString());\n\n url = applyParams(url, params);\n options = applyTimeout(options, timeout);\n\n return fetch(url.toString(), {\n ...rest,\n headers: new Headers({\n 'Content-Type': 'application/json; charset=utf-8',\n /* NODE-ONLY-START */\n ...userAgentHeader(),\n /* NODE-ONLY-END */\n ...rest.headers,\n }),\n });\n}\n\nfunction userAgentHeader(): object {\n if (isBrowser) return {};\n\n return {\n 'User-Agent': `pdjs-next/${VERSION} (${process.version}/${process.platform})`,\n };\n}\n\nfunction applyParams(url: URL, params?: Record): URL {\n if (!params) return url;\n\n const combinedParams = url.searchParams;\n\n for (const key of Object.keys(params)) {\n combinedParams.append(key, params[key]);\n }\n\n url.search = combinedParams.toString();\n return url;\n}\n\nfunction applyTimeout(init: RequestOptions, timeout?: number): RequestOptions {\n if (!timeout) return init;\n\n const controller = new AbortController();\n setTimeout(() => controller.abort(), timeout);\n\n return {\n ...init,\n signal: controller.signal,\n };\n}\n","import {request, RequestOptions} from './common';\n\nexport interface ShorthandCall {\n (res: string, params?: Partial): APIPromise;\n}\n\nexport interface PartialCall {\n (params: APIParams): APIPromise;\n (params: Partial): PartialCall;\n get: ShorthandCall;\n post: ShorthandCall;\n put: ShorthandCall;\n patch: ShorthandCall;\n delete: ShorthandCall;\n all: (params: APIParams) => Promise;\n}\n\nexport type APIParams = RequestOptions & {\n res?: string;\n url?: string;\n data?: object;\n token?: string;\n server?: string;\n version?: number;\n} & ({res: string} | {url: string});\n\nexport type APIPromise = Promise;\n\nexport interface APIResponse extends Response {\n data: any;\n next?: () => APIPromise;\n}\n\nexport function api(params: APIParams): APIPromise;\nexport function api(params: Partial): PartialCall;\nexport function api(params: Partial): APIPromise | PartialCall {\n // If the params don't include `res` or `url` treat it as a partial\n // application.\n if (!params.res && !params.url) {\n return partialCall(params);\n }\n\n const {\n res,\n server = 'api.pagerduty.com',\n token,\n url,\n version = 2,\n data,\n ...rest\n } = params;\n\n const config: RequestOptions = {\n method: 'GET',\n ...rest,\n headers: {\n Accept: `application/vnd.pagerduty+json;version=${version}`,\n Authorization: `Token token=${token!}`,\n ...rest.headers,\n },\n };\n\n // Allow `data` for `params` for requests without bodies.\n if (isReadonlyRequest(config.method!) && data) {\n config.params = config.params ?? (data as Record);\n } else {\n config.body = JSON.stringify(data);\n }\n\n return apiRequest(\n url ?? `https://${server}/${res!.replace(/^\\/+/, '')}`,\n config\n );\n}\n\nexport function all(params: APIParams): Promise {\n return (api(params) as APIPromise).then(resp => allInner([resp]));\n}\n\nfunction allInner(resps: APIResponse[]): Promise {\n const resp = resps[resps.length - 1];\n\n if (!resp.next) {\n return Promise.resolve(resps);\n }\n\n return resp.next().then(resp => allInner(resps.concat([resp])));\n}\n\nfunction apiRequest(url: string, options: RequestOptions): APIPromise {\n return request(url, options).then(\n (resp: Response): APIPromise => {\n const apiResp = resp as APIResponse;\n\n return resp.json().then(\n (data): APIResponse => {\n apiResp.next = nextFunc(url, options, data);\n apiResp.data = data;\n return apiResp;\n }\n );\n }\n );\n}\n\nfunction isReadonlyRequest(method: string) {\n return !['PUT', 'POST', 'DELETE', 'PATCH'].includes(\n method.toUpperCase() ?? 'GET'\n );\n}\n\n// TODO: Support cursor-based pagination.\nfunction nextFunc(\n url: string,\n options: RequestOptions,\n data: {more?: boolean; offset?: number; limit?: number}\n) {\n if (data?.more && typeof data.offset !== undefined && data.limit) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n limit: data.limit!.toString(),\n offset: (data.limit! + data.offset!).toString(),\n },\n });\n }\n\n return undefined;\n}\n\nfunction partialCall(params: Partial) {\n const partialParams = params;\n const partial = ((params: Partial) =>\n api({...partialParams, ...params})) as PartialCall;\n\n const shorthand = (method: string) => (\n res: string,\n params?: Partial\n ): APIPromise =>\n api({res, method, ...partialParams, ...params}) as APIPromise;\n\n partial.get = shorthand('get');\n partial.post = shorthand('post');\n partial.put = shorthand('put');\n partial.patch = shorthand('patch');\n partial.delete = shorthand('delete');\n\n partial.all = (params: APIParams) => all(params);\n\n return partial;\n}\n","import {request, RequestOptions} from './common';\n\nexport type Action = 'trigger' | 'acknowledge' | 'resolve';\n\nexport type EventPromise = Promise;\n\nexport interface EventResponse extends Response {\n data: any;\n}\n\nexport interface EventPayloadV1 {\n service_key: string;\n incident_key: string;\n event_type?: Action;\n client?: string;\n client_url?: string;\n description?: string;\n details?: object;\n contexts?: object;\n}\n\nexport type Severity = 'critical' | 'error' | 'warning' | 'info';\n\nexport interface Image {\n src: string;\n href?: string;\n alt?: string;\n}\n\nexport interface Link {\n href: string;\n text?: string;\n}\n\nexport interface EventPayloadV2 {\n routing_key: string;\n event_action: Action;\n dedup_key?: string;\n payload: {\n summary: string;\n source: string;\n severity: Severity;\n timestamp?: string;\n component?: string;\n group?: string;\n class?: string;\n custom_details?: object;\n };\n images?: Array;\n links?: Array;\n}\n\nexport interface EventParams extends RequestOptions {\n data: EventPayloadV1 | EventPayloadV2;\n server?: string;\n}\n\nexport interface ChangePayload {\n routing_key: string;\n payload: {\n summary: string;\n source?: string;\n timestamp: string;\n custom_details: object;\n };\n links: Array;\n}\nexport interface ChangeParams extends RequestOptions {\n data: ChangePayload;\n server?: string;\n}\n\nexport function event(params: EventParams): EventPromise {\n const {server = 'events.pagerduty.com', data, ...config} = params;\n\n return eventFetch(\n isEventsV1(params)\n ? `https://${server}/generic/2010-04-15/create_event.json`\n : `https://${server}/v2/enqueue`,\n {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n }\n );\n}\n\nexport function change(params: ChangeParams): EventPromise {\n const {server = 'events.pagerduty.com', data, ...config} = params;\n\n return eventFetch(`https://${server}/v2/change/enqueue`, {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n });\n}\n\nfunction isEventsV1(params: EventParams): boolean {\n return (params.data as EventPayloadV1).service_key !== undefined;\n}\n\nconst shorthand = (action: Action) => (params: EventParams): EventPromise => {\n const typeField = isEventsV1(params) ? 'event_type' : 'event_action';\n\n return event({\n ...params,\n data: {\n ...params.data,\n [typeField]: action,\n },\n });\n};\n\nexport const trigger = shorthand('trigger');\nexport const acknowledge = shorthand('acknowledge');\nexport const resolve = shorthand('resolve');\n\nasync function eventFetch(url: string, options: RequestOptions): EventPromise {\n const resp = (await request(url, options)) as EventResponse;\n resp.data = await resp.json();\n return resp;\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/* global window self */\n\nvar isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';\n\n/* eslint-disable no-restricted-globals */\nvar isWebWorker = (typeof self === 'undefined' ? 'undefined' : _typeof(self)) === 'object' && self.constructor && self.constructor.name === 'DedicatedWorkerGlobalScope';\n/* eslint-enable no-restricted-globals */\n\nvar isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n\n/**\n * @see https://github.com/jsdom/jsdom/releases/tag/12.0.0\n * @see https://github.com/jsdom/jsdom/issues/1537\n */\n/* eslint-disable no-undef */\nvar isJsDom = function isJsDom() {\n return typeof window !== 'undefined' && window.name === 'nodejs' || navigator.userAgent.includes('Node.js') || navigator.userAgent.includes('jsdom');\n};\n\nexports.isBrowser = isBrowser;\nexports.isWebWorker = isWebWorker;\nexports.isNode = isNode;\nexports.isJsDom = isJsDom;","var __self__ = (function (root) {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = root.DOMException\n}\nF.prototype = root;\nreturn new F();\n})(typeof self !== 'undefined' ? self : this);\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n return exports;\n\n}({}));\n})(__self__);\ndelete __self__.fetch.polyfill\nexports = __self__.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = __self__.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = __self__.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = __self__.Headers\nexports.Request = __self__.Request\nexports.Response = __self__.Response\nmodule.exports = exports\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(47);\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => module['default'] :\n\t\t() => module;\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://PagerDuty/./src/common.ts","webpack://PagerDuty/./src/api.ts","webpack://PagerDuty/./src/events.ts","webpack://PagerDuty/./node_modules/browser-or-node/lib/index.js","webpack://PagerDuty/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://PagerDuty/webpack/bootstrap","webpack://PagerDuty/webpack/startup","webpack://PagerDuty/webpack/runtime/compat get default export","webpack://PagerDuty/webpack/runtime/define property getters","webpack://PagerDuty/webpack/runtime/hasOwnProperty shorthand","webpack://PagerDuty/webpack/runtime/make namespace object"],"names":["request","url","options","params","timeout","rest","applyParams","URL","toString","applyTimeout","fetch","headers","Headers","userAgentHeader","isBrowser","process","version","platform","combinedParams","searchParams","Object","keys","key","append","search","init","controller","AbortController","setTimeout","abort","signal","api","endpoint","partialParams","partial","shorthand","method","get","post","put","patch","all","partialCall","server","token","data","config","Accept","Authorization","includes","toUpperCase","body","JSON","stringify","apiRequest","replace","then","response","allInner","responses","length","next","concat","Promise","resolve","apiResponse","resource","match","resourceKey","json","undefined","offset","isOffsetPagination","more","limit","cursor","isCursorPagination","nextFunc","event","type","eventFetch","action","trigger","acknowledge","change","resp","_typeof","Symbol","iterator","obj","constructor","prototype","window","document","self","name","versions","node","exports","__self__","root","F","this","DOMException","support","Blob","e","viewClasses","isArrayBufferView","ArrayBuffer","isView","indexOf","call","normalizeName","String","test","TypeError","toLowerCase","normalizeValue","value","iteratorFor","items","shift","done","map","forEach","Array","isArray","header","getOwnPropertyNames","consumed","bodyUsed","reject","fileReaderReady","reader","onload","result","onerror","error","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","buf","slice","view","Uint8Array","byteLength","set","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","rejected","Error","arrayBuffer","text","readAsText","chars","i","fromCharCode","join","readArrayBufferAsText","formData","decode","parse","oldValue","has","hasOwnProperty","callback","thisArg","push","values","entries","methods","Request","input","upcased","credentials","mode","referrer","form","trim","split","bytes","decodeURIComponent","Response","bodyInit","status","ok","statusText","clone","redirectStatuses","redirect","RangeError","location","err","message","stack","create","aborted","xhr","XMLHttpRequest","abortXhr","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","onabort","open","withCredentials","responseType","setRequestHeader","addEventListener","onreadystatechange","readyState","removeEventListener","send","polyfill","default","module","__webpack_module_cache__","__webpack_require__","moduleId","__webpack_modules__","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","prop","r","toStringTag"],"mappings":"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","file":"pdjs-legacy.js","sourcesContent":["/* NODE-ONLY-START */\nimport fetch, {Headers} from 'cross-fetch';\nimport {isBrowser} from 'browser-or-node';\n/* NODE-ONLY-END */\n\nconst VERSION = '0.0.1';\n\nexport interface RequestOptions extends RequestInit {\n params?: Record;\n timeout?: number;\n}\n\n// TODO: Retries.\n// TODO: Backoff.\nexport function request(\n url: string | URL,\n options: RequestOptions = {}\n): Promise {\n const {params, timeout, ...rest} = options;\n\n url = new URL(url.toString());\n\n url = applyParams(url, params);\n options = applyTimeout(options, timeout);\n\n return fetch(url.toString(), {\n ...rest,\n headers: new Headers({\n 'Content-Type': 'application/json; charset=utf-8',\n /* NODE-ONLY-START */\n ...userAgentHeader(),\n /* NODE-ONLY-END */\n ...rest.headers,\n }),\n });\n}\n\nfunction userAgentHeader(): object {\n if (isBrowser) return {};\n\n return {\n 'User-Agent': `pdjs/${VERSION} (${process.version}/${process.platform})`,\n };\n}\n\nfunction applyParams(url: URL, params?: Record): URL {\n if (!params) return url;\n\n const combinedParams = url.searchParams;\n\n for (const key of Object.keys(params)) {\n combinedParams.append(key, params[key]);\n }\n\n url.search = combinedParams.toString();\n return url;\n}\n\nfunction applyTimeout(init: RequestOptions, timeout?: number): RequestOptions {\n if (!timeout) return init;\n\n const controller = new AbortController();\n setTimeout(() => controller.abort(), timeout);\n\n return {\n ...init,\n signal: controller.signal,\n };\n}\n","import {request, RequestOptions} from './common';\n\nexport interface ShorthandCall {\n (res: string, params?: Partial): APIPromise;\n}\n\nexport interface PartialCall {\n (params: APIParams): APIPromise;\n (params: Partial): PartialCall;\n get: ShorthandCall;\n post: ShorthandCall;\n put: ShorthandCall;\n patch: ShorthandCall;\n delete: ShorthandCall;\n all: (params: APIParams) => Promise;\n}\n\nexport type APIParams = RequestOptions & {\n endpoint?: string;\n url?: string;\n data?: object;\n token?: string;\n server?: string;\n version?: number;\n} & ({endpoint: string} | {url: string});\n\nexport type APIPromise = Promise;\n\nexport interface APIResponse extends Response {\n data: any;\n resource: any;\n response: Response;\n next?: () => APIPromise;\n}\n\nexport function api(params: APIParams): APIPromise;\nexport function api(params: Partial): PartialCall;\nexport function api(params: Partial): APIPromise | PartialCall {\n // If the params don't include `endpoint` treat it as a partial\n // application.\n if (!params.endpoint && !params.url) {\n return partialCall(params);\n }\n\n const {\n endpoint,\n server = 'api.pagerduty.com',\n token,\n url,\n version = 2,\n data,\n ...rest\n } = params;\n\n const config: RequestOptions = {\n method: 'GET',\n ...rest,\n headers: {\n Accept: `application/vnd.pagerduty+json;version=${version}`,\n Authorization: `Token token=${token!}`,\n ...rest.headers,\n },\n };\n\n // Allow `data` for `params` for requests without bodies.\n if (isReadonlyRequest(config.method!) && data) {\n config.params = config.params ?? (data as Record);\n } else {\n config.body = JSON.stringify(data);\n }\n\n return apiRequest(\n url ?? `https://${server}/${endpoint!.replace(/^\\/+/, '')}`,\n config\n );\n}\n\nexport function all(params: APIParams): Promise {\n return (api(params) as APIPromise).then(response => allInner([response]));\n}\n\nfunction allInner(responses: APIResponse[]): Promise {\n const response = responses[responses.length - 1];\n\n if (!response.next) {\n return Promise.resolve(responses);\n }\n\n return response.next().then(response => allInner(responses.concat([response])));\n}\n\nfunction apiRequest(url: string, options: RequestOptions): APIPromise {\n return request(url, options).then(\n (response: Response): APIPromise => {\n const apiResponse = response as APIResponse;\n const resource = resourceKey(url);\n return response.json().then(\n (data): APIResponse => {\n apiResponse.next = nextFunc(url, options, data);\n apiResponse.data = data;\n apiResponse.resource = resource ? data[resource] : null;\n apiResponse.response = response;\n return apiResponse;\n }\n );\n }\n );\n}\n\nfunction resourceKey(url: string) {\n let resource = url.match(/.+.com\\/(?[\\w]+)/);\n if (resource) {\n return resource[1];\n }\n return null;\n}\n\nfunction isReadonlyRequest(method: string) {\n return !['PUT', 'POST', 'DELETE', 'PATCH'].includes(\n method.toUpperCase() ?? 'GET'\n );\n}\n\ninterface OffsetPagination {\n type: 'offset';\n more?: boolean;\n offset?: number;\n limit?: number;\n}\n\ninterface CursorPagination {\n type: 'cursor';\n cursor?: string;\n limit?: number;\n}\n\nfunction isOffsetPagination(data: OffsetPagination | CursorPagination): data is OffsetPagination {\n if ((data as OffsetPagination).offset !== undefined) {\n return true\n }\n return false\n}\n\nfunction isCursorPagination(data: OffsetPagination | CursorPagination): data is CursorPagination {\n if ((data as CursorPagination).cursor !== undefined) {\n return true\n }\n return false\n}\n\nfunction nextFunc(\n url: string,\n options: RequestOptions,\n data: OffsetPagination | CursorPagination\n) {\n if (isOffsetPagination(data)) {\n if (data?.more && typeof data.offset !== undefined && data.limit) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n limit: data.limit!.toString(),\n offset: (data.limit! + data.offset!).toString(),\n },\n });\n }\n } else if (isCursorPagination(data)) {\n if (data?.cursor) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n cursor: data.cursor!,\n limit: data.limit!.toString(),\n }\n })\n }\n }\n\n return undefined;\n}\n\nfunction partialCall(params: Partial) {\n const partialParams = params;\n const partial = ((params: Partial) =>\n api({...partialParams, ...params})) as PartialCall;\n\n const shorthand = (method: string) => (\n endpoint: string,\n params?: Partial\n ): APIPromise =>\n api({endpoint, method, ...partialParams, ...params}) as APIPromise;\n\n partial.get = shorthand('get');\n partial.post = shorthand('post');\n partial.put = shorthand('put');\n partial.patch = shorthand('patch');\n partial.delete = shorthand('delete');\n\n partial.all = (params: APIParams) => all(params);\n\n return partial;\n}\n","import {request, RequestOptions} from './common';\n\nexport type Action = 'trigger' | 'acknowledge' | 'resolve';\n\nexport type EventPromise = Promise;\n\nexport interface EventResponse extends Response {\n data: any;\n}\n\nexport type Severity = 'critical' | 'error' | 'warning' | 'info';\n\nexport interface Image {\n src: string;\n href?: string;\n alt?: string;\n}\n\nexport interface Link {\n href: string;\n text?: string;\n}\n\nexport interface EventPayloadV2 {\n routing_key: string;\n event_action: Action;\n dedup_key?: string;\n payload: {\n summary: string;\n source: string;\n severity: Severity;\n timestamp?: string;\n component?: string;\n group?: string;\n class?: string;\n custom_details?: object;\n };\n images?: Array;\n links?: Array;\n}\n\nexport interface EventParams extends RequestOptions {\n data: EventPayloadV2;\n type?: string;\n server?: string;\n}\n\nexport interface ChangePayload {\n routing_key: string;\n payload: {\n summary: string;\n source?: string;\n timestamp: string;\n custom_details: object;\n };\n links: Array;\n}\nexport interface ChangeParams extends RequestOptions {\n data: ChangePayload;\n server?: string;\n}\n\nexport function event(params: EventParams): EventPromise {\n const {server = 'events.pagerduty.com', type = 'event', data, ...config} = params;\n\n let url = `https://${server}/v2/enqueue`\n if (type === 'change') {\n url = `https://${server}/v2/change/enqueue`\n }\n\n return eventFetch(\n url,\n {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n }\n );\n}\n\nconst shorthand = (action: Action) => (params: EventParams): EventPromise => {\n const typeField = 'event_action';\n\n return event({\n ...params,\n data: {\n ...params.data,\n [typeField]: action,\n },\n });\n};\n\nexport const trigger = shorthand('trigger');\nexport const acknowledge = shorthand('acknowledge');\nexport const resolve = shorthand('resolve');\nexport const change = (params: EventParams) => event({...params, type: 'change'});\n\nasync function eventFetch(url: string, options: RequestOptions): EventPromise {\n const resp = (await request(url, options)) as EventResponse;\n resp.data = await resp.json();\n // TODO: Something with the return data data.\n return resp;\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/* global window self */\n\nvar isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';\n\n/* eslint-disable no-restricted-globals */\nvar isWebWorker = (typeof self === 'undefined' ? 'undefined' : _typeof(self)) === 'object' && self.constructor && self.constructor.name === 'DedicatedWorkerGlobalScope';\n/* eslint-enable no-restricted-globals */\n\nvar isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n\n/**\n * @see https://github.com/jsdom/jsdom/releases/tag/12.0.0\n * @see https://github.com/jsdom/jsdom/issues/1537\n */\n/* eslint-disable no-undef */\nvar isJsDom = function isJsDom() {\n return typeof window !== 'undefined' && window.name === 'nodejs' || navigator.userAgent.includes('Node.js') || navigator.userAgent.includes('jsdom');\n};\n\nexports.isBrowser = isBrowser;\nexports.isWebWorker = isWebWorker;\nexports.isNode = isNode;\nexports.isJsDom = isJsDom;","var __self__ = (function (root) {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = root.DOMException\n}\nF.prototype = root;\nreturn new F();\n})(typeof self !== 'undefined' ? self : this);\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n return exports;\n\n}({}));\n})(__self__);\ndelete __self__.fetch.polyfill\nexports = __self__.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = __self__.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = __self__.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = __self__.Headers\nexports.Request = __self__.Request\nexports.Response = __self__.Response\nmodule.exports = exports\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(47);\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => module['default'] :\n\t\t() => module;\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/pdjs.js b/dist/pdjs.js index 1a19578..6c03b6e 100644 --- a/dist/pdjs.js +++ b/dist/pdjs.js @@ -1,2 +1,2 @@ -var PagerDuty;PagerDuty=(()=>{"use strict";var e={337:(e,t,r)=>{function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function c(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t,n=r.params,u=r.timeout,c=i(r,["params","timeout"]);return e=a(e=new URL(e.toString()),n),t=f(t,u),fetch(e.toString(),o(o({},c),{},{headers:new Headers(o({"Content-Type":"application/json; charset=utf-8"},c.headers))}))}function a(e,t){if(!t)return e;for(var r=e.searchParams,n=0,o=Object.keys(t);n=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,["res","server","token","url","version","data"]),v=p(p({method:"GET"},y),{},{headers:p({Accept:"application/vnd.pagerduty+json;version=".concat(s),Authorization:"Token token=".concat(c)},y.headers)});return r=v.method,!["PUT","POST","DELETE","PATCH"].includes(null!==(n=r.toUpperCase())&&void 0!==n?n:"GET")&&l?v.params=null!==(t=v.params)&&void 0!==t?t:l:v.body=JSON.stringify(l),d(null!=a?a:"https://".concat(i,"/").concat(o.replace(/^\/+/,"")),v)}function O(e){return b(e).then((function(e){return v([e])}))}function v(e){var t=e[e.length-1];return t.next?t.next().then((function(t){return v(e.concat([t]))})):Promise.resolve(e)}function d(e,t){return c(e,t).then((function(r){var n=r;return r.json().then((function(r){return n.next=function(e,t,r){if((null==r?void 0:r.more)&&void 0!==s(r.offset)&&r.limit)return function(){return d(e,p(p({},t),{},{params:p(p({},t.params),{},{limit:r.limit.toString(),offset:(r.limit+r.offset).toString()})}))}}(e,t,r),n.data=r,n}))}))}function g(e,t,r,n,o,u,i){try{var c=e[u](i),a=c.value}catch(e){return void r(e)}c.done?t(a):Promise.resolve(a).then(n,o)}function m(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var u=e.apply(t,r);function i(e){g(u,n,o,i,c,"next",e)}function c(e){g(u,n,o,i,c,"throw",e)}i(void 0)}))}}function j(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function h(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function S(e){var t=e.server,r=void 0===t?"events.pagerduty.com":t,n=e.data,o=w(e,["server","data"]);return A(k(e)?"https://".concat(r,"/generic/2010-04-15/create_event.json"):"https://".concat(r,"/v2/enqueue"),h({method:"POST",body:JSON.stringify(n)},o))}function x(e){var t=e.server,r=void 0===t?"events.pagerduty.com":t,n=e.data,o=w(e,["server","data"]);return A("https://".concat(r,"/v2/change/enqueue"),h({method:"POST",body:JSON.stringify(n)},o))}function k(e){return void 0!==e.data.service_key}r.r(t),r.d(t,{acknowledge:()=>T,all:()=>O,api:()=>b,change:()=>x,event:()=>S,resolve:()=>_,trigger:()=>E});var D=function(e){return function(t){var r=k(t)?"event_type":"event_action";return S(h(h({},t),{},{data:h(h({},t.data),{},P({},r,e))}))}},E=D("trigger"),T=D("acknowledge"),_=D("resolve");function A(e,t){return C.apply(this,arguments)}function C(){return(C=m(regeneratorRuntime.mark((function e(t,r){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,c(t,r);case 2:return n=e.sent,e.next=5,n.json();case 5:return n.data=e.sent,e.abrupt("return",n);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}}},t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}return r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r(337)})(); +var PagerDuty;PagerDuty=(()=>{"use strict";var t={337:(t,e,r)=>{function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function o(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function i(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e,n=r.params,u=r.timeout,i=c(r,["params","timeout"]);return t=a(t=new URL(t.toString()),n),e=f(e,u),fetch(t.toString(),o(o({},i),{},{headers:new Headers(o({"Content-Type":"application/json; charset=utf-8"},i.headers))}))}function a(t,e){if(!e)return t;for(var r=t.searchParams,n=0,o=Object.keys(e);n]+)>/g,(function(t,e){return"$"+r[e]})))}if("function"==typeof e){var u=this;return n[Symbol.replace].call(this,t,(function(){var t=[];return t.push.apply(t,arguments),"object"!==p(t[t.length-1])&&t.push(c(t,u)),e.apply(this,t)}))}return n[Symbol.replace].call(this,t,e)},l.apply(this,arguments)}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&v(t,e)}function y(t){var e="function"==typeof Map?new Map:void 0;return(y=function(t){if(null===t||(r=t,-1===Function.toString.call(r).indexOf("[native code]")))return t;var r;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return b(t,arguments,g(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),v(n,t)})(t)}function b(t,e,r){return(b=O()?Reflect.construct:function(t,e,r){var n=[null];n.push.apply(n,e);var o=new(Function.bind.apply(t,n));return r&&v(o,r.prototype),o}).apply(null,arguments)}function O(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function v(t,e){return(v=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function g(t){return(g=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function d(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function h(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["endpoint","server","token","url","version","data"]),y=h(h({method:"GET"},s),{},{headers:h({Accept:"application/vnd.pagerduty+json;version=".concat(p),Authorization:"Token token=".concat(i)},s.headers)});return r=y.method,!["PUT","POST","DELETE","PATCH"].includes(null!==(n=r.toUpperCase())&&void 0!==n?n:"GET")&&l?y.params=null!==(e=y.params)&&void 0!==e?e:l:y.body=JSON.stringify(l),S(null!=a?a:"https://".concat(c,"/").concat(o.replace(/^\/+/,"")),y)}function P(t){return j(t).then((function(t){return w([t])}))}function w(t){var e=t[t.length-1];return e.next?e.next().then((function(e){return w(t.concat([e]))})):Promise.resolve(t)}function S(t,e){return i(t,e).then((function(r){var n=r,o=function(t){var e=t.match(l(/.+.com\/([0-9A-Z_a-z]+)/,{resource:1}));return e?e[1]:null}(t);return r.json().then((function(u){return n.next=function(t,e,r){if(function(t){return void 0!==t.offset}(r)){if((null==r?void 0:r.more)&&void 0!==p(r.offset)&&r.limit)return function(){return S(t,h(h({},e),{},{params:h(h({},e.params),{},{limit:r.limit.toString(),offset:(r.limit+r.offset).toString()})}))}}else if(function(t){return void 0!==t.cursor}(r)&&(null==r?void 0:r.cursor))return function(){return S(t,h(h({},e),{},{params:h(h({},e.params),{},{cursor:r.cursor,limit:r.limit.toString()})}))}}(t,e,u),n.data=u,n.resource=o?u[o]:null,n.response=r,n}))}))}function x(t,e,r,n,o,u,c){try{var i=t[u](c),a=i.value}catch(t){return void r(t)}i.done?e(a):Promise.resolve(a).then(n,o)}function E(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var u=t.apply(e,r);function c(t){x(u,n,o,c,i,"next",t)}function i(t){x(u,n,o,c,i,"throw",t)}c(void 0)}))}}function D(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function k(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["server","type","data"]),i="https://".concat(r,"/v2/enqueue");return"change"===o&&(i="https://".concat(r,"/v2/change/enqueue")),function(t,e){return U.apply(this,arguments)}(i,k({method:"POST",body:JSON.stringify(u)},c))}r.r(e),r.d(e,{acknowledge:()=>M,all:()=>P,api:()=>j,change:()=>I,event:()=>_,resolve:()=>C,trigger:()=>A});var R=function(t){return function(e){return _(k(k({},e),{},{data:k(k({},e.data),{},T({},"event_action",t))}))}},A=R("trigger"),M=R("acknowledge"),C=R("resolve"),I=function(t){return _(k(k({},t),{},{type:"change"}))};function U(){return(U=E(regeneratorRuntime.mark((function t(e,r){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,i(e,r);case 2:return n=t.sent,t.next=5,n.json();case 5:return n.data=t.sent,t.abrupt("return",n);case 7:case"end":return t.stop()}}),t)})))).apply(this,arguments)}}},e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return t[n](o,o.exports,r),o.exports}return r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r(337)})(); //# sourceMappingURL=pdjs.js.map \ No newline at end of file diff --git a/dist/pdjs.js.map b/dist/pdjs.js.map index efb3acf..3c2d57b 100644 --- a/dist/pdjs.js.map +++ b/dist/pdjs.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://PagerDuty/./src/common.ts","webpack://PagerDuty/./src/api.ts","webpack://PagerDuty/./src/events.ts","webpack://PagerDuty/webpack/bootstrap","webpack://PagerDuty/webpack/startup","webpack://PagerDuty/webpack/runtime/define property getters","webpack://PagerDuty/webpack/runtime/hasOwnProperty shorthand","webpack://PagerDuty/webpack/runtime/make namespace object"],"names":["request","url","options","params","timeout","rest","applyParams","URL","toString","applyTimeout","fetch","headers","Headers","combinedParams","searchParams","Object","keys","key","append","search","init","controller","AbortController","setTimeout","abort","signal","api","res","partialParams","partial","shorthand","method","get","post","put","patch","all","partialCall","server","token","version","data","config","Accept","Authorization","includes","toUpperCase","body","JSON","stringify","apiRequest","replace","then","resp","allInner","resps","length","next","concat","Promise","resolve","apiResp","json","more","undefined","offset","limit","nextFunc","event","eventFetch","isEventsV1","change","service_key","action","typeField","trigger","acknowledge","__webpack_module_cache__","__webpack_require__","moduleId","exports","module","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value"],"mappings":"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","file":"pdjs.js","sourcesContent":["/* webpack-strip-block:removed */\n\nconst VERSION = '0.0.1';\n\nexport interface RequestOptions extends RequestInit {\n params?: Record;\n timeout?: number;\n}\n\n// TODO: Retries.\n// TODO: Backoff.\nexport function request(\n url: string | URL,\n options: RequestOptions = {}\n): Promise {\n const {params, timeout, ...rest} = options;\n\n url = new URL(url.toString());\n\n url = applyParams(url, params);\n options = applyTimeout(options, timeout);\n\n return fetch(url.toString(), {\n ...rest,\n headers: new Headers({\n 'Content-Type': 'application/json; charset=utf-8',\n /* webpack-strip-block:removed */\n ...rest.headers,\n }),\n });\n}\n\nfunction userAgentHeader(): object {\n if (isBrowser) return {};\n\n return {\n 'User-Agent': `pdjs-next/${VERSION} (${process.version}/${process.platform})`,\n };\n}\n\nfunction applyParams(url: URL, params?: Record): URL {\n if (!params) return url;\n\n const combinedParams = url.searchParams;\n\n for (const key of Object.keys(params)) {\n combinedParams.append(key, params[key]);\n }\n\n url.search = combinedParams.toString();\n return url;\n}\n\nfunction applyTimeout(init: RequestOptions, timeout?: number): RequestOptions {\n if (!timeout) return init;\n\n const controller = new AbortController();\n setTimeout(() => controller.abort(), timeout);\n\n return {\n ...init,\n signal: controller.signal,\n };\n}\n","import {request, RequestOptions} from './common';\n\nexport interface ShorthandCall {\n (res: string, params?: Partial): APIPromise;\n}\n\nexport interface PartialCall {\n (params: APIParams): APIPromise;\n (params: Partial): PartialCall;\n get: ShorthandCall;\n post: ShorthandCall;\n put: ShorthandCall;\n patch: ShorthandCall;\n delete: ShorthandCall;\n all: (params: APIParams) => Promise;\n}\n\nexport type APIParams = RequestOptions & {\n res?: string;\n url?: string;\n data?: object;\n token?: string;\n server?: string;\n version?: number;\n} & ({res: string} | {url: string});\n\nexport type APIPromise = Promise;\n\nexport interface APIResponse extends Response {\n data: any;\n next?: () => APIPromise;\n}\n\nexport function api(params: APIParams): APIPromise;\nexport function api(params: Partial): PartialCall;\nexport function api(params: Partial): APIPromise | PartialCall {\n // If the params don't include `res` or `url` treat it as a partial\n // application.\n if (!params.res && !params.url) {\n return partialCall(params);\n }\n\n const {\n res,\n server = 'api.pagerduty.com',\n token,\n url,\n version = 2,\n data,\n ...rest\n } = params;\n\n const config: RequestOptions = {\n method: 'GET',\n ...rest,\n headers: {\n Accept: `application/vnd.pagerduty+json;version=${version}`,\n Authorization: `Token token=${token!}`,\n ...rest.headers,\n },\n };\n\n // Allow `data` for `params` for requests without bodies.\n if (isReadonlyRequest(config.method!) && data) {\n config.params = config.params ?? (data as Record);\n } else {\n config.body = JSON.stringify(data);\n }\n\n return apiRequest(\n url ?? `https://${server}/${res!.replace(/^\\/+/, '')}`,\n config\n );\n}\n\nexport function all(params: APIParams): Promise {\n return (api(params) as APIPromise).then(resp => allInner([resp]));\n}\n\nfunction allInner(resps: APIResponse[]): Promise {\n const resp = resps[resps.length - 1];\n\n if (!resp.next) {\n return Promise.resolve(resps);\n }\n\n return resp.next().then(resp => allInner(resps.concat([resp])));\n}\n\nfunction apiRequest(url: string, options: RequestOptions): APIPromise {\n return request(url, options).then(\n (resp: Response): APIPromise => {\n const apiResp = resp as APIResponse;\n\n return resp.json().then(\n (data): APIResponse => {\n apiResp.next = nextFunc(url, options, data);\n apiResp.data = data;\n return apiResp;\n }\n );\n }\n );\n}\n\nfunction isReadonlyRequest(method: string) {\n return !['PUT', 'POST', 'DELETE', 'PATCH'].includes(\n method.toUpperCase() ?? 'GET'\n );\n}\n\n// TODO: Support cursor-based pagination.\nfunction nextFunc(\n url: string,\n options: RequestOptions,\n data: {more?: boolean; offset?: number; limit?: number}\n) {\n if (data?.more && typeof data.offset !== undefined && data.limit) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n limit: data.limit!.toString(),\n offset: (data.limit! + data.offset!).toString(),\n },\n });\n }\n\n return undefined;\n}\n\nfunction partialCall(params: Partial) {\n const partialParams = params;\n const partial = ((params: Partial) =>\n api({...partialParams, ...params})) as PartialCall;\n\n const shorthand = (method: string) => (\n res: string,\n params?: Partial\n ): APIPromise =>\n api({res, method, ...partialParams, ...params}) as APIPromise;\n\n partial.get = shorthand('get');\n partial.post = shorthand('post');\n partial.put = shorthand('put');\n partial.patch = shorthand('patch');\n partial.delete = shorthand('delete');\n\n partial.all = (params: APIParams) => all(params);\n\n return partial;\n}\n","import {request, RequestOptions} from './common';\n\nexport type Action = 'trigger' | 'acknowledge' | 'resolve';\n\nexport type EventPromise = Promise;\n\nexport interface EventResponse extends Response {\n data: any;\n}\n\nexport interface EventPayloadV1 {\n service_key: string;\n incident_key: string;\n event_type?: Action;\n client?: string;\n client_url?: string;\n description?: string;\n details?: object;\n contexts?: object;\n}\n\nexport type Severity = 'critical' | 'error' | 'warning' | 'info';\n\nexport interface Image {\n src: string;\n href?: string;\n alt?: string;\n}\n\nexport interface Link {\n href: string;\n text?: string;\n}\n\nexport interface EventPayloadV2 {\n routing_key: string;\n event_action: Action;\n dedup_key?: string;\n payload: {\n summary: string;\n source: string;\n severity: Severity;\n timestamp?: string;\n component?: string;\n group?: string;\n class?: string;\n custom_details?: object;\n };\n images?: Array;\n links?: Array;\n}\n\nexport interface EventParams extends RequestOptions {\n data: EventPayloadV1 | EventPayloadV2;\n server?: string;\n}\n\nexport interface ChangePayload {\n routing_key: string;\n payload: {\n summary: string;\n source?: string;\n timestamp: string;\n custom_details: object;\n };\n links: Array;\n}\nexport interface ChangeParams extends RequestOptions {\n data: ChangePayload;\n server?: string;\n}\n\nexport function event(params: EventParams): EventPromise {\n const {server = 'events.pagerduty.com', data, ...config} = params;\n\n return eventFetch(\n isEventsV1(params)\n ? `https://${server}/generic/2010-04-15/create_event.json`\n : `https://${server}/v2/enqueue`,\n {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n }\n );\n}\n\nexport function change(params: ChangeParams): EventPromise {\n const {server = 'events.pagerduty.com', data, ...config} = params;\n\n return eventFetch(`https://${server}/v2/change/enqueue`, {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n });\n}\n\nfunction isEventsV1(params: EventParams): boolean {\n return (params.data as EventPayloadV1).service_key !== undefined;\n}\n\nconst shorthand = (action: Action) => (params: EventParams): EventPromise => {\n const typeField = isEventsV1(params) ? 'event_type' : 'event_action';\n\n return event({\n ...params,\n data: {\n ...params.data,\n [typeField]: action,\n },\n });\n};\n\nexport const trigger = shorthand('trigger');\nexport const acknowledge = shorthand('acknowledge');\nexport const resolve = shorthand('resolve');\n\nasync function eventFetch(url: string, options: RequestOptions): EventPromise {\n const resp = (await request(url, options)) as EventResponse;\n resp.data = await resp.json();\n return resp;\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(337);\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://PagerDuty/./src/common.ts","webpack://PagerDuty/./src/api.ts","webpack://PagerDuty/./src/events.ts","webpack://PagerDuty/webpack/bootstrap","webpack://PagerDuty/webpack/startup","webpack://PagerDuty/webpack/runtime/define property getters","webpack://PagerDuty/webpack/runtime/hasOwnProperty shorthand","webpack://PagerDuty/webpack/runtime/make namespace object"],"names":["request","url","options","params","timeout","rest","applyParams","URL","toString","applyTimeout","fetch","headers","Headers","combinedParams","searchParams","Object","keys","key","append","search","init","controller","AbortController","setTimeout","abort","signal","api","endpoint","partialParams","partial","shorthand","method","get","post","put","patch","all","partialCall","server","token","version","data","config","Accept","Authorization","includes","toUpperCase","body","JSON","stringify","apiRequest","replace","then","response","allInner","responses","length","next","concat","Promise","resolve","apiResponse","resource","match","resourceKey","json","undefined","offset","isOffsetPagination","more","limit","cursor","isCursorPagination","nextFunc","event","type","eventFetch","action","trigger","acknowledge","change","resp","__webpack_module_cache__","__webpack_require__","moduleId","exports","module","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value"],"mappings":"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","file":"pdjs.js","sourcesContent":["/* webpack-strip-block:removed */\n\nconst VERSION = '0.0.1';\n\nexport interface RequestOptions extends RequestInit {\n params?: Record;\n timeout?: number;\n}\n\n// TODO: Retries.\n// TODO: Backoff.\nexport function request(\n url: string | URL,\n options: RequestOptions = {}\n): Promise {\n const {params, timeout, ...rest} = options;\n\n url = new URL(url.toString());\n\n url = applyParams(url, params);\n options = applyTimeout(options, timeout);\n\n return fetch(url.toString(), {\n ...rest,\n headers: new Headers({\n 'Content-Type': 'application/json; charset=utf-8',\n /* webpack-strip-block:removed */\n ...rest.headers,\n }),\n });\n}\n\nfunction userAgentHeader(): object {\n if (isBrowser) return {};\n\n return {\n 'User-Agent': `pdjs/${VERSION} (${process.version}/${process.platform})`,\n };\n}\n\nfunction applyParams(url: URL, params?: Record): URL {\n if (!params) return url;\n\n const combinedParams = url.searchParams;\n\n for (const key of Object.keys(params)) {\n combinedParams.append(key, params[key]);\n }\n\n url.search = combinedParams.toString();\n return url;\n}\n\nfunction applyTimeout(init: RequestOptions, timeout?: number): RequestOptions {\n if (!timeout) return init;\n\n const controller = new AbortController();\n setTimeout(() => controller.abort(), timeout);\n\n return {\n ...init,\n signal: controller.signal,\n };\n}\n","import {request, RequestOptions} from './common';\n\nexport interface ShorthandCall {\n (res: string, params?: Partial): APIPromise;\n}\n\nexport interface PartialCall {\n (params: APIParams): APIPromise;\n (params: Partial): PartialCall;\n get: ShorthandCall;\n post: ShorthandCall;\n put: ShorthandCall;\n patch: ShorthandCall;\n delete: ShorthandCall;\n all: (params: APIParams) => Promise;\n}\n\nexport type APIParams = RequestOptions & {\n endpoint?: string;\n url?: string;\n data?: object;\n token?: string;\n server?: string;\n version?: number;\n} & ({endpoint: string} | {url: string});\n\nexport type APIPromise = Promise;\n\nexport interface APIResponse extends Response {\n data: any;\n resource: any;\n response: Response;\n next?: () => APIPromise;\n}\n\nexport function api(params: APIParams): APIPromise;\nexport function api(params: Partial): PartialCall;\nexport function api(params: Partial): APIPromise | PartialCall {\n // If the params don't include `endpoint` treat it as a partial\n // application.\n if (!params.endpoint && !params.url) {\n return partialCall(params);\n }\n\n const {\n endpoint,\n server = 'api.pagerduty.com',\n token,\n url,\n version = 2,\n data,\n ...rest\n } = params;\n\n const config: RequestOptions = {\n method: 'GET',\n ...rest,\n headers: {\n Accept: `application/vnd.pagerduty+json;version=${version}`,\n Authorization: `Token token=${token!}`,\n ...rest.headers,\n },\n };\n\n // Allow `data` for `params` for requests without bodies.\n if (isReadonlyRequest(config.method!) && data) {\n config.params = config.params ?? (data as Record);\n } else {\n config.body = JSON.stringify(data);\n }\n\n return apiRequest(\n url ?? `https://${server}/${endpoint!.replace(/^\\/+/, '')}`,\n config\n );\n}\n\nexport function all(params: APIParams): Promise {\n return (api(params) as APIPromise).then(response => allInner([response]));\n}\n\nfunction allInner(responses: APIResponse[]): Promise {\n const response = responses[responses.length - 1];\n\n if (!response.next) {\n return Promise.resolve(responses);\n }\n\n return response.next().then(response => allInner(responses.concat([response])));\n}\n\nfunction apiRequest(url: string, options: RequestOptions): APIPromise {\n return request(url, options).then(\n (response: Response): APIPromise => {\n const apiResponse = response as APIResponse;\n const resource = resourceKey(url);\n return response.json().then(\n (data): APIResponse => {\n apiResponse.next = nextFunc(url, options, data);\n apiResponse.data = data;\n apiResponse.resource = resource ? data[resource] : null;\n apiResponse.response = response;\n return apiResponse;\n }\n );\n }\n );\n}\n\nfunction resourceKey(url: string) {\n let resource = url.match(/.+.com\\/(?[\\w]+)/);\n if (resource) {\n return resource[1];\n }\n return null;\n}\n\nfunction isReadonlyRequest(method: string) {\n return !['PUT', 'POST', 'DELETE', 'PATCH'].includes(\n method.toUpperCase() ?? 'GET'\n );\n}\n\ninterface OffsetPagination {\n type: 'offset';\n more?: boolean;\n offset?: number;\n limit?: number;\n}\n\ninterface CursorPagination {\n type: 'cursor';\n cursor?: string;\n limit?: number;\n}\n\nfunction isOffsetPagination(data: OffsetPagination | CursorPagination): data is OffsetPagination {\n if ((data as OffsetPagination).offset !== undefined) {\n return true\n }\n return false\n}\n\nfunction isCursorPagination(data: OffsetPagination | CursorPagination): data is CursorPagination {\n if ((data as CursorPagination).cursor !== undefined) {\n return true\n }\n return false\n}\n\nfunction nextFunc(\n url: string,\n options: RequestOptions,\n data: OffsetPagination | CursorPagination\n) {\n if (isOffsetPagination(data)) {\n if (data?.more && typeof data.offset !== undefined && data.limit) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n limit: data.limit!.toString(),\n offset: (data.limit! + data.offset!).toString(),\n },\n });\n }\n } else if (isCursorPagination(data)) {\n if (data?.cursor) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n cursor: data.cursor!,\n limit: data.limit!.toString(),\n }\n })\n }\n }\n\n return undefined;\n}\n\nfunction partialCall(params: Partial) {\n const partialParams = params;\n const partial = ((params: Partial) =>\n api({...partialParams, ...params})) as PartialCall;\n\n const shorthand = (method: string) => (\n endpoint: string,\n params?: Partial\n ): APIPromise =>\n api({endpoint, method, ...partialParams, ...params}) as APIPromise;\n\n partial.get = shorthand('get');\n partial.post = shorthand('post');\n partial.put = shorthand('put');\n partial.patch = shorthand('patch');\n partial.delete = shorthand('delete');\n\n partial.all = (params: APIParams) => all(params);\n\n return partial;\n}\n","import {request, RequestOptions} from './common';\n\nexport type Action = 'trigger' | 'acknowledge' | 'resolve';\n\nexport type EventPromise = Promise;\n\nexport interface EventResponse extends Response {\n data: any;\n}\n\nexport type Severity = 'critical' | 'error' | 'warning' | 'info';\n\nexport interface Image {\n src: string;\n href?: string;\n alt?: string;\n}\n\nexport interface Link {\n href: string;\n text?: string;\n}\n\nexport interface EventPayloadV2 {\n routing_key: string;\n event_action: Action;\n dedup_key?: string;\n payload: {\n summary: string;\n source: string;\n severity: Severity;\n timestamp?: string;\n component?: string;\n group?: string;\n class?: string;\n custom_details?: object;\n };\n images?: Array;\n links?: Array;\n}\n\nexport interface EventParams extends RequestOptions {\n data: EventPayloadV2;\n type?: string;\n server?: string;\n}\n\nexport interface ChangePayload {\n routing_key: string;\n payload: {\n summary: string;\n source?: string;\n timestamp: string;\n custom_details: object;\n };\n links: Array;\n}\nexport interface ChangeParams extends RequestOptions {\n data: ChangePayload;\n server?: string;\n}\n\nexport function event(params: EventParams): EventPromise {\n const {server = 'events.pagerduty.com', type = 'event', data, ...config} = params;\n\n let url = `https://${server}/v2/enqueue`\n if (type === 'change') {\n url = `https://${server}/v2/change/enqueue`\n }\n\n return eventFetch(\n url,\n {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n }\n );\n}\n\nconst shorthand = (action: Action) => (params: EventParams): EventPromise => {\n const typeField = 'event_action';\n\n return event({\n ...params,\n data: {\n ...params.data,\n [typeField]: action,\n },\n });\n};\n\nexport const trigger = shorthand('trigger');\nexport const acknowledge = shorthand('acknowledge');\nexport const resolve = shorthand('resolve');\nexport const change = (params: EventParams) => event({...params, type: 'change'});\n\nasync function eventFetch(url: string, options: RequestOptions): EventPromise {\n const resp = (await request(url, options)) as EventResponse;\n resp.data = await resp.json();\n // TODO: Something with the return data data.\n return resp;\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(337);\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"sourceRoot":""} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 127759a..f4e61a5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { - "name": "pdjs-next", - "version": "0.0.1", + "name": "pdjs", + "version": "2.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index e68096d..7039d36 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "pdjs-next", - "version": "0.0.1", + "name": "pdjs", + "version": "2.0.0", "description": "A new simple JavaScript wrapper for the PagerDuty API", "main": "build/src/index.js", "types": "build/src/index.d.ts", diff --git a/src/common.ts b/src/common.ts index 10ac7a6..aa81bed 100644 --- a/src/common.ts +++ b/src/common.ts @@ -39,7 +39,7 @@ function userAgentHeader(): object { if (isBrowser) return {}; return { - 'User-Agent': `pdjs-next/${VERSION} (${process.version}/${process.platform})`, + 'User-Agent': `pdjs/${VERSION} (${process.version}/${process.platform})`, }; } diff --git a/src/events.test.ts b/src/events.test.ts index b9d7d31..4823fc1 100644 --- a/src/events.test.ts +++ b/src/events.test.ts @@ -26,7 +26,7 @@ test('Events API properly passes Events V2 requests', async done => { nock('https://events.pagerduty.com', { reqheaders: { - 'User-Agent': header => header.startsWith('pdjs-next'), + 'User-Agent': header => header.startsWith('pdjs'), }, }) .post('/v2/enqueue') @@ -51,7 +51,7 @@ test('Events API properly passes Change Events requests', async done => { nock('https://events.pagerduty.com', { reqheaders: { - 'User-Agent': header => header.startsWith('pdjs-next'), + 'User-Agent': header => header.startsWith('pdjs'), }, }) .post('/v2/change/enqueue') @@ -75,7 +75,7 @@ test('Events API properly passes Events V2 requests with images/links/details', nock('https://events.pagerduty.com', { reqheaders: { - 'User-Agent': header => header.startsWith('pdjs-next'), + 'User-Agent': header => header.startsWith('pdjs'), }, }) .post('/v2/enqueue') @@ -123,7 +123,7 @@ test('Events API shorthands should send corresponding events', async done => { nock('https://events.pagerduty.com', { reqheaders: { - 'User-Agent': header => header.startsWith('pdjs-next'), + 'User-Agent': header => header.startsWith('pdjs'), }, }) .post('/v2/enqueue') From db47352017010e9789a0b6cece2795da8db02972 Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Tue, 10 Nov 2020 11:46:42 -0500 Subject: [PATCH 03/26] Initial CircleCI Config. --- .circleci/config.yaml | 7 +++++++ src/api.test.ts | 10 +++++----- 2 files changed, 12 insertions(+), 5 deletions(-) create mode 100644 .circleci/config.yaml diff --git a/.circleci/config.yaml b/.circleci/config.yaml new file mode 100644 index 0000000..dbfd56f --- /dev/null +++ b/.circleci/config.yaml @@ -0,0 +1,7 @@ +version: 2.1 +orbs: + node: circleci/node@3.0.0 +workflows: + node-tests: + jobs: + - node/test diff --git a/src/api.test.ts b/src/api.test.ts index 1f01a37..6a78fc0 100644 --- a/src/api.test.ts +++ b/src/api.test.ts @@ -13,7 +13,7 @@ test('API calls return JSON for basic API calls with server', async done => { nock('https://api.pagerduty.com', { reqheaders: { Authorization: 'Token token=someToken1234567890', - 'User-Agent': header => header.startsWith('pdjs-next'), + 'User-Agent': header => header.startsWith('pdjs'), }, }) .get('/incidents') @@ -34,7 +34,7 @@ test('API calls return JSON for basic API calls with url', async done => { nock('https://api.pagerduty.com', { reqheaders: { Authorization: 'Token token=someToken1234567890', - 'User-Agent': header => header.startsWith('pdjs-next'), + 'User-Agent': header => header.startsWith('pdjs'), }, }) .get('/incidents') @@ -54,7 +54,7 @@ test('API calls return JSON for basic API calls with endpoint', async done => { nock('https://api.pagerduty.com', { reqheaders: { Authorization: 'Token token=someToken1234567890', - 'User-Agent': header => header.startsWith('pdjs-next'), + 'User-Agent': header => header.startsWith('pdjs'), }, }) .get('/incidents') @@ -74,7 +74,7 @@ test('API calls support partial application with url', async done => { nock('https://api.pagerduty.com', { reqheaders: { Authorization: 'Token token=someToken1234567890', - 'User-Agent': header => header.startsWith('pdjs-next'), + 'User-Agent': header => header.startsWith('pdjs'), }, }) .get('/incidents') @@ -94,7 +94,7 @@ test('API calls support partial application with convenience methods', async don nock('https://api.pagerduty.com', { reqheaders: { Authorization: 'Token token=someToken1234567890', - 'User-Agent': header => header.startsWith('pdjs-next'), + 'User-Agent': header => header.startsWith('pdjs'), }, }) .get('/incidents') From 933c8a80b89e60bdd0ac0aec51ff984867fe7bf3 Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Tue, 10 Nov 2020 11:49:48 -0500 Subject: [PATCH 04/26] yml. --- .circleci/{config.yaml => config.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .circleci/{config.yaml => config.yml} (100%) diff --git a/.circleci/config.yaml b/.circleci/config.yml similarity index 100% rename from .circleci/config.yaml rename to .circleci/config.yml From 7327648c074980571dca4b032d9f797ab03fc439 Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Tue, 10 Nov 2020 11:56:14 -0500 Subject: [PATCH 05/26] Add build step? --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index dbfd56f..a1e0ab9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -5,3 +5,4 @@ workflows: node-tests: jobs: - node/test + - node/build From 5fff51e5d2c2babee66537f43cd9cfb96c7bcce4 Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Tue, 10 Nov 2020 11:59:08 -0500 Subject: [PATCH 06/26] Be more specific. --- .circleci/config.yml | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a1e0ab9..d9c4f70 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,8 +1,31 @@ version: 2.1 orbs: node: circleci/node@3.0.0 + +jobs: + build: + steps: + - run: + name: Install NPM + command: npm ci + - run: + name: Build packages + command: npm run build + lint: + steps: + - run: + name: Lint + command: npm run lint + test: + steps: + - run: + name: Test + command: npm run test + + workflows: node-tests: jobs: - - node/test - - node/build + - build + - lint + - test From fa1c3a1ac67a1582fbed5134d8358724cc3c5e6f Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Tue, 10 Nov 2020 12:00:00 -0500 Subject: [PATCH 07/26] Store artifacts. --- .circleci/config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index d9c4f70..cf283ff 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -11,6 +11,8 @@ jobs: - run: name: Build packages command: npm run build + - store_artifacts: + path: dist lint: steps: - run: From e7639348f5d5c582dbbff281b868e7bd8d7ed3e7 Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Tue, 10 Nov 2020 12:00:50 -0500 Subject: [PATCH 08/26] Add executor. --- .circleci/config.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index cf283ff..c2cf4b8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -4,6 +4,7 @@ orbs: jobs: build: + executor: node steps: - run: name: Install NPM @@ -14,11 +15,13 @@ jobs: - store_artifacts: path: dist lint: + executor: node steps: - run: name: Lint command: npm run lint test: + executor: node steps: - run: name: Test @@ -26,7 +29,7 @@ jobs: workflows: - node-tests: + build-and-test: jobs: - build - lint From 9f4eea5ab3162e9517442d96672bd958e922ab60 Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Tue, 10 Nov 2020 12:08:43 -0500 Subject: [PATCH 09/26] Much more verbose, no need for orbs. --- .circleci/config.yml | 40 ++++++++++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c2cf4b8..e1ec7c7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,28 +1,56 @@ version: 2.1 -orbs: - node: circleci/node@3.0.0 jobs: build: - executor: node + docker: + image: circleci/node@14 steps: + - checkout + - restore_cache: + key: dependency-cache-{{ checksum "package-lock.json" }} - run: name: Install NPM - command: npm ci + command: npm ci --prefer-offline + - save_cache: + key: dependency-cache-{{ checksum "package-lock.json" }} + paths: + - ./node_modules - run: name: Build packages command: npm run build - store_artifacts: path: dist lint: - executor: node + docker: + image: circleci/node@14 steps: + - checkout + - restore_cache: + key: dependency-cache-{{ checksum "package-lock.json" }} + - run: + name: Install NPM + command: npm ci --prefer-offline + - save_cache: + key: dependency-cache-{{ checksum "package-lock.json" }} + paths: + - ./node_modules - run: name: Lint command: npm run lint test: - executor: node + docker: + image: circleci/node@14 steps: + - checkout + - restore_cache: + key: dependency-cache-{{ checksum "package-lock.json" }} + - run: + name: Install NPM + command: npm ci --prefer-offline + - save_cache: + key: dependency-cache-{{ checksum "package-lock.json" }} + paths: + - ./node_modules - run: name: Test command: npm run test From 010fe02c0ec95e5ea6ba299d5c44566304e6ce98 Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Tue, 10 Nov 2020 12:10:49 -0500 Subject: [PATCH 10/26] Use executor. --- .circleci/config.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e1ec7c7..7106f71 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,9 +1,14 @@ version: 2.1 +executors: + base: + docker: + - image: circleci/node:14 + working_directory: /home/circleci/pdjs + jobs: build: - docker: - image: circleci/node@14 + executor: base steps: - checkout - restore_cache: @@ -21,8 +26,7 @@ jobs: - store_artifacts: path: dist lint: - docker: - image: circleci/node@14 + executor: base steps: - checkout - restore_cache: @@ -38,8 +42,7 @@ jobs: name: Lint command: npm run lint test: - docker: - image: circleci/node@14 + executor: base steps: - checkout - restore_cache: From b6b1e9711dc3828aad8db9869247d1cd3388da60 Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Tue, 10 Nov 2020 12:26:33 -0500 Subject: [PATCH 11/26] Fix prettier errors. --- src/api.test.ts | 9 ++++----- src/api.ts | 24 +++++++++++++++--------- src/events.test.ts | 1 - src/events.ts | 29 ++++++++++++++++------------- 4 files changed, 35 insertions(+), 28 deletions(-) diff --git a/src/api.test.ts b/src/api.test.ts index 6a78fc0..238d436 100644 --- a/src/api.test.ts +++ b/src/api.test.ts @@ -22,8 +22,8 @@ test('API calls return JSON for basic API calls with server', async done => { const resp = await api({ token: 'someToken1234567890', server: 'api.pagerduty.com', - endpoint: 'incidents' - }) + endpoint: 'incidents', + }); expect(resp.url).toEqual('https://api.pagerduty.com/incidents'); expect(resp.data).toEqual(EMPTY_BODY); @@ -138,14 +138,13 @@ test('API calls populate resource field', async done => { const resp = await api({ token: 'someToken1234567890', - endpoint: '/incidents' + endpoint: '/incidents', }); expect(resp.resource).toEqual(['one', 1, null]); done(); }); test('API `all` calls for offset should generate requests until no more results', async done => { - const body = { incidents: [], limit: 1, @@ -204,7 +203,7 @@ test('API `all` calls for cursor should generate requests until no more results' .get('/incidents?limit=1&cursor=two') .reply(200, { ...body, - cursor: null + cursor: null, }); const responses = await all({ diff --git a/src/api.ts b/src/api.ts index 3ec6166..27e2dbd 100644 --- a/src/api.ts +++ b/src/api.ts @@ -86,7 +86,9 @@ function allInner(responses: APIResponse[]): Promise { return Promise.resolve(responses); } - return response.next().then(response => allInner(responses.concat([response]))); + return response + .next() + .then(response => allInner(responses.concat([response]))); } function apiRequest(url: string, options: RequestOptions): APIPromise { @@ -134,18 +136,22 @@ interface CursorPagination { limit?: number; } -function isOffsetPagination(data: OffsetPagination | CursorPagination): data is OffsetPagination { +function isOffsetPagination( + data: OffsetPagination | CursorPagination +): data is OffsetPagination { if ((data as OffsetPagination).offset !== undefined) { - return true + return true; } - return false + return false; } -function isCursorPagination(data: OffsetPagination | CursorPagination): data is CursorPagination { +function isCursorPagination( + data: OffsetPagination | CursorPagination +): data is CursorPagination { if ((data as CursorPagination).cursor !== undefined) { - return true + return true; } - return false + return false; } function nextFunc( @@ -174,8 +180,8 @@ function nextFunc( ...options.params, cursor: data.cursor!, limit: data.limit!.toString(), - } - }) + }, + }); } } diff --git a/src/events.test.ts b/src/events.test.ts index 4823fc1..b72cf39 100644 --- a/src/events.test.ts +++ b/src/events.test.ts @@ -39,7 +39,6 @@ test('Events API properly passes Events V2 requests', async done => { done(); }); - test('Events API properly passes Change Events requests', async done => { const body = { data: { diff --git a/src/events.ts b/src/events.ts index 67d97db..70c85c8 100644 --- a/src/events.ts +++ b/src/events.ts @@ -61,21 +61,23 @@ export interface ChangeParams extends RequestOptions { } export function event(params: EventParams): EventPromise { - const {server = 'events.pagerduty.com', type = 'event', data, ...config} = params; - - let url = `https://${server}/v2/enqueue` + const { + server = 'events.pagerduty.com', + type = 'event', + data, + ...config + } = params; + + let url = `https://${server}/v2/enqueue`; if (type === 'change') { - url = `https://${server}/v2/change/enqueue` + url = `https://${server}/v2/change/enqueue`; } - return eventFetch( - url, - { - method: 'POST', - body: JSON.stringify(data), - ...config, - } - ); + return eventFetch(url, { + method: 'POST', + body: JSON.stringify(data), + ...config, + }); } const shorthand = (action: Action) => (params: EventParams): EventPromise => { @@ -93,7 +95,8 @@ const shorthand = (action: Action) => (params: EventParams): EventPromise => { export const trigger = shorthand('trigger'); export const acknowledge = shorthand('acknowledge'); export const resolve = shorthand('resolve'); -export const change = (params: EventParams) => event({...params, type: 'change'}); +export const change = (params: EventParams) => + event({...params, type: 'change'}); async function eventFetch(url: string, options: RequestOptions): EventPromise { const resp = (await request(url, options)) as EventResponse; From 430121d81b2a4f362606fd211f922b0d8f7180ec Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Tue, 10 Nov 2020 12:29:00 -0500 Subject: [PATCH 12/26] Use const. --- src/api.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api.ts b/src/api.ts index 27e2dbd..f5b8ae4 100644 --- a/src/api.ts +++ b/src/api.ts @@ -110,7 +110,7 @@ function apiRequest(url: string, options: RequestOptions): APIPromise { } function resourceKey(url: string) { - let resource = url.match(/.+.com\/(?[\w]+)/); + const resource = url.match(/.+.com\/(?[\w]+)/); if (resource) { return resource[1]; } From db318bd7a20a8f2e267636f8b72b45b96c7f224c Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Wed, 11 Nov 2020 17:02:00 -0500 Subject: [PATCH 13/26] Add in retry logic and tests. --- dist/pdjs-legacy.js | 2 +- dist/pdjs-legacy.js.map | 2 +- dist/pdjs.js | 2 +- dist/pdjs.js.map | 2 +- package-lock.json | 5 +++ package.json | 1 + src/common.ts | 72 +++++++++++++++++++++++++++++++---------- src/retries.test.ts | 57 ++++++++++++++++++++++++++++++++ tsconfig.json | 2 +- webpack.config.js | 4 +-- 10 files changed, 125 insertions(+), 24 deletions(-) create mode 100644 src/retries.test.ts diff --git a/dist/pdjs-legacy.js b/dist/pdjs-legacy.js index 50d1ede..f9a6fdb 100644 --- a/dist/pdjs-legacy.js +++ b/dist/pdjs-legacy.js @@ -1,2 +1,2 @@ -var PagerDuty;PagerDuty=(()=>{var t={47:(t,e,r)=>{"use strict";r.r(e),r.d(e,{acknowledge:()=>F,all:()=>S,api:()=>E,change:()=>C,event:()=>k,resolve:()=>L,trigger:()=>M});var n=r(98),o=r.n(n),i=r(818);function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function u(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function f(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e,i=r.params,s=r.timeout,a=c(r,["params","timeout"]);return t=l(t=new URL(t.toString()),i),e=y(e,s),o()(t.toString(),u(u({},a),{},{headers:new n.Headers(u(u({"Content-Type":"application/json; charset=utf-8"},p()),a.headers))}))}function p(){return i.jU?{}:{"User-Agent":"pdjs/".concat("0.0.1"," (").concat(process.version,"/").concat(process.platform,")")}}function l(t,e){if(!e)return t;for(var r=t.searchParams,n=0,o=Object.keys(e);n]+)>/g,(function(t,e){return"$"+r[e]})))}if("function"==typeof e){var i=this;return n[Symbol.replace].call(this,t,(function(){var t=[];return t.push.apply(t,arguments),"object"!==h(t[t.length-1])&&t.push(s(t,i)),e.apply(this,t)}))}return n[Symbol.replace].call(this,t,e)},d.apply(this,arguments)}function b(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&g(t,e)}function v(t){var e="function"==typeof Map?new Map:void 0;return(v=function(t){if(null===t||(r=t,-1===Function.toString.call(r).indexOf("[native code]")))return t;var r;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return m(t,arguments,w(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),g(n,t)})(t)}function m(t,e,r){return(m=O()?Reflect.construct:function(t,e,r){var n=[null];n.push.apply(n,e);var o=new(Function.bind.apply(t,n));return r&&g(o,r.prototype),o}).apply(null,arguments)}function O(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function g(t,e){return(g=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function w(t){return(w=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function j(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function P(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["endpoint","server","token","url","version","data"]),y=P(P({method:"GET"},l),{},{headers:P({Accept:"application/vnd.pagerduty+json;version=".concat(f),Authorization:"Token token=".concat(u)},l.headers)});return r=y.method,!["PUT","POST","DELETE","PATCH"].includes(null!==(n=r.toUpperCase())&&void 0!==n?n:"GET")&&p?y.params=null!==(e=y.params)&&void 0!==e?e:p:y.body=JSON.stringify(p),T(null!=a?a:"https://".concat(s,"/").concat(o.replace(/^\/+/,"")),y)}function S(t){return E(t).then((function(t){return _([t])}))}function _(t){var e=t[t.length-1];return e.next?e.next().then((function(e){return _(t.concat([e]))})):Promise.resolve(t)}function T(t,e){return f(t,e).then((function(r){var n=r,o=function(t){var e=t.match(d(/.+.com\/([0-9A-Z_a-z]+)/,{resource:1}));return e?e[1]:null}(t);return r.json().then((function(i){return n.next=function(t,e,r){if(function(t){return void 0!==t.offset}(r)){if((null==r?void 0:r.more)&&void 0!==h(r.offset)&&r.limit)return function(){return T(t,P(P({},e),{},{params:P(P({},e.params),{},{limit:r.limit.toString(),offset:(r.limit+r.offset).toString()})}))}}else if(function(t){return void 0!==t.cursor}(r)&&(null==r?void 0:r.cursor))return function(){return T(t,P(P({},e),{},{params:P(P({},e.params),{},{cursor:r.cursor,limit:r.limit.toString()})}))}}(t,e,i),n.data=i,n.resource=o?i[o]:null,n.response=r,n}))}))}function A(t,e,r,n,o,i,s){try{var u=t[i](s),a=u.value}catch(t){return void r(t)}u.done?e(a):Promise.resolve(a).then(n,o)}function D(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function s(t){A(i,n,o,s,u,"next",t)}function u(t){A(i,n,o,s,u,"throw",t)}s(void 0)}))}}function R(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function B(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["server","type","data"]),u="https://".concat(r,"/v2/enqueue");return"change"===o&&(u="https://".concat(r,"/v2/change/enqueue")),function(t,e){return q.apply(this,arguments)}(u,B({method:"POST",body:JSON.stringify(i)},s))}var I=function(t){return function(e){return k(B(B({},e),{},{data:B(B({},e.data),{},U({},"event_action",t))}))}},M=I("trigger"),F=I("acknowledge"),L=I("resolve"),C=function(t){return k(B(B({},t),{},{type:"change"}))};function q(){return(q=D(regeneratorRuntime.mark((function t(e,r){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,f(e,r);case 2:return n=t.sent,t.next=5,n.json();case 5:return n.data=t.sent,t.abrupt("return",n);case 7:case"end":return t.stop()}}),t)})))).apply(this,arguments)}},818:(t,e)=>{"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n="undefined"!=typeof window&&void 0!==window.document;"object"===("undefined"==typeof self?"undefined":r(self))&&self.constructor&&self.constructor.name,"undefined"!=typeof process&&null!=process.versions&&process.versions.node;e.jU=n},98:function(t,e){var r=function(t){function e(){this.fetch=!1,this.DOMException=t.DOMException}return e.prototype=t,new e}("undefined"!=typeof self?self:this);!function(t){!function(e){var r="URLSearchParams"in t,n="Symbol"in t&&"iterator"in Symbol,o="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),i="FormData"in t,s="ArrayBuffer"in t;if(s)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],a=ArrayBuffer.isView||function(t){return t&&u.indexOf(Object.prototype.toString.call(t))>-1};function c(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function f(t){return"string"!=typeof t&&(t=String(t)),t}function p(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return n&&(e[Symbol.iterator]=function(){return e}),e}function l(t){this.map={},t instanceof l?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function y(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function h(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function d(t){var e=new FileReader,r=h(e);return e.readAsArrayBuffer(t),r}function b(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:o&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:i&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:r&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():s&&o&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=b(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):s&&(ArrayBuffer.prototype.isPrototypeOf(t)||a(t))?this._bodyArrayBuffer=b(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var t=y(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?y(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(d)}),this.text=function(){var t,e,r,n=y(this);if(n)return n;if(this._bodyBlob)return t=this._bodyBlob,r=h(e=new FileReader),e.readAsText(t),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n-1?n:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function g(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}})),e}function w(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new l(e.headers),this.url=e.url||"",this._initBody(t)}O.prototype.clone=function(){return new O(this,{body:this._bodyInit})},v.call(O.prototype),v.call(w.prototype),w.prototype.clone=function(){return new w(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new l(this.headers),url:this.url})},w.error=function(){var t=new w(null,{status:0,statusText:""});return t.type="error",t};var j=[301,302,303,307,308];w.redirect=function(t,e){if(-1===j.indexOf(e))throw new RangeError("Invalid status code");return new w(null,{status:e,headers:{location:t}})},e.DOMException=t.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function P(t,r){return new Promise((function(n,i){var s=new O(t,r);if(s.signal&&s.signal.aborted)return i(new e.DOMException("Aborted","AbortError"));var u=new XMLHttpRequest;function a(){u.abort()}u.onload=function(){var t,e,r={status:u.status,statusText:u.statusText,headers:(t=u.getAllResponseHeaders()||"",e=new l,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}})),e)};r.url="responseURL"in u?u.responseURL:r.headers.get("X-Request-URL");var o="response"in u?u.response:u.responseText;n(new w(o,r))},u.onerror=function(){i(new TypeError("Network request failed"))},u.ontimeout=function(){i(new TypeError("Network request failed"))},u.onabort=function(){i(new e.DOMException("Aborted","AbortError"))},u.open(s.method,s.url,!0),"include"===s.credentials?u.withCredentials=!0:"omit"===s.credentials&&(u.withCredentials=!1),"responseType"in u&&o&&(u.responseType="blob"),s.headers.forEach((function(t,e){u.setRequestHeader(e,t)})),s.signal&&(s.signal.addEventListener("abort",a),u.onreadystatechange=function(){4===u.readyState&&s.signal.removeEventListener("abort",a)}),u.send(void 0===s._bodyInit?null:s._bodyInit)}))}P.polyfill=!0,t.fetch||(t.fetch=P,t.Headers=l,t.Request=O,t.Response=w),e.Headers=l,e.Request=O,e.Response=w,e.fetch=P}({})}(r),delete r.fetch.polyfill,(e=r.fetch).default=r.fetch,e.fetch=r.fetch,e.Headers=r.Headers,e.Request=r.Request,e.Response=r.Response,t.exports=e}},e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return t[n].call(o.exports,o,o.exports,r),o.exports}return r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r(47)})(); +var PagerDuty;PagerDuty=(()=>{var t={47:(t,e,r)=>{"use strict";r.r(e),r.d(e,{acknowledge:()=>F,all:()=>S,api:()=>E,change:()=>L,event:()=>k,resolve:()=>C,trigger:()=>M});var n=r(98),o=r.n(n),i=r(818);function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function u(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function f(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e,i=r.params,s=r.timeout,a=c(r,["params","timeout"]);return t=l(t=new URL(t.toString()),i),e=y(e,s),new AbortController,o()(t.toString(),u(u({},a),{},{headers:new n.Headers(u(u({"Content-Type":"application/json; charset=utf-8"},p()),a.headers))})).then((function(r){return 429===r.status?f(t,u({retryCount:1},e)):r}))}function p(){return i.jU?{}:{"User-Agent":"pdjs/".concat("2.0.0"," (").concat(process.version,"/").concat(process.platform,")")}}function l(t,e){if(!e)return t;for(var r=t.searchParams,n=0,o=Object.keys(e);n]+)>/g,(function(t,e){return"$"+r[e]})))}if("function"==typeof e){var i=this;return n[Symbol.replace].call(this,t,(function(){var t=[];return t.push.apply(t,arguments),"object"!==h(t[t.length-1])&&t.push(s(t,i)),e.apply(this,t)}))}return n[Symbol.replace].call(this,t,e)},d.apply(this,arguments)}function b(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&g(t,e)}function v(t){var e="function"==typeof Map?new Map:void 0;return(v=function(t){if(null===t||(r=t,-1===Function.toString.call(r).indexOf("[native code]")))return t;var r;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return m(t,arguments,w(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),g(n,t)})(t)}function m(t,e,r){return(m=O()?Reflect.construct:function(t,e,r){var n=[null];n.push.apply(n,e);var o=new(Function.bind.apply(t,n));return r&&g(o,r.prototype),o}).apply(null,arguments)}function O(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function g(t,e){return(g=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function w(t){return(w=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function j(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function P(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["endpoint","server","token","url","version","data"]),y=P(P({method:"GET"},l),{},{headers:P({Accept:"application/vnd.pagerduty+json;version=".concat(f),Authorization:"Token token=".concat(u)},l.headers)});return r=y.method,!["PUT","POST","DELETE","PATCH"].includes(null!==(n=r.toUpperCase())&&void 0!==n?n:"GET")&&p?y.params=null!==(e=y.params)&&void 0!==e?e:p:y.body=JSON.stringify(p),T(null!=a?a:"https://".concat(s,"/").concat(o.replace(/^\/+/,"")),y)}function S(t){return E(t).then((function(t){return _([t])}))}function _(t){var e=t[t.length-1];return e.next?e.next().then((function(e){return _(t.concat([e]))})):Promise.resolve(t)}function T(t,e){return f(t,e).then((function(r){var n=r,o=function(t){var e=t.match(d(/.+.com\/([0-9A-Z_a-z]+)/,{resource:1}));return e?e[1]:null}(t);return r.json().then((function(i){return n.next=function(t,e,r){if(function(t){return void 0!==t.offset}(r)){if((null==r?void 0:r.more)&&void 0!==h(r.offset)&&r.limit)return function(){return T(t,P(P({},e),{},{params:P(P({},e.params),{},{limit:r.limit.toString(),offset:(r.limit+r.offset).toString()})}))}}else if(function(t){return void 0!==t.cursor}(r)&&(null==r?void 0:r.cursor))return function(){return T(t,P(P({},e),{},{params:P(P({},e.params),{},{cursor:r.cursor,limit:r.limit.toString()})}))}}(t,e,i),n.data=i,n.resource=o?i[o]:null,n.response=r,n}))}))}function A(t,e,r,n,o,i,s){try{var u=t[i](s),a=u.value}catch(t){return void r(t)}u.done?e(a):Promise.resolve(a).then(n,o)}function D(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function s(t){A(i,n,o,s,u,"next",t)}function u(t){A(i,n,o,s,u,"throw",t)}s(void 0)}))}}function R(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function B(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["server","type","data"]),u="https://".concat(r,"/v2/enqueue");return"change"===o&&(u="https://".concat(r,"/v2/change/enqueue")),function(t,e){return q.apply(this,arguments)}(u,B({method:"POST",body:JSON.stringify(i)},s))}var I=function(t){return function(e){return k(B(B({},e),{},{data:B(B({},e.data),{},U({},"event_action",t))}))}},M=I("trigger"),F=I("acknowledge"),C=I("resolve"),L=function(t){return k(B(B({},t),{},{type:"change"}))};function q(){return(q=D(regeneratorRuntime.mark((function t(e,r){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,f(e,r);case 2:return n=t.sent,t.next=5,n.json();case 5:return n.data=t.sent,t.abrupt("return",n);case 7:case"end":return t.stop()}}),t)})))).apply(this,arguments)}},818:(t,e)=>{"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n="undefined"!=typeof window&&void 0!==window.document;"object"===("undefined"==typeof self?"undefined":r(self))&&self.constructor&&self.constructor.name,"undefined"!=typeof process&&null!=process.versions&&process.versions.node;e.jU=n},98:function(t,e){var r=function(t){function e(){this.fetch=!1,this.DOMException=t.DOMException}return e.prototype=t,new e}("undefined"!=typeof self?self:this);!function(t){!function(e){var r="URLSearchParams"in t,n="Symbol"in t&&"iterator"in Symbol,o="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),i="FormData"in t,s="ArrayBuffer"in t;if(s)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],a=ArrayBuffer.isView||function(t){return t&&u.indexOf(Object.prototype.toString.call(t))>-1};function c(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function f(t){return"string"!=typeof t&&(t=String(t)),t}function p(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return n&&(e[Symbol.iterator]=function(){return e}),e}function l(t){this.map={},t instanceof l?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function y(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function h(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function d(t){var e=new FileReader,r=h(e);return e.readAsArrayBuffer(t),r}function b(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:o&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:i&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:r&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():s&&o&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=b(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):s&&(ArrayBuffer.prototype.isPrototypeOf(t)||a(t))?this._bodyArrayBuffer=b(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var t=y(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?y(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(d)}),this.text=function(){var t,e,r,n=y(this);if(n)return n;if(this._bodyBlob)return t=this._bodyBlob,r=h(e=new FileReader),e.readAsText(t),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n-1?n:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function g(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}})),e}function w(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new l(e.headers),this.url=e.url||"",this._initBody(t)}O.prototype.clone=function(){return new O(this,{body:this._bodyInit})},v.call(O.prototype),v.call(w.prototype),w.prototype.clone=function(){return new w(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new l(this.headers),url:this.url})},w.error=function(){var t=new w(null,{status:0,statusText:""});return t.type="error",t};var j=[301,302,303,307,308];w.redirect=function(t,e){if(-1===j.indexOf(e))throw new RangeError("Invalid status code");return new w(null,{status:e,headers:{location:t}})},e.DOMException=t.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function P(t,r){return new Promise((function(n,i){var s=new O(t,r);if(s.signal&&s.signal.aborted)return i(new e.DOMException("Aborted","AbortError"));var u=new XMLHttpRequest;function a(){u.abort()}u.onload=function(){var t,e,r={status:u.status,statusText:u.statusText,headers:(t=u.getAllResponseHeaders()||"",e=new l,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}})),e)};r.url="responseURL"in u?u.responseURL:r.headers.get("X-Request-URL");var o="response"in u?u.response:u.responseText;n(new w(o,r))},u.onerror=function(){i(new TypeError("Network request failed"))},u.ontimeout=function(){i(new TypeError("Network request failed"))},u.onabort=function(){i(new e.DOMException("Aborted","AbortError"))},u.open(s.method,s.url,!0),"include"===s.credentials?u.withCredentials=!0:"omit"===s.credentials&&(u.withCredentials=!1),"responseType"in u&&o&&(u.responseType="blob"),s.headers.forEach((function(t,e){u.setRequestHeader(e,t)})),s.signal&&(s.signal.addEventListener("abort",a),u.onreadystatechange=function(){4===u.readyState&&s.signal.removeEventListener("abort",a)}),u.send(void 0===s._bodyInit?null:s._bodyInit)}))}P.polyfill=!0,t.fetch||(t.fetch=P,t.Headers=l,t.Request=O,t.Response=w),e.Headers=l,e.Request=O,e.Response=w,e.fetch=P}({})}(r),delete r.fetch.polyfill,(e=r.fetch).default=r.fetch,e.fetch=r.fetch,e.Headers=r.Headers,e.Request=r.Request,e.Response=r.Response,t.exports=e}},e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return t[n].call(o.exports,o,o.exports,r),o.exports}return r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r(47)})(); //# sourceMappingURL=pdjs-legacy.js.map \ No newline at end of file diff --git a/dist/pdjs-legacy.js.map b/dist/pdjs-legacy.js.map index 8442a22..7c987f9 100644 --- a/dist/pdjs-legacy.js.map +++ b/dist/pdjs-legacy.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://PagerDuty/./src/common.ts","webpack://PagerDuty/./src/api.ts","webpack://PagerDuty/./src/events.ts","webpack://PagerDuty/./node_modules/browser-or-node/lib/index.js","webpack://PagerDuty/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://PagerDuty/webpack/bootstrap","webpack://PagerDuty/webpack/startup","webpack://PagerDuty/webpack/runtime/compat get default export","webpack://PagerDuty/webpack/runtime/define property getters","webpack://PagerDuty/webpack/runtime/hasOwnProperty shorthand","webpack://PagerDuty/webpack/runtime/make namespace object"],"names":["request","url","options","params","timeout","rest","applyParams","URL","toString","applyTimeout","fetch","headers","Headers","userAgentHeader","isBrowser","process","version","platform","combinedParams","searchParams","Object","keys","key","append","search","init","controller","AbortController","setTimeout","abort","signal","api","endpoint","partialParams","partial","shorthand","method","get","post","put","patch","all","partialCall","server","token","data","config","Accept","Authorization","includes","toUpperCase","body","JSON","stringify","apiRequest","replace","then","response","allInner","responses","length","next","concat","Promise","resolve","apiResponse","resource","match","resourceKey","json","undefined","offset","isOffsetPagination","more","limit","cursor","isCursorPagination","nextFunc","event","type","eventFetch","action","trigger","acknowledge","change","resp","_typeof","Symbol","iterator","obj","constructor","prototype","window","document","self","name","versions","node","exports","__self__","root","F","this","DOMException","support","Blob","e","viewClasses","isArrayBufferView","ArrayBuffer","isView","indexOf","call","normalizeName","String","test","TypeError","toLowerCase","normalizeValue","value","iteratorFor","items","shift","done","map","forEach","Array","isArray","header","getOwnPropertyNames","consumed","bodyUsed","reject","fileReaderReady","reader","onload","result","onerror","error","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","buf","slice","view","Uint8Array","byteLength","set","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","rejected","Error","arrayBuffer","text","readAsText","chars","i","fromCharCode","join","readArrayBufferAsText","formData","decode","parse","oldValue","has","hasOwnProperty","callback","thisArg","push","values","entries","methods","Request","input","upcased","credentials","mode","referrer","form","trim","split","bytes","decodeURIComponent","Response","bodyInit","status","ok","statusText","clone","redirectStatuses","redirect","RangeError","location","err","message","stack","create","aborted","xhr","XMLHttpRequest","abortXhr","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","onabort","open","withCredentials","responseType","setRequestHeader","addEventListener","onreadystatechange","readyState","removeEventListener","send","polyfill","default","module","__webpack_module_cache__","__webpack_require__","moduleId","__webpack_modules__","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","prop","r","toStringTag"],"mappings":"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","file":"pdjs-legacy.js","sourcesContent":["/* NODE-ONLY-START */\nimport fetch, {Headers} from 'cross-fetch';\nimport {isBrowser} from 'browser-or-node';\n/* NODE-ONLY-END */\n\nconst VERSION = '0.0.1';\n\nexport interface RequestOptions extends RequestInit {\n params?: Record;\n timeout?: number;\n}\n\n// TODO: Retries.\n// TODO: Backoff.\nexport function request(\n url: string | URL,\n options: RequestOptions = {}\n): Promise {\n const {params, timeout, ...rest} = options;\n\n url = new URL(url.toString());\n\n url = applyParams(url, params);\n options = applyTimeout(options, timeout);\n\n return fetch(url.toString(), {\n ...rest,\n headers: new Headers({\n 'Content-Type': 'application/json; charset=utf-8',\n /* NODE-ONLY-START */\n ...userAgentHeader(),\n /* NODE-ONLY-END */\n ...rest.headers,\n }),\n });\n}\n\nfunction userAgentHeader(): object {\n if (isBrowser) return {};\n\n return {\n 'User-Agent': `pdjs/${VERSION} (${process.version}/${process.platform})`,\n };\n}\n\nfunction applyParams(url: URL, params?: Record): URL {\n if (!params) return url;\n\n const combinedParams = url.searchParams;\n\n for (const key of Object.keys(params)) {\n combinedParams.append(key, params[key]);\n }\n\n url.search = combinedParams.toString();\n return url;\n}\n\nfunction applyTimeout(init: RequestOptions, timeout?: number): RequestOptions {\n if (!timeout) return init;\n\n const controller = new AbortController();\n setTimeout(() => controller.abort(), timeout);\n\n return {\n ...init,\n signal: controller.signal,\n };\n}\n","import {request, RequestOptions} from './common';\n\nexport interface ShorthandCall {\n (res: string, params?: Partial): APIPromise;\n}\n\nexport interface PartialCall {\n (params: APIParams): APIPromise;\n (params: Partial): PartialCall;\n get: ShorthandCall;\n post: ShorthandCall;\n put: ShorthandCall;\n patch: ShorthandCall;\n delete: ShorthandCall;\n all: (params: APIParams) => Promise;\n}\n\nexport type APIParams = RequestOptions & {\n endpoint?: string;\n url?: string;\n data?: object;\n token?: string;\n server?: string;\n version?: number;\n} & ({endpoint: string} | {url: string});\n\nexport type APIPromise = Promise;\n\nexport interface APIResponse extends Response {\n data: any;\n resource: any;\n response: Response;\n next?: () => APIPromise;\n}\n\nexport function api(params: APIParams): APIPromise;\nexport function api(params: Partial): PartialCall;\nexport function api(params: Partial): APIPromise | PartialCall {\n // If the params don't include `endpoint` treat it as a partial\n // application.\n if (!params.endpoint && !params.url) {\n return partialCall(params);\n }\n\n const {\n endpoint,\n server = 'api.pagerduty.com',\n token,\n url,\n version = 2,\n data,\n ...rest\n } = params;\n\n const config: RequestOptions = {\n method: 'GET',\n ...rest,\n headers: {\n Accept: `application/vnd.pagerduty+json;version=${version}`,\n Authorization: `Token token=${token!}`,\n ...rest.headers,\n },\n };\n\n // Allow `data` for `params` for requests without bodies.\n if (isReadonlyRequest(config.method!) && data) {\n config.params = config.params ?? (data as Record);\n } else {\n config.body = JSON.stringify(data);\n }\n\n return apiRequest(\n url ?? `https://${server}/${endpoint!.replace(/^\\/+/, '')}`,\n config\n );\n}\n\nexport function all(params: APIParams): Promise {\n return (api(params) as APIPromise).then(response => allInner([response]));\n}\n\nfunction allInner(responses: APIResponse[]): Promise {\n const response = responses[responses.length - 1];\n\n if (!response.next) {\n return Promise.resolve(responses);\n }\n\n return response.next().then(response => allInner(responses.concat([response])));\n}\n\nfunction apiRequest(url: string, options: RequestOptions): APIPromise {\n return request(url, options).then(\n (response: Response): APIPromise => {\n const apiResponse = response as APIResponse;\n const resource = resourceKey(url);\n return response.json().then(\n (data): APIResponse => {\n apiResponse.next = nextFunc(url, options, data);\n apiResponse.data = data;\n apiResponse.resource = resource ? data[resource] : null;\n apiResponse.response = response;\n return apiResponse;\n }\n );\n }\n );\n}\n\nfunction resourceKey(url: string) {\n let resource = url.match(/.+.com\\/(?[\\w]+)/);\n if (resource) {\n return resource[1];\n }\n return null;\n}\n\nfunction isReadonlyRequest(method: string) {\n return !['PUT', 'POST', 'DELETE', 'PATCH'].includes(\n method.toUpperCase() ?? 'GET'\n );\n}\n\ninterface OffsetPagination {\n type: 'offset';\n more?: boolean;\n offset?: number;\n limit?: number;\n}\n\ninterface CursorPagination {\n type: 'cursor';\n cursor?: string;\n limit?: number;\n}\n\nfunction isOffsetPagination(data: OffsetPagination | CursorPagination): data is OffsetPagination {\n if ((data as OffsetPagination).offset !== undefined) {\n return true\n }\n return false\n}\n\nfunction isCursorPagination(data: OffsetPagination | CursorPagination): data is CursorPagination {\n if ((data as CursorPagination).cursor !== undefined) {\n return true\n }\n return false\n}\n\nfunction nextFunc(\n url: string,\n options: RequestOptions,\n data: OffsetPagination | CursorPagination\n) {\n if (isOffsetPagination(data)) {\n if (data?.more && typeof data.offset !== undefined && data.limit) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n limit: data.limit!.toString(),\n offset: (data.limit! + data.offset!).toString(),\n },\n });\n }\n } else if (isCursorPagination(data)) {\n if (data?.cursor) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n cursor: data.cursor!,\n limit: data.limit!.toString(),\n }\n })\n }\n }\n\n return undefined;\n}\n\nfunction partialCall(params: Partial) {\n const partialParams = params;\n const partial = ((params: Partial) =>\n api({...partialParams, ...params})) as PartialCall;\n\n const shorthand = (method: string) => (\n endpoint: string,\n params?: Partial\n ): APIPromise =>\n api({endpoint, method, ...partialParams, ...params}) as APIPromise;\n\n partial.get = shorthand('get');\n partial.post = shorthand('post');\n partial.put = shorthand('put');\n partial.patch = shorthand('patch');\n partial.delete = shorthand('delete');\n\n partial.all = (params: APIParams) => all(params);\n\n return partial;\n}\n","import {request, RequestOptions} from './common';\n\nexport type Action = 'trigger' | 'acknowledge' | 'resolve';\n\nexport type EventPromise = Promise;\n\nexport interface EventResponse extends Response {\n data: any;\n}\n\nexport type Severity = 'critical' | 'error' | 'warning' | 'info';\n\nexport interface Image {\n src: string;\n href?: string;\n alt?: string;\n}\n\nexport interface Link {\n href: string;\n text?: string;\n}\n\nexport interface EventPayloadV2 {\n routing_key: string;\n event_action: Action;\n dedup_key?: string;\n payload: {\n summary: string;\n source: string;\n severity: Severity;\n timestamp?: string;\n component?: string;\n group?: string;\n class?: string;\n custom_details?: object;\n };\n images?: Array;\n links?: Array;\n}\n\nexport interface EventParams extends RequestOptions {\n data: EventPayloadV2;\n type?: string;\n server?: string;\n}\n\nexport interface ChangePayload {\n routing_key: string;\n payload: {\n summary: string;\n source?: string;\n timestamp: string;\n custom_details: object;\n };\n links: Array;\n}\nexport interface ChangeParams extends RequestOptions {\n data: ChangePayload;\n server?: string;\n}\n\nexport function event(params: EventParams): EventPromise {\n const {server = 'events.pagerduty.com', type = 'event', data, ...config} = params;\n\n let url = `https://${server}/v2/enqueue`\n if (type === 'change') {\n url = `https://${server}/v2/change/enqueue`\n }\n\n return eventFetch(\n url,\n {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n }\n );\n}\n\nconst shorthand = (action: Action) => (params: EventParams): EventPromise => {\n const typeField = 'event_action';\n\n return event({\n ...params,\n data: {\n ...params.data,\n [typeField]: action,\n },\n });\n};\n\nexport const trigger = shorthand('trigger');\nexport const acknowledge = shorthand('acknowledge');\nexport const resolve = shorthand('resolve');\nexport const change = (params: EventParams) => event({...params, type: 'change'});\n\nasync function eventFetch(url: string, options: RequestOptions): EventPromise {\n const resp = (await request(url, options)) as EventResponse;\n resp.data = await resp.json();\n // TODO: Something with the return data data.\n return resp;\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/* global window self */\n\nvar isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';\n\n/* eslint-disable no-restricted-globals */\nvar isWebWorker = (typeof self === 'undefined' ? 'undefined' : _typeof(self)) === 'object' && self.constructor && self.constructor.name === 'DedicatedWorkerGlobalScope';\n/* eslint-enable no-restricted-globals */\n\nvar isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n\n/**\n * @see https://github.com/jsdom/jsdom/releases/tag/12.0.0\n * @see https://github.com/jsdom/jsdom/issues/1537\n */\n/* eslint-disable no-undef */\nvar isJsDom = function isJsDom() {\n return typeof window !== 'undefined' && window.name === 'nodejs' || navigator.userAgent.includes('Node.js') || navigator.userAgent.includes('jsdom');\n};\n\nexports.isBrowser = isBrowser;\nexports.isWebWorker = isWebWorker;\nexports.isNode = isNode;\nexports.isJsDom = isJsDom;","var __self__ = (function (root) {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = root.DOMException\n}\nF.prototype = root;\nreturn new F();\n})(typeof self !== 'undefined' ? self : this);\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n return exports;\n\n}({}));\n})(__self__);\ndelete __self__.fetch.polyfill\nexports = __self__.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = __self__.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = __self__.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = __self__.Headers\nexports.Request = __self__.Request\nexports.Response = __self__.Response\nmodule.exports = exports\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(47);\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => module['default'] :\n\t\t() => module;\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://PagerDuty/./src/common.ts","webpack://PagerDuty/./src/api.ts","webpack://PagerDuty/./src/events.ts","webpack://PagerDuty/./node_modules/browser-or-node/lib/index.js","webpack://PagerDuty/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://PagerDuty/webpack/bootstrap","webpack://PagerDuty/webpack/startup","webpack://PagerDuty/webpack/runtime/compat get default export","webpack://PagerDuty/webpack/runtime/define property getters","webpack://PagerDuty/webpack/runtime/hasOwnProperty shorthand","webpack://PagerDuty/webpack/runtime/make namespace object"],"names":["request","url","options","params","timeout","rest","applyParams","URL","toString","applyTimeout","AbortController","fetch","headers","Headers","userAgentHeader","then","response","status","retryCount","isBrowser","process","version","platform","combinedParams","searchParams","Object","keys","key","append","search","init","controller","setTimeout","abort","signal","api","endpoint","partialParams","partial","shorthand","method","get","post","put","patch","all","partialCall","server","token","data","config","Accept","Authorization","includes","toUpperCase","body","JSON","stringify","apiRequest","replace","allInner","responses","length","next","concat","Promise","resolve","apiResponse","resource","match","resourceKey","json","undefined","offset","isOffsetPagination","more","limit","cursor","isCursorPagination","nextFunc","event","type","eventFetch","action","trigger","acknowledge","change","resp","_typeof","Symbol","iterator","obj","constructor","prototype","window","document","self","name","versions","node","exports","__self__","root","F","this","DOMException","support","Blob","e","viewClasses","isArrayBufferView","ArrayBuffer","isView","indexOf","call","normalizeName","String","test","TypeError","toLowerCase","normalizeValue","value","iteratorFor","items","shift","done","map","forEach","Array","isArray","header","getOwnPropertyNames","consumed","bodyUsed","reject","fileReaderReady","reader","onload","result","onerror","error","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","buf","slice","view","Uint8Array","byteLength","set","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","rejected","Error","arrayBuffer","text","readAsText","chars","i","fromCharCode","join","readArrayBufferAsText","formData","decode","parse","oldValue","has","hasOwnProperty","callback","thisArg","push","values","entries","methods","Request","input","upcased","credentials","mode","referrer","form","trim","split","bytes","decodeURIComponent","Response","bodyInit","ok","statusText","clone","redirectStatuses","redirect","RangeError","location","err","message","stack","create","aborted","xhr","XMLHttpRequest","abortXhr","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","onabort","open","withCredentials","responseType","setRequestHeader","addEventListener","onreadystatechange","readyState","removeEventListener","send","polyfill","default","module","__webpack_module_cache__","__webpack_require__","moduleId","__webpack_modules__","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","prop","r","toStringTag"],"mappings":"mvCAeO,SAASA,EACdC,GAEmB,IADnBC,EACmB,uDADO,GACP,EACgBA,EAA5BC,EADY,EACZA,OAAQC,EADI,EACJA,QAAYC,EADR,0BAUnB,OALAJ,EAAMK,EAFNL,EAAM,IAAIM,IAAIN,EAAIO,YAEKL,GACvBD,EAAUO,EAAaP,EAASE,GAEhC,IAAIM,gBAEGC,IAAMV,EAAIO,WAAL,OACPH,GADO,IAEVO,QAAS,IAAIC,UAAJ,KACP,eAAgB,mCAEbC,KAEAT,EAAKO,aAETG,MAAK,SAAAC,GACN,OAAwB,MAApBA,EAASC,OACJjB,EAAQC,EAAD,GAAOiB,WAAY,GAAMhB,IAElCc,KAIX,SAASF,IACP,OAAIK,KAAkB,GAEf,CACL,4BA5CY,QA4CZ,aAAkCC,QAAQC,QAA1C,YAAqDD,QAAQE,SAA7D,MAIJ,SAAShB,EAAYL,EAAUE,GAC7B,IAAKA,EAAQ,OAAOF,EAIpB,IAFA,IAAMsB,EAAiBtB,EAAIuB,aAE3B,MAAkBC,OAAOC,KAAKvB,GAA9B,eAAuC,CAAlC,IAAMwB,EAAG,KACZJ,EAAeK,OAAOD,EAAKxB,EAAOwB,IAIpC,OADA1B,EAAI4B,OAASN,EAAef,WACrBP,EAGT,SAASQ,EAAaqB,EAAsB1B,GAC1C,IAAKA,EAAS,OAAO0B,EAErB,IAAMC,EAAa,IAAIrB,gBAGvB,OAFAsB,YAAW,kBAAMD,EAAWE,UAAS7B,GAErC,OACK0B,GADL,IAEEI,OAAQH,EAAWG,S,ukGCrChB,SAASC,EAAIhC,GAGlB,IAAKA,EAAOiC,WAAajC,EAAOF,IAC9B,OAqJJ,SAAqBE,GACnB,IAAMkC,EAAgBlC,EAChBmC,EAAW,SAACnC,GAAD,OACfgC,EAAI,OAAIE,GAAkBlC,KAEtBoC,EAAY,SAACC,GAAD,OAAoB,SACpCJ,EACAjC,GAFoC,OAIpCgC,EAAI,KAACC,WAAUI,UAAWH,GAAkBlC,MAU9C,OARAmC,EAAQG,IAAMF,EAAU,OACxBD,EAAQI,KAAOH,EAAU,QACzBD,EAAQK,IAAMJ,EAAU,OACxBD,EAAQM,MAAQL,EAAU,SAC1BD,EAAO,OAAUC,EAAU,UAE3BD,EAAQO,IAAM,SAAC1C,GAAD,OAAuB0C,EAAI1C,IAElCmC,EAxKEQ,CAAY3C,GAJmD,IA4BzB,EAsDtBqC,EAAgB,EA1EvCJ,EAOEjC,EAPFiC,SARsE,EAepEjC,EANF4C,cATsE,MAS7D,oBAT6D,EAUtEC,EAKE7C,EALF6C,MACA/C,EAIEE,EAJFF,IAXsE,EAepEE,EAHFkB,eAZsE,MAY5D,EAZ4D,EAatE4B,EAEE9C,EAFF8C,KACG5C,E,kXAdmE,CAepEF,EAfoE,sDAiBlE+C,EAAyB,KAC7BV,OAAQ,OACLnC,GAFuB,IAG1BO,QAAS,GACPuC,OAAQ,0CAAF,OAA4C9B,GAClD+B,cAAe,eAAF,OAAiBJ,IAC3B3C,EAAKO,WAWZ,OAgDyB4B,EAtDHU,EAAOV,QAuDrB,CAAC,MAAO,OAAQ,SAAU,SAASa,SAAnC,UACNb,EAAOc,qBADD,QACkB,QAxDeL,EACvCC,EAAO/C,OAAP,UAAgB+C,EAAO/C,cAAvB,QAAkC8C,EAElCC,EAAOK,KAAOC,KAAKC,UAAUR,GAGxBS,EACLzD,UADe,kBACG8C,EADH,YACaX,EAAUuB,QAAQ,OAAQ,KACtDT,GAIG,SAASL,EAAI1C,GAClB,OAAQgC,EAAIhC,GAAuBY,MAAK,SAAAC,GAAQ,OAAI4C,EAAS,CAAC5C,OAGhE,SAAS4C,EAASC,GAChB,IAAM7C,EAAW6C,EAAUA,EAAUC,OAAS,GAE9C,OAAK9C,EAAS+C,KAIP/C,EACJ+C,OACAhD,MAAK,SAAAC,GAAQ,OAAI4C,EAASC,EAAUG,OAAO,CAAChD,QALtCiD,QAAQC,QAAQL,GAQ3B,SAASH,EAAWzD,EAAaC,GAC/B,OAAOF,EAAQC,EAAKC,GAASa,MAC3B,SAACC,GACC,IAAMmD,EAAcnD,EACdoD,EAcZ,SAAqBnE,GACnB,IAAMmE,EAAWnE,EAAIoE,MAAJ,EAAU,0BAAV,eACjB,OAAID,EACKA,EAAS,GAEX,KAnBcE,CAAYrE,GAC7B,OAAOe,EAASuD,OAAOxD,MACrB,SAACkC,GAKC,OAJAkB,EAAYJ,KAwDtB,SACE9D,EACAC,EACA+C,GAEA,GAvBF,SACEA,GAEA,YAA0CuB,IAArCvB,EAA0BwB,OAoB3BC,CAAmBzB,IACrB,IAAIA,aAAA,EAAAA,EAAM0B,YAA+BH,IAAvB,EAAOvB,EAAKwB,SAAwBxB,EAAK2B,MACzD,OAAO,kBACLlB,EAAWzD,EAAD,EAAC,KACNC,GADK,IAERC,OAAQ,OACHD,EAAQC,QADP,IAEJyE,MAAO3B,EAAK2B,MAAOpE,WACnBiE,QAASxB,EAAK2B,MAAS3B,EAAKwB,QAASjE,sBAIxC,GA1BT,SACEyC,GAEA,YAA0CuB,IAArCvB,EAA0B4B,OAuBpBC,CAAmB7B,KACxBA,aAAJ,EAAIA,EAAM4B,QACR,OAAO,kBACLnB,EAAWzD,EAAD,EAAC,KACNC,GADK,IAERC,OAAQ,OACHD,EAAQC,QADP,IAEJ0E,OAAQ5B,EAAK4B,OACbD,MAAO3B,EAAK2B,MAAOpE,iBAjFFuE,CAAS9E,EAAKC,EAAS+C,GAC1CkB,EAAYlB,KAAOA,EACnBkB,EAAYC,SAAWA,EAAWnB,EAAKmB,GAAY,KACnDD,EAAYnD,SAAWA,EAChBmD,Q,m/BC1CV,SAASa,EAAM7E,GAAmC,MAMnDA,EAJF4C,cAFqD,MAE5C,uBAF4C,IAMnD5C,EAHF8E,YAHqD,MAG9C,QAH8C,EAIrDhC,EAEE9C,EAFF8C,KACGC,E,kXALkD,CAMnD/C,EANmD,0BAQnDF,EAAM,WAAH,OAAc8C,EAAd,eAKP,MAJa,WAATkC,IACFhF,EAAM,WAAH,OAAc8C,EAAd,uB,6CAGEmC,CAAWjF,EAAD,GACfuC,OAAQ,OACRe,KAAMC,KAAKC,UAAUR,IAClBC,IAIP,IAAMX,EAAY,SAAC4C,GAAD,OAAoB,SAAChF,GAGrC,OAAO6E,EAAM,OACR7E,GADO,IAEV8C,KAAM,OACD9C,EAAO8C,MADR,QAJY,eAMDkC,SAKNC,EAAU7C,EAAU,WACpB8C,EAAc9C,EAAU,eACxB2B,EAAU3B,EAAU,WACpB+C,EAAS,SAACnF,GAAD,OACpB6E,EAAM,OAAI7E,GAAL,IAAa8E,KAAM,a,iDAE1B,WAA0BhF,EAAaC,GAAvC,sGACsBF,EAAQC,EAAKC,GADnC,cACQqF,EADR,gBAEoBA,EAAKhB,OAFzB,cAEEgB,EAAKtC,KAFP,yBAISsC,GAJT,4C,iDC9FA,IAAIC,EAA4B,mBAAXC,QAAoD,iBAApBA,OAAOC,SAAwB,SAAUC,GAAO,cAAcA,GAAS,SAAUA,GAAO,OAAOA,GAAyB,mBAAXF,QAAyBE,EAAIC,cAAgBH,QAAUE,IAAQF,OAAOI,UAAY,gBAAkBF,GAIlQxE,EAA8B,oBAAX2E,aAAqD,IAApBA,OAAOC,SAGmB,YAA/C,oBAATC,KAAuB,YAAcR,EAAQQ,QAAuBA,KAAKJ,aAAeI,KAAKJ,YAAYK,KAGnG,oBAAZ7E,SAA+C,MAApBA,QAAQ8E,UAAoB9E,QAAQ8E,SAASC,KAW5FC,EAAQ,GAAYjF,G,iBC3BpB,IAAIkF,EAAW,SAAWC,GAC1B,SAASC,IACTC,KAAK7F,OAAQ,EACb6F,KAAKC,aAAeH,EAAKG,aAGzB,OADAF,EAAEV,UAAYS,EACP,IAAIC,EANI,CAOI,oBAATP,KAAuBA,KAAOQ,OACxC,SAAUR,IAEQ,SAAUI,GAE1B,IAAIM,EACY,oBAAqBV,EADjCU,EAEQ,WAAYV,GAAQ,aAAcP,OAF1CiB,EAIA,eAAgBV,GAChB,SAAUA,GACV,WACE,IAEE,OADA,IAAIW,MACG,EACP,MAAOC,GACP,OAAO,GALX,GANAF,EAcQ,aAAcV,EAdtBU,EAeW,gBAAiBV,EAOhC,GAAIU,EACF,IAAIG,EAAc,CAChB,qBACA,sBACA,6BACA,sBACA,uBACA,sBACA,uBACA,wBACA,yBAGEC,EACFC,YAAYC,QACZ,SAASrB,GACP,OAAOA,GAAOkB,EAAYI,QAAQxF,OAAOoE,UAAUrF,SAAS0G,KAAKvB,KAAS,GAIhF,SAASwB,EAAclB,GAIrB,GAHoB,iBAATA,IACTA,EAAOmB,OAAOnB,IAEZ,4BAA4BoB,KAAKpB,GACnC,MAAM,IAAIqB,UAAU,0CAEtB,OAAOrB,EAAKsB,cAGd,SAASC,EAAeC,GAItB,MAHqB,iBAAVA,IACTA,EAAQL,OAAOK,IAEVA,EAIT,SAASC,EAAYC,GACnB,IAAIjC,EAAW,CACb3B,KAAM,WACJ,IAAI0D,EAAQE,EAAMC,QAClB,MAAO,CAACC,UAAgBrD,IAAViD,EAAqBA,MAAOA,KAU9C,OANIf,IACFhB,EAASD,OAAOC,UAAY,WAC1B,OAAOA,IAIJA,EAGT,SAAS7E,EAAQD,GACf4F,KAAKsB,IAAM,GAEPlH,aAAmBC,EACrBD,EAAQmH,SAAQ,SAASN,EAAOxB,GAC9BO,KAAK5E,OAAOqE,EAAMwB,KACjBjB,MACMwB,MAAMC,QAAQrH,GACvBA,EAAQmH,SAAQ,SAASG,GACvB1B,KAAK5E,OAAOsG,EAAO,GAAIA,EAAO,MAC7B1B,MACM5F,GACTa,OAAO0G,oBAAoBvH,GAASmH,SAAQ,SAAS9B,GACnDO,KAAK5E,OAAOqE,EAAMrF,EAAQqF,MACzBO,MAgEP,SAAS4B,EAAS7E,GAChB,GAAIA,EAAK8E,SACP,OAAOpE,QAAQqE,OAAO,IAAIhB,UAAU,iBAEtC/D,EAAK8E,UAAW,EAGlB,SAASE,EAAgBC,GACvB,OAAO,IAAIvE,SAAQ,SAASC,EAASoE,GACnCE,EAAOC,OAAS,WACdvE,EAAQsE,EAAOE,SAEjBF,EAAOG,QAAU,WACfL,EAAOE,EAAOI,WAKpB,SAASC,EAAsBC,GAC7B,IAAIN,EAAS,IAAIO,WACbC,EAAUT,EAAgBC,GAE9B,OADAA,EAAOS,kBAAkBH,GAClBE,EAoBT,SAASE,EAAYC,GACnB,GAAIA,EAAIC,MACN,OAAOD,EAAIC,MAAM,GAEjB,IAAIC,EAAO,IAAIC,WAAWH,EAAII,YAE9B,OADAF,EAAKG,IAAI,IAAIF,WAAWH,IACjBE,EAAKI,OAIhB,SAASC,IA0FP,OAzFAlD,KAAK6B,UAAW,EAEhB7B,KAAKmD,UAAY,SAASpG,GAhM5B,IAAoBoC,EAiMhBa,KAAKoD,UAAYrG,EACZA,EAEsB,iBAATA,EAChBiD,KAAKqD,UAAYtG,EACRmD,GAAgBC,KAAKd,UAAUiE,cAAcvG,GACtDiD,KAAKuD,UAAYxG,EACRmD,GAAoBsD,SAASnE,UAAUiE,cAAcvG,GAC9DiD,KAAKyD,cAAgB1G,EACZmD,GAAwBwD,gBAAgBrE,UAAUiE,cAAcvG,GACzEiD,KAAKqD,UAAYtG,EAAK/C,WACbkG,GAAuBA,IA5MlBf,EA4M6CpC,IA3MjD4G,SAAStE,UAAUiE,cAAcnE,IA4M3Ca,KAAK4D,iBAAmBlB,EAAY3F,EAAKkG,QAEzCjD,KAAKoD,UAAY,IAAIjD,KAAK,CAACH,KAAK4D,oBACvB1D,IAAwBK,YAAYlB,UAAUiE,cAAcvG,IAASuD,EAAkBvD,IAChGiD,KAAK4D,iBAAmBlB,EAAY3F,GAEpCiD,KAAKqD,UAAYtG,EAAO9B,OAAOoE,UAAUrF,SAAS0G,KAAK3D,GAhBvDiD,KAAKqD,UAAY,GAmBdrD,KAAK5F,QAAQ6B,IAAI,kBACA,iBAATc,EACTiD,KAAK5F,QAAQ4I,IAAI,eAAgB,4BACxBhD,KAAKuD,WAAavD,KAAKuD,UAAU9E,KAC1CuB,KAAK5F,QAAQ4I,IAAI,eAAgBhD,KAAKuD,UAAU9E,MACvCyB,GAAwBwD,gBAAgBrE,UAAUiE,cAAcvG,IACzEiD,KAAK5F,QAAQ4I,IAAI,eAAgB,qDAKnC9C,IACFF,KAAKsC,KAAO,WACV,IAAIuB,EAAWjC,EAAS5B,MACxB,GAAI6D,EACF,OAAOA,EAGT,GAAI7D,KAAKuD,UACP,OAAO9F,QAAQC,QAAQsC,KAAKuD,WACvB,GAAIvD,KAAK4D,iBACd,OAAOnG,QAAQC,QAAQ,IAAIyC,KAAK,CAACH,KAAK4D,oBACjC,GAAI5D,KAAKyD,cACd,MAAM,IAAIK,MAAM,wCAEhB,OAAOrG,QAAQC,QAAQ,IAAIyC,KAAK,CAACH,KAAKqD,cAI1CrD,KAAK+D,YAAc,WACjB,OAAI/D,KAAK4D,iBACAhC,EAAS5B,OAASvC,QAAQC,QAAQsC,KAAK4D,kBAEvC5D,KAAKsC,OAAO/H,KAAK8H,KAK9BrC,KAAKgE,KAAO,WACV,IA3FoB1B,EAClBN,EACAQ,EAyFEqB,EAAWjC,EAAS5B,MACxB,GAAI6D,EACF,OAAOA,EAGT,GAAI7D,KAAKuD,UACP,OAjGkBjB,EAiGItC,KAAKuD,UA/F3Bf,EAAUT,EADVC,EAAS,IAAIO,YAEjBP,EAAOiC,WAAW3B,GACXE,EA8FE,GAAIxC,KAAK4D,iBACd,OAAOnG,QAAQC,QA5FrB,SAA+BiF,GAI7B,IAHA,IAAIE,EAAO,IAAIC,WAAWH,GACtBuB,EAAQ,IAAI1C,MAAMqB,EAAKvF,QAElB6G,EAAI,EAAGA,EAAItB,EAAKvF,OAAQ6G,IAC/BD,EAAMC,GAAKvD,OAAOwD,aAAavB,EAAKsB,IAEtC,OAAOD,EAAMG,KAAK,IAqFSC,CAAsBtE,KAAK4D,mBAC7C,GAAI5D,KAAKyD,cACd,MAAM,IAAIK,MAAM,wCAEhB,OAAOrG,QAAQC,QAAQsC,KAAKqD,YAI5BnD,IACFF,KAAKuE,SAAW,WACd,OAAOvE,KAAKgE,OAAOzJ,KAAKiK,KAI5BxE,KAAKjC,KAAO,WACV,OAAOiC,KAAKgE,OAAOzJ,KAAKyC,KAAKyH,QAGxBzE,KA1MT3F,EAAQgF,UAAUjE,OAAS,SAASqE,EAAMwB,GACxCxB,EAAOkB,EAAclB,GACrBwB,EAAQD,EAAeC,GACvB,IAAIyD,EAAW1E,KAAKsB,IAAI7B,GACxBO,KAAKsB,IAAI7B,GAAQiF,EAAWA,EAAW,KAAOzD,EAAQA,GAGxD5G,EAAQgF,UAAkB,OAAI,SAASI,UAC9BO,KAAKsB,IAAIX,EAAclB,KAGhCpF,EAAQgF,UAAUpD,IAAM,SAASwD,GAE/B,OADAA,EAAOkB,EAAclB,GACdO,KAAK2E,IAAIlF,GAAQO,KAAKsB,IAAI7B,GAAQ,MAG3CpF,EAAQgF,UAAUsF,IAAM,SAASlF,GAC/B,OAAOO,KAAKsB,IAAIsD,eAAejE,EAAclB,KAG/CpF,EAAQgF,UAAU2D,IAAM,SAASvD,EAAMwB,GACrCjB,KAAKsB,IAAIX,EAAclB,IAASuB,EAAeC,IAGjD5G,EAAQgF,UAAUkC,QAAU,SAASsD,EAAUC,GAC7C,IAAK,IAAIrF,KAAQO,KAAKsB,IAChBtB,KAAKsB,IAAIsD,eAAenF,IAC1BoF,EAASnE,KAAKoE,EAAS9E,KAAKsB,IAAI7B,GAAOA,EAAMO,OAKnD3F,EAAQgF,UAAUnE,KAAO,WACvB,IAAIiG,EAAQ,GAIZ,OAHAnB,KAAKuB,SAAQ,SAASN,EAAOxB,GAC3B0B,EAAM4D,KAAKtF,MAENyB,EAAYC,IAGrB9G,EAAQgF,UAAU2F,OAAS,WACzB,IAAI7D,EAAQ,GAIZ,OAHAnB,KAAKuB,SAAQ,SAASN,GACpBE,EAAM4D,KAAK9D,MAENC,EAAYC,IAGrB9G,EAAQgF,UAAU4F,QAAU,WAC1B,IAAI9D,EAAQ,GAIZ,OAHAnB,KAAKuB,SAAQ,SAASN,EAAOxB,GAC3B0B,EAAM4D,KAAK,CAACtF,EAAMwB,OAEbC,EAAYC,IAGjBjB,IACF7F,EAAQgF,UAAUJ,OAAOC,UAAY7E,EAAQgF,UAAU4F,SAqJzD,IAAIC,EAAU,CAAC,SAAU,MAAO,OAAQ,UAAW,OAAQ,OAO3D,SAASC,EAAQC,EAAO1L,GAEtB,IAPuBsC,EACnBqJ,EAMAtI,GADJrD,EAAUA,GAAW,IACFqD,KAEnB,GAAIqI,aAAiBD,EAAS,CAC5B,GAAIC,EAAMvD,SACR,MAAM,IAAIf,UAAU,gBAEtBd,KAAKvG,IAAM2L,EAAM3L,IACjBuG,KAAKsF,YAAcF,EAAME,YACpB5L,EAAQU,UACX4F,KAAK5F,QAAU,IAAIC,EAAQ+K,EAAMhL,UAEnC4F,KAAKhE,OAASoJ,EAAMpJ,OACpBgE,KAAKuF,KAAOH,EAAMG,KAClBvF,KAAKtE,OAAS0J,EAAM1J,OACfqB,GAA2B,MAAnBqI,EAAMhC,YACjBrG,EAAOqI,EAAMhC,UACbgC,EAAMvD,UAAW,QAGnB7B,KAAKvG,IAAMmH,OAAOwE,GAYpB,GATApF,KAAKsF,YAAc5L,EAAQ4L,aAAetF,KAAKsF,aAAe,eAC1D5L,EAAQU,SAAY4F,KAAK5F,UAC3B4F,KAAK5F,QAAU,IAAIC,EAAQX,EAAQU,UAErC4F,KAAKhE,QAhCDqJ,GADmBrJ,EAiCOtC,EAAQsC,QAAUgE,KAAKhE,QAAU,OAhC1Cc,cACdoI,EAAQzE,QAAQ4E,IAAY,EAAIA,EAAUrJ,GAgCjDgE,KAAKuF,KAAO7L,EAAQ6L,MAAQvF,KAAKuF,MAAQ,KACzCvF,KAAKtE,OAAShC,EAAQgC,QAAUsE,KAAKtE,OACrCsE,KAAKwF,SAAW,MAEK,QAAhBxF,KAAKhE,QAAoC,SAAhBgE,KAAKhE,SAAsBe,EACvD,MAAM,IAAI+D,UAAU,6CAEtBd,KAAKmD,UAAUpG,GAOjB,SAASyH,EAAOzH,GACd,IAAI0I,EAAO,IAAIjC,SAYf,OAXAzG,EACG2I,OACAC,MAAM,KACNpE,SAAQ,SAASqE,GAChB,GAAIA,EAAO,CACT,IAAID,EAAQC,EAAMD,MAAM,KACpBlG,EAAOkG,EAAMvE,QAAQjE,QAAQ,MAAO,KACpC8D,EAAQ0E,EAAMtB,KAAK,KAAKlH,QAAQ,MAAO,KAC3CsI,EAAKrK,OAAOyK,mBAAmBpG,GAAOoG,mBAAmB5E,QAGxDwE,EAqBT,SAASK,EAASC,EAAUrM,GACrBA,IACHA,EAAU,IAGZsG,KAAKvB,KAAO,UACZuB,KAAKvF,YAA4BuD,IAAnBtE,EAAQe,OAAuB,IAAMf,EAAQe,OAC3DuF,KAAKgG,GAAKhG,KAAKvF,QAAU,KAAOuF,KAAKvF,OAAS,IAC9CuF,KAAKiG,WAAa,eAAgBvM,EAAUA,EAAQuM,WAAa,KACjEjG,KAAK5F,QAAU,IAAIC,EAAQX,EAAQU,SACnC4F,KAAKvG,IAAMC,EAAQD,KAAO,GAC1BuG,KAAKmD,UAAU4C,GAjDjBZ,EAAQ9F,UAAU6G,MAAQ,WACxB,OAAO,IAAIf,EAAQnF,KAAM,CAACjD,KAAMiD,KAAKoD,aAmCvCF,EAAKxC,KAAKyE,EAAQ9F,WAgBlB6D,EAAKxC,KAAKoF,EAASzG,WAEnByG,EAASzG,UAAU6G,MAAQ,WACzB,OAAO,IAAIJ,EAAS9F,KAAKoD,UAAW,CAClC3I,OAAQuF,KAAKvF,OACbwL,WAAYjG,KAAKiG,WACjB7L,QAAS,IAAIC,EAAQ2F,KAAK5F,SAC1BX,IAAKuG,KAAKvG,OAIdqM,EAAS1D,MAAQ,WACf,IAAI5H,EAAW,IAAIsL,EAAS,KAAM,CAACrL,OAAQ,EAAGwL,WAAY,KAE1D,OADAzL,EAASiE,KAAO,QACTjE,GAGT,IAAI2L,EAAmB,CAAC,IAAK,IAAK,IAAK,IAAK,KAE5CL,EAASM,SAAW,SAAS3M,EAAKgB,GAChC,IAA0C,IAAtC0L,EAAiB1F,QAAQhG,GAC3B,MAAM,IAAI4L,WAAW,uBAGvB,OAAO,IAAIP,EAAS,KAAM,CAACrL,OAAQA,EAAQL,QAAS,CAACkM,SAAU7M,MAGjEmG,EAAQK,aAAeT,EAAKS,aAC5B,IACE,IAAIL,EAAQK,aACZ,MAAOsG,GACP3G,EAAQK,aAAe,SAASuG,EAAS/G,GACvCO,KAAKwG,QAAUA,EACfxG,KAAKP,KAAOA,EACZ,IAAI2C,EAAQ0B,MAAM0C,GAClBxG,KAAKyG,MAAQrE,EAAMqE,OAErB7G,EAAQK,aAAaZ,UAAYpE,OAAOyL,OAAO5C,MAAMzE,WACrDO,EAAQK,aAAaZ,UAAUD,YAAcQ,EAAQK,aAGvD,SAAS9F,EAAMiL,EAAO9J,GACpB,OAAO,IAAImC,SAAQ,SAASC,EAASoE,GACnC,IAAItI,EAAU,IAAI2L,EAAQC,EAAO9J,GAEjC,GAAI9B,EAAQkC,QAAUlC,EAAQkC,OAAOiL,QACnC,OAAO7E,EAAO,IAAIlC,EAAQK,aAAa,UAAW,eAGpD,IAAI2G,EAAM,IAAIC,eAEd,SAASC,IACPF,EAAInL,QAGNmL,EAAI3E,OAAS,WACX,IAxFgB8E,EAChB3M,EAuFIV,EAAU,CACZe,OAAQmM,EAAInM,OACZwL,WAAYW,EAAIX,WAChB7L,SA3Fc2M,EA2FQH,EAAII,yBAA2B,GA1FvD5M,EAAU,IAAIC,EAGQ0M,EAAW5J,QAAQ,eAAgB,KACzCwI,MAAM,SAASpE,SAAQ,SAAS0F,GAClD,IAAIC,EAAQD,EAAKtB,MAAM,KACnBxK,EAAM+L,EAAM9F,QAAQsE,OACxB,GAAIvK,EAAK,CACP,IAAI8F,EAAQiG,EAAM7C,KAAK,KAAKqB,OAC5BtL,EAAQgB,OAAOD,EAAK8F,OAGjB7G,IAgFHV,EAAQD,IAAM,gBAAiBmN,EAAMA,EAAIO,YAAczN,EAAQU,QAAQ6B,IAAI,iBAC3E,IAAIc,EAAO,aAAc6J,EAAMA,EAAIpM,SAAWoM,EAAIQ,aAClD1J,EAAQ,IAAIoI,EAAS/I,EAAMrD,KAG7BkN,EAAIzE,QAAU,WACZL,EAAO,IAAIhB,UAAU,4BAGvB8F,EAAIS,UAAY,WACdvF,EAAO,IAAIhB,UAAU,4BAGvB8F,EAAIU,QAAU,WACZxF,EAAO,IAAIlC,EAAQK,aAAa,UAAW,gBAG7C2G,EAAIW,KAAK/N,EAAQwC,OAAQxC,EAAQC,KAAK,GAEV,YAAxBD,EAAQ8L,YACVsB,EAAIY,iBAAkB,EACW,SAAxBhO,EAAQ8L,cACjBsB,EAAIY,iBAAkB,GAGpB,iBAAkBZ,GAAO1G,IAC3B0G,EAAIa,aAAe,QAGrBjO,EAAQY,QAAQmH,SAAQ,SAASN,EAAOxB,GACtCmH,EAAIc,iBAAiBjI,EAAMwB,MAGzBzH,EAAQkC,SACVlC,EAAQkC,OAAOiM,iBAAiB,QAASb,GAEzCF,EAAIgB,mBAAqB,WAEA,IAAnBhB,EAAIiB,YACNrO,EAAQkC,OAAOoM,oBAAoB,QAAShB,KAKlDF,EAAImB,UAAkC,IAAtBvO,EAAQ4J,UAA4B,KAAO5J,EAAQ4J,cAIvEjJ,EAAM6N,UAAW,EAEZxI,EAAKrF,QACRqF,EAAKrF,MAAQA,EACbqF,EAAKnF,QAAUA,EACfmF,EAAK2F,QAAUA,EACf3F,EAAKsG,SAAWA,GAGlBlG,EAAQvF,QAAUA,EAClBuF,EAAQuF,QAAUA,EAClBvF,EAAQkG,SAAWA,EACnBlG,EAAQzF,MAAQA,EA1gBD,CA8gBf,IAhhBF,CAihBG0F,UACIA,EAAS1F,MAAM6N,UACtBpI,EAAUC,EAAS1F,OACX8N,QAAUpI,EAAS1F,MAC3ByF,EAAQzF,MAAQ0F,EAAS1F,MACzByF,EAAQvF,QAAUwF,EAASxF,QAC3BuF,EAAQuF,QAAUtF,EAASsF,QAC3BvF,EAAQkG,SAAWjG,EAASiG,SAC5BoC,EAAOtI,QAAUA,IChiBbuI,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUzI,QAG3C,IAAIsI,EAASC,EAAyBE,GAAY,CAGjDzI,QAAS,IAOV,OAHA0I,EAAoBD,GAAU3H,KAAKwH,EAAOtI,QAASsI,EAAQA,EAAOtI,QAASwI,GAGpEF,EAAOtI,QCjBf,OCFAwI,EAAoBG,EAAKL,IACxB,IAAIM,EAASN,GAAUA,EAAOO,WAC7B,IAAMP,EAAgB,QACtB,IAAMA,EAEP,OADAE,EAAoBM,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,GCLRJ,EAAoBM,EAAI,CAAC9I,EAASgJ,KACjC,IAAI,IAAIzN,KAAOyN,EACXR,EAAoBS,EAAED,EAAYzN,KAASiN,EAAoBS,EAAEjJ,EAASzE,IAC5EF,OAAO6N,eAAelJ,EAASzE,EAAK,CAAE4N,YAAY,EAAM9M,IAAK2M,EAAWzN,MCJ3EiN,EAAoBS,EAAI,CAAC1J,EAAK6J,IAAS/N,OAAOoE,UAAUuF,eAAelE,KAAKvB,EAAK6J,GCCjFZ,EAAoBa,EAAKrJ,IACH,oBAAXX,QAA0BA,OAAOiK,aAC1CjO,OAAO6N,eAAelJ,EAASX,OAAOiK,YAAa,CAAEjI,MAAO,WAE7DhG,OAAO6N,eAAelJ,EAAS,aAAc,CAAEqB,OAAO,KJFhDmH,EAAoB,K","file":"pdjs-legacy.js","sourcesContent":["/* NODE-ONLY-START */\nimport fetch, {Headers} from 'cross-fetch';\nimport {isBrowser} from 'browser-or-node';\n/* NODE-ONLY-END */\n\nconst VERSION = '2.0.0';\n\nexport interface RequestOptions extends RequestInit {\n params?: Record;\n retryCount?: number;\n timeout?: number;\n}\n\n// TODO: Retries.\n// TODO: Backoff.\nexport function request(\n url: string | URL,\n options: RequestOptions = {}\n): Promise {\n const {params, timeout, ...rest} = options;\n\n url = new URL(url.toString());\n\n url = applyParams(url, params);\n options = applyTimeout(options, timeout);\n\n new AbortController();\n\n return fetch(url.toString(), {\n ...rest,\n headers: new Headers({\n 'Content-Type': 'application/json; charset=utf-8',\n /* NODE-ONLY-START */\n ...userAgentHeader(),\n /* NODE-ONLY-END */\n ...rest.headers,\n }),\n }).then(response => {\n if (response.status === 429) {\n return request(url, {retryCount: 1, ...options});\n }\n return response;\n })\n}\n\nfunction userAgentHeader(): object {\n if (isBrowser) return {};\n\n return {\n 'User-Agent': `pdjs/${VERSION} (${process.version}/${process.platform})`,\n };\n}\n\nfunction applyParams(url: URL, params?: Record): URL {\n if (!params) return url;\n\n const combinedParams = url.searchParams;\n\n for (const key of Object.keys(params)) {\n combinedParams.append(key, params[key]);\n }\n\n url.search = combinedParams.toString();\n return url;\n}\n\nfunction applyTimeout(init: RequestOptions, timeout?: number): RequestOptions {\n if (!timeout) return init;\n\n const controller = new AbortController();\n setTimeout(() => controller.abort(), timeout);\n\n return {\n ...init,\n signal: controller.signal,\n };\n}\n","import {request, RequestOptions} from './common';\n\nexport interface ShorthandCall {\n (res: string, params?: Partial): APIPromise;\n}\n\nexport interface PartialCall {\n (params: APIParams): APIPromise;\n (params: Partial): PartialCall;\n get: ShorthandCall;\n post: ShorthandCall;\n put: ShorthandCall;\n patch: ShorthandCall;\n delete: ShorthandCall;\n all: (params: APIParams) => Promise;\n}\n\nexport type APIParams = RequestOptions & {\n endpoint?: string;\n url?: string;\n data?: object;\n token?: string;\n server?: string;\n version?: number;\n} & ({endpoint: string} | {url: string});\n\nexport type APIPromise = Promise;\n\nexport interface APIResponse extends Response {\n data: any;\n resource: any;\n response: Response;\n next?: () => APIPromise;\n}\n\nexport function api(params: APIParams): APIPromise;\nexport function api(params: Partial): PartialCall;\nexport function api(params: Partial): APIPromise | PartialCall {\n // If the params don't include `endpoint` treat it as a partial\n // application.\n if (!params.endpoint && !params.url) {\n return partialCall(params);\n }\n\n const {\n endpoint,\n server = 'api.pagerduty.com',\n token,\n url,\n version = 2,\n data,\n ...rest\n } = params;\n\n const config: RequestOptions = {\n method: 'GET',\n ...rest,\n headers: {\n Accept: `application/vnd.pagerduty+json;version=${version}`,\n Authorization: `Token token=${token!}`,\n ...rest.headers,\n },\n };\n\n // Allow `data` for `params` for requests without bodies.\n if (isReadonlyRequest(config.method!) && data) {\n config.params = config.params ?? (data as Record);\n } else {\n config.body = JSON.stringify(data);\n }\n\n return apiRequest(\n url ?? `https://${server}/${endpoint!.replace(/^\\/+/, '')}`,\n config\n );\n}\n\nexport function all(params: APIParams): Promise {\n return (api(params) as APIPromise).then(response => allInner([response]));\n}\n\nfunction allInner(responses: APIResponse[]): Promise {\n const response = responses[responses.length - 1];\n\n if (!response.next) {\n return Promise.resolve(responses);\n }\n\n return response\n .next()\n .then(response => allInner(responses.concat([response])));\n}\n\nfunction apiRequest(url: string, options: RequestOptions): APIPromise {\n return request(url, options).then(\n (response: Response): APIPromise => {\n const apiResponse = response as APIResponse;\n const resource = resourceKey(url);\n return response.json().then(\n (data): APIResponse => {\n apiResponse.next = nextFunc(url, options, data);\n apiResponse.data = data;\n apiResponse.resource = resource ? data[resource] : null;\n apiResponse.response = response;\n return apiResponse;\n }\n );\n }\n );\n}\n\nfunction resourceKey(url: string) {\n const resource = url.match(/.+.com\\/(?[\\w]+)/);\n if (resource) {\n return resource[1];\n }\n return null;\n}\n\nfunction isReadonlyRequest(method: string) {\n return !['PUT', 'POST', 'DELETE', 'PATCH'].includes(\n method.toUpperCase() ?? 'GET'\n );\n}\n\ninterface OffsetPagination {\n type: 'offset';\n more?: boolean;\n offset?: number;\n limit?: number;\n}\n\ninterface CursorPagination {\n type: 'cursor';\n cursor?: string;\n limit?: number;\n}\n\nfunction isOffsetPagination(\n data: OffsetPagination | CursorPagination\n): data is OffsetPagination {\n if ((data as OffsetPagination).offset !== undefined) {\n return true;\n }\n return false;\n}\n\nfunction isCursorPagination(\n data: OffsetPagination | CursorPagination\n): data is CursorPagination {\n if ((data as CursorPagination).cursor !== undefined) {\n return true;\n }\n return false;\n}\n\nfunction nextFunc(\n url: string,\n options: RequestOptions,\n data: OffsetPagination | CursorPagination\n) {\n if (isOffsetPagination(data)) {\n if (data?.more && typeof data.offset !== undefined && data.limit) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n limit: data.limit!.toString(),\n offset: (data.limit! + data.offset!).toString(),\n },\n });\n }\n } else if (isCursorPagination(data)) {\n if (data?.cursor) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n cursor: data.cursor!,\n limit: data.limit!.toString(),\n },\n });\n }\n }\n\n return undefined;\n}\n\nfunction partialCall(params: Partial) {\n const partialParams = params;\n const partial = ((params: Partial) =>\n api({...partialParams, ...params})) as PartialCall;\n\n const shorthand = (method: string) => (\n endpoint: string,\n params?: Partial\n ): APIPromise =>\n api({endpoint, method, ...partialParams, ...params}) as APIPromise;\n\n partial.get = shorthand('get');\n partial.post = shorthand('post');\n partial.put = shorthand('put');\n partial.patch = shorthand('patch');\n partial.delete = shorthand('delete');\n\n partial.all = (params: APIParams) => all(params);\n\n return partial;\n}\n","import {request, RequestOptions} from './common';\n\nexport type Action = 'trigger' | 'acknowledge' | 'resolve';\n\nexport type EventPromise = Promise;\n\nexport interface EventResponse extends Response {\n data: any;\n}\n\nexport type Severity = 'critical' | 'error' | 'warning' | 'info';\n\nexport interface Image {\n src: string;\n href?: string;\n alt?: string;\n}\n\nexport interface Link {\n href: string;\n text?: string;\n}\n\nexport interface EventPayloadV2 {\n routing_key: string;\n event_action: Action;\n dedup_key?: string;\n payload: {\n summary: string;\n source: string;\n severity: Severity;\n timestamp?: string;\n component?: string;\n group?: string;\n class?: string;\n custom_details?: object;\n };\n images?: Array;\n links?: Array;\n}\n\nexport interface EventParams extends RequestOptions {\n data: EventPayloadV2;\n type?: string;\n server?: string;\n}\n\nexport interface ChangePayload {\n routing_key: string;\n payload: {\n summary: string;\n source?: string;\n timestamp: string;\n custom_details: object;\n };\n links: Array;\n}\nexport interface ChangeParams extends RequestOptions {\n data: ChangePayload;\n server?: string;\n}\n\nexport function event(params: EventParams): EventPromise {\n const {\n server = 'events.pagerduty.com',\n type = 'event',\n data,\n ...config\n } = params;\n\n let url = `https://${server}/v2/enqueue`;\n if (type === 'change') {\n url = `https://${server}/v2/change/enqueue`;\n }\n\n return eventFetch(url, {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n });\n}\n\nconst shorthand = (action: Action) => (params: EventParams): EventPromise => {\n const typeField = 'event_action';\n\n return event({\n ...params,\n data: {\n ...params.data,\n [typeField]: action,\n },\n });\n};\n\nexport const trigger = shorthand('trigger');\nexport const acknowledge = shorthand('acknowledge');\nexport const resolve = shorthand('resolve');\nexport const change = (params: EventParams) =>\n event({...params, type: 'change'});\n\nasync function eventFetch(url: string, options: RequestOptions): EventPromise {\n const resp = (await request(url, options)) as EventResponse;\n resp.data = await resp.json();\n // TODO: Something with the return data data.\n return resp;\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/* global window self */\n\nvar isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';\n\n/* eslint-disable no-restricted-globals */\nvar isWebWorker = (typeof self === 'undefined' ? 'undefined' : _typeof(self)) === 'object' && self.constructor && self.constructor.name === 'DedicatedWorkerGlobalScope';\n/* eslint-enable no-restricted-globals */\n\nvar isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n\n/**\n * @see https://github.com/jsdom/jsdom/releases/tag/12.0.0\n * @see https://github.com/jsdom/jsdom/issues/1537\n */\n/* eslint-disable no-undef */\nvar isJsDom = function isJsDom() {\n return typeof window !== 'undefined' && window.name === 'nodejs' || navigator.userAgent.includes('Node.js') || navigator.userAgent.includes('jsdom');\n};\n\nexports.isBrowser = isBrowser;\nexports.isWebWorker = isWebWorker;\nexports.isNode = isNode;\nexports.isJsDom = isJsDom;","var __self__ = (function (root) {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = root.DOMException\n}\nF.prototype = root;\nreturn new F();\n})(typeof self !== 'undefined' ? self : this);\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n return exports;\n\n}({}));\n})(__self__);\ndelete __self__.fetch.polyfill\nexports = __self__.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = __self__.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = __self__.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = __self__.Headers\nexports.Request = __self__.Request\nexports.Response = __self__.Response\nmodule.exports = exports\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(47);\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => module['default'] :\n\t\t() => module;\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/pdjs.js b/dist/pdjs.js index 6c03b6e..2428283 100644 --- a/dist/pdjs.js +++ b/dist/pdjs.js @@ -1,2 +1,2 @@ -var PagerDuty;PagerDuty=(()=>{"use strict";var t={337:(t,e,r)=>{function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function o(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function i(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e,n=r.params,u=r.timeout,i=c(r,["params","timeout"]);return t=a(t=new URL(t.toString()),n),e=f(e,u),fetch(t.toString(),o(o({},i),{},{headers:new Headers(o({"Content-Type":"application/json; charset=utf-8"},i.headers))}))}function a(t,e){if(!e)return t;for(var r=t.searchParams,n=0,o=Object.keys(e);n]+)>/g,(function(t,e){return"$"+r[e]})))}if("function"==typeof e){var u=this;return n[Symbol.replace].call(this,t,(function(){var t=[];return t.push.apply(t,arguments),"object"!==p(t[t.length-1])&&t.push(c(t,u)),e.apply(this,t)}))}return n[Symbol.replace].call(this,t,e)},l.apply(this,arguments)}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&v(t,e)}function y(t){var e="function"==typeof Map?new Map:void 0;return(y=function(t){if(null===t||(r=t,-1===Function.toString.call(r).indexOf("[native code]")))return t;var r;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return b(t,arguments,g(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),v(n,t)})(t)}function b(t,e,r){return(b=O()?Reflect.construct:function(t,e,r){var n=[null];n.push.apply(n,e);var o=new(Function.bind.apply(t,n));return r&&v(o,r.prototype),o}).apply(null,arguments)}function O(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function v(t,e){return(v=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function g(t){return(g=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function d(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function h(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["endpoint","server","token","url","version","data"]),y=h(h({method:"GET"},s),{},{headers:h({Accept:"application/vnd.pagerduty+json;version=".concat(p),Authorization:"Token token=".concat(i)},s.headers)});return r=y.method,!["PUT","POST","DELETE","PATCH"].includes(null!==(n=r.toUpperCase())&&void 0!==n?n:"GET")&&l?y.params=null!==(e=y.params)&&void 0!==e?e:l:y.body=JSON.stringify(l),S(null!=a?a:"https://".concat(c,"/").concat(o.replace(/^\/+/,"")),y)}function P(t){return j(t).then((function(t){return w([t])}))}function w(t){var e=t[t.length-1];return e.next?e.next().then((function(e){return w(t.concat([e]))})):Promise.resolve(t)}function S(t,e){return i(t,e).then((function(r){var n=r,o=function(t){var e=t.match(l(/.+.com\/([0-9A-Z_a-z]+)/,{resource:1}));return e?e[1]:null}(t);return r.json().then((function(u){return n.next=function(t,e,r){if(function(t){return void 0!==t.offset}(r)){if((null==r?void 0:r.more)&&void 0!==p(r.offset)&&r.limit)return function(){return S(t,h(h({},e),{},{params:h(h({},e.params),{},{limit:r.limit.toString(),offset:(r.limit+r.offset).toString()})}))}}else if(function(t){return void 0!==t.cursor}(r)&&(null==r?void 0:r.cursor))return function(){return S(t,h(h({},e),{},{params:h(h({},e.params),{},{cursor:r.cursor,limit:r.limit.toString()})}))}}(t,e,u),n.data=u,n.resource=o?u[o]:null,n.response=r,n}))}))}function x(t,e,r,n,o,u,c){try{var i=t[u](c),a=i.value}catch(t){return void r(t)}i.done?e(a):Promise.resolve(a).then(n,o)}function E(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var u=t.apply(e,r);function c(t){x(u,n,o,c,i,"next",t)}function i(t){x(u,n,o,c,i,"throw",t)}c(void 0)}))}}function D(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function k(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["server","type","data"]),i="https://".concat(r,"/v2/enqueue");return"change"===o&&(i="https://".concat(r,"/v2/change/enqueue")),function(t,e){return U.apply(this,arguments)}(i,k({method:"POST",body:JSON.stringify(u)},c))}r.r(e),r.d(e,{acknowledge:()=>M,all:()=>P,api:()=>j,change:()=>I,event:()=>_,resolve:()=>C,trigger:()=>A});var R=function(t){return function(e){return _(k(k({},e),{},{data:k(k({},e.data),{},T({},"event_action",t))}))}},A=R("trigger"),M=R("acknowledge"),C=R("resolve"),I=function(t){return _(k(k({},t),{},{type:"change"}))};function U(){return(U=E(regeneratorRuntime.mark((function t(e,r){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,i(e,r);case 2:return n=t.sent,t.next=5,n.json();case 5:return n.data=t.sent,t.abrupt("return",n);case 7:case"end":return t.stop()}}),t)})))).apply(this,arguments)}}},e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return t[n](o,o.exports,r),o.exports}return r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r(337)})(); +var PagerDuty;PagerDuty=(()=>{"use strict";var t={337:(t,e,r)=>{function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function o(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function i(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e,n=r.params,u=r.timeout,p=c(r,["params","timeout"]);return t=a(t=new URL(t.toString()),n),e=f(e,u),new AbortController,fetch(t.toString(),o(o({},p),{},{headers:new Headers(o({"Content-Type":"application/json; charset=utf-8"},p.headers))})).then((function(r){return 429===r.status?i(t,o({retryCount:1},e)):r}))}function a(t,e){if(!e)return t;for(var r=t.searchParams,n=0,o=Object.keys(e);n]+)>/g,(function(t,e){return"$"+r[e]})))}if("function"==typeof e){var u=this;return n[Symbol.replace].call(this,t,(function(){var t=[];return t.push.apply(t,arguments),"object"!==p(t[t.length-1])&&t.push(c(t,u)),e.apply(this,t)}))}return n[Symbol.replace].call(this,t,e)},l.apply(this,arguments)}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&v(t,e)}function y(t){var e="function"==typeof Map?new Map:void 0;return(y=function(t){if(null===t||(r=t,-1===Function.toString.call(r).indexOf("[native code]")))return t;var r;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return b(t,arguments,g(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),v(n,t)})(t)}function b(t,e,r){return(b=O()?Reflect.construct:function(t,e,r){var n=[null];n.push.apply(n,e);var o=new(Function.bind.apply(t,n));return r&&v(o,r.prototype),o}).apply(null,arguments)}function O(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function v(t,e){return(v=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function g(t){return(g=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function d(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function h(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["endpoint","server","token","url","version","data"]),y=h(h({method:"GET"},s),{},{headers:h({Accept:"application/vnd.pagerduty+json;version=".concat(p),Authorization:"Token token=".concat(i)},s.headers)});return r=y.method,!["PUT","POST","DELETE","PATCH"].includes(null!==(n=r.toUpperCase())&&void 0!==n?n:"GET")&&l?y.params=null!==(e=y.params)&&void 0!==e?e:l:y.body=JSON.stringify(l),S(null!=a?a:"https://".concat(c,"/").concat(o.replace(/^\/+/,"")),y)}function P(t){return j(t).then((function(t){return w([t])}))}function w(t){var e=t[t.length-1];return e.next?e.next().then((function(e){return w(t.concat([e]))})):Promise.resolve(t)}function S(t,e){return i(t,e).then((function(r){var n=r,o=function(t){var e=t.match(l(/.+.com\/([0-9A-Z_a-z]+)/,{resource:1}));return e?e[1]:null}(t);return r.json().then((function(u){return n.next=function(t,e,r){if(function(t){return void 0!==t.offset}(r)){if((null==r?void 0:r.more)&&void 0!==p(r.offset)&&r.limit)return function(){return S(t,h(h({},e),{},{params:h(h({},e.params),{},{limit:r.limit.toString(),offset:(r.limit+r.offset).toString()})}))}}else if(function(t){return void 0!==t.cursor}(r)&&(null==r?void 0:r.cursor))return function(){return S(t,h(h({},e),{},{params:h(h({},e.params),{},{cursor:r.cursor,limit:r.limit.toString()})}))}}(t,e,u),n.data=u,n.resource=o?u[o]:null,n.response=r,n}))}))}function x(t,e,r,n,o,u,c){try{var i=t[u](c),a=i.value}catch(t){return void r(t)}i.done?e(a):Promise.resolve(a).then(n,o)}function E(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var u=t.apply(e,r);function c(t){x(u,n,o,c,i,"next",t)}function i(t){x(u,n,o,c,i,"throw",t)}c(void 0)}))}}function D(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function k(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["server","type","data"]),i="https://".concat(r,"/v2/enqueue");return"change"===o&&(i="https://".concat(r,"/v2/change/enqueue")),function(t,e){return U.apply(this,arguments)}(i,k({method:"POST",body:JSON.stringify(u)},c))}r.r(e),r.d(e,{acknowledge:()=>C,all:()=>P,api:()=>j,change:()=>I,event:()=>_,resolve:()=>M,trigger:()=>A});var R=function(t){return function(e){return _(k(k({},e),{},{data:k(k({},e.data),{},T({},"event_action",t))}))}},A=R("trigger"),C=R("acknowledge"),M=R("resolve"),I=function(t){return _(k(k({},t),{},{type:"change"}))};function U(){return(U=E(regeneratorRuntime.mark((function t(e,r){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,i(e,r);case 2:return n=t.sent,t.next=5,n.json();case 5:return n.data=t.sent,t.abrupt("return",n);case 7:case"end":return t.stop()}}),t)})))).apply(this,arguments)}}},e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return t[n](o,o.exports,r),o.exports}return r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r(337)})(); //# sourceMappingURL=pdjs.js.map \ No newline at end of file diff --git a/dist/pdjs.js.map b/dist/pdjs.js.map index 3c2d57b..fa881d3 100644 --- a/dist/pdjs.js.map +++ b/dist/pdjs.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://PagerDuty/./src/common.ts","webpack://PagerDuty/./src/api.ts","webpack://PagerDuty/./src/events.ts","webpack://PagerDuty/webpack/bootstrap","webpack://PagerDuty/webpack/startup","webpack://PagerDuty/webpack/runtime/define property getters","webpack://PagerDuty/webpack/runtime/hasOwnProperty shorthand","webpack://PagerDuty/webpack/runtime/make namespace object"],"names":["request","url","options","params","timeout","rest","applyParams","URL","toString","applyTimeout","fetch","headers","Headers","combinedParams","searchParams","Object","keys","key","append","search","init","controller","AbortController","setTimeout","abort","signal","api","endpoint","partialParams","partial","shorthand","method","get","post","put","patch","all","partialCall","server","token","version","data","config","Accept","Authorization","includes","toUpperCase","body","JSON","stringify","apiRequest","replace","then","response","allInner","responses","length","next","concat","Promise","resolve","apiResponse","resource","match","resourceKey","json","undefined","offset","isOffsetPagination","more","limit","cursor","isCursorPagination","nextFunc","event","type","eventFetch","action","trigger","acknowledge","change","resp","__webpack_module_cache__","__webpack_require__","moduleId","exports","module","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value"],"mappings":"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","file":"pdjs.js","sourcesContent":["/* webpack-strip-block:removed */\n\nconst VERSION = '0.0.1';\n\nexport interface RequestOptions extends RequestInit {\n params?: Record;\n timeout?: number;\n}\n\n// TODO: Retries.\n// TODO: Backoff.\nexport function request(\n url: string | URL,\n options: RequestOptions = {}\n): Promise {\n const {params, timeout, ...rest} = options;\n\n url = new URL(url.toString());\n\n url = applyParams(url, params);\n options = applyTimeout(options, timeout);\n\n return fetch(url.toString(), {\n ...rest,\n headers: new Headers({\n 'Content-Type': 'application/json; charset=utf-8',\n /* webpack-strip-block:removed */\n ...rest.headers,\n }),\n });\n}\n\nfunction userAgentHeader(): object {\n if (isBrowser) return {};\n\n return {\n 'User-Agent': `pdjs/${VERSION} (${process.version}/${process.platform})`,\n };\n}\n\nfunction applyParams(url: URL, params?: Record): URL {\n if (!params) return url;\n\n const combinedParams = url.searchParams;\n\n for (const key of Object.keys(params)) {\n combinedParams.append(key, params[key]);\n }\n\n url.search = combinedParams.toString();\n return url;\n}\n\nfunction applyTimeout(init: RequestOptions, timeout?: number): RequestOptions {\n if (!timeout) return init;\n\n const controller = new AbortController();\n setTimeout(() => controller.abort(), timeout);\n\n return {\n ...init,\n signal: controller.signal,\n };\n}\n","import {request, RequestOptions} from './common';\n\nexport interface ShorthandCall {\n (res: string, params?: Partial): APIPromise;\n}\n\nexport interface PartialCall {\n (params: APIParams): APIPromise;\n (params: Partial): PartialCall;\n get: ShorthandCall;\n post: ShorthandCall;\n put: ShorthandCall;\n patch: ShorthandCall;\n delete: ShorthandCall;\n all: (params: APIParams) => Promise;\n}\n\nexport type APIParams = RequestOptions & {\n endpoint?: string;\n url?: string;\n data?: object;\n token?: string;\n server?: string;\n version?: number;\n} & ({endpoint: string} | {url: string});\n\nexport type APIPromise = Promise;\n\nexport interface APIResponse extends Response {\n data: any;\n resource: any;\n response: Response;\n next?: () => APIPromise;\n}\n\nexport function api(params: APIParams): APIPromise;\nexport function api(params: Partial): PartialCall;\nexport function api(params: Partial): APIPromise | PartialCall {\n // If the params don't include `endpoint` treat it as a partial\n // application.\n if (!params.endpoint && !params.url) {\n return partialCall(params);\n }\n\n const {\n endpoint,\n server = 'api.pagerduty.com',\n token,\n url,\n version = 2,\n data,\n ...rest\n } = params;\n\n const config: RequestOptions = {\n method: 'GET',\n ...rest,\n headers: {\n Accept: `application/vnd.pagerduty+json;version=${version}`,\n Authorization: `Token token=${token!}`,\n ...rest.headers,\n },\n };\n\n // Allow `data` for `params` for requests without bodies.\n if (isReadonlyRequest(config.method!) && data) {\n config.params = config.params ?? (data as Record);\n } else {\n config.body = JSON.stringify(data);\n }\n\n return apiRequest(\n url ?? `https://${server}/${endpoint!.replace(/^\\/+/, '')}`,\n config\n );\n}\n\nexport function all(params: APIParams): Promise {\n return (api(params) as APIPromise).then(response => allInner([response]));\n}\n\nfunction allInner(responses: APIResponse[]): Promise {\n const response = responses[responses.length - 1];\n\n if (!response.next) {\n return Promise.resolve(responses);\n }\n\n return response.next().then(response => allInner(responses.concat([response])));\n}\n\nfunction apiRequest(url: string, options: RequestOptions): APIPromise {\n return request(url, options).then(\n (response: Response): APIPromise => {\n const apiResponse = response as APIResponse;\n const resource = resourceKey(url);\n return response.json().then(\n (data): APIResponse => {\n apiResponse.next = nextFunc(url, options, data);\n apiResponse.data = data;\n apiResponse.resource = resource ? data[resource] : null;\n apiResponse.response = response;\n return apiResponse;\n }\n );\n }\n );\n}\n\nfunction resourceKey(url: string) {\n let resource = url.match(/.+.com\\/(?[\\w]+)/);\n if (resource) {\n return resource[1];\n }\n return null;\n}\n\nfunction isReadonlyRequest(method: string) {\n return !['PUT', 'POST', 'DELETE', 'PATCH'].includes(\n method.toUpperCase() ?? 'GET'\n );\n}\n\ninterface OffsetPagination {\n type: 'offset';\n more?: boolean;\n offset?: number;\n limit?: number;\n}\n\ninterface CursorPagination {\n type: 'cursor';\n cursor?: string;\n limit?: number;\n}\n\nfunction isOffsetPagination(data: OffsetPagination | CursorPagination): data is OffsetPagination {\n if ((data as OffsetPagination).offset !== undefined) {\n return true\n }\n return false\n}\n\nfunction isCursorPagination(data: OffsetPagination | CursorPagination): data is CursorPagination {\n if ((data as CursorPagination).cursor !== undefined) {\n return true\n }\n return false\n}\n\nfunction nextFunc(\n url: string,\n options: RequestOptions,\n data: OffsetPagination | CursorPagination\n) {\n if (isOffsetPagination(data)) {\n if (data?.more && typeof data.offset !== undefined && data.limit) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n limit: data.limit!.toString(),\n offset: (data.limit! + data.offset!).toString(),\n },\n });\n }\n } else if (isCursorPagination(data)) {\n if (data?.cursor) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n cursor: data.cursor!,\n limit: data.limit!.toString(),\n }\n })\n }\n }\n\n return undefined;\n}\n\nfunction partialCall(params: Partial) {\n const partialParams = params;\n const partial = ((params: Partial) =>\n api({...partialParams, ...params})) as PartialCall;\n\n const shorthand = (method: string) => (\n endpoint: string,\n params?: Partial\n ): APIPromise =>\n api({endpoint, method, ...partialParams, ...params}) as APIPromise;\n\n partial.get = shorthand('get');\n partial.post = shorthand('post');\n partial.put = shorthand('put');\n partial.patch = shorthand('patch');\n partial.delete = shorthand('delete');\n\n partial.all = (params: APIParams) => all(params);\n\n return partial;\n}\n","import {request, RequestOptions} from './common';\n\nexport type Action = 'trigger' | 'acknowledge' | 'resolve';\n\nexport type EventPromise = Promise;\n\nexport interface EventResponse extends Response {\n data: any;\n}\n\nexport type Severity = 'critical' | 'error' | 'warning' | 'info';\n\nexport interface Image {\n src: string;\n href?: string;\n alt?: string;\n}\n\nexport interface Link {\n href: string;\n text?: string;\n}\n\nexport interface EventPayloadV2 {\n routing_key: string;\n event_action: Action;\n dedup_key?: string;\n payload: {\n summary: string;\n source: string;\n severity: Severity;\n timestamp?: string;\n component?: string;\n group?: string;\n class?: string;\n custom_details?: object;\n };\n images?: Array;\n links?: Array;\n}\n\nexport interface EventParams extends RequestOptions {\n data: EventPayloadV2;\n type?: string;\n server?: string;\n}\n\nexport interface ChangePayload {\n routing_key: string;\n payload: {\n summary: string;\n source?: string;\n timestamp: string;\n custom_details: object;\n };\n links: Array;\n}\nexport interface ChangeParams extends RequestOptions {\n data: ChangePayload;\n server?: string;\n}\n\nexport function event(params: EventParams): EventPromise {\n const {server = 'events.pagerduty.com', type = 'event', data, ...config} = params;\n\n let url = `https://${server}/v2/enqueue`\n if (type === 'change') {\n url = `https://${server}/v2/change/enqueue`\n }\n\n return eventFetch(\n url,\n {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n }\n );\n}\n\nconst shorthand = (action: Action) => (params: EventParams): EventPromise => {\n const typeField = 'event_action';\n\n return event({\n ...params,\n data: {\n ...params.data,\n [typeField]: action,\n },\n });\n};\n\nexport const trigger = shorthand('trigger');\nexport const acknowledge = shorthand('acknowledge');\nexport const resolve = shorthand('resolve');\nexport const change = (params: EventParams) => event({...params, type: 'change'});\n\nasync function eventFetch(url: string, options: RequestOptions): EventPromise {\n const resp = (await request(url, options)) as EventResponse;\n resp.data = await resp.json();\n // TODO: Something with the return data data.\n return resp;\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(337);\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://PagerDuty/./src/common.ts","webpack://PagerDuty/./src/api.ts","webpack://PagerDuty/./src/events.ts","webpack://PagerDuty/webpack/bootstrap","webpack://PagerDuty/webpack/startup","webpack://PagerDuty/webpack/runtime/define property getters","webpack://PagerDuty/webpack/runtime/hasOwnProperty shorthand","webpack://PagerDuty/webpack/runtime/make namespace object"],"names":["request","url","options","params","timeout","rest","applyParams","URL","toString","applyTimeout","AbortController","fetch","headers","Headers","then","response","status","retryCount","combinedParams","searchParams","Object","keys","key","append","search","init","controller","setTimeout","abort","signal","api","endpoint","partialParams","partial","shorthand","method","get","post","put","patch","all","partialCall","server","token","version","data","config","Accept","Authorization","includes","toUpperCase","body","JSON","stringify","apiRequest","replace","allInner","responses","length","next","concat","Promise","resolve","apiResponse","resource","match","resourceKey","json","undefined","offset","isOffsetPagination","more","limit","cursor","isCursorPagination","nextFunc","event","type","eventFetch","action","trigger","acknowledge","change","resp","__webpack_module_cache__","__webpack_require__","moduleId","exports","module","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value"],"mappings":"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","file":"pdjs.js","sourcesContent":["/* webpack-strip-block:removed */\n\nconst VERSION = '2.0.0';\n\nexport interface RequestOptions extends RequestInit {\n params?: Record;\n retryCount?: number;\n timeout?: number;\n}\n\n// TODO: Retries.\n// TODO: Backoff.\nexport function request(\n url: string | URL,\n options: RequestOptions = {}\n): Promise {\n const {params, timeout, ...rest} = options;\n\n url = new URL(url.toString());\n\n url = applyParams(url, params);\n options = applyTimeout(options, timeout);\n\n new AbortController();\n\n return fetch(url.toString(), {\n ...rest,\n headers: new Headers({\n 'Content-Type': 'application/json; charset=utf-8',\n /* webpack-strip-block:removed */\n ...rest.headers,\n }),\n }).then(response => {\n if (response.status === 429) {\n return request(url, {retryCount: 1, ...options});\n }\n return response;\n })\n}\n\nfunction userAgentHeader(): object {\n if (isBrowser) return {};\n\n return {\n 'User-Agent': `pdjs/${VERSION} (${process.version}/${process.platform})`,\n };\n}\n\nfunction applyParams(url: URL, params?: Record): URL {\n if (!params) return url;\n\n const combinedParams = url.searchParams;\n\n for (const key of Object.keys(params)) {\n combinedParams.append(key, params[key]);\n }\n\n url.search = combinedParams.toString();\n return url;\n}\n\nfunction applyTimeout(init: RequestOptions, timeout?: number): RequestOptions {\n if (!timeout) return init;\n\n const controller = new AbortController();\n setTimeout(() => controller.abort(), timeout);\n\n return {\n ...init,\n signal: controller.signal,\n };\n}\n","import {request, RequestOptions} from './common';\n\nexport interface ShorthandCall {\n (res: string, params?: Partial): APIPromise;\n}\n\nexport interface PartialCall {\n (params: APIParams): APIPromise;\n (params: Partial): PartialCall;\n get: ShorthandCall;\n post: ShorthandCall;\n put: ShorthandCall;\n patch: ShorthandCall;\n delete: ShorthandCall;\n all: (params: APIParams) => Promise;\n}\n\nexport type APIParams = RequestOptions & {\n endpoint?: string;\n url?: string;\n data?: object;\n token?: string;\n server?: string;\n version?: number;\n} & ({endpoint: string} | {url: string});\n\nexport type APIPromise = Promise;\n\nexport interface APIResponse extends Response {\n data: any;\n resource: any;\n response: Response;\n next?: () => APIPromise;\n}\n\nexport function api(params: APIParams): APIPromise;\nexport function api(params: Partial): PartialCall;\nexport function api(params: Partial): APIPromise | PartialCall {\n // If the params don't include `endpoint` treat it as a partial\n // application.\n if (!params.endpoint && !params.url) {\n return partialCall(params);\n }\n\n const {\n endpoint,\n server = 'api.pagerduty.com',\n token,\n url,\n version = 2,\n data,\n ...rest\n } = params;\n\n const config: RequestOptions = {\n method: 'GET',\n ...rest,\n headers: {\n Accept: `application/vnd.pagerduty+json;version=${version}`,\n Authorization: `Token token=${token!}`,\n ...rest.headers,\n },\n };\n\n // Allow `data` for `params` for requests without bodies.\n if (isReadonlyRequest(config.method!) && data) {\n config.params = config.params ?? (data as Record);\n } else {\n config.body = JSON.stringify(data);\n }\n\n return apiRequest(\n url ?? `https://${server}/${endpoint!.replace(/^\\/+/, '')}`,\n config\n );\n}\n\nexport function all(params: APIParams): Promise {\n return (api(params) as APIPromise).then(response => allInner([response]));\n}\n\nfunction allInner(responses: APIResponse[]): Promise {\n const response = responses[responses.length - 1];\n\n if (!response.next) {\n return Promise.resolve(responses);\n }\n\n return response\n .next()\n .then(response => allInner(responses.concat([response])));\n}\n\nfunction apiRequest(url: string, options: RequestOptions): APIPromise {\n return request(url, options).then(\n (response: Response): APIPromise => {\n const apiResponse = response as APIResponse;\n const resource = resourceKey(url);\n return response.json().then(\n (data): APIResponse => {\n apiResponse.next = nextFunc(url, options, data);\n apiResponse.data = data;\n apiResponse.resource = resource ? data[resource] : null;\n apiResponse.response = response;\n return apiResponse;\n }\n );\n }\n );\n}\n\nfunction resourceKey(url: string) {\n const resource = url.match(/.+.com\\/(?[\\w]+)/);\n if (resource) {\n return resource[1];\n }\n return null;\n}\n\nfunction isReadonlyRequest(method: string) {\n return !['PUT', 'POST', 'DELETE', 'PATCH'].includes(\n method.toUpperCase() ?? 'GET'\n );\n}\n\ninterface OffsetPagination {\n type: 'offset';\n more?: boolean;\n offset?: number;\n limit?: number;\n}\n\ninterface CursorPagination {\n type: 'cursor';\n cursor?: string;\n limit?: number;\n}\n\nfunction isOffsetPagination(\n data: OffsetPagination | CursorPagination\n): data is OffsetPagination {\n if ((data as OffsetPagination).offset !== undefined) {\n return true;\n }\n return false;\n}\n\nfunction isCursorPagination(\n data: OffsetPagination | CursorPagination\n): data is CursorPagination {\n if ((data as CursorPagination).cursor !== undefined) {\n return true;\n }\n return false;\n}\n\nfunction nextFunc(\n url: string,\n options: RequestOptions,\n data: OffsetPagination | CursorPagination\n) {\n if (isOffsetPagination(data)) {\n if (data?.more && typeof data.offset !== undefined && data.limit) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n limit: data.limit!.toString(),\n offset: (data.limit! + data.offset!).toString(),\n },\n });\n }\n } else if (isCursorPagination(data)) {\n if (data?.cursor) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n cursor: data.cursor!,\n limit: data.limit!.toString(),\n },\n });\n }\n }\n\n return undefined;\n}\n\nfunction partialCall(params: Partial) {\n const partialParams = params;\n const partial = ((params: Partial) =>\n api({...partialParams, ...params})) as PartialCall;\n\n const shorthand = (method: string) => (\n endpoint: string,\n params?: Partial\n ): APIPromise =>\n api({endpoint, method, ...partialParams, ...params}) as APIPromise;\n\n partial.get = shorthand('get');\n partial.post = shorthand('post');\n partial.put = shorthand('put');\n partial.patch = shorthand('patch');\n partial.delete = shorthand('delete');\n\n partial.all = (params: APIParams) => all(params);\n\n return partial;\n}\n","import {request, RequestOptions} from './common';\n\nexport type Action = 'trigger' | 'acknowledge' | 'resolve';\n\nexport type EventPromise = Promise;\n\nexport interface EventResponse extends Response {\n data: any;\n}\n\nexport type Severity = 'critical' | 'error' | 'warning' | 'info';\n\nexport interface Image {\n src: string;\n href?: string;\n alt?: string;\n}\n\nexport interface Link {\n href: string;\n text?: string;\n}\n\nexport interface EventPayloadV2 {\n routing_key: string;\n event_action: Action;\n dedup_key?: string;\n payload: {\n summary: string;\n source: string;\n severity: Severity;\n timestamp?: string;\n component?: string;\n group?: string;\n class?: string;\n custom_details?: object;\n };\n images?: Array;\n links?: Array;\n}\n\nexport interface EventParams extends RequestOptions {\n data: EventPayloadV2;\n type?: string;\n server?: string;\n}\n\nexport interface ChangePayload {\n routing_key: string;\n payload: {\n summary: string;\n source?: string;\n timestamp: string;\n custom_details: object;\n };\n links: Array;\n}\nexport interface ChangeParams extends RequestOptions {\n data: ChangePayload;\n server?: string;\n}\n\nexport function event(params: EventParams): EventPromise {\n const {\n server = 'events.pagerduty.com',\n type = 'event',\n data,\n ...config\n } = params;\n\n let url = `https://${server}/v2/enqueue`;\n if (type === 'change') {\n url = `https://${server}/v2/change/enqueue`;\n }\n\n return eventFetch(url, {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n });\n}\n\nconst shorthand = (action: Action) => (params: EventParams): EventPromise => {\n const typeField = 'event_action';\n\n return event({\n ...params,\n data: {\n ...params.data,\n [typeField]: action,\n },\n });\n};\n\nexport const trigger = shorthand('trigger');\nexport const acknowledge = shorthand('acknowledge');\nexport const resolve = shorthand('resolve');\nexport const change = (params: EventParams) =>\n event({...params, type: 'change'});\n\nasync function eventFetch(url: string, options: RequestOptions): EventPromise {\n const resp = (await request(url, options)) as EventResponse;\n resp.data = await resp.json();\n // TODO: Something with the return data data.\n return resp;\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(337);\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"sourceRoot":""} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index f4e61a5..0ab6abb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2193,6 +2193,11 @@ "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", "dev": true }, + "abortcontroller-polyfill": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.5.0.tgz", + "integrity": "sha512-O6Xk757Jb4o0LMzMOMdWvxpHWrQzruYBaUruFaIOfAQRnWFxfdXYobw12jrVHGtoXk6WiiyYzc0QWN9aL62HQA==" + }, "acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", diff --git a/package.json b/package.json index 7039d36..d004dde 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "webpack-strip-block": "^0.3.0" }, "dependencies": { + "abortcontroller-polyfill": "^1.5.0", "browser-or-node": "^1.3.0", "cross-fetch": "^3.0.6" }, diff --git a/src/common.ts b/src/common.ts index aa81bed..616d0e0 100644 --- a/src/common.ts +++ b/src/common.ts @@ -1,40 +1,78 @@ -/* NODE-ONLY-START */ +/* LEGACY-BROWSER-SUPPORT-START */ import fetch, {Headers} from 'cross-fetch'; + +// TODO: Proper type support for abortcontroller-polyfill +// @ts-ignore +import { AbortController } from 'abortcontroller-polyfill/dist/cjs-ponyfill'; import {isBrowser} from 'browser-or-node'; -/* NODE-ONLY-END */ +/* LEGACY-BROWSER-SUPPORT-END */ -const VERSION = '0.0.1'; +const VERSION = '2.0.0'; export interface RequestOptions extends RequestInit { params?: Record; + retryCount?: number; + requestTimeout?: number; + retryTimeout?: number; timeout?: number; } -// TODO: Retries. -// TODO: Backoff. export function request( url: string | URL, options: RequestOptions = {} ): Promise { - const {params, timeout, ...rest} = options; + const { + params, + requestTimeout = 30000, + retryCount = 0, + ...rest + } = options; + url = new URL(url.toString()); url = applyParams(url, params); - options = applyTimeout(options, timeout); - - return fetch(url.toString(), { - ...rest, - headers: new Headers({ - 'Content-Type': 'application/json; charset=utf-8', - /* NODE-ONLY-START */ - ...userAgentHeader(), - /* NODE-ONLY-END */ - ...rest.headers, - }), + options = applyTimeout(options, requestTimeout); + + return fetch_retry( + url.toString(), + 3, + { + ...rest, + headers: new Headers({ + 'Content-Type': 'application/json; charset=utf-8', + /* LEGACY-BROWSER-SUPPORT-START */ + ...userAgentHeader(), + /* LEGACY-BROWSER-SUPPORT-END */ + ...rest.headers, + }), + } + ); +} + +function fetch_retry(url: string, retries: number, options: any): Promise{ + return new Promise(function(resolve, reject) { + fetch(url, options) + .then((response) => { + // We don't want to `reject` when retries have finished + // Instead simply stop trying and return. + if (retries === 0) return resolve(response); + if (response.status === 429) { + const {retryTimeout} = options; + retryTimeoutPromise(retryTimeout).then(() => { + fetch_retry(url, retries - 1, options).then(resolve).catch(reject); + }); + } else { + resolve(response); + } + }) }); } +const retryTimeoutPromise = (milliseconds: number) => { + return new Promise(resolve => setTimeout(resolve, milliseconds)) +} + function userAgentHeader(): object { if (isBrowser) return {}; diff --git a/src/retries.test.ts b/src/retries.test.ts new file mode 100644 index 0000000..f433c5d --- /dev/null +++ b/src/retries.test.ts @@ -0,0 +1,57 @@ +import nock = require('nock'); +import {all, api} from './index'; + +const EMPTY_BODY = { + incidents: [], + limit: 25, + offset: 0, + total: null, + more: false, +}; + +test('API request should return after 3 rate limited requests', async done => { + const body = { + incidents: [], + limit: 1, + offset: 0, + total: null, + more: true, + }; + + nock('https://api.pagerduty.com') + .get('/incidents') + .reply(429, body) + .get('/incidents') + .reply(429, body) + .get('/incidents') + .reply(429, body) + .get('/incidents') + .reply(429, body) + + const response = await api({token: 'someToken1234567890', endpoint: '/incidents', retryTimeout: 20}); + + expect(response.response.status).toEqual(429); + done(); +}); + +test('API should return data after getting rate limited once.', async done => { + const body = { + incidents: [], + limit: 1, + offset: 0, + total: null, + more: true, + }; + + nock('https://api.pagerduty.com') + .get('/incidents') + .reply(429, body) + .get('/incidents') + .reply(200, body); + + const response = await api({token: 'someToken1234567890', endpoint: '/incidents', retryTimeout: 20}); + + expect(response.response.status).toEqual(200); + expect(response.data).toEqual(body); + done(); +}); diff --git a/tsconfig.json b/tsconfig.json index 4038295..51cbfce 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "./node_modules/gts/tsconfig-google.json", "compilerOptions": { - "lib": ["dom"], + "lib": ["DOM"], "rootDir": ".", "outDir": "build", "sourceMap": true diff --git a/webpack.config.js b/webpack.config.js index 90852c1..4353bd4 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -44,8 +44,8 @@ module.exports = [ { loader: 'webpack-strip-block', options: { - start: 'NODE-ONLY-START', - end: 'NODE-ONLY-END', + start: 'LEGACY-BROWSER-SUPPORT-START', + end: 'LEGACY-BROWSER-SUPPORT-END', }, }, ], From 7c5456b10f907c6defadf0cfccef3262c930c4b8 Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Wed, 11 Nov 2020 17:30:14 -0500 Subject: [PATCH 14/26] Clean up Event response to match API responses. --- README.md | 2 +- src/events.ts | 19 ++++++++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 86573ef..d9914ba 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ npm install --save pagerduty/pdjs#2.0 REST API calls can be done using the convenience methods or by passing in a `url` or `endpoint`. -#### convenience Methods +#### Convenience Methods ```javascript import {api} from 'pdjs'; diff --git a/src/events.ts b/src/events.ts index 70c85c8..4740bc0 100644 --- a/src/events.ts +++ b/src/events.ts @@ -6,6 +6,7 @@ export type EventPromise = Promise; export interface EventResponse extends Response { data: any; + response: Response; } export type Severity = 'critical' | 'error' | 'warning' | 'info'; @@ -98,9 +99,17 @@ export const resolve = shorthand('resolve'); export const change = (params: EventParams) => event({...params, type: 'change'}); -async function eventFetch(url: string, options: RequestOptions): EventPromise { - const resp = (await request(url, options)) as EventResponse; - resp.data = await resp.json(); - // TODO: Something with the return data data. - return resp; +function eventFetch(url: string, options: RequestOptions): EventPromise { + return request(url, options).then( + (response: Response): EventPromise => { + const apiResponse = response as EventResponse; + return response.json().then( + (data): EventResponse => { + apiResponse.data = data; + apiResponse.response = response; + return apiResponse; + } + ); + } + ); } From 4117ec5ecc2d64ed018d9f249b615f4122f7593e Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Wed, 11 Nov 2020 17:41:21 -0500 Subject: [PATCH 15/26] Update README. --- README.md | 86 +++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 64 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index d9914ba..3968ce5 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,8 @@ REST API calls can be done using the convenience methods or by passing in a `url #### Convenience Methods +There are some simply convience methods. `get()`, `post()`, `put()`, and `delete()`. + ```javascript import {api} from 'pdjs'; @@ -67,7 +69,66 @@ pd.get('/incidents') ``` -#### Pagination +### Events API + +Events V2 is supported along with Change Events. + +```javascript +import {event} from 'pdjs'; + +event({ + data: { + routing_key: 'YOUR_ROUTING_KEY', + event_action: 'trigger', + dedup_key: 'test_incident_2_88f520', + payload: { + summary: 'Test Event V2', + source: 'test-source', + severity: 'error', + }, + }, +}) + .then(console.log) + .catch(console.error); +``` + +#### Convenience Methods + +```javascript +import {change, trigger, acknowledge, resolve} from 'pdjs'; + +change({ + "routing_key": "YOUR_ROUTING_KEY", + "payload": { + "summary": "Build Success:!", + "timestamp": "2015-07-17T08:42:58.315+0000", + "source": "prod-build-agent", + "custom_details": { + "build_state": "passed", + "build_number": "220", + "run_time": "1337s" + } + }, + "links": [{ + "href": "https://buildpipeline.com", + "text": "View in Build Pipeline" + }] +}) + .then(console.log) + .catch(console.error); + +trigger({...}) + .then(console.log) + .catch(console.error); +acknowledge({...}) + .then(console.log) + .catch(console.error); +resolve({...}) + .then(console.log) + .catch(console.error); +``` + +### Pagination There's an async `all` that attempts to fetch all pages for a given endpoint and set of parameters. For convenience this function supports both offset and cursor based pagination. @@ -88,28 +149,9 @@ for (response of responses) { } ``` -### Events API - -Both V1 and V2 of the Events API are supported, with the version to used being based on the payload. For example, the Events API V2: - -```javascript -import {event} from 'pdjs'; +### Retries -event({ - data: { - routing_key: '791695b5cdea40bfa2a710673888f520', - event_action: 'trigger', - dedup_key: 'test_incident_2_88f520', - payload: { - summary: 'Test Event V2', - source: 'test-source', - severity: 'error', - }, - }, -}) - .then(console.log) - .catch(console.error); -``` +There is some very simple retry logic baked into each request in the case that the PagerDuty API rate limits your requests (only when it responds HTTP Code 429). Requests will retry 3 times waiting 20 seconds between each request. If the request is still being rate limited after 3 attemps the client will simply return the 429 response. ### Browser From b13080a8310575758bb97656c051a5816bf0f0ae Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Thu, 12 Nov 2020 10:57:10 -0500 Subject: [PATCH 16/26] Fix most of the linting errors. --- .DS_Store | Bin 6148 -> 6148 bytes dist/pdjs-legacy.js | 2 +- dist/pdjs-legacy.js.map | 2 +- dist/pdjs.js | 2 +- dist/pdjs.js.map | 2 +- src/api.ts | 4 +-- src/common.ts | 75 +++++++++++++++++++--------------------- src/events.test.ts | 40 ++++++++++++++------- src/retries.test.ts | 24 ++++++------- 9 files changed, 81 insertions(+), 70 deletions(-) diff --git a/.DS_Store b/.DS_Store index 9e5bbdc027ca43ea24dc7f4984e64eb84e58e069..4ee0774da77e15be92be9df5f8f142ee920078d5 100644 GIT binary patch delta 249 zcmZoMXfc@JFU-Qgz`)4BAi%(ol2l$?kd%|3v{{jPC8H5Yf|VhOp_Cz$AqOD|6g`zx zkds+lVqkEck%^gwm5rT)69{=ZCOb1F34@rN@dA?7)rO`97CH(RrY4iOGs!Z}ntYW> x-fK3hp=H5Ec{%xc=@2(CurQvd`%21qCUR{var t={47:(t,e,r)=>{"use strict";r.r(e),r.d(e,{acknowledge:()=>F,all:()=>S,api:()=>E,change:()=>L,event:()=>k,resolve:()=>C,trigger:()=>M});var n=r(98),o=r.n(n),i=r(818);function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function u(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function f(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e,i=r.params,s=r.timeout,a=c(r,["params","timeout"]);return t=l(t=new URL(t.toString()),i),e=y(e,s),new AbortController,o()(t.toString(),u(u({},a),{},{headers:new n.Headers(u(u({"Content-Type":"application/json; charset=utf-8"},p()),a.headers))})).then((function(r){return 429===r.status?f(t,u({retryCount:1},e)):r}))}function p(){return i.jU?{}:{"User-Agent":"pdjs/".concat("2.0.0"," (").concat(process.version,"/").concat(process.platform,")")}}function l(t,e){if(!e)return t;for(var r=t.searchParams,n=0,o=Object.keys(e);n]+)>/g,(function(t,e){return"$"+r[e]})))}if("function"==typeof e){var i=this;return n[Symbol.replace].call(this,t,(function(){var t=[];return t.push.apply(t,arguments),"object"!==h(t[t.length-1])&&t.push(s(t,i)),e.apply(this,t)}))}return n[Symbol.replace].call(this,t,e)},d.apply(this,arguments)}function b(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&g(t,e)}function v(t){var e="function"==typeof Map?new Map:void 0;return(v=function(t){if(null===t||(r=t,-1===Function.toString.call(r).indexOf("[native code]")))return t;var r;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return m(t,arguments,w(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),g(n,t)})(t)}function m(t,e,r){return(m=O()?Reflect.construct:function(t,e,r){var n=[null];n.push.apply(n,e);var o=new(Function.bind.apply(t,n));return r&&g(o,r.prototype),o}).apply(null,arguments)}function O(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function g(t,e){return(g=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function w(t){return(w=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function j(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function P(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["endpoint","server","token","url","version","data"]),y=P(P({method:"GET"},l),{},{headers:P({Accept:"application/vnd.pagerduty+json;version=".concat(f),Authorization:"Token token=".concat(u)},l.headers)});return r=y.method,!["PUT","POST","DELETE","PATCH"].includes(null!==(n=r.toUpperCase())&&void 0!==n?n:"GET")&&p?y.params=null!==(e=y.params)&&void 0!==e?e:p:y.body=JSON.stringify(p),T(null!=a?a:"https://".concat(s,"/").concat(o.replace(/^\/+/,"")),y)}function S(t){return E(t).then((function(t){return _([t])}))}function _(t){var e=t[t.length-1];return e.next?e.next().then((function(e){return _(t.concat([e]))})):Promise.resolve(t)}function T(t,e){return f(t,e).then((function(r){var n=r,o=function(t){var e=t.match(d(/.+.com\/([0-9A-Z_a-z]+)/,{resource:1}));return e?e[1]:null}(t);return r.json().then((function(i){return n.next=function(t,e,r){if(function(t){return void 0!==t.offset}(r)){if((null==r?void 0:r.more)&&void 0!==h(r.offset)&&r.limit)return function(){return T(t,P(P({},e),{},{params:P(P({},e.params),{},{limit:r.limit.toString(),offset:(r.limit+r.offset).toString()})}))}}else if(function(t){return void 0!==t.cursor}(r)&&(null==r?void 0:r.cursor))return function(){return T(t,P(P({},e),{},{params:P(P({},e.params),{},{cursor:r.cursor,limit:r.limit.toString()})}))}}(t,e,i),n.data=i,n.resource=o?i[o]:null,n.response=r,n}))}))}function A(t,e,r,n,o,i,s){try{var u=t[i](s),a=u.value}catch(t){return void r(t)}u.done?e(a):Promise.resolve(a).then(n,o)}function D(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function s(t){A(i,n,o,s,u,"next",t)}function u(t){A(i,n,o,s,u,"throw",t)}s(void 0)}))}}function R(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function B(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["server","type","data"]),u="https://".concat(r,"/v2/enqueue");return"change"===o&&(u="https://".concat(r,"/v2/change/enqueue")),function(t,e){return q.apply(this,arguments)}(u,B({method:"POST",body:JSON.stringify(i)},s))}var I=function(t){return function(e){return k(B(B({},e),{},{data:B(B({},e.data),{},U({},"event_action",t))}))}},M=I("trigger"),F=I("acknowledge"),C=I("resolve"),L=function(t){return k(B(B({},t),{},{type:"change"}))};function q(){return(q=D(regeneratorRuntime.mark((function t(e,r){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,f(e,r);case 2:return n=t.sent,t.next=5,n.json();case 5:return n.data=t.sent,t.abrupt("return",n);case 7:case"end":return t.stop()}}),t)})))).apply(this,arguments)}},818:(t,e)=>{"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n="undefined"!=typeof window&&void 0!==window.document;"object"===("undefined"==typeof self?"undefined":r(self))&&self.constructor&&self.constructor.name,"undefined"!=typeof process&&null!=process.versions&&process.versions.node;e.jU=n},98:function(t,e){var r=function(t){function e(){this.fetch=!1,this.DOMException=t.DOMException}return e.prototype=t,new e}("undefined"!=typeof self?self:this);!function(t){!function(e){var r="URLSearchParams"in t,n="Symbol"in t&&"iterator"in Symbol,o="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),i="FormData"in t,s="ArrayBuffer"in t;if(s)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],a=ArrayBuffer.isView||function(t){return t&&u.indexOf(Object.prototype.toString.call(t))>-1};function c(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function f(t){return"string"!=typeof t&&(t=String(t)),t}function p(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return n&&(e[Symbol.iterator]=function(){return e}),e}function l(t){this.map={},t instanceof l?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function y(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function h(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function d(t){var e=new FileReader,r=h(e);return e.readAsArrayBuffer(t),r}function b(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:o&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:i&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:r&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():s&&o&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=b(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):s&&(ArrayBuffer.prototype.isPrototypeOf(t)||a(t))?this._bodyArrayBuffer=b(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var t=y(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?y(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(d)}),this.text=function(){var t,e,r,n=y(this);if(n)return n;if(this._bodyBlob)return t=this._bodyBlob,r=h(e=new FileReader),e.readAsText(t),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n-1?n:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function g(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}})),e}function w(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new l(e.headers),this.url=e.url||"",this._initBody(t)}O.prototype.clone=function(){return new O(this,{body:this._bodyInit})},v.call(O.prototype),v.call(w.prototype),w.prototype.clone=function(){return new w(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new l(this.headers),url:this.url})},w.error=function(){var t=new w(null,{status:0,statusText:""});return t.type="error",t};var j=[301,302,303,307,308];w.redirect=function(t,e){if(-1===j.indexOf(e))throw new RangeError("Invalid status code");return new w(null,{status:e,headers:{location:t}})},e.DOMException=t.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function P(t,r){return new Promise((function(n,i){var s=new O(t,r);if(s.signal&&s.signal.aborted)return i(new e.DOMException("Aborted","AbortError"));var u=new XMLHttpRequest;function a(){u.abort()}u.onload=function(){var t,e,r={status:u.status,statusText:u.statusText,headers:(t=u.getAllResponseHeaders()||"",e=new l,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}})),e)};r.url="responseURL"in u?u.responseURL:r.headers.get("X-Request-URL");var o="response"in u?u.response:u.responseText;n(new w(o,r))},u.onerror=function(){i(new TypeError("Network request failed"))},u.ontimeout=function(){i(new TypeError("Network request failed"))},u.onabort=function(){i(new e.DOMException("Aborted","AbortError"))},u.open(s.method,s.url,!0),"include"===s.credentials?u.withCredentials=!0:"omit"===s.credentials&&(u.withCredentials=!1),"responseType"in u&&o&&(u.responseType="blob"),s.headers.forEach((function(t,e){u.setRequestHeader(e,t)})),s.signal&&(s.signal.addEventListener("abort",a),u.onreadystatechange=function(){4===u.readyState&&s.signal.removeEventListener("abort",a)}),u.send(void 0===s._bodyInit?null:s._bodyInit)}))}P.polyfill=!0,t.fetch||(t.fetch=P,t.Headers=l,t.Request=O,t.Response=w),e.Headers=l,e.Request=O,e.Response=w,e.fetch=P}({})}(r),delete r.fetch.polyfill,(e=r.fetch).default=r.fetch,e.fetch=r.fetch,e.Headers=r.Headers,e.Request=r.Request,e.Response=r.Response,t.exports=e}},e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return t[n].call(o.exports,o,o.exports,r),o.exports}return r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r(47)})(); +var PagerDuty;PagerDuty=(()=>{var t={988:(t,e)=>{"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var r=0;r{"use strict";r.r(e),r.d(e,{acknowledge:()=>F,all:()=>A,api:()=>T,change:()=>q,event:()=>I,resolve:()=>L,trigger:()=>C});var n=r(98),o=r.n(n),i=r(988),u=r(818);function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function a(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function l(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e,o=r.params,i=r.requestTimeout,u=void 0===i?3e4:i,s=(r.retryCount,f(r,["params","requestTimeout","retryCount"]));return t=d(t=new URL(t.toString()),o),e=b(e,u),p(t.toString(),3,a(a({},s),{},{headers:new n.Headers(a(a({"Content-Type":"application/json; charset=utf-8"},h()),s.headers))}))}function p(t,e,r){return new Promise((function(n,i){o()(t,r).then((function(o){if(0===e)return n(o);if(429===o.status){var u=r.retryTimeout;y(u).then((function(){p(t,e-1,r).then(n).catch(i)}))}else n(o)}))}))}var y=function(t){return new Promise((function(e){return setTimeout(e,t)}))};function h(){return u.jU?{}:{"User-Agent":"pdjs/".concat("2.0.0"," (").concat(process.version,"/").concat(process.platform,")")}}function d(t,e){if(!e)return t;for(var r=t.searchParams,n=0,o=Object.keys(e);n]+)>/g,(function(t,e){return"$"+r[e]})))}if("function"==typeof e){var i=this;return n[Symbol.replace].call(this,t,(function(){var t=[];return t.push.apply(t,arguments),"object"!==v(t[t.length-1])&&t.push(u(t,i)),e.apply(this,t)}))}return n[Symbol.replace].call(this,t,e)},m.apply(this,arguments)}function g(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&P(t,e)}function O(t){var e="function"==typeof Map?new Map:void 0;return(O=function(t){if(null===t||(r=t,-1===Function.toString.call(r).indexOf("[native code]")))return t;var r;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return w(t,arguments,E(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),P(n,t)})(t)}function w(t,e,r){return(w=j()?Reflect.construct:function(t,e,r){var n=[null];n.push.apply(n,e);var o=new(Function.bind.apply(t,n));return r&&P(o,r.prototype),o}).apply(null,arguments)}function j(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function P(t,e){return(P=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function E(t){return(E=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function S(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function x(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["endpoint","server","token","url","version","data"]),y=x(x({method:"GET"},p),{},{headers:x({Accept:"application/vnd.pagerduty+json;version=".concat(f),Authorization:"Token token=".concat(s)},p.headers)});return r=y.method,!["PUT","POST","DELETE","PATCH"].includes(null!==(n=r.toUpperCase())&&void 0!==n?n:"GET")&&l?y.params=null!==(e=y.params)&&void 0!==e?e:l:y.body=JSON.stringify(l),R(null!=a?a:"https://".concat(u,"/").concat(o.replace(/^\/+/,"")),y)}function A(t){return T(t).then((function(t){return D([t])}))}function D(t){var e=t[t.length-1];return e.next?e.next().then((function(e){return D(t.concat([e]))})):Promise.resolve(t)}function R(t,e){return l(t,e).then((function(r){var n=r,o=function(t){var e=t.match(m(/.+.com\/([0-9A-Z_a-z]+)/,{resource:1}));return e?e[1]:null}(t);return r.json().then((function(i){return n.next=function(t,e,r){if(function(t){return void 0!==t.offset}(r)){if((null==r?void 0:r.more)&&void 0!==v(r.offset)&&r.limit)return function(){return R(t,x(x({},e),{},{params:x(x({},e.params),{},{limit:r.limit.toString(),offset:(r.limit+r.offset).toString()})}))}}else if(function(t){return void 0!==t.cursor}(r)&&(null==r?void 0:r.cursor))return function(){return R(t,x(x({},e),{},{params:x(x({},e.params),{},{cursor:r.cursor,limit:r.limit.toString()})}))}}(t,e,i),n.data=i,n.resource=o?i[o]:null,n.response=r,n}))}))}function B(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function U(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["server","type","data"]),s="https://".concat(r,"/v2/enqueue");return"change"===o&&(s="https://".concat(r,"/v2/change/enqueue")),function(t,e){return l(t,e).then((function(t){var e=t;return t.json().then((function(r){return e.data=r,e.response=t,e}))}))}(s,U({method:"POST",body:JSON.stringify(i)},u))}var M=function(t){return function(e){return I(U(U({},e),{},{data:U(U({},e.data),{},k({},"event_action",t))}))}},C=M("trigger"),F=M("acknowledge"),L=M("resolve"),q=function(t){return I(U(U({},t),{},{type:"change"}))}},818:(t,e)=>{"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n="undefined"!=typeof window&&void 0!==window.document;"object"===("undefined"==typeof self?"undefined":r(self))&&self.constructor&&self.constructor.name,"undefined"!=typeof process&&null!=process.versions&&process.versions.node;e.jU=n},98:function(t,e){var r=function(t){function e(){this.fetch=!1,this.DOMException=t.DOMException}return e.prototype=t,new e}("undefined"!=typeof self?self:this);!function(t){!function(e){var r="URLSearchParams"in t,n="Symbol"in t&&"iterator"in Symbol,o="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),i="FormData"in t,u="ArrayBuffer"in t;if(u)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],a=ArrayBuffer.isView||function(t){return t&&s.indexOf(Object.prototype.toString.call(t))>-1};function c(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function f(t){return"string"!=typeof t&&(t=String(t)),t}function l(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return n&&(e[Symbol.iterator]=function(){return e}),e}function p(t){this.map={},t instanceof p?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function y(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function h(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function d(t){var e=new FileReader,r=h(e);return e.readAsArrayBuffer(t),r}function b(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:o&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:i&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:r&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():u&&o&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=b(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):u&&(ArrayBuffer.prototype.isPrototypeOf(t)||a(t))?this._bodyArrayBuffer=b(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var t=y(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?y(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(d)}),this.text=function(){var t,e,r,n=y(this);if(n)return n;if(this._bodyBlob)return t=this._bodyBlob,r=h(e=new FileReader),e.readAsText(t),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n-1?n:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function O(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}})),e}function w(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new p(e.headers),this.url=e.url||"",this._initBody(t)}g.prototype.clone=function(){return new g(this,{body:this._bodyInit})},v.call(g.prototype),v.call(w.prototype),w.prototype.clone=function(){return new w(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},w.error=function(){var t=new w(null,{status:0,statusText:""});return t.type="error",t};var j=[301,302,303,307,308];w.redirect=function(t,e){if(-1===j.indexOf(e))throw new RangeError("Invalid status code");return new w(null,{status:e,headers:{location:t}})},e.DOMException=t.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function P(t,r){return new Promise((function(n,i){var u=new g(t,r);if(u.signal&&u.signal.aborted)return i(new e.DOMException("Aborted","AbortError"));var s=new XMLHttpRequest;function a(){s.abort()}s.onload=function(){var t,e,r={status:s.status,statusText:s.statusText,headers:(t=s.getAllResponseHeaders()||"",e=new p,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}})),e)};r.url="responseURL"in s?s.responseURL:r.headers.get("X-Request-URL");var o="response"in s?s.response:s.responseText;n(new w(o,r))},s.onerror=function(){i(new TypeError("Network request failed"))},s.ontimeout=function(){i(new TypeError("Network request failed"))},s.onabort=function(){i(new e.DOMException("Aborted","AbortError"))},s.open(u.method,u.url,!0),"include"===u.credentials?s.withCredentials=!0:"omit"===u.credentials&&(s.withCredentials=!1),"responseType"in s&&o&&(s.responseType="blob"),u.headers.forEach((function(t,e){s.setRequestHeader(e,t)})),u.signal&&(u.signal.addEventListener("abort",a),s.onreadystatechange=function(){4===s.readyState&&u.signal.removeEventListener("abort",a)}),s.send(void 0===u._bodyInit?null:u._bodyInit)}))}P.polyfill=!0,t.fetch||(t.fetch=P,t.Headers=p,t.Request=g,t.Response=w),e.Headers=p,e.Request=g,e.Response=w,e.fetch=P}({})}(r),delete r.fetch.polyfill,(e=r.fetch).default=r.fetch,e.fetch=r.fetch,e.Headers=r.Headers,e.Request=r.Request,e.Response=r.Response,t.exports=e}},e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return t[n].call(o.exports,o,o.exports,r),o.exports}return r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r(47)})(); //# sourceMappingURL=pdjs-legacy.js.map \ No newline at end of file diff --git a/dist/pdjs-legacy.js.map b/dist/pdjs-legacy.js.map index 7c987f9..9b3fc92 100644 --- a/dist/pdjs-legacy.js.map +++ b/dist/pdjs-legacy.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://PagerDuty/./src/common.ts","webpack://PagerDuty/./src/api.ts","webpack://PagerDuty/./src/events.ts","webpack://PagerDuty/./node_modules/browser-or-node/lib/index.js","webpack://PagerDuty/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://PagerDuty/webpack/bootstrap","webpack://PagerDuty/webpack/startup","webpack://PagerDuty/webpack/runtime/compat get default export","webpack://PagerDuty/webpack/runtime/define property getters","webpack://PagerDuty/webpack/runtime/hasOwnProperty shorthand","webpack://PagerDuty/webpack/runtime/make namespace object"],"names":["request","url","options","params","timeout","rest","applyParams","URL","toString","applyTimeout","AbortController","fetch","headers","Headers","userAgentHeader","then","response","status","retryCount","isBrowser","process","version","platform","combinedParams","searchParams","Object","keys","key","append","search","init","controller","setTimeout","abort","signal","api","endpoint","partialParams","partial","shorthand","method","get","post","put","patch","all","partialCall","server","token","data","config","Accept","Authorization","includes","toUpperCase","body","JSON","stringify","apiRequest","replace","allInner","responses","length","next","concat","Promise","resolve","apiResponse","resource","match","resourceKey","json","undefined","offset","isOffsetPagination","more","limit","cursor","isCursorPagination","nextFunc","event","type","eventFetch","action","trigger","acknowledge","change","resp","_typeof","Symbol","iterator","obj","constructor","prototype","window","document","self","name","versions","node","exports","__self__","root","F","this","DOMException","support","Blob","e","viewClasses","isArrayBufferView","ArrayBuffer","isView","indexOf","call","normalizeName","String","test","TypeError","toLowerCase","normalizeValue","value","iteratorFor","items","shift","done","map","forEach","Array","isArray","header","getOwnPropertyNames","consumed","bodyUsed","reject","fileReaderReady","reader","onload","result","onerror","error","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","buf","slice","view","Uint8Array","byteLength","set","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","rejected","Error","arrayBuffer","text","readAsText","chars","i","fromCharCode","join","readArrayBufferAsText","formData","decode","parse","oldValue","has","hasOwnProperty","callback","thisArg","push","values","entries","methods","Request","input","upcased","credentials","mode","referrer","form","trim","split","bytes","decodeURIComponent","Response","bodyInit","ok","statusText","clone","redirectStatuses","redirect","RangeError","location","err","message","stack","create","aborted","xhr","XMLHttpRequest","abortXhr","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","onabort","open","withCredentials","responseType","setRequestHeader","addEventListener","onreadystatechange","readyState","removeEventListener","send","polyfill","default","module","__webpack_module_cache__","__webpack_require__","moduleId","__webpack_modules__","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","prop","r","toStringTag"],"mappings":"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","file":"pdjs-legacy.js","sourcesContent":["/* NODE-ONLY-START */\nimport fetch, {Headers} from 'cross-fetch';\nimport {isBrowser} from 'browser-or-node';\n/* NODE-ONLY-END */\n\nconst VERSION = '2.0.0';\n\nexport interface RequestOptions extends RequestInit {\n params?: Record;\n retryCount?: number;\n timeout?: number;\n}\n\n// TODO: Retries.\n// TODO: Backoff.\nexport function request(\n url: string | URL,\n options: RequestOptions = {}\n): Promise {\n const {params, timeout, ...rest} = options;\n\n url = new URL(url.toString());\n\n url = applyParams(url, params);\n options = applyTimeout(options, timeout);\n\n new AbortController();\n\n return fetch(url.toString(), {\n ...rest,\n headers: new Headers({\n 'Content-Type': 'application/json; charset=utf-8',\n /* NODE-ONLY-START */\n ...userAgentHeader(),\n /* NODE-ONLY-END */\n ...rest.headers,\n }),\n }).then(response => {\n if (response.status === 429) {\n return request(url, {retryCount: 1, ...options});\n }\n return response;\n })\n}\n\nfunction userAgentHeader(): object {\n if (isBrowser) return {};\n\n return {\n 'User-Agent': `pdjs/${VERSION} (${process.version}/${process.platform})`,\n };\n}\n\nfunction applyParams(url: URL, params?: Record): URL {\n if (!params) return url;\n\n const combinedParams = url.searchParams;\n\n for (const key of Object.keys(params)) {\n combinedParams.append(key, params[key]);\n }\n\n url.search = combinedParams.toString();\n return url;\n}\n\nfunction applyTimeout(init: RequestOptions, timeout?: number): RequestOptions {\n if (!timeout) return init;\n\n const controller = new AbortController();\n setTimeout(() => controller.abort(), timeout);\n\n return {\n ...init,\n signal: controller.signal,\n };\n}\n","import {request, RequestOptions} from './common';\n\nexport interface ShorthandCall {\n (res: string, params?: Partial): APIPromise;\n}\n\nexport interface PartialCall {\n (params: APIParams): APIPromise;\n (params: Partial): PartialCall;\n get: ShorthandCall;\n post: ShorthandCall;\n put: ShorthandCall;\n patch: ShorthandCall;\n delete: ShorthandCall;\n all: (params: APIParams) => Promise;\n}\n\nexport type APIParams = RequestOptions & {\n endpoint?: string;\n url?: string;\n data?: object;\n token?: string;\n server?: string;\n version?: number;\n} & ({endpoint: string} | {url: string});\n\nexport type APIPromise = Promise;\n\nexport interface APIResponse extends Response {\n data: any;\n resource: any;\n response: Response;\n next?: () => APIPromise;\n}\n\nexport function api(params: APIParams): APIPromise;\nexport function api(params: Partial): PartialCall;\nexport function api(params: Partial): APIPromise | PartialCall {\n // If the params don't include `endpoint` treat it as a partial\n // application.\n if (!params.endpoint && !params.url) {\n return partialCall(params);\n }\n\n const {\n endpoint,\n server = 'api.pagerduty.com',\n token,\n url,\n version = 2,\n data,\n ...rest\n } = params;\n\n const config: RequestOptions = {\n method: 'GET',\n ...rest,\n headers: {\n Accept: `application/vnd.pagerduty+json;version=${version}`,\n Authorization: `Token token=${token!}`,\n ...rest.headers,\n },\n };\n\n // Allow `data` for `params` for requests without bodies.\n if (isReadonlyRequest(config.method!) && data) {\n config.params = config.params ?? (data as Record);\n } else {\n config.body = JSON.stringify(data);\n }\n\n return apiRequest(\n url ?? `https://${server}/${endpoint!.replace(/^\\/+/, '')}`,\n config\n );\n}\n\nexport function all(params: APIParams): Promise {\n return (api(params) as APIPromise).then(response => allInner([response]));\n}\n\nfunction allInner(responses: APIResponse[]): Promise {\n const response = responses[responses.length - 1];\n\n if (!response.next) {\n return Promise.resolve(responses);\n }\n\n return response\n .next()\n .then(response => allInner(responses.concat([response])));\n}\n\nfunction apiRequest(url: string, options: RequestOptions): APIPromise {\n return request(url, options).then(\n (response: Response): APIPromise => {\n const apiResponse = response as APIResponse;\n const resource = resourceKey(url);\n return response.json().then(\n (data): APIResponse => {\n apiResponse.next = nextFunc(url, options, data);\n apiResponse.data = data;\n apiResponse.resource = resource ? data[resource] : null;\n apiResponse.response = response;\n return apiResponse;\n }\n );\n }\n );\n}\n\nfunction resourceKey(url: string) {\n const resource = url.match(/.+.com\\/(?[\\w]+)/);\n if (resource) {\n return resource[1];\n }\n return null;\n}\n\nfunction isReadonlyRequest(method: string) {\n return !['PUT', 'POST', 'DELETE', 'PATCH'].includes(\n method.toUpperCase() ?? 'GET'\n );\n}\n\ninterface OffsetPagination {\n type: 'offset';\n more?: boolean;\n offset?: number;\n limit?: number;\n}\n\ninterface CursorPagination {\n type: 'cursor';\n cursor?: string;\n limit?: number;\n}\n\nfunction isOffsetPagination(\n data: OffsetPagination | CursorPagination\n): data is OffsetPagination {\n if ((data as OffsetPagination).offset !== undefined) {\n return true;\n }\n return false;\n}\n\nfunction isCursorPagination(\n data: OffsetPagination | CursorPagination\n): data is CursorPagination {\n if ((data as CursorPagination).cursor !== undefined) {\n return true;\n }\n return false;\n}\n\nfunction nextFunc(\n url: string,\n options: RequestOptions,\n data: OffsetPagination | CursorPagination\n) {\n if (isOffsetPagination(data)) {\n if (data?.more && typeof data.offset !== undefined && data.limit) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n limit: data.limit!.toString(),\n offset: (data.limit! + data.offset!).toString(),\n },\n });\n }\n } else if (isCursorPagination(data)) {\n if (data?.cursor) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n cursor: data.cursor!,\n limit: data.limit!.toString(),\n },\n });\n }\n }\n\n return undefined;\n}\n\nfunction partialCall(params: Partial) {\n const partialParams = params;\n const partial = ((params: Partial) =>\n api({...partialParams, ...params})) as PartialCall;\n\n const shorthand = (method: string) => (\n endpoint: string,\n params?: Partial\n ): APIPromise =>\n api({endpoint, method, ...partialParams, ...params}) as APIPromise;\n\n partial.get = shorthand('get');\n partial.post = shorthand('post');\n partial.put = shorthand('put');\n partial.patch = shorthand('patch');\n partial.delete = shorthand('delete');\n\n partial.all = (params: APIParams) => all(params);\n\n return partial;\n}\n","import {request, RequestOptions} from './common';\n\nexport type Action = 'trigger' | 'acknowledge' | 'resolve';\n\nexport type EventPromise = Promise;\n\nexport interface EventResponse extends Response {\n data: any;\n}\n\nexport type Severity = 'critical' | 'error' | 'warning' | 'info';\n\nexport interface Image {\n src: string;\n href?: string;\n alt?: string;\n}\n\nexport interface Link {\n href: string;\n text?: string;\n}\n\nexport interface EventPayloadV2 {\n routing_key: string;\n event_action: Action;\n dedup_key?: string;\n payload: {\n summary: string;\n source: string;\n severity: Severity;\n timestamp?: string;\n component?: string;\n group?: string;\n class?: string;\n custom_details?: object;\n };\n images?: Array;\n links?: Array;\n}\n\nexport interface EventParams extends RequestOptions {\n data: EventPayloadV2;\n type?: string;\n server?: string;\n}\n\nexport interface ChangePayload {\n routing_key: string;\n payload: {\n summary: string;\n source?: string;\n timestamp: string;\n custom_details: object;\n };\n links: Array;\n}\nexport interface ChangeParams extends RequestOptions {\n data: ChangePayload;\n server?: string;\n}\n\nexport function event(params: EventParams): EventPromise {\n const {\n server = 'events.pagerduty.com',\n type = 'event',\n data,\n ...config\n } = params;\n\n let url = `https://${server}/v2/enqueue`;\n if (type === 'change') {\n url = `https://${server}/v2/change/enqueue`;\n }\n\n return eventFetch(url, {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n });\n}\n\nconst shorthand = (action: Action) => (params: EventParams): EventPromise => {\n const typeField = 'event_action';\n\n return event({\n ...params,\n data: {\n ...params.data,\n [typeField]: action,\n },\n });\n};\n\nexport const trigger = shorthand('trigger');\nexport const acknowledge = shorthand('acknowledge');\nexport const resolve = shorthand('resolve');\nexport const change = (params: EventParams) =>\n event({...params, type: 'change'});\n\nasync function eventFetch(url: string, options: RequestOptions): EventPromise {\n const resp = (await request(url, options)) as EventResponse;\n resp.data = await resp.json();\n // TODO: Something with the return data data.\n return resp;\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/* global window self */\n\nvar isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';\n\n/* eslint-disable no-restricted-globals */\nvar isWebWorker = (typeof self === 'undefined' ? 'undefined' : _typeof(self)) === 'object' && self.constructor && self.constructor.name === 'DedicatedWorkerGlobalScope';\n/* eslint-enable no-restricted-globals */\n\nvar isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n\n/**\n * @see https://github.com/jsdom/jsdom/releases/tag/12.0.0\n * @see https://github.com/jsdom/jsdom/issues/1537\n */\n/* eslint-disable no-undef */\nvar isJsDom = function isJsDom() {\n return typeof window !== 'undefined' && window.name === 'nodejs' || navigator.userAgent.includes('Node.js') || navigator.userAgent.includes('jsdom');\n};\n\nexports.isBrowser = isBrowser;\nexports.isWebWorker = isWebWorker;\nexports.isNode = isNode;\nexports.isJsDom = isJsDom;","var __self__ = (function (root) {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = root.DOMException\n}\nF.prototype = root;\nreturn new F();\n})(typeof self !== 'undefined' ? self : this);\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n return exports;\n\n}({}));\n})(__self__);\ndelete __self__.fetch.polyfill\nexports = __self__.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = __self__.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = __self__.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = __self__.Headers\nexports.Request = __self__.Request\nexports.Response = __self__.Response\nmodule.exports = exports\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(47);\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => module['default'] :\n\t\t() => module;\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://PagerDuty/./node_modules/abortcontroller-polyfill/dist/cjs-ponyfill.js","webpack://PagerDuty/./src/common.ts","webpack://PagerDuty/./src/api.ts","webpack://PagerDuty/./src/events.ts","webpack://PagerDuty/./node_modules/browser-or-node/lib/index.js","webpack://PagerDuty/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://PagerDuty/webpack/bootstrap","webpack://PagerDuty/webpack/startup","webpack://PagerDuty/webpack/runtime/compat get default export","webpack://PagerDuty/webpack/runtime/define property getters","webpack://PagerDuty/webpack/runtime/hasOwnProperty shorthand","webpack://PagerDuty/webpack/runtime/make namespace object"],"names":["_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","p","_assertThisInitialized","self","ReferenceError","_possibleConstructorReturn","call","_get","property","receiver","Reflect","get","base","object","hasOwnProperty","_superPropBase","desc","getOwnPropertyDescriptor","value","Emitter","this","type","callback","listeners","push","stack","l","splice","event","_this","debounce","setTimeout","defaultPrevented","AbortSignal","_Emitter","subClass","superClass","create","constructor","_inherits","Derived","hasNativeReflectConstruct","_super","construct","sham","Proxy","Date","toString","e","_isNativeReflectConstruct","result","Super","NewTarget","arguments","apply","_this2","aborted","onabort","AbortController","Event","document","createEvent","initEvent","createEventObject","bubbles","cancelable","signal","dispatchEvent","Symbol","toStringTag","exports","request","url","options","params","requestTimeout","rest","retryCount","applyParams","URL","applyTimeout","fetch_retry","headers","Headers","userAgentHeader","retries","Promise","resolve","reject","fetch","then","response","status","retryTimeout","retryTimeoutPromise","milliseconds","isBrowser","process","version","platform","combinedParams","searchParams","keys","append","search","init","timeout","controller","abort","api","endpoint","partialParams","partial","shorthand","method","post","put","patch","all","partialCall","server","token","data","config","Accept","Authorization","includes","toUpperCase","body","JSON","stringify","apiRequest","replace","allInner","responses","next","concat","apiResponse","resource","match","resourceKey","json","undefined","offset","isOffsetPagination","more","limit","cursor","isCursorPagination","nextFunc","eventFetch","action","trigger","acknowledge","change","_typeof","iterator","obj","window","name","versions","node","__self__","root","F","DOMException","support","Blob","viewClasses","isArrayBufferView","ArrayBuffer","isView","indexOf","normalizeName","String","test","toLowerCase","normalizeValue","iteratorFor","items","shift","done","map","forEach","Array","isArray","header","getOwnPropertyNames","consumed","bodyUsed","fileReaderReady","reader","onload","onerror","error","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","buf","slice","view","Uint8Array","byteLength","set","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","rejected","Error","arrayBuffer","text","readAsText","chars","fromCharCode","join","readArrayBufferAsText","formData","decode","parse","oldValue","has","thisArg","values","entries","methods","Request","input","upcased","credentials","mode","referrer","form","trim","split","bytes","decodeURIComponent","Response","bodyInit","ok","statusText","clone","redirectStatuses","redirect","RangeError","location","err","message","xhr","XMLHttpRequest","abortXhr","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","open","withCredentials","responseType","setRequestHeader","addEventListener","onreadystatechange","readyState","removeEventListener","send","polyfill","default","module","__webpack_module_cache__","__webpack_require__","moduleId","__webpack_modules__","n","getter","__esModule","d","a","definition","prop","r"],"mappings":"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","file":"pdjs-legacy.js","sourcesContent":["'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nfunction _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}\n\nvar Emitter = /*#__PURE__*/function () {\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n Object.defineProperty(this, 'listeners', {\n value: {},\n writable: true,\n configurable: true\n });\n }\n\n _createClass(Emitter, [{\n key: \"addEventListener\",\n value: function addEventListener(type, callback) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n\n this.listeners[type].push(callback);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n if (stack[i] === callback) {\n stack.splice(i, 1);\n return;\n }\n }\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n var _this = this;\n\n if (!(event.type in this.listeners)) {\n return;\n }\n\n var debounce = function debounce(callback) {\n setTimeout(function () {\n return callback.call(_this, event);\n });\n };\n\n var stack = this.listeners[event.type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n debounce(stack[i]);\n }\n\n return !event.defaultPrevented;\n }\n }]);\n\n return Emitter;\n}();\n\nvar AbortSignal = /*#__PURE__*/function (_Emitter) {\n _inherits(AbortSignal, _Emitter);\n\n var _super = _createSuper(AbortSignal);\n\n function AbortSignal() {\n var _this2;\n\n _classCallCheck(this, AbortSignal);\n\n _this2 = _super.call(this); // Some versions of babel does not transpile super() correctly for IE <= 10, if the parent\n // constructor has failed to run, then \"this.listeners\" will still be undefined and then we call\n // the parent constructor directly instead as a workaround. For general details, see babel bug:\n // https://github.com/babel/babel/issues/3041\n // This hack was added as a fix for the issue described here:\n // https://github.com/Financial-Times/polyfill-library/pull/59#issuecomment-477558042\n\n if (!_this2.listeners) {\n Emitter.call(_assertThisInitialized(_this2));\n } // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController().signal) to be [] for compat with the native impl\n\n\n Object.defineProperty(_assertThisInitialized(_this2), 'aborted', {\n value: false,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this2), 'onabort', {\n value: null,\n writable: true,\n configurable: true\n });\n return _this2;\n }\n\n _createClass(AbortSignal, [{\n key: \"toString\",\n value: function toString() {\n return '[object AbortSignal]';\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (event.type === 'abort') {\n this.aborted = true;\n\n if (typeof this.onabort === 'function') {\n this.onabort.call(this, event);\n }\n }\n\n _get(_getPrototypeOf(AbortSignal.prototype), \"dispatchEvent\", this).call(this, event);\n }\n }]);\n\n return AbortSignal;\n}(Emitter);\nvar AbortController = /*#__PURE__*/function () {\n function AbortController() {\n _classCallCheck(this, AbortController);\n\n // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController()) to be [] for compat with the native impl\n Object.defineProperty(this, 'signal', {\n value: new AbortSignal(),\n writable: true,\n configurable: true\n });\n }\n\n _createClass(AbortController, [{\n key: \"abort\",\n value: function abort() {\n var event;\n\n try {\n event = new Event('abort');\n } catch (e) {\n if (typeof document !== 'undefined') {\n if (!document.createEvent) {\n // For Internet Explorer 8:\n event = document.createEventObject();\n event.type = 'abort';\n } else {\n // For Internet Explorer 11:\n event = document.createEvent('Event');\n event.initEvent('abort', false, false);\n }\n } else {\n // Fallback where document isn't available:\n event = {\n type: 'abort',\n bubbles: false,\n cancelable: false\n };\n }\n }\n\n this.signal.dispatchEvent(event);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return '[object AbortController]';\n }\n }]);\n\n return AbortController;\n}();\n\nif (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n // These are necessary to make sure that we get correct output for:\n // Object.prototype.toString.call(new AbortController())\n AbortController.prototype[Symbol.toStringTag] = 'AbortController';\n AbortSignal.prototype[Symbol.toStringTag] = 'AbortSignal';\n}\n\nfunction polyfillNeeded(self) {\n if (self.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n console.log('__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill');\n return true;\n } // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // so the below feature detection needs the !self.AbortController part.\n // The Request.prototype check is also needed because Safari versions 11.1.2\n // up to and including 12.1.x has a window.AbortController present but still\n // does NOT correctly implement abortable fetch:\n // https://bugs.webkit.org/show_bug.cgi?id=174980#c2\n\n\n return typeof self.Request === 'function' && !self.Request.prototype.hasOwnProperty('signal') || !self.AbortController;\n}\n\n/**\n * Note: the \"fetch.Request\" default value is available for fetch imported from\n * the \"node-fetch\" package and not in browsers. This is OK since browsers\n * will be importing umd-polyfill.js from that path \"self\" is passed the\n * decorator so the default value will not be used (because browsers that define\n * fetch also has Request). One quirky setup where self.fetch exists but\n * self.Request does not is when the \"unfetch\" minimal fetch polyfill is used\n * on top of IE11; for this case the browser will try to use the fetch.Request\n * default value which in turn will be undefined but then then \"if (Request)\"\n * will ensure that you get a patched fetch but still no Request (as expected).\n * @param {fetch, Request = fetch.Request}\n * @returns {fetch: abortableFetch, Request: AbortableRequest}\n */\n\nfunction abortableFetchDecorator(patchTargets) {\n if ('function' === typeof patchTargets) {\n patchTargets = {\n fetch: patchTargets\n };\n }\n\n var _patchTargets = patchTargets,\n fetch = _patchTargets.fetch,\n _patchTargets$Request = _patchTargets.Request,\n NativeRequest = _patchTargets$Request === void 0 ? fetch.Request : _patchTargets$Request,\n NativeAbortController = _patchTargets.AbortController,\n _patchTargets$__FORCE = _patchTargets.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL,\n __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL = _patchTargets$__FORCE === void 0 ? false : _patchTargets$__FORCE;\n\n if (!polyfillNeeded({\n fetch: fetch,\n Request: NativeRequest,\n AbortController: NativeAbortController,\n __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL: __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL\n })) {\n return {\n fetch: fetch,\n Request: Request\n };\n }\n\n var Request = NativeRequest; // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // hence we only patch it if it's available. Also we don't patch it if signal\n // is already available on the Request prototype because in this case support\n // is present and the patching below can cause a crash since it assigns to\n // request.signal which is technically a read-only property. This latter error\n // happens when you run the main5.js node-fetch example in the repo\n // \"abortcontroller-polyfill-examples\". The exact error is:\n // request.signal = init.signal;\n // ^\n // TypeError: Cannot set property signal of # which has only a getter\n\n if (Request && !Request.prototype.hasOwnProperty('signal') || __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n Request = function Request(input, init) {\n var signal;\n\n if (init && init.signal) {\n signal = init.signal; // Never pass init.signal to the native Request implementation when the polyfill has\n // been installed because if we're running on top of a browser with a\n // working native AbortController (i.e. the polyfill was installed due to\n // __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL being set), then passing our\n // fake AbortSignal to the native fetch will trigger:\n // TypeError: Failed to construct 'Request': member signal is not of type AbortSignal.\n\n delete init.signal;\n }\n\n var request = new NativeRequest(input, init);\n\n if (signal) {\n Object.defineProperty(request, 'signal', {\n writable: false,\n enumerable: false,\n configurable: true,\n value: signal\n });\n }\n\n return request;\n };\n\n Request.prototype = NativeRequest.prototype;\n }\n\n var realFetch = fetch;\n\n var abortableFetch = function abortableFetch(input, init) {\n var signal = Request && Request.prototype.isPrototypeOf(input) ? input.signal : init ? init.signal : undefined;\n\n if (signal) {\n var abortError;\n\n try {\n abortError = new DOMException('Aborted', 'AbortError');\n } catch (err) {\n // IE 11 does not support calling the DOMException constructor, use a\n // regular error object on it instead.\n abortError = new Error('Aborted');\n abortError.name = 'AbortError';\n } // Return early if already aborted, thus avoiding making an HTTP request\n\n\n if (signal.aborted) {\n return Promise.reject(abortError);\n } // Turn an event into a promise, reject it once `abort` is dispatched\n\n\n var cancellation = new Promise(function (_, reject) {\n signal.addEventListener('abort', function () {\n return reject(abortError);\n }, {\n once: true\n });\n });\n\n if (init && init.signal) {\n // Never pass .signal to the native implementation when the polyfill has\n // been installed because if we're running on top of a browser with a\n // working native AbortController (i.e. the polyfill was installed due to\n // __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL being set), then passing our\n // fake AbortSignal to the native fetch will trigger:\n // TypeError: Failed to execute 'fetch' on 'Window': member signal is not of type AbortSignal.\n delete init.signal;\n } // Return the fastest promise (don't need to wait for request to finish)\n\n\n return Promise.race([cancellation, realFetch(input, init)]);\n }\n\n return realFetch(input, init);\n };\n\n return {\n fetch: abortableFetch,\n Request: Request\n };\n}\n\nexports.AbortController = AbortController;\nexports.AbortSignal = AbortSignal;\nexports.abortableFetch = abortableFetchDecorator;\n","/* LEGACY-BROWSER-SUPPORT-START */\nimport fetch, {Headers} from 'cross-fetch';\n\n// TODO: Proper type support for abortcontroller-polyfill\n// @ts-ignore\nimport { AbortController } from 'abortcontroller-polyfill/dist/cjs-ponyfill';\nimport {isBrowser} from 'browser-or-node';\n/* LEGACY-BROWSER-SUPPORT-END */\n\nconst VERSION = '2.0.0';\n\nexport interface RequestOptions extends RequestInit {\n params?: Record;\n retryCount?: number;\n requestTimeout?: number;\n retryTimeout?: number;\n timeout?: number;\n}\n\nexport function request(\n url: string | URL,\n options: RequestOptions = {}\n): Promise {\n const {\n params,\n requestTimeout = 30000,\n retryCount = 0,\n ...rest\n } = options;\n\n\n url = new URL(url.toString());\n\n url = applyParams(url, params);\n options = applyTimeout(options, requestTimeout);\n\n return fetch_retry(\n url.toString(),\n 3,\n {\n ...rest,\n headers: new Headers({\n 'Content-Type': 'application/json; charset=utf-8',\n /* LEGACY-BROWSER-SUPPORT-START */\n ...userAgentHeader(),\n /* LEGACY-BROWSER-SUPPORT-END */\n ...rest.headers,\n }),\n }\n );\n}\n\nfunction fetch_retry(url: string, retries: number, options: any): Promise{\n return new Promise(function(resolve, reject) {\n fetch(url, options)\n .then((response) => {\n // We don't want to `reject` when retries have finished\n // Instead simply stop trying and return.\n if (retries === 0) return resolve(response);\n if (response.status === 429) {\n const {retryTimeout} = options;\n retryTimeoutPromise(retryTimeout).then(() => {\n fetch_retry(url, retries - 1, options).then(resolve).catch(reject);\n });\n } else {\n resolve(response);\n }\n })\n });\n}\n\nconst retryTimeoutPromise = (milliseconds: number) => {\n return new Promise(resolve => setTimeout(resolve, milliseconds))\n}\n\nfunction userAgentHeader(): object {\n if (isBrowser) return {};\n\n return {\n 'User-Agent': `pdjs/${VERSION} (${process.version}/${process.platform})`,\n };\n}\n\nfunction applyParams(url: URL, params?: Record): URL {\n if (!params) return url;\n\n const combinedParams = url.searchParams;\n\n for (const key of Object.keys(params)) {\n combinedParams.append(key, params[key]);\n }\n\n url.search = combinedParams.toString();\n return url;\n}\n\nfunction applyTimeout(init: RequestOptions, timeout?: number): RequestOptions {\n if (!timeout) return init;\n\n const controller = new AbortController();\n setTimeout(() => controller.abort(), timeout);\n\n return {\n ...init,\n signal: controller.signal,\n };\n}\n","import {request, RequestOptions} from './common';\n\nexport interface ShorthandCall {\n (res: string, params?: Partial): APIPromise;\n}\n\nexport interface PartialCall {\n (params: APIParams): APIPromise;\n (params: Partial): PartialCall;\n get: ShorthandCall;\n post: ShorthandCall;\n put: ShorthandCall;\n patch: ShorthandCall;\n delete: ShorthandCall;\n all: (params: APIParams) => Promise;\n}\n\nexport type APIParams = RequestOptions & {\n endpoint?: string;\n url?: string;\n data?: object;\n token?: string;\n server?: string;\n version?: number;\n} & ({endpoint: string} | {url: string});\n\nexport type APIPromise = Promise;\n\nexport interface APIResponse extends Response {\n data: any;\n resource: any;\n response: Response;\n next?: () => APIPromise;\n}\n\nexport function api(params: APIParams): APIPromise;\nexport function api(params: Partial): PartialCall;\nexport function api(params: Partial): APIPromise | PartialCall {\n // If the params don't include `endpoint` treat it as a partial\n // application.\n if (!params.endpoint && !params.url) {\n return partialCall(params);\n }\n\n const {\n endpoint,\n server = 'api.pagerduty.com',\n token,\n url,\n version = 2,\n data,\n ...rest\n } = params;\n\n const config: RequestOptions = {\n method: 'GET',\n ...rest,\n headers: {\n Accept: `application/vnd.pagerduty+json;version=${version}`,\n Authorization: `Token token=${token!}`,\n ...rest.headers,\n },\n };\n\n // Allow `data` for `params` for requests without bodies.\n if (isReadonlyRequest(config.method!) && data) {\n config.params = config.params ?? (data as Record);\n } else {\n config.body = JSON.stringify(data);\n }\n\n return apiRequest(\n url ?? `https://${server}/${endpoint!.replace(/^\\/+/, '')}`,\n config\n );\n}\n\nexport function all(params: APIParams): Promise {\n return (api(params) as APIPromise).then(response => allInner([response]));\n}\n\nfunction allInner(responses: APIResponse[]): Promise {\n const response = responses[responses.length - 1];\n\n if (!response.next) {\n return Promise.resolve(responses);\n }\n\n return response\n .next()\n .then(response => allInner(responses.concat([response])));\n}\n\nfunction apiRequest(url: string, options: RequestOptions): APIPromise {\n return request(url, options).then(\n (response: Response): APIPromise => {\n const apiResponse = response as APIResponse;\n const resource = resourceKey(url);\n return response.json().then(\n (data): APIResponse => {\n apiResponse.next = nextFunc(url, options, data);\n apiResponse.data = data;\n apiResponse.resource = resource ? data[resource] : null;\n apiResponse.response = response;\n return apiResponse;\n }\n );\n }\n );\n}\n\nfunction resourceKey(url: string) {\n const resource = url.match(/.+.com\\/(?[\\w]+)/);\n if (resource) {\n return resource[1];\n }\n return null;\n}\n\nfunction isReadonlyRequest(method: string) {\n return !['PUT', 'POST', 'DELETE', 'PATCH'].includes(\n method.toUpperCase() ?? 'GET'\n );\n}\n\ninterface OffsetPagination {\n type: 'offset';\n more?: boolean;\n offset?: number;\n limit?: number;\n}\n\ninterface CursorPagination {\n type: 'cursor';\n cursor?: string;\n limit?: number;\n}\n\nfunction isOffsetPagination(\n data: OffsetPagination | CursorPagination\n): data is OffsetPagination {\n if ((data as OffsetPagination).offset !== undefined) {\n return true;\n }\n return false;\n}\n\nfunction isCursorPagination(\n data: OffsetPagination | CursorPagination\n): data is CursorPagination {\n if ((data as CursorPagination).cursor !== undefined) {\n return true;\n }\n return false;\n}\n\nfunction nextFunc(\n url: string,\n options: RequestOptions,\n data: OffsetPagination | CursorPagination\n) {\n if (isOffsetPagination(data)) {\n if (data?.more && typeof data.offset !== undefined && data.limit) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n limit: data.limit!.toString(),\n offset: (data.limit! + data.offset!).toString(),\n },\n });\n }\n } else if (isCursorPagination(data)) {\n if (data?.cursor) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n cursor: data.cursor!,\n limit: data.limit!.toString(),\n },\n });\n }\n }\n\n return undefined;\n}\n\nfunction partialCall(params: Partial) {\n const partialParams = params;\n const partial = ((params: Partial) =>\n api({...partialParams, ...params})) as PartialCall;\n\n const shorthand = (method: string) => (\n endpoint: string,\n params?: Partial\n ): APIPromise =>\n api({endpoint, method, ...partialParams, ...params}) as APIPromise;\n\n partial.get = shorthand('get');\n partial.post = shorthand('post');\n partial.put = shorthand('put');\n partial.patch = shorthand('patch');\n partial.delete = shorthand('delete');\n\n partial.all = (params: APIParams) => all(params);\n\n return partial;\n}\n","import {request, RequestOptions} from './common';\n\nexport type Action = 'trigger' | 'acknowledge' | 'resolve';\n\nexport type EventPromise = Promise;\n\nexport interface EventResponse extends Response {\n data: any;\n response: Response;\n}\n\nexport type Severity = 'critical' | 'error' | 'warning' | 'info';\n\nexport interface Image {\n src: string;\n href?: string;\n alt?: string;\n}\n\nexport interface Link {\n href: string;\n text?: string;\n}\n\nexport interface EventPayloadV2 {\n routing_key: string;\n event_action: Action;\n dedup_key?: string;\n payload: {\n summary: string;\n source: string;\n severity: Severity;\n timestamp?: string;\n component?: string;\n group?: string;\n class?: string;\n custom_details?: object;\n };\n images?: Array;\n links?: Array;\n}\n\nexport interface EventParams extends RequestOptions {\n data: EventPayloadV2;\n type?: string;\n server?: string;\n}\n\nexport interface ChangePayload {\n routing_key: string;\n payload: {\n summary: string;\n source?: string;\n timestamp: string;\n custom_details: object;\n };\n links: Array;\n}\nexport interface ChangeParams extends RequestOptions {\n data: ChangePayload;\n server?: string;\n}\n\nexport function event(params: EventParams): EventPromise {\n const {\n server = 'events.pagerduty.com',\n type = 'event',\n data,\n ...config\n } = params;\n\n let url = `https://${server}/v2/enqueue`;\n if (type === 'change') {\n url = `https://${server}/v2/change/enqueue`;\n }\n\n return eventFetch(url, {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n });\n}\n\nconst shorthand = (action: Action) => (params: EventParams): EventPromise => {\n const typeField = 'event_action';\n\n return event({\n ...params,\n data: {\n ...params.data,\n [typeField]: action,\n },\n });\n};\n\nexport const trigger = shorthand('trigger');\nexport const acknowledge = shorthand('acknowledge');\nexport const resolve = shorthand('resolve');\nexport const change = (params: EventParams) =>\n event({...params, type: 'change'});\n\nfunction eventFetch(url: string, options: RequestOptions): EventPromise {\n return request(url, options).then(\n (response: Response): EventPromise => {\n const apiResponse = response as EventResponse;\n return response.json().then(\n (data): EventResponse => {\n apiResponse.data = data;\n apiResponse.response = response;\n return apiResponse;\n }\n );\n }\n );\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/* global window self */\n\nvar isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';\n\n/* eslint-disable no-restricted-globals */\nvar isWebWorker = (typeof self === 'undefined' ? 'undefined' : _typeof(self)) === 'object' && self.constructor && self.constructor.name === 'DedicatedWorkerGlobalScope';\n/* eslint-enable no-restricted-globals */\n\nvar isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n\n/**\n * @see https://github.com/jsdom/jsdom/releases/tag/12.0.0\n * @see https://github.com/jsdom/jsdom/issues/1537\n */\n/* eslint-disable no-undef */\nvar isJsDom = function isJsDom() {\n return typeof window !== 'undefined' && window.name === 'nodejs' || navigator.userAgent.includes('Node.js') || navigator.userAgent.includes('jsdom');\n};\n\nexports.isBrowser = isBrowser;\nexports.isWebWorker = isWebWorker;\nexports.isNode = isNode;\nexports.isJsDom = isJsDom;","var __self__ = (function (root) {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = root.DOMException\n}\nF.prototype = root;\nreturn new F();\n})(typeof self !== 'undefined' ? self : this);\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n return exports;\n\n}({}));\n})(__self__);\ndelete __self__.fetch.polyfill\nexports = __self__.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = __self__.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = __self__.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = __self__.Headers\nexports.Request = __self__.Request\nexports.Response = __self__.Response\nmodule.exports = exports\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(47);\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => module['default'] :\n\t\t() => module;\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/pdjs.js b/dist/pdjs.js index 2428283..8634dae 100644 --- a/dist/pdjs.js +++ b/dist/pdjs.js @@ -1,2 +1,2 @@ -var PagerDuty;PagerDuty=(()=>{"use strict";var t={337:(t,e,r)=>{function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function o(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function i(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e,n=r.params,u=r.timeout,p=c(r,["params","timeout"]);return t=a(t=new URL(t.toString()),n),e=f(e,u),new AbortController,fetch(t.toString(),o(o({},p),{},{headers:new Headers(o({"Content-Type":"application/json; charset=utf-8"},p.headers))})).then((function(r){return 429===r.status?i(t,o({retryCount:1},e)):r}))}function a(t,e){if(!e)return t;for(var r=t.searchParams,n=0,o=Object.keys(e);n]+)>/g,(function(t,e){return"$"+r[e]})))}if("function"==typeof e){var u=this;return n[Symbol.replace].call(this,t,(function(){var t=[];return t.push.apply(t,arguments),"object"!==p(t[t.length-1])&&t.push(c(t,u)),e.apply(this,t)}))}return n[Symbol.replace].call(this,t,e)},l.apply(this,arguments)}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&v(t,e)}function y(t){var e="function"==typeof Map?new Map:void 0;return(y=function(t){if(null===t||(r=t,-1===Function.toString.call(r).indexOf("[native code]")))return t;var r;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return b(t,arguments,g(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),v(n,t)})(t)}function b(t,e,r){return(b=O()?Reflect.construct:function(t,e,r){var n=[null];n.push.apply(n,e);var o=new(Function.bind.apply(t,n));return r&&v(o,r.prototype),o}).apply(null,arguments)}function O(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function v(t,e){return(v=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function g(t){return(g=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function d(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function h(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["endpoint","server","token","url","version","data"]),y=h(h({method:"GET"},s),{},{headers:h({Accept:"application/vnd.pagerduty+json;version=".concat(p),Authorization:"Token token=".concat(i)},s.headers)});return r=y.method,!["PUT","POST","DELETE","PATCH"].includes(null!==(n=r.toUpperCase())&&void 0!==n?n:"GET")&&l?y.params=null!==(e=y.params)&&void 0!==e?e:l:y.body=JSON.stringify(l),S(null!=a?a:"https://".concat(c,"/").concat(o.replace(/^\/+/,"")),y)}function P(t){return j(t).then((function(t){return w([t])}))}function w(t){var e=t[t.length-1];return e.next?e.next().then((function(e){return w(t.concat([e]))})):Promise.resolve(t)}function S(t,e){return i(t,e).then((function(r){var n=r,o=function(t){var e=t.match(l(/.+.com\/([0-9A-Z_a-z]+)/,{resource:1}));return e?e[1]:null}(t);return r.json().then((function(u){return n.next=function(t,e,r){if(function(t){return void 0!==t.offset}(r)){if((null==r?void 0:r.more)&&void 0!==p(r.offset)&&r.limit)return function(){return S(t,h(h({},e),{},{params:h(h({},e.params),{},{limit:r.limit.toString(),offset:(r.limit+r.offset).toString()})}))}}else if(function(t){return void 0!==t.cursor}(r)&&(null==r?void 0:r.cursor))return function(){return S(t,h(h({},e),{},{params:h(h({},e.params),{},{cursor:r.cursor,limit:r.limit.toString()})}))}}(t,e,u),n.data=u,n.resource=o?u[o]:null,n.response=r,n}))}))}function x(t,e,r,n,o,u,c){try{var i=t[u](c),a=i.value}catch(t){return void r(t)}i.done?e(a):Promise.resolve(a).then(n,o)}function E(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var u=t.apply(e,r);function c(t){x(u,n,o,c,i,"next",t)}function i(t){x(u,n,o,c,i,"throw",t)}c(void 0)}))}}function D(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function k(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["server","type","data"]),i="https://".concat(r,"/v2/enqueue");return"change"===o&&(i="https://".concat(r,"/v2/change/enqueue")),function(t,e){return U.apply(this,arguments)}(i,k({method:"POST",body:JSON.stringify(u)},c))}r.r(e),r.d(e,{acknowledge:()=>C,all:()=>P,api:()=>j,change:()=>I,event:()=>_,resolve:()=>M,trigger:()=>A});var R=function(t){return function(e){return _(k(k({},e),{},{data:k(k({},e.data),{},T({},"event_action",t))}))}},A=R("trigger"),C=R("acknowledge"),M=R("resolve"),I=function(t){return _(k(k({},t),{},{type:"change"}))};function U(){return(U=E(regeneratorRuntime.mark((function t(e,r){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,i(e,r);case 2:return n=t.sent,t.next=5,n.json();case 5:return n.data=t.sent,t.abrupt("return",n);case 7:case"end":return t.stop()}}),t)})))).apply(this,arguments)}}},e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return t[n](o,o.exports,r),o.exports}return r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r(337)})(); +var PagerDuty;PagerDuty=(()=>{"use strict";var t={337:(t,e,r)=>{function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function o(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function i(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e,n=r.params,u=r.requestTimeout,i=void 0===u?3e4:u,f=(r.retryCount,c(r,["params","requestTimeout","retryCount"]));return t=l(t=new URL(t.toString()),n),e=p(e,i),a(t.toString(),3,o(o({},f),{},{headers:new Headers(o({"Content-Type":"application/json; charset=utf-8"},f.headers))}))}function a(t,e,r){return new Promise((function(n,o){fetch(t,r).then((function(u){if(0===e)return n(u);if(429===u.status){var c=r.retryTimeout;f(c).then((function(){a(t,e-1,r).then(n).catch(o)}))}else n(u)}))}))}r.r(e),r.d(e,{acknowledge:()=>A,all:()=>S,api:()=>w,change:()=>q,event:()=>_,resolve:()=>M,trigger:()=>C});var f=function(t){return new Promise((function(e){return setTimeout(e,t)}))};function l(t,e){if(!e)return t;for(var r=t.searchParams,n=0,o=Object.keys(e);n]+)>/g,(function(t,e){return"$"+r[e]})))}if("function"==typeof e){var u=this;return n[Symbol.replace].call(this,t,(function(){var t=[];return t.push.apply(t,arguments),"object"!==s(t[t.length-1])&&t.push(c(t,u)),e.apply(this,t)}))}return n[Symbol.replace].call(this,t,e)},y.apply(this,arguments)}function b(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&d(t,e)}function O(t){var e="function"==typeof Map?new Map:void 0;return(O=function(t){if(null===t||(r=t,-1===Function.toString.call(r).indexOf("[native code]")))return t;var r;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return v(t,arguments,h(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),d(n,t)})(t)}function v(t,e,r){return(v=g()?Reflect.construct:function(t,e,r){var n=[null];n.push.apply(n,e);var o=new(Function.bind.apply(t,n));return r&&d(o,r.prototype),o}).apply(null,arguments)}function g(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function d(t,e){return(d=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function m(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function j(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["endpoint","server","token","url","version","data"]),y=j(j({method:"GET"},s),{},{headers:j({Accept:"application/vnd.pagerduty+json;version=".concat(l),Authorization:"Token token=".concat(i)},s.headers)});return r=y.method,!["PUT","POST","DELETE","PATCH"].includes(null!==(n=r.toUpperCase())&&void 0!==n?n:"GET")&&p?y.params=null!==(e=y.params)&&void 0!==e?e:p:y.body=JSON.stringify(p),E(null!=a?a:"https://".concat(c,"/").concat(o.replace(/^\/+/,"")),y)}function S(t){return w(t).then((function(t){return x([t])}))}function x(t){var e=t[t.length-1];return e.next?e.next().then((function(e){return x(t.concat([e]))})):Promise.resolve(t)}function E(t,e){return i(t,e).then((function(r){var n=r,o=function(t){var e=t.match(y(/.+.com\/([0-9A-Z_a-z]+)/,{resource:1}));return e?e[1]:null}(t);return r.json().then((function(u){return n.next=function(t,e,r){if(function(t){return void 0!==t.offset}(r)){if((null==r?void 0:r.more)&&void 0!==s(r.offset)&&r.limit)return function(){return E(t,j(j({},e),{},{params:j(j({},e.params),{},{limit:r.limit.toString(),offset:(r.limit+r.offset).toString()})}))}}else if(function(t){return void 0!==t.cursor}(r)&&(null==r?void 0:r.cursor))return function(){return E(t,j(j({},e),{},{params:j(j({},e.params),{},{cursor:r.cursor,limit:r.limit.toString()})}))}}(t,e,u),n.data=u,n.resource=o?u[o]:null,n.response=r,n}))}))}function T(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function D(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["server","type","data"]),a="https://".concat(r,"/v2/enqueue");return"change"===o&&(a="https://".concat(r,"/v2/change/enqueue")),function(t,e){return i(t,e).then((function(t){var e=t;return t.json().then((function(r){return e.data=r,e.response=t,e}))}))}(a,D({method:"POST",body:JSON.stringify(u)},c))}var R=function(t){return function(e){return _(D(D({},e),{},{data:D(D({},e.data),{},k({},"event_action",t))}))}},C=R("trigger"),A=R("acknowledge"),M=R("resolve"),q=function(t){return _(D(D({},t),{},{type:"change"}))}}},e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return t[n](o,o.exports,r),o.exports}return r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r(337)})(); //# sourceMappingURL=pdjs.js.map \ No newline at end of file diff --git a/dist/pdjs.js.map b/dist/pdjs.js.map index fa881d3..0ea8357 100644 --- a/dist/pdjs.js.map +++ b/dist/pdjs.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://PagerDuty/./src/common.ts","webpack://PagerDuty/./src/api.ts","webpack://PagerDuty/./src/events.ts","webpack://PagerDuty/webpack/bootstrap","webpack://PagerDuty/webpack/startup","webpack://PagerDuty/webpack/runtime/define property getters","webpack://PagerDuty/webpack/runtime/hasOwnProperty shorthand","webpack://PagerDuty/webpack/runtime/make namespace object"],"names":["request","url","options","params","timeout","rest","applyParams","URL","toString","applyTimeout","AbortController","fetch","headers","Headers","then","response","status","retryCount","combinedParams","searchParams","Object","keys","key","append","search","init","controller","setTimeout","abort","signal","api","endpoint","partialParams","partial","shorthand","method","get","post","put","patch","all","partialCall","server","token","version","data","config","Accept","Authorization","includes","toUpperCase","body","JSON","stringify","apiRequest","replace","allInner","responses","length","next","concat","Promise","resolve","apiResponse","resource","match","resourceKey","json","undefined","offset","isOffsetPagination","more","limit","cursor","isCursorPagination","nextFunc","event","type","eventFetch","action","trigger","acknowledge","change","resp","__webpack_module_cache__","__webpack_require__","moduleId","exports","module","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value"],"mappings":"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","file":"pdjs.js","sourcesContent":["/* webpack-strip-block:removed */\n\nconst VERSION = '2.0.0';\n\nexport interface RequestOptions extends RequestInit {\n params?: Record;\n retryCount?: number;\n timeout?: number;\n}\n\n// TODO: Retries.\n// TODO: Backoff.\nexport function request(\n url: string | URL,\n options: RequestOptions = {}\n): Promise {\n const {params, timeout, ...rest} = options;\n\n url = new URL(url.toString());\n\n url = applyParams(url, params);\n options = applyTimeout(options, timeout);\n\n new AbortController();\n\n return fetch(url.toString(), {\n ...rest,\n headers: new Headers({\n 'Content-Type': 'application/json; charset=utf-8',\n /* webpack-strip-block:removed */\n ...rest.headers,\n }),\n }).then(response => {\n if (response.status === 429) {\n return request(url, {retryCount: 1, ...options});\n }\n return response;\n })\n}\n\nfunction userAgentHeader(): object {\n if (isBrowser) return {};\n\n return {\n 'User-Agent': `pdjs/${VERSION} (${process.version}/${process.platform})`,\n };\n}\n\nfunction applyParams(url: URL, params?: Record): URL {\n if (!params) return url;\n\n const combinedParams = url.searchParams;\n\n for (const key of Object.keys(params)) {\n combinedParams.append(key, params[key]);\n }\n\n url.search = combinedParams.toString();\n return url;\n}\n\nfunction applyTimeout(init: RequestOptions, timeout?: number): RequestOptions {\n if (!timeout) return init;\n\n const controller = new AbortController();\n setTimeout(() => controller.abort(), timeout);\n\n return {\n ...init,\n signal: controller.signal,\n };\n}\n","import {request, RequestOptions} from './common';\n\nexport interface ShorthandCall {\n (res: string, params?: Partial): APIPromise;\n}\n\nexport interface PartialCall {\n (params: APIParams): APIPromise;\n (params: Partial): PartialCall;\n get: ShorthandCall;\n post: ShorthandCall;\n put: ShorthandCall;\n patch: ShorthandCall;\n delete: ShorthandCall;\n all: (params: APIParams) => Promise;\n}\n\nexport type APIParams = RequestOptions & {\n endpoint?: string;\n url?: string;\n data?: object;\n token?: string;\n server?: string;\n version?: number;\n} & ({endpoint: string} | {url: string});\n\nexport type APIPromise = Promise;\n\nexport interface APIResponse extends Response {\n data: any;\n resource: any;\n response: Response;\n next?: () => APIPromise;\n}\n\nexport function api(params: APIParams): APIPromise;\nexport function api(params: Partial): PartialCall;\nexport function api(params: Partial): APIPromise | PartialCall {\n // If the params don't include `endpoint` treat it as a partial\n // application.\n if (!params.endpoint && !params.url) {\n return partialCall(params);\n }\n\n const {\n endpoint,\n server = 'api.pagerduty.com',\n token,\n url,\n version = 2,\n data,\n ...rest\n } = params;\n\n const config: RequestOptions = {\n method: 'GET',\n ...rest,\n headers: {\n Accept: `application/vnd.pagerduty+json;version=${version}`,\n Authorization: `Token token=${token!}`,\n ...rest.headers,\n },\n };\n\n // Allow `data` for `params` for requests without bodies.\n if (isReadonlyRequest(config.method!) && data) {\n config.params = config.params ?? (data as Record);\n } else {\n config.body = JSON.stringify(data);\n }\n\n return apiRequest(\n url ?? `https://${server}/${endpoint!.replace(/^\\/+/, '')}`,\n config\n );\n}\n\nexport function all(params: APIParams): Promise {\n return (api(params) as APIPromise).then(response => allInner([response]));\n}\n\nfunction allInner(responses: APIResponse[]): Promise {\n const response = responses[responses.length - 1];\n\n if (!response.next) {\n return Promise.resolve(responses);\n }\n\n return response\n .next()\n .then(response => allInner(responses.concat([response])));\n}\n\nfunction apiRequest(url: string, options: RequestOptions): APIPromise {\n return request(url, options).then(\n (response: Response): APIPromise => {\n const apiResponse = response as APIResponse;\n const resource = resourceKey(url);\n return response.json().then(\n (data): APIResponse => {\n apiResponse.next = nextFunc(url, options, data);\n apiResponse.data = data;\n apiResponse.resource = resource ? data[resource] : null;\n apiResponse.response = response;\n return apiResponse;\n }\n );\n }\n );\n}\n\nfunction resourceKey(url: string) {\n const resource = url.match(/.+.com\\/(?[\\w]+)/);\n if (resource) {\n return resource[1];\n }\n return null;\n}\n\nfunction isReadonlyRequest(method: string) {\n return !['PUT', 'POST', 'DELETE', 'PATCH'].includes(\n method.toUpperCase() ?? 'GET'\n );\n}\n\ninterface OffsetPagination {\n type: 'offset';\n more?: boolean;\n offset?: number;\n limit?: number;\n}\n\ninterface CursorPagination {\n type: 'cursor';\n cursor?: string;\n limit?: number;\n}\n\nfunction isOffsetPagination(\n data: OffsetPagination | CursorPagination\n): data is OffsetPagination {\n if ((data as OffsetPagination).offset !== undefined) {\n return true;\n }\n return false;\n}\n\nfunction isCursorPagination(\n data: OffsetPagination | CursorPagination\n): data is CursorPagination {\n if ((data as CursorPagination).cursor !== undefined) {\n return true;\n }\n return false;\n}\n\nfunction nextFunc(\n url: string,\n options: RequestOptions,\n data: OffsetPagination | CursorPagination\n) {\n if (isOffsetPagination(data)) {\n if (data?.more && typeof data.offset !== undefined && data.limit) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n limit: data.limit!.toString(),\n offset: (data.limit! + data.offset!).toString(),\n },\n });\n }\n } else if (isCursorPagination(data)) {\n if (data?.cursor) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n cursor: data.cursor!,\n limit: data.limit!.toString(),\n },\n });\n }\n }\n\n return undefined;\n}\n\nfunction partialCall(params: Partial) {\n const partialParams = params;\n const partial = ((params: Partial) =>\n api({...partialParams, ...params})) as PartialCall;\n\n const shorthand = (method: string) => (\n endpoint: string,\n params?: Partial\n ): APIPromise =>\n api({endpoint, method, ...partialParams, ...params}) as APIPromise;\n\n partial.get = shorthand('get');\n partial.post = shorthand('post');\n partial.put = shorthand('put');\n partial.patch = shorthand('patch');\n partial.delete = shorthand('delete');\n\n partial.all = (params: APIParams) => all(params);\n\n return partial;\n}\n","import {request, RequestOptions} from './common';\n\nexport type Action = 'trigger' | 'acknowledge' | 'resolve';\n\nexport type EventPromise = Promise;\n\nexport interface EventResponse extends Response {\n data: any;\n}\n\nexport type Severity = 'critical' | 'error' | 'warning' | 'info';\n\nexport interface Image {\n src: string;\n href?: string;\n alt?: string;\n}\n\nexport interface Link {\n href: string;\n text?: string;\n}\n\nexport interface EventPayloadV2 {\n routing_key: string;\n event_action: Action;\n dedup_key?: string;\n payload: {\n summary: string;\n source: string;\n severity: Severity;\n timestamp?: string;\n component?: string;\n group?: string;\n class?: string;\n custom_details?: object;\n };\n images?: Array;\n links?: Array;\n}\n\nexport interface EventParams extends RequestOptions {\n data: EventPayloadV2;\n type?: string;\n server?: string;\n}\n\nexport interface ChangePayload {\n routing_key: string;\n payload: {\n summary: string;\n source?: string;\n timestamp: string;\n custom_details: object;\n };\n links: Array;\n}\nexport interface ChangeParams extends RequestOptions {\n data: ChangePayload;\n server?: string;\n}\n\nexport function event(params: EventParams): EventPromise {\n const {\n server = 'events.pagerduty.com',\n type = 'event',\n data,\n ...config\n } = params;\n\n let url = `https://${server}/v2/enqueue`;\n if (type === 'change') {\n url = `https://${server}/v2/change/enqueue`;\n }\n\n return eventFetch(url, {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n });\n}\n\nconst shorthand = (action: Action) => (params: EventParams): EventPromise => {\n const typeField = 'event_action';\n\n return event({\n ...params,\n data: {\n ...params.data,\n [typeField]: action,\n },\n });\n};\n\nexport const trigger = shorthand('trigger');\nexport const acknowledge = shorthand('acknowledge');\nexport const resolve = shorthand('resolve');\nexport const change = (params: EventParams) =>\n event({...params, type: 'change'});\n\nasync function eventFetch(url: string, options: RequestOptions): EventPromise {\n const resp = (await request(url, options)) as EventResponse;\n resp.data = await resp.json();\n // TODO: Something with the return data data.\n return resp;\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(337);\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://PagerDuty/./src/common.ts","webpack://PagerDuty/./src/api.ts","webpack://PagerDuty/./src/events.ts","webpack://PagerDuty/webpack/bootstrap","webpack://PagerDuty/webpack/startup","webpack://PagerDuty/webpack/runtime/define property getters","webpack://PagerDuty/webpack/runtime/hasOwnProperty shorthand","webpack://PagerDuty/webpack/runtime/make namespace object"],"names":["request","url","options","params","requestTimeout","rest","retryCount","applyParams","URL","toString","applyTimeout","fetch_retry","headers","Headers","retries","Promise","resolve","reject","fetch","then","response","status","retryTimeout","retryTimeoutPromise","milliseconds","setTimeout","combinedParams","searchParams","Object","keys","key","append","search","init","timeout","controller","AbortController","abort","signal","api","endpoint","partialParams","partial","shorthand","method","get","post","put","patch","all","partialCall","server","token","version","data","config","Accept","Authorization","includes","toUpperCase","body","JSON","stringify","apiRequest","replace","allInner","responses","length","next","concat","apiResponse","resource","match","resourceKey","json","undefined","offset","isOffsetPagination","more","limit","cursor","isCursorPagination","nextFunc","event","type","eventFetch","action","trigger","acknowledge","change","__webpack_module_cache__","__webpack_require__","moduleId","exports","module","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value"],"mappings":"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","file":"pdjs.js","sourcesContent":["/* webpack-strip-block:removed */\n\nconst VERSION = '2.0.0';\n\nexport interface RequestOptions extends RequestInit {\n params?: Record;\n retryCount?: number;\n requestTimeout?: number;\n retryTimeout?: number;\n timeout?: number;\n}\n\nexport function request(\n url: string | URL,\n options: RequestOptions = {}\n): Promise {\n const {\n params,\n requestTimeout = 30000,\n retryCount = 0,\n ...rest\n } = options;\n\n\n url = new URL(url.toString());\n\n url = applyParams(url, params);\n options = applyTimeout(options, requestTimeout);\n\n return fetch_retry(\n url.toString(),\n 3,\n {\n ...rest,\n headers: new Headers({\n 'Content-Type': 'application/json; charset=utf-8',\n /* webpack-strip-block:removed */\n ...rest.headers,\n }),\n }\n );\n}\n\nfunction fetch_retry(url: string, retries: number, options: any): Promise{\n return new Promise(function(resolve, reject) {\n fetch(url, options)\n .then((response) => {\n // We don't want to `reject` when retries have finished\n // Instead simply stop trying and return.\n if (retries === 0) return resolve(response);\n if (response.status === 429) {\n const {retryTimeout} = options;\n retryTimeoutPromise(retryTimeout).then(() => {\n fetch_retry(url, retries - 1, options).then(resolve).catch(reject);\n });\n } else {\n resolve(response);\n }\n })\n });\n}\n\nconst retryTimeoutPromise = (milliseconds: number) => {\n return new Promise(resolve => setTimeout(resolve, milliseconds))\n}\n\nfunction userAgentHeader(): object {\n if (isBrowser) return {};\n\n return {\n 'User-Agent': `pdjs/${VERSION} (${process.version}/${process.platform})`,\n };\n}\n\nfunction applyParams(url: URL, params?: Record): URL {\n if (!params) return url;\n\n const combinedParams = url.searchParams;\n\n for (const key of Object.keys(params)) {\n combinedParams.append(key, params[key]);\n }\n\n url.search = combinedParams.toString();\n return url;\n}\n\nfunction applyTimeout(init: RequestOptions, timeout?: number): RequestOptions {\n if (!timeout) return init;\n\n const controller = new AbortController();\n setTimeout(() => controller.abort(), timeout);\n\n return {\n ...init,\n signal: controller.signal,\n };\n}\n","import {request, RequestOptions} from './common';\n\nexport interface ShorthandCall {\n (res: string, params?: Partial): APIPromise;\n}\n\nexport interface PartialCall {\n (params: APIParams): APIPromise;\n (params: Partial): PartialCall;\n get: ShorthandCall;\n post: ShorthandCall;\n put: ShorthandCall;\n patch: ShorthandCall;\n delete: ShorthandCall;\n all: (params: APIParams) => Promise;\n}\n\nexport type APIParams = RequestOptions & {\n endpoint?: string;\n url?: string;\n data?: object;\n token?: string;\n server?: string;\n version?: number;\n} & ({endpoint: string} | {url: string});\n\nexport type APIPromise = Promise;\n\nexport interface APIResponse extends Response {\n data: any;\n resource: any;\n response: Response;\n next?: () => APIPromise;\n}\n\nexport function api(params: APIParams): APIPromise;\nexport function api(params: Partial): PartialCall;\nexport function api(params: Partial): APIPromise | PartialCall {\n // If the params don't include `endpoint` treat it as a partial\n // application.\n if (!params.endpoint && !params.url) {\n return partialCall(params);\n }\n\n const {\n endpoint,\n server = 'api.pagerduty.com',\n token,\n url,\n version = 2,\n data,\n ...rest\n } = params;\n\n const config: RequestOptions = {\n method: 'GET',\n ...rest,\n headers: {\n Accept: `application/vnd.pagerduty+json;version=${version}`,\n Authorization: `Token token=${token!}`,\n ...rest.headers,\n },\n };\n\n // Allow `data` for `params` for requests without bodies.\n if (isReadonlyRequest(config.method!) && data) {\n config.params = config.params ?? (data as Record);\n } else {\n config.body = JSON.stringify(data);\n }\n\n return apiRequest(\n url ?? `https://${server}/${endpoint!.replace(/^\\/+/, '')}`,\n config\n );\n}\n\nexport function all(params: APIParams): Promise {\n return (api(params) as APIPromise).then(response => allInner([response]));\n}\n\nfunction allInner(responses: APIResponse[]): Promise {\n const response = responses[responses.length - 1];\n\n if (!response.next) {\n return Promise.resolve(responses);\n }\n\n return response\n .next()\n .then(response => allInner(responses.concat([response])));\n}\n\nfunction apiRequest(url: string, options: RequestOptions): APIPromise {\n return request(url, options).then(\n (response: Response): APIPromise => {\n const apiResponse = response as APIResponse;\n const resource = resourceKey(url);\n return response.json().then(\n (data): APIResponse => {\n apiResponse.next = nextFunc(url, options, data);\n apiResponse.data = data;\n apiResponse.resource = resource ? data[resource] : null;\n apiResponse.response = response;\n return apiResponse;\n }\n );\n }\n );\n}\n\nfunction resourceKey(url: string) {\n const resource = url.match(/.+.com\\/(?[\\w]+)/);\n if (resource) {\n return resource[1];\n }\n return null;\n}\n\nfunction isReadonlyRequest(method: string) {\n return !['PUT', 'POST', 'DELETE', 'PATCH'].includes(\n method.toUpperCase() ?? 'GET'\n );\n}\n\ninterface OffsetPagination {\n type: 'offset';\n more?: boolean;\n offset?: number;\n limit?: number;\n}\n\ninterface CursorPagination {\n type: 'cursor';\n cursor?: string;\n limit?: number;\n}\n\nfunction isOffsetPagination(\n data: OffsetPagination | CursorPagination\n): data is OffsetPagination {\n if ((data as OffsetPagination).offset !== undefined) {\n return true;\n }\n return false;\n}\n\nfunction isCursorPagination(\n data: OffsetPagination | CursorPagination\n): data is CursorPagination {\n if ((data as CursorPagination).cursor !== undefined) {\n return true;\n }\n return false;\n}\n\nfunction nextFunc(\n url: string,\n options: RequestOptions,\n data: OffsetPagination | CursorPagination\n) {\n if (isOffsetPagination(data)) {\n if (data?.more && typeof data.offset !== undefined && data.limit) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n limit: data.limit!.toString(),\n offset: (data.limit! + data.offset!).toString(),\n },\n });\n }\n } else if (isCursorPagination(data)) {\n if (data?.cursor) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n cursor: data.cursor!,\n limit: data.limit!.toString(),\n },\n });\n }\n }\n\n return undefined;\n}\n\nfunction partialCall(params: Partial) {\n const partialParams = params;\n const partial = ((params: Partial) =>\n api({...partialParams, ...params})) as PartialCall;\n\n const shorthand = (method: string) => (\n endpoint: string,\n params?: Partial\n ): APIPromise =>\n api({endpoint, method, ...partialParams, ...params}) as APIPromise;\n\n partial.get = shorthand('get');\n partial.post = shorthand('post');\n partial.put = shorthand('put');\n partial.patch = shorthand('patch');\n partial.delete = shorthand('delete');\n\n partial.all = (params: APIParams) => all(params);\n\n return partial;\n}\n","import {request, RequestOptions} from './common';\n\nexport type Action = 'trigger' | 'acknowledge' | 'resolve';\n\nexport type EventPromise = Promise;\n\nexport interface EventResponse extends Response {\n data: any;\n response: Response;\n}\n\nexport type Severity = 'critical' | 'error' | 'warning' | 'info';\n\nexport interface Image {\n src: string;\n href?: string;\n alt?: string;\n}\n\nexport interface Link {\n href: string;\n text?: string;\n}\n\nexport interface EventPayloadV2 {\n routing_key: string;\n event_action: Action;\n dedup_key?: string;\n payload: {\n summary: string;\n source: string;\n severity: Severity;\n timestamp?: string;\n component?: string;\n group?: string;\n class?: string;\n custom_details?: object;\n };\n images?: Array;\n links?: Array;\n}\n\nexport interface EventParams extends RequestOptions {\n data: EventPayloadV2;\n type?: string;\n server?: string;\n}\n\nexport interface ChangePayload {\n routing_key: string;\n payload: {\n summary: string;\n source?: string;\n timestamp: string;\n custom_details: object;\n };\n links: Array;\n}\nexport interface ChangeParams extends RequestOptions {\n data: ChangePayload;\n server?: string;\n}\n\nexport function event(params: EventParams): EventPromise {\n const {\n server = 'events.pagerduty.com',\n type = 'event',\n data,\n ...config\n } = params;\n\n let url = `https://${server}/v2/enqueue`;\n if (type === 'change') {\n url = `https://${server}/v2/change/enqueue`;\n }\n\n return eventFetch(url, {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n });\n}\n\nconst shorthand = (action: Action) => (params: EventParams): EventPromise => {\n const typeField = 'event_action';\n\n return event({\n ...params,\n data: {\n ...params.data,\n [typeField]: action,\n },\n });\n};\n\nexport const trigger = shorthand('trigger');\nexport const acknowledge = shorthand('acknowledge');\nexport const resolve = shorthand('resolve');\nexport const change = (params: EventParams) =>\n event({...params, type: 'change'});\n\nfunction eventFetch(url: string, options: RequestOptions): EventPromise {\n return request(url, options).then(\n (response: Response): EventPromise => {\n const apiResponse = response as EventResponse;\n return response.json().then(\n (data): EventResponse => {\n apiResponse.data = data;\n apiResponse.response = response;\n return apiResponse;\n }\n );\n }\n );\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(337);\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"sourceRoot":""} \ No newline at end of file diff --git a/src/api.ts b/src/api.ts index f5b8ae4..b493d03 100644 --- a/src/api.ts +++ b/src/api.ts @@ -27,8 +27,8 @@ export type APIParams = RequestOptions & { export type APIPromise = Promise; export interface APIResponse extends Response { - data: any; - resource: any; + data: object; + resource: object; response: Response; next?: () => APIPromise; } diff --git a/src/common.ts b/src/common.ts index 616d0e0..1b3d1ea 100644 --- a/src/common.ts +++ b/src/common.ts @@ -3,7 +3,7 @@ import fetch, {Headers} from 'cross-fetch'; // TODO: Proper type support for abortcontroller-polyfill // @ts-ignore -import { AbortController } from 'abortcontroller-polyfill/dist/cjs-ponyfill'; +import {AbortController} from 'abortcontroller-polyfill/dist/cjs-ponyfill'; import {isBrowser} from 'browser-or-node'; /* LEGACY-BROWSER-SUPPORT-END */ @@ -21,57 +21,52 @@ export function request( url: string | URL, options: RequestOptions = {} ): Promise { - const { - params, - requestTimeout = 30000, - retryCount = 0, - ...rest - } = options; - + const {params, requestTimeout = 30000, ...rest} = options; url = new URL(url.toString()); url = applyParams(url, params); options = applyTimeout(options, requestTimeout); - return fetch_retry( - url.toString(), - 3, - { - ...rest, - headers: new Headers({ - 'Content-Type': 'application/json; charset=utf-8', - /* LEGACY-BROWSER-SUPPORT-START */ - ...userAgentHeader(), - /* LEGACY-BROWSER-SUPPORT-END */ - ...rest.headers, - }), - } - ); + return fetch_retry(url.toString(), 3, { + ...rest, + headers: new Headers({ + 'Content-Type': 'application/json; charset=utf-8', + /* LEGACY-BROWSER-SUPPORT-START */ + ...userAgentHeader(), + /* LEGACY-BROWSER-SUPPORT-END */ + ...rest.headers, + }), + }); } -function fetch_retry(url: string, retries: number, options: any): Promise{ - return new Promise(function(resolve, reject) { - fetch(url, options) - .then((response) => { - // We don't want to `reject` when retries have finished - // Instead simply stop trying and return. - if (retries === 0) return resolve(response); - if (response.status === 429) { - const {retryTimeout} = options; - retryTimeoutPromise(retryTimeout).then(() => { - fetch_retry(url, retries - 1, options).then(resolve).catch(reject); - }); - } else { - resolve(response); - } - }) +function fetch_retry( + url: string, + retries: number, + options: RequestOptions +): Promise { + return new Promise((resolve, reject) => { + fetch(url, options).then(response => { + // We don't want to `reject` when retries have finished + // Instead simply stop trying and return. + if (retries === 0) return resolve(response); + if (response.status === 429) { + const {retryTimeout = 20000} = options; + retryTimeoutPromise(retryTimeout).then(() => { + fetch_retry(url, retries - 1, options) + .then(resolve) + .catch(reject); + }); + } else { + resolve(response); + } + }); }); } const retryTimeoutPromise = (milliseconds: number) => { - return new Promise(resolve => setTimeout(resolve, milliseconds)) -} + return new Promise(resolve => setTimeout(resolve, milliseconds)); +}; function userAgentHeader(): object { if (isBrowser) return {}; diff --git a/src/events.test.ts b/src/events.test.ts index b72cf39..1aa1484 100644 --- a/src/events.test.ts +++ b/src/events.test.ts @@ -32,10 +32,10 @@ test('Events API properly passes Events V2 requests', async done => { .post('/v2/enqueue') .reply(200, body); - const resp = await event(eventPayloadV2); + const response = await event(eventPayloadV2); - expect(resp.url).toEqual('https://events.pagerduty.com/v2/enqueue'); - expect(resp.data).toEqual(body); + expect(response.url).toEqual('https://events.pagerduty.com/v2/enqueue'); + expect(response.data).toEqual(body); done(); }); @@ -56,10 +56,12 @@ test('Events API properly passes Change Events requests', async done => { .post('/v2/change/enqueue') .reply(200, body); - const resp = await change(eventPayloadV2); + const response = await change(eventPayloadV2); - expect(resp.url).toEqual('https://events.pagerduty.com/v2/change/enqueue'); - expect(resp.data).toEqual(body); + expect(response.url).toEqual( + 'https://events.pagerduty.com/v2/change/enqueue' + ); + expect(response.data).toEqual(body); done(); }); @@ -80,7 +82,7 @@ test('Events API properly passes Events V2 requests with images/links/details', .post('/v2/enqueue') .reply(200, body); - const resp = await event({ + const response = await event({ data: { routing_key: 'someRoutingKeybfa2a710673888f520', event_action: 'trigger', @@ -106,8 +108,8 @@ test('Events API properly passes Events V2 requests with images/links/details', }, }); - expect(resp.url).toEqual('https://events.pagerduty.com/v2/enqueue'); - expect(resp.data).toEqual(body); + expect(response.url).toEqual('https://events.pagerduty.com/v2/enqueue'); + expect(response.data).toEqual(body); done(); }); @@ -125,12 +127,26 @@ test('Events API shorthands should send corresponding events', async done => { 'User-Agent': header => header.startsWith('pdjs'), }, }) + .post('/v2/enqueue') + .reply(200, body) + .post('/v2/enqueue') + .reply(200, body) .post('/v2/enqueue') .reply(200, body); - const resp = await acknowledge(eventPayloadV2); + let response = await acknowledge(eventPayloadV2); + + expect(response.url).toEqual('https://events.pagerduty.com/v2/enqueue'); + expect(response.data).toEqual(body); + + response = await resolve(eventPayloadV2); + + expect(response.url).toEqual('https://events.pagerduty.com/v2/enqueue'); + expect(response.data).toEqual(body); + + response = await trigger(eventPayloadV2); - expect(resp.url).toEqual('https://events.pagerduty.com/v2/enqueue'); - expect(resp.data).toEqual(body); + expect(response.url).toEqual('https://events.pagerduty.com/v2/enqueue'); + expect(response.data).toEqual(body); done(); }); diff --git a/src/retries.test.ts b/src/retries.test.ts index f433c5d..2a493dc 100644 --- a/src/retries.test.ts +++ b/src/retries.test.ts @@ -1,13 +1,5 @@ import nock = require('nock'); -import {all, api} from './index'; - -const EMPTY_BODY = { - incidents: [], - limit: 25, - offset: 0, - total: null, - more: false, -}; +import {api} from './index'; test('API request should return after 3 rate limited requests', async done => { const body = { @@ -26,9 +18,13 @@ test('API request should return after 3 rate limited requests', async done => { .get('/incidents') .reply(429, body) .get('/incidents') - .reply(429, body) + .reply(429, body); - const response = await api({token: 'someToken1234567890', endpoint: '/incidents', retryTimeout: 20}); + const response = await api({ + token: 'someToken1234567890', + endpoint: '/incidents', + retryTimeout: 20, + }); expect(response.response.status).toEqual(429); done(); @@ -49,7 +45,11 @@ test('API should return data after getting rate limited once.', async done => { .get('/incidents') .reply(200, body); - const response = await api({token: 'someToken1234567890', endpoint: '/incidents', retryTimeout: 20}); + const response = await api({ + token: 'someToken1234567890', + endpoint: '/incidents', + retryTimeout: 20, + }); expect(response.response.status).toEqual(200); expect(response.data).toEqual(body); From 833b338a4d73e8dd6b02757f6d0c326ac9b3432a Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Thu, 12 Nov 2020 11:06:25 -0500 Subject: [PATCH 17/26] Define type for AbortController. --- src/common.ts | 5 +---- src/events.ts | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/common.ts b/src/common.ts index 1b3d1ea..69c71a3 100644 --- a/src/common.ts +++ b/src/common.ts @@ -1,9 +1,6 @@ /* LEGACY-BROWSER-SUPPORT-START */ import fetch, {Headers} from 'cross-fetch'; - -// TODO: Proper type support for abortcontroller-polyfill -// @ts-ignore -import {AbortController} from 'abortcontroller-polyfill/dist/cjs-ponyfill'; +import {AbortController} from 'abortcontroller-polyfill'; import {isBrowser} from 'browser-or-node'; /* LEGACY-BROWSER-SUPPORT-END */ diff --git a/src/events.ts b/src/events.ts index 4740bc0..03d147a 100644 --- a/src/events.ts +++ b/src/events.ts @@ -5,7 +5,7 @@ export type Action = 'trigger' | 'acknowledge' | 'resolve'; export type EventPromise = Promise; export interface EventResponse extends Response { - data: any; + data: object; response: Response; } From 58fdb9be9943232711dbe2c516f5f46ada176151 Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Thu, 12 Nov 2020 11:11:34 -0500 Subject: [PATCH 18/26] Fix decs. --- src/common.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common.ts b/src/common.ts index 69c71a3..08a2247 100644 --- a/src/common.ts +++ b/src/common.ts @@ -1,6 +1,6 @@ /* LEGACY-BROWSER-SUPPORT-START */ import fetch, {Headers} from 'cross-fetch'; -import {AbortController} from 'abortcontroller-polyfill'; +import {AbortController} from 'abortcontroller-polyfill/dist/cjs-ponyfill'; import {isBrowser} from 'browser-or-node'; /* LEGACY-BROWSER-SUPPORT-END */ From 13ed97621ec2bb3f7123397b30a5496fb3265f11 Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Thu, 12 Nov 2020 11:13:51 -0500 Subject: [PATCH 19/26] Add the decs file. Facepalm. --- src/decs.d.ts | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 src/decs.d.ts diff --git a/src/decs.d.ts b/src/decs.d.ts new file mode 100644 index 0000000..ab0e4a3 --- /dev/null +++ b/src/decs.d.ts @@ -0,0 +1,2 @@ +// TODO: Proper type support for abortcontroller-polyfill +declare module 'abortcontroller-polyfill/dist/cjs-ponyfill'; From a1afaf25931b8ae20b573a65acee3ebf366c15e4 Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Thu, 12 Nov 2020 11:18:05 -0500 Subject: [PATCH 20/26] Revert changes to object for data fields. --- src/api.ts | 4 ++-- src/events.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/api.ts b/src/api.ts index b493d03..f5b8ae4 100644 --- a/src/api.ts +++ b/src/api.ts @@ -27,8 +27,8 @@ export type APIParams = RequestOptions & { export type APIPromise = Promise; export interface APIResponse extends Response { - data: object; - resource: object; + data: any; + resource: any; response: Response; next?: () => APIPromise; } diff --git a/src/events.ts b/src/events.ts index 03d147a..4740bc0 100644 --- a/src/events.ts +++ b/src/events.ts @@ -5,7 +5,7 @@ export type Action = 'trigger' | 'acknowledge' | 'resolve'; export type EventPromise = Promise; export interface EventResponse extends Response { - data: object; + data: any; response: Response; } From 78d4cbf0f73031e331891ec0d8edcd380b61b318 Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Thu, 12 Nov 2020 16:08:54 -0500 Subject: [PATCH 21/26] Fix up params, and also break it. --- README.md | 12 +++++------ src/api.test.ts | 24 ++++++++++++++++++++- src/api.ts | 55 +++++++++++++++++++++++++------------------------ src/common.ts | 32 ++++++++++++++++++---------- src/events.ts | 18 ++++++++-------- 5 files changed, 86 insertions(+), 55 deletions(-) diff --git a/README.md b/README.md index 3968ce5..f08bbb5 100644 --- a/README.md +++ b/README.md @@ -3,17 +3,15 @@ A simple JavaScript wrapper for the PagerDuty APIs. - Supports Node and Browser environments - - Supports REST, Events v1, Events v2 APIs. + - Supports REST and Events v2 APIs. - Supports both offset and cursor based pagination -## Installation - -**Note:** Proper NPM support still TODO. +For full [API Reference see this page.](https://developer.pagerduty.com/api-reference) -For the time being: +## Installation ```bash -npm install --save pagerduty/pdjs#2.0 +npm install --save @pagerduty/pdjs ``` ## Usage @@ -165,7 +163,7 @@ Either of these files can be used by copying them into your project and includin ```html diff --git a/src/api.test.ts b/src/api.test.ts index 238d436..9f1fb90 100644 --- a/src/api.test.ts +++ b/src/api.test.ts @@ -107,7 +107,7 @@ test('API calls support partial application with convenience methods', async don done(); }); -test('API calls use data in place of params when provided on GET requests', async done => { +test('API calls use data in place of queryParameters when provided on GET requests', async done => { nock('https://api.pagerduty.com') .get('/incidents?sort_by=created_at&total=true') .reply(200, EMPTY_BODY); @@ -144,6 +144,28 @@ test('API calls populate resource field', async done => { done(); }); +test('API explodes list based parameters properly', async done => { + nock('https://api.pagerduty.com') + .get('/incidents?additional_fields[]=one&additional_fields[]=two&additional_fields[]=three') + .reply(200, { + incidents: ['one', 1, null], + limit: 25, + offset: 0, + total: null, + more: false, + }); + + const resp = await api({ + token: 'someToken1234567890', + endpoint: '/incidents', + queryParameters: { + 'additional_fields[]': ['one', 'two', 'three'] + } + }); + expect(resp.url).toEqual('https://api.pagerduty.com/incidents?additional_fields[]=one&additional_fields[]=two&additional_fields[]=three'); + done(); +}); + test('API `all` calls for offset should generate requests until no more results', async done => { const body = { incidents: [], diff --git a/src/api.ts b/src/api.ts index f5b8ae4..31a64f1 100644 --- a/src/api.ts +++ b/src/api.ts @@ -1,27 +1,28 @@ import {request, RequestOptions} from './common'; export interface ShorthandCall { - (res: string, params?: Partial): APIPromise; + (res: string, apiParameters?: Partial): APIPromise; } export interface PartialCall { - (params: APIParams): APIPromise; - (params: Partial): PartialCall; + (apiParameters: APIParameters): APIPromise; + (apiParameters: Partial): PartialCall; get: ShorthandCall; post: ShorthandCall; put: ShorthandCall; patch: ShorthandCall; delete: ShorthandCall; - all: (params: APIParams) => Promise; + all: (apiParameters: APIParameters) => Promise; } -export type APIParams = RequestOptions & { +export type APIParameters = RequestOptions & { endpoint?: string; url?: string; data?: object; token?: string; server?: string; version?: number; + queryParameters?: any; } & ({endpoint: string} | {url: string}); export type APIPromise = Promise; @@ -33,13 +34,13 @@ export interface APIResponse extends Response { next?: () => APIPromise; } -export function api(params: APIParams): APIPromise; -export function api(params: Partial): PartialCall; -export function api(params: Partial): APIPromise | PartialCall { - // If the params don't include `endpoint` treat it as a partial +export function api(apiParameters: APIParameters): APIPromise; +export function api(apiParameters: Partial): PartialCall; +export function api(apiParameters: Partial): APIPromise | PartialCall { + // If the apiParameters don't include `endpoint` treat it as a partial // application. - if (!params.endpoint && !params.url) { - return partialCall(params); + if (!apiParameters.endpoint && !apiParameters.url) { + return partialCall(apiParameters); } const { @@ -50,7 +51,7 @@ export function api(params: Partial): APIPromise | PartialCall { version = 2, data, ...rest - } = params; + } = apiParameters; const config: RequestOptions = { method: 'GET', @@ -62,9 +63,9 @@ export function api(params: Partial): APIPromise | PartialCall { }, }; - // Allow `data` for `params` for requests without bodies. + // Allow `data` for `queryParameters` for requests without bodies. if (isReadonlyRequest(config.method!) && data) { - config.params = config.params ?? (data as Record); + config.queryParameters = config.queryParameters ?? (data as Record); } else { config.body = JSON.stringify(data); } @@ -75,8 +76,8 @@ export function api(params: Partial): APIPromise | PartialCall { ); } -export function all(params: APIParams): Promise { - return (api(params) as APIPromise).then(response => allInner([response])); +export function all(apiParameters: APIParameters): Promise { + return (api(apiParameters) as APIPromise).then(response => allInner([response])); } function allInner(responses: APIResponse[]): Promise { @@ -164,8 +165,8 @@ function nextFunc( return () => apiRequest(url, { ...options, - params: { - ...options.params, + queryParameters: { + ...options.queryParameters, limit: data.limit!.toString(), offset: (data.limit! + data.offset!).toString(), }, @@ -176,8 +177,8 @@ function nextFunc( return () => apiRequest(url, { ...options, - params: { - ...options.params, + queryParameters: { + ...options.queryParameters, cursor: data.cursor!, limit: data.limit!.toString(), }, @@ -188,16 +189,16 @@ function nextFunc( return undefined; } -function partialCall(params: Partial) { - const partialParams = params; - const partial = ((params: Partial) => - api({...partialParams, ...params})) as PartialCall; +function partialCall(apiParameters: Partial) { + const partialParameters = apiParameters; + const partial = ((apiParameters: Partial) => + api({...partialParameters, ...apiParameters})) as PartialCall; const shorthand = (method: string) => ( endpoint: string, - params?: Partial + apiParameters?: Partial ): APIPromise => - api({endpoint, method, ...partialParams, ...params}) as APIPromise; + api({endpoint, method, ...partialParameters, ...apiParameters}) as APIPromise; partial.get = shorthand('get'); partial.post = shorthand('post'); @@ -205,7 +206,7 @@ function partialCall(params: Partial) { partial.patch = shorthand('patch'); partial.delete = shorthand('delete'); - partial.all = (params: APIParams) => all(params); + partial.all = (apiParameters: APIParameters) => all(apiParameters); return partial; } diff --git a/src/common.ts b/src/common.ts index 08a2247..526d20e 100644 --- a/src/common.ts +++ b/src/common.ts @@ -6,8 +6,10 @@ import {isBrowser} from 'browser-or-node'; const VERSION = '2.0.0'; +type QueryParameter = Record>; + export interface RequestOptions extends RequestInit { - params?: Record; + queryParameters?: QueryParameter; retryCount?: number; requestTimeout?: number; retryTimeout?: number; @@ -18,11 +20,11 @@ export function request( url: string | URL, options: RequestOptions = {} ): Promise { - const {params, requestTimeout = 30000, ...rest} = options; + const {queryParameters, requestTimeout = 30000, ...rest} = options; url = new URL(url.toString()); - url = applyParams(url, params); + url = applyParameters(url, queryParameters); options = applyTimeout(options, requestTimeout); return fetch_retry(url.toString(), 3, { @@ -73,16 +75,24 @@ function userAgentHeader(): object { }; } -function applyParams(url: URL, params?: Record): URL { - if (!params) return url; - - const combinedParams = url.searchParams; - - for (const key of Object.keys(params)) { - combinedParams.append(key, params[key]); +function applyParameters(url: URL, queryParameters?: QueryParameter): URL { + if (!queryParameters) return url; + + const combinedParameters = url.searchParams; + + for (const key of Object.keys(queryParameters)) { + let parameter = queryParameters[key]; + if (typeof parameter === 'string') { + combinedParameters.append(key, parameter); + } else { + // Support for array based keys like `additional_fields[]` + parameter.forEach((item) => { + combinedParameters.append(key, item); + }) + } } - url.search = combinedParams.toString(); + url.search = combinedParameters.toString(); return url; } diff --git a/src/events.ts b/src/events.ts index 4740bc0..84e24e2 100644 --- a/src/events.ts +++ b/src/events.ts @@ -40,7 +40,7 @@ export interface EventPayloadV2 { links?: Array; } -export interface EventParams extends RequestOptions { +export interface EventParameters extends RequestOptions { data: EventPayloadV2; type?: string; server?: string; @@ -56,18 +56,18 @@ export interface ChangePayload { }; links: Array; } -export interface ChangeParams extends RequestOptions { +export interface ChangeParameters extends RequestOptions { data: ChangePayload; server?: string; } -export function event(params: EventParams): EventPromise { +export function event(eventParameters: EventParameters): EventPromise { const { server = 'events.pagerduty.com', type = 'event', data, ...config - } = params; + } = eventParameters; let url = `https://${server}/v2/enqueue`; if (type === 'change') { @@ -81,13 +81,13 @@ export function event(params: EventParams): EventPromise { }); } -const shorthand = (action: Action) => (params: EventParams): EventPromise => { +const shorthand = (action: Action) => (eventParameters: EventParameters): EventPromise => { const typeField = 'event_action'; return event({ - ...params, + ...eventParameters, data: { - ...params.data, + ...eventParameters.data, [typeField]: action, }, }); @@ -96,8 +96,8 @@ const shorthand = (action: Action) => (params: EventParams): EventPromise => { export const trigger = shorthand('trigger'); export const acknowledge = shorthand('acknowledge'); export const resolve = shorthand('resolve'); -export const change = (params: EventParams) => - event({...params, type: 'change'}); +export const change = (eventParameters: EventParameters) => + event({...eventParameters, type: 'change'}); function eventFetch(url: string, options: RequestOptions): EventPromise { return request(url, options).then( From 7b5351110c6363d1f33387fbd29189ca3c20236f Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Thu, 12 Nov 2020 16:10:30 -0500 Subject: [PATCH 22/26] Add first example. --- examples/browser.html | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 examples/browser.html diff --git a/examples/browser.html b/examples/browser.html new file mode 100644 index 0000000..b11596a --- /dev/null +++ b/examples/browser.html @@ -0,0 +1,38 @@ + + + + + + + + + + +
    + + From 642bfc419b347b131aee5f0e7d9704d734238990 Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Thu, 12 Nov 2020 16:25:31 -0500 Subject: [PATCH 23/26] Fix build error and check for array instead of string. --- src/api.test.ts | 2 +- src/api.ts | 5 ++--- src/common.ts | 7 ++++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/api.test.ts b/src/api.test.ts index 9f1fb90..24df2c1 100644 --- a/src/api.test.ts +++ b/src/api.test.ts @@ -162,7 +162,7 @@ test('API explodes list based parameters properly', async done => { 'additional_fields[]': ['one', 'two', 'three'] } }); - expect(resp.url).toEqual('https://api.pagerduty.com/incidents?additional_fields[]=one&additional_fields[]=two&additional_fields[]=three'); + expect(resp.url).toEqual('https://api.pagerduty.com/incidents?additional_fields%5B%5D=one&additional_fields%5B%5D=two&additional_fields%5B%5D=three'); done(); }); diff --git a/src/api.ts b/src/api.ts index 31a64f1..943dff4 100644 --- a/src/api.ts +++ b/src/api.ts @@ -22,7 +22,6 @@ export type APIParameters = RequestOptions & { token?: string; server?: string; version?: number; - queryParameters?: any; } & ({endpoint: string} | {url: string}); export type APIPromise = Promise; @@ -196,9 +195,9 @@ function partialCall(apiParameters: Partial) { const shorthand = (method: string) => ( endpoint: string, - apiParameters?: Partial + shorthandParameters?: Partial ): APIPromise => - api({endpoint, method, ...partialParameters, ...apiParameters}) as APIPromise; + api({endpoint, method, ...partialParameters, ...shorthandParameters}) as APIPromise; partial.get = shorthand('get'); partial.post = shorthand('post'); diff --git a/src/common.ts b/src/common.ts index 526d20e..477281d 100644 --- a/src/common.ts +++ b/src/common.ts @@ -82,13 +82,14 @@ function applyParameters(url: URL, queryParameters?: QueryParameter): URL { for (const key of Object.keys(queryParameters)) { let parameter = queryParameters[key]; - if (typeof parameter === 'string') { - combinedParameters.append(key, parameter); - } else { + if (Array.isArray(parameter)) { // Support for array based keys like `additional_fields[]` + console.log(parameter); parameter.forEach((item) => { combinedParameters.append(key, item); }) + } else { + combinedParameters.append(key, parameter); } } From 443075eda8f8a0bc3281da726cc006009d78dae3 Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Thu, 12 Nov 2020 16:36:22 -0500 Subject: [PATCH 24/26] Clean up linting and tests. --- src/api.test.ts | 13 +++++++++---- src/api.ts | 18 ++++++++++++++---- src/common.ts | 7 +++---- src/events.ts | 4 +++- 4 files changed, 29 insertions(+), 13 deletions(-) diff --git a/src/api.test.ts b/src/api.test.ts index 24df2c1..aa3cb34 100644 --- a/src/api.test.ts +++ b/src/api.test.ts @@ -146,7 +146,9 @@ test('API calls populate resource field', async done => { test('API explodes list based parameters properly', async done => { nock('https://api.pagerduty.com') - .get('/incidents?additional_fields[]=one&additional_fields[]=two&additional_fields[]=three') + .get( + '/incidents?additional_fields[]=one&additional_fields[]=two&additional_fields[]=three' + ) .reply(200, { incidents: ['one', 1, null], limit: 25, @@ -159,10 +161,13 @@ test('API explodes list based parameters properly', async done => { token: 'someToken1234567890', endpoint: '/incidents', queryParameters: { - 'additional_fields[]': ['one', 'two', 'three'] - } + 'additional_fields[]': ['one', 'two', 'three'], + }, }); - expect(resp.url).toEqual('https://api.pagerduty.com/incidents?additional_fields%5B%5D=one&additional_fields%5B%5D=two&additional_fields%5B%5D=three'); + + expect(resp.url).toEqual( + `https://api.pagerduty.com/incidents?additional_fields%5B%5D=one&additional_fields%5B%5D=two&additional_fields%5B%5D=three` + ); done(); }); diff --git a/src/api.ts b/src/api.ts index 943dff4..02a01ba 100644 --- a/src/api.ts +++ b/src/api.ts @@ -35,7 +35,9 @@ export interface APIResponse extends Response { export function api(apiParameters: APIParameters): APIPromise; export function api(apiParameters: Partial): PartialCall; -export function api(apiParameters: Partial): APIPromise | PartialCall { +export function api( + apiParameters: Partial +): APIPromise | PartialCall { // If the apiParameters don't include `endpoint` treat it as a partial // application. if (!apiParameters.endpoint && !apiParameters.url) { @@ -64,7 +66,8 @@ export function api(apiParameters: Partial): APIPromise | Partial // Allow `data` for `queryParameters` for requests without bodies. if (isReadonlyRequest(config.method!) && data) { - config.queryParameters = config.queryParameters ?? (data as Record); + config.queryParameters = + config.queryParameters ?? (data as Record); } else { config.body = JSON.stringify(data); } @@ -76,7 +79,9 @@ export function api(apiParameters: Partial): APIPromise | Partial } export function all(apiParameters: APIParameters): Promise { - return (api(apiParameters) as APIPromise).then(response => allInner([response])); + return (api(apiParameters) as APIPromise).then(response => + allInner([response]) + ); } function allInner(responses: APIResponse[]): Promise { @@ -197,7 +202,12 @@ function partialCall(apiParameters: Partial) { endpoint: string, shorthandParameters?: Partial ): APIPromise => - api({endpoint, method, ...partialParameters, ...shorthandParameters}) as APIPromise; + api({ + endpoint, + method, + ...partialParameters, + ...shorthandParameters, + }) as APIPromise; partial.get = shorthand('get'); partial.post = shorthand('post'); diff --git a/src/common.ts b/src/common.ts index 477281d..51be4b4 100644 --- a/src/common.ts +++ b/src/common.ts @@ -81,13 +81,12 @@ function applyParameters(url: URL, queryParameters?: QueryParameter): URL { const combinedParameters = url.searchParams; for (const key of Object.keys(queryParameters)) { - let parameter = queryParameters[key]; + const parameter = queryParameters[key]; if (Array.isArray(parameter)) { // Support for array based keys like `additional_fields[]` - console.log(parameter); - parameter.forEach((item) => { + parameter.forEach(item => { combinedParameters.append(key, item); - }) + }); } else { combinedParameters.append(key, parameter); } diff --git a/src/events.ts b/src/events.ts index 84e24e2..5ad512b 100644 --- a/src/events.ts +++ b/src/events.ts @@ -81,7 +81,9 @@ export function event(eventParameters: EventParameters): EventPromise { }); } -const shorthand = (action: Action) => (eventParameters: EventParameters): EventPromise => { +const shorthand = (action: Action) => ( + eventParameters: EventParameters +): EventPromise => { const typeField = 'event_action'; return event({ From 3f9a8630fb6953ebf12605ba68b13b9d60f61351 Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Thu, 12 Nov 2020 16:57:00 -0500 Subject: [PATCH 25/26] Update dist. --- dist/pdjs-legacy.js | 2 +- dist/pdjs-legacy.js.map | 2 +- dist/pdjs.js | 2 +- dist/pdjs.js.map | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dist/pdjs-legacy.js b/dist/pdjs-legacy.js index fabf372..9807a9e 100644 --- a/dist/pdjs-legacy.js +++ b/dist/pdjs-legacy.js @@ -1,2 +1,2 @@ -var PagerDuty;PagerDuty=(()=>{var t={988:(t,e)=>{"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var r=0;r{"use strict";r.r(e),r.d(e,{acknowledge:()=>F,all:()=>A,api:()=>T,change:()=>q,event:()=>I,resolve:()=>L,trigger:()=>C});var n=r(98),o=r.n(n),i=r(988),u=r(818);function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function a(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function l(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e,o=r.params,i=r.requestTimeout,u=void 0===i?3e4:i,s=(r.retryCount,f(r,["params","requestTimeout","retryCount"]));return t=d(t=new URL(t.toString()),o),e=b(e,u),p(t.toString(),3,a(a({},s),{},{headers:new n.Headers(a(a({"Content-Type":"application/json; charset=utf-8"},h()),s.headers))}))}function p(t,e,r){return new Promise((function(n,i){o()(t,r).then((function(o){if(0===e)return n(o);if(429===o.status){var u=r.retryTimeout;y(u).then((function(){p(t,e-1,r).then(n).catch(i)}))}else n(o)}))}))}var y=function(t){return new Promise((function(e){return setTimeout(e,t)}))};function h(){return u.jU?{}:{"User-Agent":"pdjs/".concat("2.0.0"," (").concat(process.version,"/").concat(process.platform,")")}}function d(t,e){if(!e)return t;for(var r=t.searchParams,n=0,o=Object.keys(e);n]+)>/g,(function(t,e){return"$"+r[e]})))}if("function"==typeof e){var i=this;return n[Symbol.replace].call(this,t,(function(){var t=[];return t.push.apply(t,arguments),"object"!==v(t[t.length-1])&&t.push(u(t,i)),e.apply(this,t)}))}return n[Symbol.replace].call(this,t,e)},m.apply(this,arguments)}function g(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&P(t,e)}function O(t){var e="function"==typeof Map?new Map:void 0;return(O=function(t){if(null===t||(r=t,-1===Function.toString.call(r).indexOf("[native code]")))return t;var r;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return w(t,arguments,E(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),P(n,t)})(t)}function w(t,e,r){return(w=j()?Reflect.construct:function(t,e,r){var n=[null];n.push.apply(n,e);var o=new(Function.bind.apply(t,n));return r&&P(o,r.prototype),o}).apply(null,arguments)}function j(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function P(t,e){return(P=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function E(t){return(E=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function S(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function x(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["endpoint","server","token","url","version","data"]),y=x(x({method:"GET"},p),{},{headers:x({Accept:"application/vnd.pagerduty+json;version=".concat(f),Authorization:"Token token=".concat(s)},p.headers)});return r=y.method,!["PUT","POST","DELETE","PATCH"].includes(null!==(n=r.toUpperCase())&&void 0!==n?n:"GET")&&l?y.params=null!==(e=y.params)&&void 0!==e?e:l:y.body=JSON.stringify(l),R(null!=a?a:"https://".concat(u,"/").concat(o.replace(/^\/+/,"")),y)}function A(t){return T(t).then((function(t){return D([t])}))}function D(t){var e=t[t.length-1];return e.next?e.next().then((function(e){return D(t.concat([e]))})):Promise.resolve(t)}function R(t,e){return l(t,e).then((function(r){var n=r,o=function(t){var e=t.match(m(/.+.com\/([0-9A-Z_a-z]+)/,{resource:1}));return e?e[1]:null}(t);return r.json().then((function(i){return n.next=function(t,e,r){if(function(t){return void 0!==t.offset}(r)){if((null==r?void 0:r.more)&&void 0!==v(r.offset)&&r.limit)return function(){return R(t,x(x({},e),{},{params:x(x({},e.params),{},{limit:r.limit.toString(),offset:(r.limit+r.offset).toString()})}))}}else if(function(t){return void 0!==t.cursor}(r)&&(null==r?void 0:r.cursor))return function(){return R(t,x(x({},e),{},{params:x(x({},e.params),{},{cursor:r.cursor,limit:r.limit.toString()})}))}}(t,e,i),n.data=i,n.resource=o?i[o]:null,n.response=r,n}))}))}function B(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function U(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["server","type","data"]),s="https://".concat(r,"/v2/enqueue");return"change"===o&&(s="https://".concat(r,"/v2/change/enqueue")),function(t,e){return l(t,e).then((function(t){var e=t;return t.json().then((function(r){return e.data=r,e.response=t,e}))}))}(s,U({method:"POST",body:JSON.stringify(i)},u))}var M=function(t){return function(e){return I(U(U({},e),{},{data:U(U({},e.data),{},k({},"event_action",t))}))}},C=M("trigger"),F=M("acknowledge"),L=M("resolve"),q=function(t){return I(U(U({},t),{},{type:"change"}))}},818:(t,e)=>{"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n="undefined"!=typeof window&&void 0!==window.document;"object"===("undefined"==typeof self?"undefined":r(self))&&self.constructor&&self.constructor.name,"undefined"!=typeof process&&null!=process.versions&&process.versions.node;e.jU=n},98:function(t,e){var r=function(t){function e(){this.fetch=!1,this.DOMException=t.DOMException}return e.prototype=t,new e}("undefined"!=typeof self?self:this);!function(t){!function(e){var r="URLSearchParams"in t,n="Symbol"in t&&"iterator"in Symbol,o="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),i="FormData"in t,u="ArrayBuffer"in t;if(u)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],a=ArrayBuffer.isView||function(t){return t&&s.indexOf(Object.prototype.toString.call(t))>-1};function c(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function f(t){return"string"!=typeof t&&(t=String(t)),t}function l(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return n&&(e[Symbol.iterator]=function(){return e}),e}function p(t){this.map={},t instanceof p?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function y(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function h(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function d(t){var e=new FileReader,r=h(e);return e.readAsArrayBuffer(t),r}function b(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:o&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:i&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:r&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():u&&o&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=b(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):u&&(ArrayBuffer.prototype.isPrototypeOf(t)||a(t))?this._bodyArrayBuffer=b(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var t=y(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?y(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(d)}),this.text=function(){var t,e,r,n=y(this);if(n)return n;if(this._bodyBlob)return t=this._bodyBlob,r=h(e=new FileReader),e.readAsText(t),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n-1?n:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function O(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}})),e}function w(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new p(e.headers),this.url=e.url||"",this._initBody(t)}g.prototype.clone=function(){return new g(this,{body:this._bodyInit})},v.call(g.prototype),v.call(w.prototype),w.prototype.clone=function(){return new w(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},w.error=function(){var t=new w(null,{status:0,statusText:""});return t.type="error",t};var j=[301,302,303,307,308];w.redirect=function(t,e){if(-1===j.indexOf(e))throw new RangeError("Invalid status code");return new w(null,{status:e,headers:{location:t}})},e.DOMException=t.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function P(t,r){return new Promise((function(n,i){var u=new g(t,r);if(u.signal&&u.signal.aborted)return i(new e.DOMException("Aborted","AbortError"));var s=new XMLHttpRequest;function a(){s.abort()}s.onload=function(){var t,e,r={status:s.status,statusText:s.statusText,headers:(t=s.getAllResponseHeaders()||"",e=new p,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}})),e)};r.url="responseURL"in s?s.responseURL:r.headers.get("X-Request-URL");var o="response"in s?s.response:s.responseText;n(new w(o,r))},s.onerror=function(){i(new TypeError("Network request failed"))},s.ontimeout=function(){i(new TypeError("Network request failed"))},s.onabort=function(){i(new e.DOMException("Aborted","AbortError"))},s.open(u.method,u.url,!0),"include"===u.credentials?s.withCredentials=!0:"omit"===u.credentials&&(s.withCredentials=!1),"responseType"in s&&o&&(s.responseType="blob"),u.headers.forEach((function(t,e){s.setRequestHeader(e,t)})),u.signal&&(u.signal.addEventListener("abort",a),s.onreadystatechange=function(){4===s.readyState&&u.signal.removeEventListener("abort",a)}),s.send(void 0===u._bodyInit?null:u._bodyInit)}))}P.polyfill=!0,t.fetch||(t.fetch=P,t.Headers=p,t.Request=g,t.Response=w),e.Headers=p,e.Request=g,e.Response=w,e.fetch=P}({})}(r),delete r.fetch.polyfill,(e=r.fetch).default=r.fetch,e.fetch=r.fetch,e.Headers=r.Headers,e.Request=r.Request,e.Response=r.Response,t.exports=e}},e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return t[n].call(o.exports,o,o.exports,r),o.exports}return r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r(47)})(); +var PagerDuty;PagerDuty=(()=>{var t={988:(t,e)=>{"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var r=0;r{"use strict";r.r(e),r.d(e,{acknowledge:()=>F,all:()=>A,api:()=>T,change:()=>C,event:()=>q,resolve:()=>L,trigger:()=>M});var n=r(98),o=r.n(n),i=r(988),u=r(818);function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function a(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function l(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e,o=r.queryParameters,i=r.requestTimeout,u=void 0===i?3e4:i,s=f(r,["queryParameters","requestTimeout"]);return t=d(t=new URL(t.toString()),o),e=b(e,u),p(t.toString(),3,a(a({},s),{},{headers:new n.Headers(a(a({"Content-Type":"application/json; charset=utf-8"},h()),s.headers))}))}function p(t,e,r){return new Promise((function(n,i){o()(t,r).then((function(o){if(0===e)return n(o);if(429===o.status){var u=r.retryTimeout;y(void 0===u?2e4:u).then((function(){p(t,e-1,r).then(n).catch(i)}))}else n(o)}))}))}var y=function(t){return new Promise((function(e){return setTimeout(e,t)}))};function h(){return u.jU?{}:{"User-Agent":"pdjs/".concat("2.0.0"," (").concat(process.version,"/").concat(process.platform,")")}}function d(t,e){if(!e)return t;for(var r=t.searchParams,n=function(){var t=i[o],n=e[t];Array.isArray(n)?n.forEach((function(e){r.append(t,e)})):r.append(t,n)},o=0,i=Object.keys(e);o]+)>/g,(function(t,e){return"$"+r[e]})))}if("function"==typeof e){var i=this;return n[Symbol.replace].call(this,t,(function(){var t=[];return t.push.apply(t,arguments),"object"!==v(t[t.length-1])&&t.push(u(t,i)),e.apply(this,t)}))}return n[Symbol.replace].call(this,t,e)},m.apply(this,arguments)}function g(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&P(t,e)}function O(t){var e="function"==typeof Map?new Map:void 0;return(O=function(t){if(null===t||(r=t,-1===Function.toString.call(r).indexOf("[native code]")))return t;var r;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return w(t,arguments,E(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),P(n,t)})(t)}function w(t,e,r){return(w=j()?Reflect.construct:function(t,e,r){var n=[null];n.push.apply(n,e);var o=new(Function.bind.apply(t,n));return r&&P(o,r.prototype),o}).apply(null,arguments)}function j(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function P(t,e){return(P=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function E(t){return(E=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function S(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function x(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["endpoint","server","token","url","version","data"]),y=x(x({method:"GET"},p),{},{headers:x({Accept:"application/vnd.pagerduty+json;version=".concat(f),Authorization:"Token token=".concat(s)},p.headers)});return r=y.method,!["PUT","POST","DELETE","PATCH"].includes(null!==(n=r.toUpperCase())&&void 0!==n?n:"GET")&&l?y.queryParameters=null!==(e=y.queryParameters)&&void 0!==e?e:l:y.body=JSON.stringify(l),R(null!=a?a:"https://".concat(u,"/").concat(o.replace(/^\/+/,"")),y)}function A(t){return T(t).then((function(t){return D([t])}))}function D(t){var e=t[t.length-1];return e.next?e.next().then((function(e){return D(t.concat([e]))})):Promise.resolve(t)}function R(t,e){return l(t,e).then((function(r){var n=r,o=function(t){var e=t.match(m(/.+.com\/([0-9A-Z_a-z]+)/,{resource:1}));return e?e[1]:null}(t);return r.json().then((function(i){return n.next=function(t,e,r){if(function(t){return void 0!==t.offset}(r)){if((null==r?void 0:r.more)&&void 0!==v(r.offset)&&r.limit)return function(){return R(t,x(x({},e),{},{queryParameters:x(x({},e.queryParameters),{},{limit:r.limit.toString(),offset:(r.limit+r.offset).toString()})}))}}else if(function(t){return void 0!==t.cursor}(r)&&(null==r?void 0:r.cursor))return function(){return R(t,x(x({},e),{},{queryParameters:x(x({},e.queryParameters),{},{cursor:r.cursor,limit:r.limit.toString()})}))}}(t,e,i),n.data=i,n.resource=o?i[o]:null,n.response=r,n}))}))}function B(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function U(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["server","type","data"]),s="https://".concat(r,"/v2/enqueue");return"change"===o&&(s="https://".concat(r,"/v2/change/enqueue")),function(t,e){return l(t,e).then((function(t){var e=t;return t.json().then((function(r){return e.data=r,e.response=t,e}))}))}(s,U({method:"POST",body:JSON.stringify(i)},u))}var I=function(t){return function(e){return q(U(U({},e),{},{data:U(U({},e.data),{},k({},"event_action",t))}))}},M=I("trigger"),F=I("acknowledge"),L=I("resolve"),C=function(t){return q(U(U({},t),{},{type:"change"}))}},818:(t,e)=>{"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n="undefined"!=typeof window&&void 0!==window.document;"object"===("undefined"==typeof self?"undefined":r(self))&&self.constructor&&self.constructor.name,"undefined"!=typeof process&&null!=process.versions&&process.versions.node;e.jU=n},98:function(t,e){var r=function(t){function e(){this.fetch=!1,this.DOMException=t.DOMException}return e.prototype=t,new e}("undefined"!=typeof self?self:this);!function(t){!function(e){var r="URLSearchParams"in t,n="Symbol"in t&&"iterator"in Symbol,o="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),i="FormData"in t,u="ArrayBuffer"in t;if(u)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],a=ArrayBuffer.isView||function(t){return t&&s.indexOf(Object.prototype.toString.call(t))>-1};function c(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function f(t){return"string"!=typeof t&&(t=String(t)),t}function l(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return n&&(e[Symbol.iterator]=function(){return e}),e}function p(t){this.map={},t instanceof p?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function y(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function h(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function d(t){var e=new FileReader,r=h(e);return e.readAsArrayBuffer(t),r}function b(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:o&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:i&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:r&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():u&&o&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=b(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):u&&(ArrayBuffer.prototype.isPrototypeOf(t)||a(t))?this._bodyArrayBuffer=b(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var t=y(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?y(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(d)}),this.text=function(){var t,e,r,n=y(this);if(n)return n;if(this._bodyBlob)return t=this._bodyBlob,r=h(e=new FileReader),e.readAsText(t),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n-1?n:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function O(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}})),e}function w(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new p(e.headers),this.url=e.url||"",this._initBody(t)}g.prototype.clone=function(){return new g(this,{body:this._bodyInit})},v.call(g.prototype),v.call(w.prototype),w.prototype.clone=function(){return new w(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},w.error=function(){var t=new w(null,{status:0,statusText:""});return t.type="error",t};var j=[301,302,303,307,308];w.redirect=function(t,e){if(-1===j.indexOf(e))throw new RangeError("Invalid status code");return new w(null,{status:e,headers:{location:t}})},e.DOMException=t.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function P(t,r){return new Promise((function(n,i){var u=new g(t,r);if(u.signal&&u.signal.aborted)return i(new e.DOMException("Aborted","AbortError"));var s=new XMLHttpRequest;function a(){s.abort()}s.onload=function(){var t,e,r={status:s.status,statusText:s.statusText,headers:(t=s.getAllResponseHeaders()||"",e=new p,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}})),e)};r.url="responseURL"in s?s.responseURL:r.headers.get("X-Request-URL");var o="response"in s?s.response:s.responseText;n(new w(o,r))},s.onerror=function(){i(new TypeError("Network request failed"))},s.ontimeout=function(){i(new TypeError("Network request failed"))},s.onabort=function(){i(new e.DOMException("Aborted","AbortError"))},s.open(u.method,u.url,!0),"include"===u.credentials?s.withCredentials=!0:"omit"===u.credentials&&(s.withCredentials=!1),"responseType"in s&&o&&(s.responseType="blob"),u.headers.forEach((function(t,e){s.setRequestHeader(e,t)})),u.signal&&(u.signal.addEventListener("abort",a),s.onreadystatechange=function(){4===s.readyState&&u.signal.removeEventListener("abort",a)}),s.send(void 0===u._bodyInit?null:u._bodyInit)}))}P.polyfill=!0,t.fetch||(t.fetch=P,t.Headers=p,t.Request=g,t.Response=w),e.Headers=p,e.Request=g,e.Response=w,e.fetch=P}({})}(r),delete r.fetch.polyfill,(e=r.fetch).default=r.fetch,e.fetch=r.fetch,e.Headers=r.Headers,e.Request=r.Request,e.Response=r.Response,t.exports=e}},e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return t[n].call(o.exports,o,o.exports,r),o.exports}return r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r(47)})(); //# sourceMappingURL=pdjs-legacy.js.map \ No newline at end of file diff --git a/dist/pdjs-legacy.js.map b/dist/pdjs-legacy.js.map index 9b3fc92..f0fd07b 100644 --- a/dist/pdjs-legacy.js.map +++ b/dist/pdjs-legacy.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://PagerDuty/./node_modules/abortcontroller-polyfill/dist/cjs-ponyfill.js","webpack://PagerDuty/./src/common.ts","webpack://PagerDuty/./src/api.ts","webpack://PagerDuty/./src/events.ts","webpack://PagerDuty/./node_modules/browser-or-node/lib/index.js","webpack://PagerDuty/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://PagerDuty/webpack/bootstrap","webpack://PagerDuty/webpack/startup","webpack://PagerDuty/webpack/runtime/compat get default export","webpack://PagerDuty/webpack/runtime/define property getters","webpack://PagerDuty/webpack/runtime/hasOwnProperty shorthand","webpack://PagerDuty/webpack/runtime/make namespace object"],"names":["_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","p","_assertThisInitialized","self","ReferenceError","_possibleConstructorReturn","call","_get","property","receiver","Reflect","get","base","object","hasOwnProperty","_superPropBase","desc","getOwnPropertyDescriptor","value","Emitter","this","type","callback","listeners","push","stack","l","splice","event","_this","debounce","setTimeout","defaultPrevented","AbortSignal","_Emitter","subClass","superClass","create","constructor","_inherits","Derived","hasNativeReflectConstruct","_super","construct","sham","Proxy","Date","toString","e","_isNativeReflectConstruct","result","Super","NewTarget","arguments","apply","_this2","aborted","onabort","AbortController","Event","document","createEvent","initEvent","createEventObject","bubbles","cancelable","signal","dispatchEvent","Symbol","toStringTag","exports","request","url","options","params","requestTimeout","rest","retryCount","applyParams","URL","applyTimeout","fetch_retry","headers","Headers","userAgentHeader","retries","Promise","resolve","reject","fetch","then","response","status","retryTimeout","retryTimeoutPromise","milliseconds","isBrowser","process","version","platform","combinedParams","searchParams","keys","append","search","init","timeout","controller","abort","api","endpoint","partialParams","partial","shorthand","method","post","put","patch","all","partialCall","server","token","data","config","Accept","Authorization","includes","toUpperCase","body","JSON","stringify","apiRequest","replace","allInner","responses","next","concat","apiResponse","resource","match","resourceKey","json","undefined","offset","isOffsetPagination","more","limit","cursor","isCursorPagination","nextFunc","eventFetch","action","trigger","acknowledge","change","_typeof","iterator","obj","window","name","versions","node","__self__","root","F","DOMException","support","Blob","viewClasses","isArrayBufferView","ArrayBuffer","isView","indexOf","normalizeName","String","test","toLowerCase","normalizeValue","iteratorFor","items","shift","done","map","forEach","Array","isArray","header","getOwnPropertyNames","consumed","bodyUsed","fileReaderReady","reader","onload","onerror","error","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","buf","slice","view","Uint8Array","byteLength","set","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","rejected","Error","arrayBuffer","text","readAsText","chars","fromCharCode","join","readArrayBufferAsText","formData","decode","parse","oldValue","has","thisArg","values","entries","methods","Request","input","upcased","credentials","mode","referrer","form","trim","split","bytes","decodeURIComponent","Response","bodyInit","ok","statusText","clone","redirectStatuses","redirect","RangeError","location","err","message","xhr","XMLHttpRequest","abortXhr","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","open","withCredentials","responseType","setRequestHeader","addEventListener","onreadystatechange","readyState","removeEventListener","send","polyfill","default","module","__webpack_module_cache__","__webpack_require__","moduleId","__webpack_modules__","n","getter","__esModule","d","a","definition","prop","r"],"mappings":"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","file":"pdjs-legacy.js","sourcesContent":["'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nfunction _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}\n\nvar Emitter = /*#__PURE__*/function () {\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n Object.defineProperty(this, 'listeners', {\n value: {},\n writable: true,\n configurable: true\n });\n }\n\n _createClass(Emitter, [{\n key: \"addEventListener\",\n value: function addEventListener(type, callback) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n\n this.listeners[type].push(callback);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n if (stack[i] === callback) {\n stack.splice(i, 1);\n return;\n }\n }\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n var _this = this;\n\n if (!(event.type in this.listeners)) {\n return;\n }\n\n var debounce = function debounce(callback) {\n setTimeout(function () {\n return callback.call(_this, event);\n });\n };\n\n var stack = this.listeners[event.type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n debounce(stack[i]);\n }\n\n return !event.defaultPrevented;\n }\n }]);\n\n return Emitter;\n}();\n\nvar AbortSignal = /*#__PURE__*/function (_Emitter) {\n _inherits(AbortSignal, _Emitter);\n\n var _super = _createSuper(AbortSignal);\n\n function AbortSignal() {\n var _this2;\n\n _classCallCheck(this, AbortSignal);\n\n _this2 = _super.call(this); // Some versions of babel does not transpile super() correctly for IE <= 10, if the parent\n // constructor has failed to run, then \"this.listeners\" will still be undefined and then we call\n // the parent constructor directly instead as a workaround. For general details, see babel bug:\n // https://github.com/babel/babel/issues/3041\n // This hack was added as a fix for the issue described here:\n // https://github.com/Financial-Times/polyfill-library/pull/59#issuecomment-477558042\n\n if (!_this2.listeners) {\n Emitter.call(_assertThisInitialized(_this2));\n } // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController().signal) to be [] for compat with the native impl\n\n\n Object.defineProperty(_assertThisInitialized(_this2), 'aborted', {\n value: false,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this2), 'onabort', {\n value: null,\n writable: true,\n configurable: true\n });\n return _this2;\n }\n\n _createClass(AbortSignal, [{\n key: \"toString\",\n value: function toString() {\n return '[object AbortSignal]';\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (event.type === 'abort') {\n this.aborted = true;\n\n if (typeof this.onabort === 'function') {\n this.onabort.call(this, event);\n }\n }\n\n _get(_getPrototypeOf(AbortSignal.prototype), \"dispatchEvent\", this).call(this, event);\n }\n }]);\n\n return AbortSignal;\n}(Emitter);\nvar AbortController = /*#__PURE__*/function () {\n function AbortController() {\n _classCallCheck(this, AbortController);\n\n // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController()) to be [] for compat with the native impl\n Object.defineProperty(this, 'signal', {\n value: new AbortSignal(),\n writable: true,\n configurable: true\n });\n }\n\n _createClass(AbortController, [{\n key: \"abort\",\n value: function abort() {\n var event;\n\n try {\n event = new Event('abort');\n } catch (e) {\n if (typeof document !== 'undefined') {\n if (!document.createEvent) {\n // For Internet Explorer 8:\n event = document.createEventObject();\n event.type = 'abort';\n } else {\n // For Internet Explorer 11:\n event = document.createEvent('Event');\n event.initEvent('abort', false, false);\n }\n } else {\n // Fallback where document isn't available:\n event = {\n type: 'abort',\n bubbles: false,\n cancelable: false\n };\n }\n }\n\n this.signal.dispatchEvent(event);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return '[object AbortController]';\n }\n }]);\n\n return AbortController;\n}();\n\nif (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n // These are necessary to make sure that we get correct output for:\n // Object.prototype.toString.call(new AbortController())\n AbortController.prototype[Symbol.toStringTag] = 'AbortController';\n AbortSignal.prototype[Symbol.toStringTag] = 'AbortSignal';\n}\n\nfunction polyfillNeeded(self) {\n if (self.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n console.log('__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill');\n return true;\n } // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // so the below feature detection needs the !self.AbortController part.\n // The Request.prototype check is also needed because Safari versions 11.1.2\n // up to and including 12.1.x has a window.AbortController present but still\n // does NOT correctly implement abortable fetch:\n // https://bugs.webkit.org/show_bug.cgi?id=174980#c2\n\n\n return typeof self.Request === 'function' && !self.Request.prototype.hasOwnProperty('signal') || !self.AbortController;\n}\n\n/**\n * Note: the \"fetch.Request\" default value is available for fetch imported from\n * the \"node-fetch\" package and not in browsers. This is OK since browsers\n * will be importing umd-polyfill.js from that path \"self\" is passed the\n * decorator so the default value will not be used (because browsers that define\n * fetch also has Request). One quirky setup where self.fetch exists but\n * self.Request does not is when the \"unfetch\" minimal fetch polyfill is used\n * on top of IE11; for this case the browser will try to use the fetch.Request\n * default value which in turn will be undefined but then then \"if (Request)\"\n * will ensure that you get a patched fetch but still no Request (as expected).\n * @param {fetch, Request = fetch.Request}\n * @returns {fetch: abortableFetch, Request: AbortableRequest}\n */\n\nfunction abortableFetchDecorator(patchTargets) {\n if ('function' === typeof patchTargets) {\n patchTargets = {\n fetch: patchTargets\n };\n }\n\n var _patchTargets = patchTargets,\n fetch = _patchTargets.fetch,\n _patchTargets$Request = _patchTargets.Request,\n NativeRequest = _patchTargets$Request === void 0 ? fetch.Request : _patchTargets$Request,\n NativeAbortController = _patchTargets.AbortController,\n _patchTargets$__FORCE = _patchTargets.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL,\n __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL = _patchTargets$__FORCE === void 0 ? false : _patchTargets$__FORCE;\n\n if (!polyfillNeeded({\n fetch: fetch,\n Request: NativeRequest,\n AbortController: NativeAbortController,\n __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL: __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL\n })) {\n return {\n fetch: fetch,\n Request: Request\n };\n }\n\n var Request = NativeRequest; // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // hence we only patch it if it's available. Also we don't patch it if signal\n // is already available on the Request prototype because in this case support\n // is present and the patching below can cause a crash since it assigns to\n // request.signal which is technically a read-only property. This latter error\n // happens when you run the main5.js node-fetch example in the repo\n // \"abortcontroller-polyfill-examples\". The exact error is:\n // request.signal = init.signal;\n // ^\n // TypeError: Cannot set property signal of # which has only a getter\n\n if (Request && !Request.prototype.hasOwnProperty('signal') || __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n Request = function Request(input, init) {\n var signal;\n\n if (init && init.signal) {\n signal = init.signal; // Never pass init.signal to the native Request implementation when the polyfill has\n // been installed because if we're running on top of a browser with a\n // working native AbortController (i.e. the polyfill was installed due to\n // __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL being set), then passing our\n // fake AbortSignal to the native fetch will trigger:\n // TypeError: Failed to construct 'Request': member signal is not of type AbortSignal.\n\n delete init.signal;\n }\n\n var request = new NativeRequest(input, init);\n\n if (signal) {\n Object.defineProperty(request, 'signal', {\n writable: false,\n enumerable: false,\n configurable: true,\n value: signal\n });\n }\n\n return request;\n };\n\n Request.prototype = NativeRequest.prototype;\n }\n\n var realFetch = fetch;\n\n var abortableFetch = function abortableFetch(input, init) {\n var signal = Request && Request.prototype.isPrototypeOf(input) ? input.signal : init ? init.signal : undefined;\n\n if (signal) {\n var abortError;\n\n try {\n abortError = new DOMException('Aborted', 'AbortError');\n } catch (err) {\n // IE 11 does not support calling the DOMException constructor, use a\n // regular error object on it instead.\n abortError = new Error('Aborted');\n abortError.name = 'AbortError';\n } // Return early if already aborted, thus avoiding making an HTTP request\n\n\n if (signal.aborted) {\n return Promise.reject(abortError);\n } // Turn an event into a promise, reject it once `abort` is dispatched\n\n\n var cancellation = new Promise(function (_, reject) {\n signal.addEventListener('abort', function () {\n return reject(abortError);\n }, {\n once: true\n });\n });\n\n if (init && init.signal) {\n // Never pass .signal to the native implementation when the polyfill has\n // been installed because if we're running on top of a browser with a\n // working native AbortController (i.e. the polyfill was installed due to\n // __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL being set), then passing our\n // fake AbortSignal to the native fetch will trigger:\n // TypeError: Failed to execute 'fetch' on 'Window': member signal is not of type AbortSignal.\n delete init.signal;\n } // Return the fastest promise (don't need to wait for request to finish)\n\n\n return Promise.race([cancellation, realFetch(input, init)]);\n }\n\n return realFetch(input, init);\n };\n\n return {\n fetch: abortableFetch,\n Request: Request\n };\n}\n\nexports.AbortController = AbortController;\nexports.AbortSignal = AbortSignal;\nexports.abortableFetch = abortableFetchDecorator;\n","/* LEGACY-BROWSER-SUPPORT-START */\nimport fetch, {Headers} from 'cross-fetch';\n\n// TODO: Proper type support for abortcontroller-polyfill\n// @ts-ignore\nimport { AbortController } from 'abortcontroller-polyfill/dist/cjs-ponyfill';\nimport {isBrowser} from 'browser-or-node';\n/* LEGACY-BROWSER-SUPPORT-END */\n\nconst VERSION = '2.0.0';\n\nexport interface RequestOptions extends RequestInit {\n params?: Record;\n retryCount?: number;\n requestTimeout?: number;\n retryTimeout?: number;\n timeout?: number;\n}\n\nexport function request(\n url: string | URL,\n options: RequestOptions = {}\n): Promise {\n const {\n params,\n requestTimeout = 30000,\n retryCount = 0,\n ...rest\n } = options;\n\n\n url = new URL(url.toString());\n\n url = applyParams(url, params);\n options = applyTimeout(options, requestTimeout);\n\n return fetch_retry(\n url.toString(),\n 3,\n {\n ...rest,\n headers: new Headers({\n 'Content-Type': 'application/json; charset=utf-8',\n /* LEGACY-BROWSER-SUPPORT-START */\n ...userAgentHeader(),\n /* LEGACY-BROWSER-SUPPORT-END */\n ...rest.headers,\n }),\n }\n );\n}\n\nfunction fetch_retry(url: string, retries: number, options: any): Promise{\n return new Promise(function(resolve, reject) {\n fetch(url, options)\n .then((response) => {\n // We don't want to `reject` when retries have finished\n // Instead simply stop trying and return.\n if (retries === 0) return resolve(response);\n if (response.status === 429) {\n const {retryTimeout} = options;\n retryTimeoutPromise(retryTimeout).then(() => {\n fetch_retry(url, retries - 1, options).then(resolve).catch(reject);\n });\n } else {\n resolve(response);\n }\n })\n });\n}\n\nconst retryTimeoutPromise = (milliseconds: number) => {\n return new Promise(resolve => setTimeout(resolve, milliseconds))\n}\n\nfunction userAgentHeader(): object {\n if (isBrowser) return {};\n\n return {\n 'User-Agent': `pdjs/${VERSION} (${process.version}/${process.platform})`,\n };\n}\n\nfunction applyParams(url: URL, params?: Record): URL {\n if (!params) return url;\n\n const combinedParams = url.searchParams;\n\n for (const key of Object.keys(params)) {\n combinedParams.append(key, params[key]);\n }\n\n url.search = combinedParams.toString();\n return url;\n}\n\nfunction applyTimeout(init: RequestOptions, timeout?: number): RequestOptions {\n if (!timeout) return init;\n\n const controller = new AbortController();\n setTimeout(() => controller.abort(), timeout);\n\n return {\n ...init,\n signal: controller.signal,\n };\n}\n","import {request, RequestOptions} from './common';\n\nexport interface ShorthandCall {\n (res: string, params?: Partial): APIPromise;\n}\n\nexport interface PartialCall {\n (params: APIParams): APIPromise;\n (params: Partial): PartialCall;\n get: ShorthandCall;\n post: ShorthandCall;\n put: ShorthandCall;\n patch: ShorthandCall;\n delete: ShorthandCall;\n all: (params: APIParams) => Promise;\n}\n\nexport type APIParams = RequestOptions & {\n endpoint?: string;\n url?: string;\n data?: object;\n token?: string;\n server?: string;\n version?: number;\n} & ({endpoint: string} | {url: string});\n\nexport type APIPromise = Promise;\n\nexport interface APIResponse extends Response {\n data: any;\n resource: any;\n response: Response;\n next?: () => APIPromise;\n}\n\nexport function api(params: APIParams): APIPromise;\nexport function api(params: Partial): PartialCall;\nexport function api(params: Partial): APIPromise | PartialCall {\n // If the params don't include `endpoint` treat it as a partial\n // application.\n if (!params.endpoint && !params.url) {\n return partialCall(params);\n }\n\n const {\n endpoint,\n server = 'api.pagerduty.com',\n token,\n url,\n version = 2,\n data,\n ...rest\n } = params;\n\n const config: RequestOptions = {\n method: 'GET',\n ...rest,\n headers: {\n Accept: `application/vnd.pagerduty+json;version=${version}`,\n Authorization: `Token token=${token!}`,\n ...rest.headers,\n },\n };\n\n // Allow `data` for `params` for requests without bodies.\n if (isReadonlyRequest(config.method!) && data) {\n config.params = config.params ?? (data as Record);\n } else {\n config.body = JSON.stringify(data);\n }\n\n return apiRequest(\n url ?? `https://${server}/${endpoint!.replace(/^\\/+/, '')}`,\n config\n );\n}\n\nexport function all(params: APIParams): Promise {\n return (api(params) as APIPromise).then(response => allInner([response]));\n}\n\nfunction allInner(responses: APIResponse[]): Promise {\n const response = responses[responses.length - 1];\n\n if (!response.next) {\n return Promise.resolve(responses);\n }\n\n return response\n .next()\n .then(response => allInner(responses.concat([response])));\n}\n\nfunction apiRequest(url: string, options: RequestOptions): APIPromise {\n return request(url, options).then(\n (response: Response): APIPromise => {\n const apiResponse = response as APIResponse;\n const resource = resourceKey(url);\n return response.json().then(\n (data): APIResponse => {\n apiResponse.next = nextFunc(url, options, data);\n apiResponse.data = data;\n apiResponse.resource = resource ? data[resource] : null;\n apiResponse.response = response;\n return apiResponse;\n }\n );\n }\n );\n}\n\nfunction resourceKey(url: string) {\n const resource = url.match(/.+.com\\/(?[\\w]+)/);\n if (resource) {\n return resource[1];\n }\n return null;\n}\n\nfunction isReadonlyRequest(method: string) {\n return !['PUT', 'POST', 'DELETE', 'PATCH'].includes(\n method.toUpperCase() ?? 'GET'\n );\n}\n\ninterface OffsetPagination {\n type: 'offset';\n more?: boolean;\n offset?: number;\n limit?: number;\n}\n\ninterface CursorPagination {\n type: 'cursor';\n cursor?: string;\n limit?: number;\n}\n\nfunction isOffsetPagination(\n data: OffsetPagination | CursorPagination\n): data is OffsetPagination {\n if ((data as OffsetPagination).offset !== undefined) {\n return true;\n }\n return false;\n}\n\nfunction isCursorPagination(\n data: OffsetPagination | CursorPagination\n): data is CursorPagination {\n if ((data as CursorPagination).cursor !== undefined) {\n return true;\n }\n return false;\n}\n\nfunction nextFunc(\n url: string,\n options: RequestOptions,\n data: OffsetPagination | CursorPagination\n) {\n if (isOffsetPagination(data)) {\n if (data?.more && typeof data.offset !== undefined && data.limit) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n limit: data.limit!.toString(),\n offset: (data.limit! + data.offset!).toString(),\n },\n });\n }\n } else if (isCursorPagination(data)) {\n if (data?.cursor) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n cursor: data.cursor!,\n limit: data.limit!.toString(),\n },\n });\n }\n }\n\n return undefined;\n}\n\nfunction partialCall(params: Partial) {\n const partialParams = params;\n const partial = ((params: Partial) =>\n api({...partialParams, ...params})) as PartialCall;\n\n const shorthand = (method: string) => (\n endpoint: string,\n params?: Partial\n ): APIPromise =>\n api({endpoint, method, ...partialParams, ...params}) as APIPromise;\n\n partial.get = shorthand('get');\n partial.post = shorthand('post');\n partial.put = shorthand('put');\n partial.patch = shorthand('patch');\n partial.delete = shorthand('delete');\n\n partial.all = (params: APIParams) => all(params);\n\n return partial;\n}\n","import {request, RequestOptions} from './common';\n\nexport type Action = 'trigger' | 'acknowledge' | 'resolve';\n\nexport type EventPromise = Promise;\n\nexport interface EventResponse extends Response {\n data: any;\n response: Response;\n}\n\nexport type Severity = 'critical' | 'error' | 'warning' | 'info';\n\nexport interface Image {\n src: string;\n href?: string;\n alt?: string;\n}\n\nexport interface Link {\n href: string;\n text?: string;\n}\n\nexport interface EventPayloadV2 {\n routing_key: string;\n event_action: Action;\n dedup_key?: string;\n payload: {\n summary: string;\n source: string;\n severity: Severity;\n timestamp?: string;\n component?: string;\n group?: string;\n class?: string;\n custom_details?: object;\n };\n images?: Array;\n links?: Array;\n}\n\nexport interface EventParams extends RequestOptions {\n data: EventPayloadV2;\n type?: string;\n server?: string;\n}\n\nexport interface ChangePayload {\n routing_key: string;\n payload: {\n summary: string;\n source?: string;\n timestamp: string;\n custom_details: object;\n };\n links: Array;\n}\nexport interface ChangeParams extends RequestOptions {\n data: ChangePayload;\n server?: string;\n}\n\nexport function event(params: EventParams): EventPromise {\n const {\n server = 'events.pagerduty.com',\n type = 'event',\n data,\n ...config\n } = params;\n\n let url = `https://${server}/v2/enqueue`;\n if (type === 'change') {\n url = `https://${server}/v2/change/enqueue`;\n }\n\n return eventFetch(url, {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n });\n}\n\nconst shorthand = (action: Action) => (params: EventParams): EventPromise => {\n const typeField = 'event_action';\n\n return event({\n ...params,\n data: {\n ...params.data,\n [typeField]: action,\n },\n });\n};\n\nexport const trigger = shorthand('trigger');\nexport const acknowledge = shorthand('acknowledge');\nexport const resolve = shorthand('resolve');\nexport const change = (params: EventParams) =>\n event({...params, type: 'change'});\n\nfunction eventFetch(url: string, options: RequestOptions): EventPromise {\n return request(url, options).then(\n (response: Response): EventPromise => {\n const apiResponse = response as EventResponse;\n return response.json().then(\n (data): EventResponse => {\n apiResponse.data = data;\n apiResponse.response = response;\n return apiResponse;\n }\n );\n }\n );\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/* global window self */\n\nvar isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';\n\n/* eslint-disable no-restricted-globals */\nvar isWebWorker = (typeof self === 'undefined' ? 'undefined' : _typeof(self)) === 'object' && self.constructor && self.constructor.name === 'DedicatedWorkerGlobalScope';\n/* eslint-enable no-restricted-globals */\n\nvar isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n\n/**\n * @see https://github.com/jsdom/jsdom/releases/tag/12.0.0\n * @see https://github.com/jsdom/jsdom/issues/1537\n */\n/* eslint-disable no-undef */\nvar isJsDom = function isJsDom() {\n return typeof window !== 'undefined' && window.name === 'nodejs' || navigator.userAgent.includes('Node.js') || navigator.userAgent.includes('jsdom');\n};\n\nexports.isBrowser = isBrowser;\nexports.isWebWorker = isWebWorker;\nexports.isNode = isNode;\nexports.isJsDom = isJsDom;","var __self__ = (function (root) {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = root.DOMException\n}\nF.prototype = root;\nreturn new F();\n})(typeof self !== 'undefined' ? self : this);\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n return exports;\n\n}({}));\n})(__self__);\ndelete __self__.fetch.polyfill\nexports = __self__.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = __self__.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = __self__.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = __self__.Headers\nexports.Request = __self__.Request\nexports.Response = __self__.Response\nmodule.exports = exports\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(47);\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => module['default'] :\n\t\t() => module;\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://PagerDuty/./node_modules/abortcontroller-polyfill/dist/cjs-ponyfill.js","webpack://PagerDuty/./src/common.ts","webpack://PagerDuty/./src/api.ts","webpack://PagerDuty/./src/events.ts","webpack://PagerDuty/./node_modules/browser-or-node/lib/index.js","webpack://PagerDuty/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://PagerDuty/webpack/bootstrap","webpack://PagerDuty/webpack/startup","webpack://PagerDuty/webpack/runtime/compat get default export","webpack://PagerDuty/webpack/runtime/define property getters","webpack://PagerDuty/webpack/runtime/hasOwnProperty shorthand","webpack://PagerDuty/webpack/runtime/make namespace object"],"names":["_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","p","_assertThisInitialized","self","ReferenceError","_possibleConstructorReturn","call","_get","property","receiver","Reflect","get","base","object","hasOwnProperty","_superPropBase","desc","getOwnPropertyDescriptor","value","Emitter","this","type","callback","listeners","push","stack","l","splice","event","_this","debounce","setTimeout","defaultPrevented","AbortSignal","_Emitter","subClass","superClass","create","constructor","_inherits","Derived","hasNativeReflectConstruct","_super","construct","sham","Proxy","Date","toString","e","_isNativeReflectConstruct","result","Super","NewTarget","arguments","apply","_this2","aborted","onabort","AbortController","Event","document","createEvent","initEvent","createEventObject","bubbles","cancelable","signal","dispatchEvent","Symbol","toStringTag","exports","request","url","options","queryParameters","requestTimeout","rest","applyParameters","URL","applyTimeout","fetch_retry","headers","Headers","userAgentHeader","retries","Promise","resolve","reject","fetch","then","response","status","retryTimeout","retryTimeoutPromise","milliseconds","isBrowser","process","version","platform","combinedParameters","searchParams","parameter","Array","isArray","forEach","item","append","keys","search","init","timeout","controller","abort","api","apiParameters","endpoint","partialParameters","partial","shorthand","method","shorthandParameters","post","put","patch","all","partialCall","server","token","data","config","Accept","Authorization","includes","toUpperCase","body","JSON","stringify","apiRequest","replace","allInner","responses","next","concat","apiResponse","resource","match","resourceKey","json","undefined","offset","isOffsetPagination","more","limit","cursor","isCursorPagination","nextFunc","eventParameters","eventFetch","action","trigger","acknowledge","change","_typeof","iterator","obj","window","name","versions","node","__self__","root","F","DOMException","support","Blob","viewClasses","isArrayBufferView","ArrayBuffer","isView","indexOf","normalizeName","String","test","toLowerCase","normalizeValue","iteratorFor","items","shift","done","map","header","getOwnPropertyNames","consumed","bodyUsed","fileReaderReady","reader","onload","onerror","error","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","buf","slice","view","Uint8Array","byteLength","set","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","rejected","Error","arrayBuffer","text","readAsText","chars","fromCharCode","join","readArrayBufferAsText","formData","decode","parse","oldValue","has","thisArg","values","entries","methods","Request","input","upcased","credentials","mode","referrer","form","trim","split","bytes","decodeURIComponent","Response","bodyInit","ok","statusText","clone","redirectStatuses","redirect","RangeError","location","err","message","xhr","XMLHttpRequest","abortXhr","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","open","withCredentials","responseType","setRequestHeader","addEventListener","onreadystatechange","readyState","removeEventListener","send","polyfill","default","module","__webpack_module_cache__","__webpack_require__","moduleId","__webpack_modules__","n","getter","__esModule","d","a","definition","prop","r"],"mappings":"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","file":"pdjs-legacy.js","sourcesContent":["'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nfunction _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}\n\nvar Emitter = /*#__PURE__*/function () {\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n Object.defineProperty(this, 'listeners', {\n value: {},\n writable: true,\n configurable: true\n });\n }\n\n _createClass(Emitter, [{\n key: \"addEventListener\",\n value: function addEventListener(type, callback) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n\n this.listeners[type].push(callback);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n if (stack[i] === callback) {\n stack.splice(i, 1);\n return;\n }\n }\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n var _this = this;\n\n if (!(event.type in this.listeners)) {\n return;\n }\n\n var debounce = function debounce(callback) {\n setTimeout(function () {\n return callback.call(_this, event);\n });\n };\n\n var stack = this.listeners[event.type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n debounce(stack[i]);\n }\n\n return !event.defaultPrevented;\n }\n }]);\n\n return Emitter;\n}();\n\nvar AbortSignal = /*#__PURE__*/function (_Emitter) {\n _inherits(AbortSignal, _Emitter);\n\n var _super = _createSuper(AbortSignal);\n\n function AbortSignal() {\n var _this2;\n\n _classCallCheck(this, AbortSignal);\n\n _this2 = _super.call(this); // Some versions of babel does not transpile super() correctly for IE <= 10, if the parent\n // constructor has failed to run, then \"this.listeners\" will still be undefined and then we call\n // the parent constructor directly instead as a workaround. For general details, see babel bug:\n // https://github.com/babel/babel/issues/3041\n // This hack was added as a fix for the issue described here:\n // https://github.com/Financial-Times/polyfill-library/pull/59#issuecomment-477558042\n\n if (!_this2.listeners) {\n Emitter.call(_assertThisInitialized(_this2));\n } // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController().signal) to be [] for compat with the native impl\n\n\n Object.defineProperty(_assertThisInitialized(_this2), 'aborted', {\n value: false,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this2), 'onabort', {\n value: null,\n writable: true,\n configurable: true\n });\n return _this2;\n }\n\n _createClass(AbortSignal, [{\n key: \"toString\",\n value: function toString() {\n return '[object AbortSignal]';\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (event.type === 'abort') {\n this.aborted = true;\n\n if (typeof this.onabort === 'function') {\n this.onabort.call(this, event);\n }\n }\n\n _get(_getPrototypeOf(AbortSignal.prototype), \"dispatchEvent\", this).call(this, event);\n }\n }]);\n\n return AbortSignal;\n}(Emitter);\nvar AbortController = /*#__PURE__*/function () {\n function AbortController() {\n _classCallCheck(this, AbortController);\n\n // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController()) to be [] for compat with the native impl\n Object.defineProperty(this, 'signal', {\n value: new AbortSignal(),\n writable: true,\n configurable: true\n });\n }\n\n _createClass(AbortController, [{\n key: \"abort\",\n value: function abort() {\n var event;\n\n try {\n event = new Event('abort');\n } catch (e) {\n if (typeof document !== 'undefined') {\n if (!document.createEvent) {\n // For Internet Explorer 8:\n event = document.createEventObject();\n event.type = 'abort';\n } else {\n // For Internet Explorer 11:\n event = document.createEvent('Event');\n event.initEvent('abort', false, false);\n }\n } else {\n // Fallback where document isn't available:\n event = {\n type: 'abort',\n bubbles: false,\n cancelable: false\n };\n }\n }\n\n this.signal.dispatchEvent(event);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return '[object AbortController]';\n }\n }]);\n\n return AbortController;\n}();\n\nif (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n // These are necessary to make sure that we get correct output for:\n // Object.prototype.toString.call(new AbortController())\n AbortController.prototype[Symbol.toStringTag] = 'AbortController';\n AbortSignal.prototype[Symbol.toStringTag] = 'AbortSignal';\n}\n\nfunction polyfillNeeded(self) {\n if (self.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n console.log('__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill');\n return true;\n } // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // so the below feature detection needs the !self.AbortController part.\n // The Request.prototype check is also needed because Safari versions 11.1.2\n // up to and including 12.1.x has a window.AbortController present but still\n // does NOT correctly implement abortable fetch:\n // https://bugs.webkit.org/show_bug.cgi?id=174980#c2\n\n\n return typeof self.Request === 'function' && !self.Request.prototype.hasOwnProperty('signal') || !self.AbortController;\n}\n\n/**\n * Note: the \"fetch.Request\" default value is available for fetch imported from\n * the \"node-fetch\" package and not in browsers. This is OK since browsers\n * will be importing umd-polyfill.js from that path \"self\" is passed the\n * decorator so the default value will not be used (because browsers that define\n * fetch also has Request). One quirky setup where self.fetch exists but\n * self.Request does not is when the \"unfetch\" minimal fetch polyfill is used\n * on top of IE11; for this case the browser will try to use the fetch.Request\n * default value which in turn will be undefined but then then \"if (Request)\"\n * will ensure that you get a patched fetch but still no Request (as expected).\n * @param {fetch, Request = fetch.Request}\n * @returns {fetch: abortableFetch, Request: AbortableRequest}\n */\n\nfunction abortableFetchDecorator(patchTargets) {\n if ('function' === typeof patchTargets) {\n patchTargets = {\n fetch: patchTargets\n };\n }\n\n var _patchTargets = patchTargets,\n fetch = _patchTargets.fetch,\n _patchTargets$Request = _patchTargets.Request,\n NativeRequest = _patchTargets$Request === void 0 ? fetch.Request : _patchTargets$Request,\n NativeAbortController = _patchTargets.AbortController,\n _patchTargets$__FORCE = _patchTargets.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL,\n __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL = _patchTargets$__FORCE === void 0 ? false : _patchTargets$__FORCE;\n\n if (!polyfillNeeded({\n fetch: fetch,\n Request: NativeRequest,\n AbortController: NativeAbortController,\n __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL: __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL\n })) {\n return {\n fetch: fetch,\n Request: Request\n };\n }\n\n var Request = NativeRequest; // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // hence we only patch it if it's available. Also we don't patch it if signal\n // is already available on the Request prototype because in this case support\n // is present and the patching below can cause a crash since it assigns to\n // request.signal which is technically a read-only property. This latter error\n // happens when you run the main5.js node-fetch example in the repo\n // \"abortcontroller-polyfill-examples\". The exact error is:\n // request.signal = init.signal;\n // ^\n // TypeError: Cannot set property signal of # which has only a getter\n\n if (Request && !Request.prototype.hasOwnProperty('signal') || __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n Request = function Request(input, init) {\n var signal;\n\n if (init && init.signal) {\n signal = init.signal; // Never pass init.signal to the native Request implementation when the polyfill has\n // been installed because if we're running on top of a browser with a\n // working native AbortController (i.e. the polyfill was installed due to\n // __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL being set), then passing our\n // fake AbortSignal to the native fetch will trigger:\n // TypeError: Failed to construct 'Request': member signal is not of type AbortSignal.\n\n delete init.signal;\n }\n\n var request = new NativeRequest(input, init);\n\n if (signal) {\n Object.defineProperty(request, 'signal', {\n writable: false,\n enumerable: false,\n configurable: true,\n value: signal\n });\n }\n\n return request;\n };\n\n Request.prototype = NativeRequest.prototype;\n }\n\n var realFetch = fetch;\n\n var abortableFetch = function abortableFetch(input, init) {\n var signal = Request && Request.prototype.isPrototypeOf(input) ? input.signal : init ? init.signal : undefined;\n\n if (signal) {\n var abortError;\n\n try {\n abortError = new DOMException('Aborted', 'AbortError');\n } catch (err) {\n // IE 11 does not support calling the DOMException constructor, use a\n // regular error object on it instead.\n abortError = new Error('Aborted');\n abortError.name = 'AbortError';\n } // Return early if already aborted, thus avoiding making an HTTP request\n\n\n if (signal.aborted) {\n return Promise.reject(abortError);\n } // Turn an event into a promise, reject it once `abort` is dispatched\n\n\n var cancellation = new Promise(function (_, reject) {\n signal.addEventListener('abort', function () {\n return reject(abortError);\n }, {\n once: true\n });\n });\n\n if (init && init.signal) {\n // Never pass .signal to the native implementation when the polyfill has\n // been installed because if we're running on top of a browser with a\n // working native AbortController (i.e. the polyfill was installed due to\n // __FORCE_INSTALL_ABORTCONTROLLER_POLYFILL being set), then passing our\n // fake AbortSignal to the native fetch will trigger:\n // TypeError: Failed to execute 'fetch' on 'Window': member signal is not of type AbortSignal.\n delete init.signal;\n } // Return the fastest promise (don't need to wait for request to finish)\n\n\n return Promise.race([cancellation, realFetch(input, init)]);\n }\n\n return realFetch(input, init);\n };\n\n return {\n fetch: abortableFetch,\n Request: Request\n };\n}\n\nexports.AbortController = AbortController;\nexports.AbortSignal = AbortSignal;\nexports.abortableFetch = abortableFetchDecorator;\n","/* LEGACY-BROWSER-SUPPORT-START */\nimport fetch, {Headers} from 'cross-fetch';\nimport {AbortController} from 'abortcontroller-polyfill/dist/cjs-ponyfill';\nimport {isBrowser} from 'browser-or-node';\n/* LEGACY-BROWSER-SUPPORT-END */\n\nconst VERSION = '2.0.0';\n\ntype QueryParameter = Record>;\n\nexport interface RequestOptions extends RequestInit {\n queryParameters?: QueryParameter;\n retryCount?: number;\n requestTimeout?: number;\n retryTimeout?: number;\n timeout?: number;\n}\n\nexport function request(\n url: string | URL,\n options: RequestOptions = {}\n): Promise {\n const {queryParameters, requestTimeout = 30000, ...rest} = options;\n\n url = new URL(url.toString());\n\n url = applyParameters(url, queryParameters);\n options = applyTimeout(options, requestTimeout);\n\n return fetch_retry(url.toString(), 3, {\n ...rest,\n headers: new Headers({\n 'Content-Type': 'application/json; charset=utf-8',\n /* LEGACY-BROWSER-SUPPORT-START */\n ...userAgentHeader(),\n /* LEGACY-BROWSER-SUPPORT-END */\n ...rest.headers,\n }),\n });\n}\n\nfunction fetch_retry(\n url: string,\n retries: number,\n options: RequestOptions\n): Promise {\n return new Promise((resolve, reject) => {\n fetch(url, options).then(response => {\n // We don't want to `reject` when retries have finished\n // Instead simply stop trying and return.\n if (retries === 0) return resolve(response);\n if (response.status === 429) {\n const {retryTimeout = 20000} = options;\n retryTimeoutPromise(retryTimeout).then(() => {\n fetch_retry(url, retries - 1, options)\n .then(resolve)\n .catch(reject);\n });\n } else {\n resolve(response);\n }\n });\n });\n}\n\nconst retryTimeoutPromise = (milliseconds: number) => {\n return new Promise(resolve => setTimeout(resolve, milliseconds));\n};\n\nfunction userAgentHeader(): object {\n if (isBrowser) return {};\n\n return {\n 'User-Agent': `pdjs/${VERSION} (${process.version}/${process.platform})`,\n };\n}\n\nfunction applyParameters(url: URL, queryParameters?: QueryParameter): URL {\n if (!queryParameters) return url;\n\n const combinedParameters = url.searchParams;\n\n for (const key of Object.keys(queryParameters)) {\n const parameter = queryParameters[key];\n if (Array.isArray(parameter)) {\n // Support for array based keys like `additional_fields[]`\n parameter.forEach(item => {\n combinedParameters.append(key, item);\n });\n } else {\n combinedParameters.append(key, parameter);\n }\n }\n\n url.search = combinedParameters.toString();\n return url;\n}\n\nfunction applyTimeout(init: RequestOptions, timeout?: number): RequestOptions {\n if (!timeout) return init;\n\n const controller = new AbortController();\n setTimeout(() => controller.abort(), timeout);\n\n return {\n ...init,\n signal: controller.signal,\n };\n}\n","import {request, RequestOptions} from './common';\n\nexport interface ShorthandCall {\n (res: string, apiParameters?: Partial): APIPromise;\n}\n\nexport interface PartialCall {\n (apiParameters: APIParameters): APIPromise;\n (apiParameters: Partial): PartialCall;\n get: ShorthandCall;\n post: ShorthandCall;\n put: ShorthandCall;\n patch: ShorthandCall;\n delete: ShorthandCall;\n all: (apiParameters: APIParameters) => Promise;\n}\n\nexport type APIParameters = RequestOptions & {\n endpoint?: string;\n url?: string;\n data?: object;\n token?: string;\n server?: string;\n version?: number;\n} & ({endpoint: string} | {url: string});\n\nexport type APIPromise = Promise;\n\nexport interface APIResponse extends Response {\n data: any;\n resource: any;\n response: Response;\n next?: () => APIPromise;\n}\n\nexport function api(apiParameters: APIParameters): APIPromise;\nexport function api(apiParameters: Partial): PartialCall;\nexport function api(\n apiParameters: Partial\n): APIPromise | PartialCall {\n // If the apiParameters don't include `endpoint` treat it as a partial\n // application.\n if (!apiParameters.endpoint && !apiParameters.url) {\n return partialCall(apiParameters);\n }\n\n const {\n endpoint,\n server = 'api.pagerduty.com',\n token,\n url,\n version = 2,\n data,\n ...rest\n } = apiParameters;\n\n const config: RequestOptions = {\n method: 'GET',\n ...rest,\n headers: {\n Accept: `application/vnd.pagerduty+json;version=${version}`,\n Authorization: `Token token=${token!}`,\n ...rest.headers,\n },\n };\n\n // Allow `data` for `queryParameters` for requests without bodies.\n if (isReadonlyRequest(config.method!) && data) {\n config.queryParameters =\n config.queryParameters ?? (data as Record);\n } else {\n config.body = JSON.stringify(data);\n }\n\n return apiRequest(\n url ?? `https://${server}/${endpoint!.replace(/^\\/+/, '')}`,\n config\n );\n}\n\nexport function all(apiParameters: APIParameters): Promise {\n return (api(apiParameters) as APIPromise).then(response =>\n allInner([response])\n );\n}\n\nfunction allInner(responses: APIResponse[]): Promise {\n const response = responses[responses.length - 1];\n\n if (!response.next) {\n return Promise.resolve(responses);\n }\n\n return response\n .next()\n .then(response => allInner(responses.concat([response])));\n}\n\nfunction apiRequest(url: string, options: RequestOptions): APIPromise {\n return request(url, options).then(\n (response: Response): APIPromise => {\n const apiResponse = response as APIResponse;\n const resource = resourceKey(url);\n return response.json().then(\n (data): APIResponse => {\n apiResponse.next = nextFunc(url, options, data);\n apiResponse.data = data;\n apiResponse.resource = resource ? data[resource] : null;\n apiResponse.response = response;\n return apiResponse;\n }\n );\n }\n );\n}\n\nfunction resourceKey(url: string) {\n const resource = url.match(/.+.com\\/(?[\\w]+)/);\n if (resource) {\n return resource[1];\n }\n return null;\n}\n\nfunction isReadonlyRequest(method: string) {\n return !['PUT', 'POST', 'DELETE', 'PATCH'].includes(\n method.toUpperCase() ?? 'GET'\n );\n}\n\ninterface OffsetPagination {\n type: 'offset';\n more?: boolean;\n offset?: number;\n limit?: number;\n}\n\ninterface CursorPagination {\n type: 'cursor';\n cursor?: string;\n limit?: number;\n}\n\nfunction isOffsetPagination(\n data: OffsetPagination | CursorPagination\n): data is OffsetPagination {\n if ((data as OffsetPagination).offset !== undefined) {\n return true;\n }\n return false;\n}\n\nfunction isCursorPagination(\n data: OffsetPagination | CursorPagination\n): data is CursorPagination {\n if ((data as CursorPagination).cursor !== undefined) {\n return true;\n }\n return false;\n}\n\nfunction nextFunc(\n url: string,\n options: RequestOptions,\n data: OffsetPagination | CursorPagination\n) {\n if (isOffsetPagination(data)) {\n if (data?.more && typeof data.offset !== undefined && data.limit) {\n return () =>\n apiRequest(url, {\n ...options,\n queryParameters: {\n ...options.queryParameters,\n limit: data.limit!.toString(),\n offset: (data.limit! + data.offset!).toString(),\n },\n });\n }\n } else if (isCursorPagination(data)) {\n if (data?.cursor) {\n return () =>\n apiRequest(url, {\n ...options,\n queryParameters: {\n ...options.queryParameters,\n cursor: data.cursor!,\n limit: data.limit!.toString(),\n },\n });\n }\n }\n\n return undefined;\n}\n\nfunction partialCall(apiParameters: Partial) {\n const partialParameters = apiParameters;\n const partial = ((apiParameters: Partial) =>\n api({...partialParameters, ...apiParameters})) as PartialCall;\n\n const shorthand = (method: string) => (\n endpoint: string,\n shorthandParameters?: Partial\n ): APIPromise =>\n api({\n endpoint,\n method,\n ...partialParameters,\n ...shorthandParameters,\n }) as APIPromise;\n\n partial.get = shorthand('get');\n partial.post = shorthand('post');\n partial.put = shorthand('put');\n partial.patch = shorthand('patch');\n partial.delete = shorthand('delete');\n\n partial.all = (apiParameters: APIParameters) => all(apiParameters);\n\n return partial;\n}\n","import {request, RequestOptions} from './common';\n\nexport type Action = 'trigger' | 'acknowledge' | 'resolve';\n\nexport type EventPromise = Promise;\n\nexport interface EventResponse extends Response {\n data: any;\n response: Response;\n}\n\nexport type Severity = 'critical' | 'error' | 'warning' | 'info';\n\nexport interface Image {\n src: string;\n href?: string;\n alt?: string;\n}\n\nexport interface Link {\n href: string;\n text?: string;\n}\n\nexport interface EventPayloadV2 {\n routing_key: string;\n event_action: Action;\n dedup_key?: string;\n payload: {\n summary: string;\n source: string;\n severity: Severity;\n timestamp?: string;\n component?: string;\n group?: string;\n class?: string;\n custom_details?: object;\n };\n images?: Array;\n links?: Array;\n}\n\nexport interface EventParameters extends RequestOptions {\n data: EventPayloadV2;\n type?: string;\n server?: string;\n}\n\nexport interface ChangePayload {\n routing_key: string;\n payload: {\n summary: string;\n source?: string;\n timestamp: string;\n custom_details: object;\n };\n links: Array;\n}\nexport interface ChangeParameters extends RequestOptions {\n data: ChangePayload;\n server?: string;\n}\n\nexport function event(eventParameters: EventParameters): EventPromise {\n const {\n server = 'events.pagerduty.com',\n type = 'event',\n data,\n ...config\n } = eventParameters;\n\n let url = `https://${server}/v2/enqueue`;\n if (type === 'change') {\n url = `https://${server}/v2/change/enqueue`;\n }\n\n return eventFetch(url, {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n });\n}\n\nconst shorthand = (action: Action) => (\n eventParameters: EventParameters\n): EventPromise => {\n const typeField = 'event_action';\n\n return event({\n ...eventParameters,\n data: {\n ...eventParameters.data,\n [typeField]: action,\n },\n });\n};\n\nexport const trigger = shorthand('trigger');\nexport const acknowledge = shorthand('acknowledge');\nexport const resolve = shorthand('resolve');\nexport const change = (eventParameters: EventParameters) =>\n event({...eventParameters, type: 'change'});\n\nfunction eventFetch(url: string, options: RequestOptions): EventPromise {\n return request(url, options).then(\n (response: Response): EventPromise => {\n const apiResponse = response as EventResponse;\n return response.json().then(\n (data): EventResponse => {\n apiResponse.data = data;\n apiResponse.response = response;\n return apiResponse;\n }\n );\n }\n );\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/* global window self */\n\nvar isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';\n\n/* eslint-disable no-restricted-globals */\nvar isWebWorker = (typeof self === 'undefined' ? 'undefined' : _typeof(self)) === 'object' && self.constructor && self.constructor.name === 'DedicatedWorkerGlobalScope';\n/* eslint-enable no-restricted-globals */\n\nvar isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n\n/**\n * @see https://github.com/jsdom/jsdom/releases/tag/12.0.0\n * @see https://github.com/jsdom/jsdom/issues/1537\n */\n/* eslint-disable no-undef */\nvar isJsDom = function isJsDom() {\n return typeof window !== 'undefined' && window.name === 'nodejs' || navigator.userAgent.includes('Node.js') || navigator.userAgent.includes('jsdom');\n};\n\nexports.isBrowser = isBrowser;\nexports.isWebWorker = isWebWorker;\nexports.isNode = isNode;\nexports.isJsDom = isJsDom;","var __self__ = (function (root) {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = root.DOMException\n}\nF.prototype = root;\nreturn new F();\n})(typeof self !== 'undefined' ? self : this);\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n return exports;\n\n}({}));\n})(__self__);\ndelete __self__.fetch.polyfill\nexports = __self__.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = __self__.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = __self__.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = __self__.Headers\nexports.Request = __self__.Request\nexports.Response = __self__.Response\nmodule.exports = exports\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(47);\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => module['default'] :\n\t\t() => module;\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/pdjs.js b/dist/pdjs.js index 8634dae..ad34b57 100644 --- a/dist/pdjs.js +++ b/dist/pdjs.js @@ -1,2 +1,2 @@ -var PagerDuty;PagerDuty=(()=>{"use strict";var t={337:(t,e,r)=>{function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function o(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function i(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e,n=r.params,u=r.requestTimeout,i=void 0===u?3e4:u,f=(r.retryCount,c(r,["params","requestTimeout","retryCount"]));return t=l(t=new URL(t.toString()),n),e=p(e,i),a(t.toString(),3,o(o({},f),{},{headers:new Headers(o({"Content-Type":"application/json; charset=utf-8"},f.headers))}))}function a(t,e,r){return new Promise((function(n,o){fetch(t,r).then((function(u){if(0===e)return n(u);if(429===u.status){var c=r.retryTimeout;f(c).then((function(){a(t,e-1,r).then(n).catch(o)}))}else n(u)}))}))}r.r(e),r.d(e,{acknowledge:()=>A,all:()=>S,api:()=>w,change:()=>q,event:()=>_,resolve:()=>M,trigger:()=>C});var f=function(t){return new Promise((function(e){return setTimeout(e,t)}))};function l(t,e){if(!e)return t;for(var r=t.searchParams,n=0,o=Object.keys(e);n]+)>/g,(function(t,e){return"$"+r[e]})))}if("function"==typeof e){var u=this;return n[Symbol.replace].call(this,t,(function(){var t=[];return t.push.apply(t,arguments),"object"!==s(t[t.length-1])&&t.push(c(t,u)),e.apply(this,t)}))}return n[Symbol.replace].call(this,t,e)},y.apply(this,arguments)}function b(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&d(t,e)}function O(t){var e="function"==typeof Map?new Map:void 0;return(O=function(t){if(null===t||(r=t,-1===Function.toString.call(r).indexOf("[native code]")))return t;var r;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return v(t,arguments,h(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),d(n,t)})(t)}function v(t,e,r){return(v=g()?Reflect.construct:function(t,e,r){var n=[null];n.push.apply(n,e);var o=new(Function.bind.apply(t,n));return r&&d(o,r.prototype),o}).apply(null,arguments)}function g(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function d(t,e){return(d=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function m(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function j(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["endpoint","server","token","url","version","data"]),y=j(j({method:"GET"},s),{},{headers:j({Accept:"application/vnd.pagerduty+json;version=".concat(l),Authorization:"Token token=".concat(i)},s.headers)});return r=y.method,!["PUT","POST","DELETE","PATCH"].includes(null!==(n=r.toUpperCase())&&void 0!==n?n:"GET")&&p?y.params=null!==(e=y.params)&&void 0!==e?e:p:y.body=JSON.stringify(p),E(null!=a?a:"https://".concat(c,"/").concat(o.replace(/^\/+/,"")),y)}function S(t){return w(t).then((function(t){return x([t])}))}function x(t){var e=t[t.length-1];return e.next?e.next().then((function(e){return x(t.concat([e]))})):Promise.resolve(t)}function E(t,e){return i(t,e).then((function(r){var n=r,o=function(t){var e=t.match(y(/.+.com\/([0-9A-Z_a-z]+)/,{resource:1}));return e?e[1]:null}(t);return r.json().then((function(u){return n.next=function(t,e,r){if(function(t){return void 0!==t.offset}(r)){if((null==r?void 0:r.more)&&void 0!==s(r.offset)&&r.limit)return function(){return E(t,j(j({},e),{},{params:j(j({},e.params),{},{limit:r.limit.toString(),offset:(r.limit+r.offset).toString()})}))}}else if(function(t){return void 0!==t.cursor}(r)&&(null==r?void 0:r.cursor))return function(){return E(t,j(j({},e),{},{params:j(j({},e.params),{},{cursor:r.cursor,limit:r.limit.toString()})}))}}(t,e,u),n.data=u,n.resource=o?u[o]:null,n.response=r,n}))}))}function T(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function D(t){for(var e=1;e=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,["server","type","data"]),a="https://".concat(r,"/v2/enqueue");return"change"===o&&(a="https://".concat(r,"/v2/change/enqueue")),function(t,e){return i(t,e).then((function(t){var e=t;return t.json().then((function(r){return e.data=r,e.response=t,e}))}))}(a,D({method:"POST",body:JSON.stringify(u)},c))}var R=function(t){return function(e){return _(D(D({},e),{},{data:D(D({},e.data),{},k({},"event_action",t))}))}},C=R("trigger"),A=R("acknowledge"),M=R("resolve"),q=function(t){return _(D(D({},t),{},{type:"change"}))}}},e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return t[n](o,o.exports,r),o.exports}return r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r(337)})(); +var PagerDuty;PagerDuty=(()=>{"use strict";var e={337:(e,t,r)=>{function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t,n=r.queryParameters,u=r.requestTimeout,i=void 0===u?3e4:u,f=c(r,["queryParameters","requestTimeout"]);return e=l(e=new URL(e.toString()),n),t=p(t,i),a(e.toString(),3,o(o({},f),{},{headers:new Headers(o({"Content-Type":"application/json; charset=utf-8"},f.headers))}))}function a(e,t,r){return new Promise((function(n,o){fetch(e,r).then((function(u){if(0===t)return n(u);if(429===u.status){var c=r.retryTimeout;f(void 0===c?2e4:c).then((function(){a(e,t-1,r).then(n).catch(o)}))}else n(u)}))}))}r.r(t),r.d(t,{acknowledge:()=>A,all:()=>S,api:()=>w,change:()=>C,event:()=>q,resolve:()=>M,trigger:()=>R});var f=function(e){return new Promise((function(t){return setTimeout(t,e)}))};function l(e,t){if(!t)return e;for(var r=e.searchParams,n=function(){var e=u[o],n=t[e];Array.isArray(n)?n.forEach((function(t){r.append(e,t)})):r.append(e,n)},o=0,u=Object.keys(t);o]+)>/g,(function(e,t){return"$"+r[t]})))}if("function"==typeof t){var u=this;return n[Symbol.replace].call(this,e,(function(){var e=[];return e.push.apply(e,arguments),"object"!==s(e[e.length-1])&&e.push(c(e,u)),t.apply(this,e)}))}return n[Symbol.replace].call(this,e,t)},y.apply(this,arguments)}function b(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&d(e,t)}function O(e){var t="function"==typeof Map?new Map:void 0;return(O=function(e){if(null===e||(r=e,-1===Function.toString.call(r).indexOf("[native code]")))return e;var r;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return v(e,arguments,h(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),d(n,e)})(e)}function v(e,t,r){return(v=g()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&d(o,r.prototype),o}).apply(null,arguments)}function g(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function d(e,t){return(d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function h(e){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function m(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function j(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,["endpoint","server","token","url","version","data"]),y=j(j({method:"GET"},s),{},{headers:j({Accept:"application/vnd.pagerduty+json;version=".concat(l),Authorization:"Token token=".concat(i)},s.headers)});return r=y.method,!["PUT","POST","DELETE","PATCH"].includes(null!==(n=r.toUpperCase())&&void 0!==n?n:"GET")&&p?y.queryParameters=null!==(t=y.queryParameters)&&void 0!==t?t:p:y.body=JSON.stringify(p),E(null!=a?a:"https://".concat(c,"/").concat(o.replace(/^\/+/,"")),y)}function S(e){return w(e).then((function(e){return x([e])}))}function x(e){var t=e[e.length-1];return t.next?t.next().then((function(t){return x(e.concat([t]))})):Promise.resolve(e)}function E(e,t){return i(e,t).then((function(r){var n=r,o=function(e){var t=e.match(y(/.+.com\/([0-9A-Z_a-z]+)/,{resource:1}));return t?t[1]:null}(e);return r.json().then((function(u){return n.next=function(e,t,r){if(function(e){return void 0!==e.offset}(r)){if((null==r?void 0:r.more)&&void 0!==s(r.offset)&&r.limit)return function(){return E(e,j(j({},t),{},{queryParameters:j(j({},t.queryParameters),{},{limit:r.limit.toString(),offset:(r.limit+r.offset).toString()})}))}}else if(function(e){return void 0!==e.cursor}(r)&&(null==r?void 0:r.cursor))return function(){return E(e,j(j({},t),{},{queryParameters:j(j({},t.queryParameters),{},{cursor:r.cursor,limit:r.limit.toString()})}))}}(e,t,u),n.data=u,n.resource=o?u[o]:null,n.response=r,n}))}))}function T(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function D(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,["server","type","data"]),a="https://".concat(r,"/v2/enqueue");return"change"===o&&(a="https://".concat(r,"/v2/change/enqueue")),function(e,t){return i(e,t).then((function(e){var t=e;return e.json().then((function(r){return t.data=r,t.response=e,t}))}))}(a,D({method:"POST",body:JSON.stringify(u)},c))}var _=function(e){return function(t){return q(D(D({},t),{},{data:D(D({},t.data),{},k({},"event_action",e))}))}},R=_("trigger"),A=_("acknowledge"),M=_("resolve"),C=function(e){return q(D(D({},e),{},{type:"change"}))}}},t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}return r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r(337)})(); //# sourceMappingURL=pdjs.js.map \ No newline at end of file diff --git a/dist/pdjs.js.map b/dist/pdjs.js.map index 0ea8357..770a00b 100644 --- a/dist/pdjs.js.map +++ b/dist/pdjs.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://PagerDuty/./src/common.ts","webpack://PagerDuty/./src/api.ts","webpack://PagerDuty/./src/events.ts","webpack://PagerDuty/webpack/bootstrap","webpack://PagerDuty/webpack/startup","webpack://PagerDuty/webpack/runtime/define property getters","webpack://PagerDuty/webpack/runtime/hasOwnProperty shorthand","webpack://PagerDuty/webpack/runtime/make namespace object"],"names":["request","url","options","params","requestTimeout","rest","retryCount","applyParams","URL","toString","applyTimeout","fetch_retry","headers","Headers","retries","Promise","resolve","reject","fetch","then","response","status","retryTimeout","retryTimeoutPromise","milliseconds","setTimeout","combinedParams","searchParams","Object","keys","key","append","search","init","timeout","controller","AbortController","abort","signal","api","endpoint","partialParams","partial","shorthand","method","get","post","put","patch","all","partialCall","server","token","version","data","config","Accept","Authorization","includes","toUpperCase","body","JSON","stringify","apiRequest","replace","allInner","responses","length","next","concat","apiResponse","resource","match","resourceKey","json","undefined","offset","isOffsetPagination","more","limit","cursor","isCursorPagination","nextFunc","event","type","eventFetch","action","trigger","acknowledge","change","__webpack_module_cache__","__webpack_require__","moduleId","exports","module","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value"],"mappings":"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","file":"pdjs.js","sourcesContent":["/* webpack-strip-block:removed */\n\nconst VERSION = '2.0.0';\n\nexport interface RequestOptions extends RequestInit {\n params?: Record;\n retryCount?: number;\n requestTimeout?: number;\n retryTimeout?: number;\n timeout?: number;\n}\n\nexport function request(\n url: string | URL,\n options: RequestOptions = {}\n): Promise {\n const {\n params,\n requestTimeout = 30000,\n retryCount = 0,\n ...rest\n } = options;\n\n\n url = new URL(url.toString());\n\n url = applyParams(url, params);\n options = applyTimeout(options, requestTimeout);\n\n return fetch_retry(\n url.toString(),\n 3,\n {\n ...rest,\n headers: new Headers({\n 'Content-Type': 'application/json; charset=utf-8',\n /* webpack-strip-block:removed */\n ...rest.headers,\n }),\n }\n );\n}\n\nfunction fetch_retry(url: string, retries: number, options: any): Promise{\n return new Promise(function(resolve, reject) {\n fetch(url, options)\n .then((response) => {\n // We don't want to `reject` when retries have finished\n // Instead simply stop trying and return.\n if (retries === 0) return resolve(response);\n if (response.status === 429) {\n const {retryTimeout} = options;\n retryTimeoutPromise(retryTimeout).then(() => {\n fetch_retry(url, retries - 1, options).then(resolve).catch(reject);\n });\n } else {\n resolve(response);\n }\n })\n });\n}\n\nconst retryTimeoutPromise = (milliseconds: number) => {\n return new Promise(resolve => setTimeout(resolve, milliseconds))\n}\n\nfunction userAgentHeader(): object {\n if (isBrowser) return {};\n\n return {\n 'User-Agent': `pdjs/${VERSION} (${process.version}/${process.platform})`,\n };\n}\n\nfunction applyParams(url: URL, params?: Record): URL {\n if (!params) return url;\n\n const combinedParams = url.searchParams;\n\n for (const key of Object.keys(params)) {\n combinedParams.append(key, params[key]);\n }\n\n url.search = combinedParams.toString();\n return url;\n}\n\nfunction applyTimeout(init: RequestOptions, timeout?: number): RequestOptions {\n if (!timeout) return init;\n\n const controller = new AbortController();\n setTimeout(() => controller.abort(), timeout);\n\n return {\n ...init,\n signal: controller.signal,\n };\n}\n","import {request, RequestOptions} from './common';\n\nexport interface ShorthandCall {\n (res: string, params?: Partial): APIPromise;\n}\n\nexport interface PartialCall {\n (params: APIParams): APIPromise;\n (params: Partial): PartialCall;\n get: ShorthandCall;\n post: ShorthandCall;\n put: ShorthandCall;\n patch: ShorthandCall;\n delete: ShorthandCall;\n all: (params: APIParams) => Promise;\n}\n\nexport type APIParams = RequestOptions & {\n endpoint?: string;\n url?: string;\n data?: object;\n token?: string;\n server?: string;\n version?: number;\n} & ({endpoint: string} | {url: string});\n\nexport type APIPromise = Promise;\n\nexport interface APIResponse extends Response {\n data: any;\n resource: any;\n response: Response;\n next?: () => APIPromise;\n}\n\nexport function api(params: APIParams): APIPromise;\nexport function api(params: Partial): PartialCall;\nexport function api(params: Partial): APIPromise | PartialCall {\n // If the params don't include `endpoint` treat it as a partial\n // application.\n if (!params.endpoint && !params.url) {\n return partialCall(params);\n }\n\n const {\n endpoint,\n server = 'api.pagerduty.com',\n token,\n url,\n version = 2,\n data,\n ...rest\n } = params;\n\n const config: RequestOptions = {\n method: 'GET',\n ...rest,\n headers: {\n Accept: `application/vnd.pagerduty+json;version=${version}`,\n Authorization: `Token token=${token!}`,\n ...rest.headers,\n },\n };\n\n // Allow `data` for `params` for requests without bodies.\n if (isReadonlyRequest(config.method!) && data) {\n config.params = config.params ?? (data as Record);\n } else {\n config.body = JSON.stringify(data);\n }\n\n return apiRequest(\n url ?? `https://${server}/${endpoint!.replace(/^\\/+/, '')}`,\n config\n );\n}\n\nexport function all(params: APIParams): Promise {\n return (api(params) as APIPromise).then(response => allInner([response]));\n}\n\nfunction allInner(responses: APIResponse[]): Promise {\n const response = responses[responses.length - 1];\n\n if (!response.next) {\n return Promise.resolve(responses);\n }\n\n return response\n .next()\n .then(response => allInner(responses.concat([response])));\n}\n\nfunction apiRequest(url: string, options: RequestOptions): APIPromise {\n return request(url, options).then(\n (response: Response): APIPromise => {\n const apiResponse = response as APIResponse;\n const resource = resourceKey(url);\n return response.json().then(\n (data): APIResponse => {\n apiResponse.next = nextFunc(url, options, data);\n apiResponse.data = data;\n apiResponse.resource = resource ? data[resource] : null;\n apiResponse.response = response;\n return apiResponse;\n }\n );\n }\n );\n}\n\nfunction resourceKey(url: string) {\n const resource = url.match(/.+.com\\/(?[\\w]+)/);\n if (resource) {\n return resource[1];\n }\n return null;\n}\n\nfunction isReadonlyRequest(method: string) {\n return !['PUT', 'POST', 'DELETE', 'PATCH'].includes(\n method.toUpperCase() ?? 'GET'\n );\n}\n\ninterface OffsetPagination {\n type: 'offset';\n more?: boolean;\n offset?: number;\n limit?: number;\n}\n\ninterface CursorPagination {\n type: 'cursor';\n cursor?: string;\n limit?: number;\n}\n\nfunction isOffsetPagination(\n data: OffsetPagination | CursorPagination\n): data is OffsetPagination {\n if ((data as OffsetPagination).offset !== undefined) {\n return true;\n }\n return false;\n}\n\nfunction isCursorPagination(\n data: OffsetPagination | CursorPagination\n): data is CursorPagination {\n if ((data as CursorPagination).cursor !== undefined) {\n return true;\n }\n return false;\n}\n\nfunction nextFunc(\n url: string,\n options: RequestOptions,\n data: OffsetPagination | CursorPagination\n) {\n if (isOffsetPagination(data)) {\n if (data?.more && typeof data.offset !== undefined && data.limit) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n limit: data.limit!.toString(),\n offset: (data.limit! + data.offset!).toString(),\n },\n });\n }\n } else if (isCursorPagination(data)) {\n if (data?.cursor) {\n return () =>\n apiRequest(url, {\n ...options,\n params: {\n ...options.params,\n cursor: data.cursor!,\n limit: data.limit!.toString(),\n },\n });\n }\n }\n\n return undefined;\n}\n\nfunction partialCall(params: Partial) {\n const partialParams = params;\n const partial = ((params: Partial) =>\n api({...partialParams, ...params})) as PartialCall;\n\n const shorthand = (method: string) => (\n endpoint: string,\n params?: Partial\n ): APIPromise =>\n api({endpoint, method, ...partialParams, ...params}) as APIPromise;\n\n partial.get = shorthand('get');\n partial.post = shorthand('post');\n partial.put = shorthand('put');\n partial.patch = shorthand('patch');\n partial.delete = shorthand('delete');\n\n partial.all = (params: APIParams) => all(params);\n\n return partial;\n}\n","import {request, RequestOptions} from './common';\n\nexport type Action = 'trigger' | 'acknowledge' | 'resolve';\n\nexport type EventPromise = Promise;\n\nexport interface EventResponse extends Response {\n data: any;\n response: Response;\n}\n\nexport type Severity = 'critical' | 'error' | 'warning' | 'info';\n\nexport interface Image {\n src: string;\n href?: string;\n alt?: string;\n}\n\nexport interface Link {\n href: string;\n text?: string;\n}\n\nexport interface EventPayloadV2 {\n routing_key: string;\n event_action: Action;\n dedup_key?: string;\n payload: {\n summary: string;\n source: string;\n severity: Severity;\n timestamp?: string;\n component?: string;\n group?: string;\n class?: string;\n custom_details?: object;\n };\n images?: Array;\n links?: Array;\n}\n\nexport interface EventParams extends RequestOptions {\n data: EventPayloadV2;\n type?: string;\n server?: string;\n}\n\nexport interface ChangePayload {\n routing_key: string;\n payload: {\n summary: string;\n source?: string;\n timestamp: string;\n custom_details: object;\n };\n links: Array;\n}\nexport interface ChangeParams extends RequestOptions {\n data: ChangePayload;\n server?: string;\n}\n\nexport function event(params: EventParams): EventPromise {\n const {\n server = 'events.pagerduty.com',\n type = 'event',\n data,\n ...config\n } = params;\n\n let url = `https://${server}/v2/enqueue`;\n if (type === 'change') {\n url = `https://${server}/v2/change/enqueue`;\n }\n\n return eventFetch(url, {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n });\n}\n\nconst shorthand = (action: Action) => (params: EventParams): EventPromise => {\n const typeField = 'event_action';\n\n return event({\n ...params,\n data: {\n ...params.data,\n [typeField]: action,\n },\n });\n};\n\nexport const trigger = shorthand('trigger');\nexport const acknowledge = shorthand('acknowledge');\nexport const resolve = shorthand('resolve');\nexport const change = (params: EventParams) =>\n event({...params, type: 'change'});\n\nfunction eventFetch(url: string, options: RequestOptions): EventPromise {\n return request(url, options).then(\n (response: Response): EventPromise => {\n const apiResponse = response as EventResponse;\n return response.json().then(\n (data): EventResponse => {\n apiResponse.data = data;\n apiResponse.response = response;\n return apiResponse;\n }\n );\n }\n );\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(337);\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://PagerDuty/./src/common.ts","webpack://PagerDuty/./src/api.ts","webpack://PagerDuty/./src/events.ts","webpack://PagerDuty/webpack/bootstrap","webpack://PagerDuty/webpack/startup","webpack://PagerDuty/webpack/runtime/define property getters","webpack://PagerDuty/webpack/runtime/hasOwnProperty shorthand","webpack://PagerDuty/webpack/runtime/make namespace object"],"names":["request","url","options","queryParameters","requestTimeout","rest","applyParameters","URL","toString","applyTimeout","fetch_retry","headers","Headers","retries","Promise","resolve","reject","fetch","then","response","status","retryTimeout","retryTimeoutPromise","milliseconds","setTimeout","combinedParameters","searchParams","key","parameter","Array","isArray","forEach","item","append","Object","keys","search","init","timeout","controller","AbortController","abort","signal","api","apiParameters","endpoint","partialParameters","partial","shorthand","method","shorthandParameters","get","post","put","patch","all","partialCall","server","token","version","data","config","Accept","Authorization","includes","toUpperCase","body","JSON","stringify","apiRequest","replace","allInner","responses","length","next","concat","apiResponse","resource","match","resourceKey","json","undefined","offset","isOffsetPagination","more","limit","cursor","isCursorPagination","nextFunc","event","eventParameters","type","eventFetch","action","trigger","acknowledge","change","__webpack_module_cache__","__webpack_require__","moduleId","exports","module","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value"],"mappings":"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","file":"pdjs.js","sourcesContent":["/* webpack-strip-block:removed */\n\nconst VERSION = '2.0.0';\n\ntype QueryParameter = Record>;\n\nexport interface RequestOptions extends RequestInit {\n queryParameters?: QueryParameter;\n retryCount?: number;\n requestTimeout?: number;\n retryTimeout?: number;\n timeout?: number;\n}\n\nexport function request(\n url: string | URL,\n options: RequestOptions = {}\n): Promise {\n const {queryParameters, requestTimeout = 30000, ...rest} = options;\n\n url = new URL(url.toString());\n\n url = applyParameters(url, queryParameters);\n options = applyTimeout(options, requestTimeout);\n\n return fetch_retry(url.toString(), 3, {\n ...rest,\n headers: new Headers({\n 'Content-Type': 'application/json; charset=utf-8',\n /* webpack-strip-block:removed */\n ...rest.headers,\n }),\n });\n}\n\nfunction fetch_retry(\n url: string,\n retries: number,\n options: RequestOptions\n): Promise {\n return new Promise((resolve, reject) => {\n fetch(url, options).then(response => {\n // We don't want to `reject` when retries have finished\n // Instead simply stop trying and return.\n if (retries === 0) return resolve(response);\n if (response.status === 429) {\n const {retryTimeout = 20000} = options;\n retryTimeoutPromise(retryTimeout).then(() => {\n fetch_retry(url, retries - 1, options)\n .then(resolve)\n .catch(reject);\n });\n } else {\n resolve(response);\n }\n });\n });\n}\n\nconst retryTimeoutPromise = (milliseconds: number) => {\n return new Promise(resolve => setTimeout(resolve, milliseconds));\n};\n\nfunction userAgentHeader(): object {\n if (isBrowser) return {};\n\n return {\n 'User-Agent': `pdjs/${VERSION} (${process.version}/${process.platform})`,\n };\n}\n\nfunction applyParameters(url: URL, queryParameters?: QueryParameter): URL {\n if (!queryParameters) return url;\n\n const combinedParameters = url.searchParams;\n\n for (const key of Object.keys(queryParameters)) {\n const parameter = queryParameters[key];\n if (Array.isArray(parameter)) {\n // Support for array based keys like `additional_fields[]`\n parameter.forEach(item => {\n combinedParameters.append(key, item);\n });\n } else {\n combinedParameters.append(key, parameter);\n }\n }\n\n url.search = combinedParameters.toString();\n return url;\n}\n\nfunction applyTimeout(init: RequestOptions, timeout?: number): RequestOptions {\n if (!timeout) return init;\n\n const controller = new AbortController();\n setTimeout(() => controller.abort(), timeout);\n\n return {\n ...init,\n signal: controller.signal,\n };\n}\n","import {request, RequestOptions} from './common';\n\nexport interface ShorthandCall {\n (res: string, apiParameters?: Partial): APIPromise;\n}\n\nexport interface PartialCall {\n (apiParameters: APIParameters): APIPromise;\n (apiParameters: Partial): PartialCall;\n get: ShorthandCall;\n post: ShorthandCall;\n put: ShorthandCall;\n patch: ShorthandCall;\n delete: ShorthandCall;\n all: (apiParameters: APIParameters) => Promise;\n}\n\nexport type APIParameters = RequestOptions & {\n endpoint?: string;\n url?: string;\n data?: object;\n token?: string;\n server?: string;\n version?: number;\n} & ({endpoint: string} | {url: string});\n\nexport type APIPromise = Promise;\n\nexport interface APIResponse extends Response {\n data: any;\n resource: any;\n response: Response;\n next?: () => APIPromise;\n}\n\nexport function api(apiParameters: APIParameters): APIPromise;\nexport function api(apiParameters: Partial): PartialCall;\nexport function api(\n apiParameters: Partial\n): APIPromise | PartialCall {\n // If the apiParameters don't include `endpoint` treat it as a partial\n // application.\n if (!apiParameters.endpoint && !apiParameters.url) {\n return partialCall(apiParameters);\n }\n\n const {\n endpoint,\n server = 'api.pagerduty.com',\n token,\n url,\n version = 2,\n data,\n ...rest\n } = apiParameters;\n\n const config: RequestOptions = {\n method: 'GET',\n ...rest,\n headers: {\n Accept: `application/vnd.pagerduty+json;version=${version}`,\n Authorization: `Token token=${token!}`,\n ...rest.headers,\n },\n };\n\n // Allow `data` for `queryParameters` for requests without bodies.\n if (isReadonlyRequest(config.method!) && data) {\n config.queryParameters =\n config.queryParameters ?? (data as Record);\n } else {\n config.body = JSON.stringify(data);\n }\n\n return apiRequest(\n url ?? `https://${server}/${endpoint!.replace(/^\\/+/, '')}`,\n config\n );\n}\n\nexport function all(apiParameters: APIParameters): Promise {\n return (api(apiParameters) as APIPromise).then(response =>\n allInner([response])\n );\n}\n\nfunction allInner(responses: APIResponse[]): Promise {\n const response = responses[responses.length - 1];\n\n if (!response.next) {\n return Promise.resolve(responses);\n }\n\n return response\n .next()\n .then(response => allInner(responses.concat([response])));\n}\n\nfunction apiRequest(url: string, options: RequestOptions): APIPromise {\n return request(url, options).then(\n (response: Response): APIPromise => {\n const apiResponse = response as APIResponse;\n const resource = resourceKey(url);\n return response.json().then(\n (data): APIResponse => {\n apiResponse.next = nextFunc(url, options, data);\n apiResponse.data = data;\n apiResponse.resource = resource ? data[resource] : null;\n apiResponse.response = response;\n return apiResponse;\n }\n );\n }\n );\n}\n\nfunction resourceKey(url: string) {\n const resource = url.match(/.+.com\\/(?[\\w]+)/);\n if (resource) {\n return resource[1];\n }\n return null;\n}\n\nfunction isReadonlyRequest(method: string) {\n return !['PUT', 'POST', 'DELETE', 'PATCH'].includes(\n method.toUpperCase() ?? 'GET'\n );\n}\n\ninterface OffsetPagination {\n type: 'offset';\n more?: boolean;\n offset?: number;\n limit?: number;\n}\n\ninterface CursorPagination {\n type: 'cursor';\n cursor?: string;\n limit?: number;\n}\n\nfunction isOffsetPagination(\n data: OffsetPagination | CursorPagination\n): data is OffsetPagination {\n if ((data as OffsetPagination).offset !== undefined) {\n return true;\n }\n return false;\n}\n\nfunction isCursorPagination(\n data: OffsetPagination | CursorPagination\n): data is CursorPagination {\n if ((data as CursorPagination).cursor !== undefined) {\n return true;\n }\n return false;\n}\n\nfunction nextFunc(\n url: string,\n options: RequestOptions,\n data: OffsetPagination | CursorPagination\n) {\n if (isOffsetPagination(data)) {\n if (data?.more && typeof data.offset !== undefined && data.limit) {\n return () =>\n apiRequest(url, {\n ...options,\n queryParameters: {\n ...options.queryParameters,\n limit: data.limit!.toString(),\n offset: (data.limit! + data.offset!).toString(),\n },\n });\n }\n } else if (isCursorPagination(data)) {\n if (data?.cursor) {\n return () =>\n apiRequest(url, {\n ...options,\n queryParameters: {\n ...options.queryParameters,\n cursor: data.cursor!,\n limit: data.limit!.toString(),\n },\n });\n }\n }\n\n return undefined;\n}\n\nfunction partialCall(apiParameters: Partial) {\n const partialParameters = apiParameters;\n const partial = ((apiParameters: Partial) =>\n api({...partialParameters, ...apiParameters})) as PartialCall;\n\n const shorthand = (method: string) => (\n endpoint: string,\n shorthandParameters?: Partial\n ): APIPromise =>\n api({\n endpoint,\n method,\n ...partialParameters,\n ...shorthandParameters,\n }) as APIPromise;\n\n partial.get = shorthand('get');\n partial.post = shorthand('post');\n partial.put = shorthand('put');\n partial.patch = shorthand('patch');\n partial.delete = shorthand('delete');\n\n partial.all = (apiParameters: APIParameters) => all(apiParameters);\n\n return partial;\n}\n","import {request, RequestOptions} from './common';\n\nexport type Action = 'trigger' | 'acknowledge' | 'resolve';\n\nexport type EventPromise = Promise;\n\nexport interface EventResponse extends Response {\n data: any;\n response: Response;\n}\n\nexport type Severity = 'critical' | 'error' | 'warning' | 'info';\n\nexport interface Image {\n src: string;\n href?: string;\n alt?: string;\n}\n\nexport interface Link {\n href: string;\n text?: string;\n}\n\nexport interface EventPayloadV2 {\n routing_key: string;\n event_action: Action;\n dedup_key?: string;\n payload: {\n summary: string;\n source: string;\n severity: Severity;\n timestamp?: string;\n component?: string;\n group?: string;\n class?: string;\n custom_details?: object;\n };\n images?: Array;\n links?: Array;\n}\n\nexport interface EventParameters extends RequestOptions {\n data: EventPayloadV2;\n type?: string;\n server?: string;\n}\n\nexport interface ChangePayload {\n routing_key: string;\n payload: {\n summary: string;\n source?: string;\n timestamp: string;\n custom_details: object;\n };\n links: Array;\n}\nexport interface ChangeParameters extends RequestOptions {\n data: ChangePayload;\n server?: string;\n}\n\nexport function event(eventParameters: EventParameters): EventPromise {\n const {\n server = 'events.pagerduty.com',\n type = 'event',\n data,\n ...config\n } = eventParameters;\n\n let url = `https://${server}/v2/enqueue`;\n if (type === 'change') {\n url = `https://${server}/v2/change/enqueue`;\n }\n\n return eventFetch(url, {\n method: 'POST',\n body: JSON.stringify(data),\n ...config,\n });\n}\n\nconst shorthand = (action: Action) => (\n eventParameters: EventParameters\n): EventPromise => {\n const typeField = 'event_action';\n\n return event({\n ...eventParameters,\n data: {\n ...eventParameters.data,\n [typeField]: action,\n },\n });\n};\n\nexport const trigger = shorthand('trigger');\nexport const acknowledge = shorthand('acknowledge');\nexport const resolve = shorthand('resolve');\nexport const change = (eventParameters: EventParameters) =>\n event({...eventParameters, type: 'change'});\n\nfunction eventFetch(url: string, options: RequestOptions): EventPromise {\n return request(url, options).then(\n (response: Response): EventPromise => {\n const apiResponse = response as EventResponse;\n return response.json().then(\n (data): EventResponse => {\n apiResponse.data = data;\n apiResponse.response = response;\n return apiResponse;\n }\n );\n }\n );\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(337);\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"sourceRoot":""} \ No newline at end of file From a6c213b3fe67b4ea86e5d18594747640f1754594 Mon Sep 17 00:00:00 2001 From: Brett Willemsen Date: Mon, 16 Nov 2020 11:17:38 -0500 Subject: [PATCH 26/26] Update readme and package. --- README.md | 6 +++--- package.json | 6 ++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index f08bbb5..f264e90 100644 --- a/README.md +++ b/README.md @@ -155,13 +155,13 @@ There is some very simple retry logic baked into each request in the case that t Two browser-ready scripts are provided: -- [dist/pdjs.js](https://raw.githubusercontent.com/PagerDuty/pdjs/2.0/dist/pdjs.js): For browsers supporting `fetch`. -- [dist/pdjs-legacy.js](https://raw.githubusercontent.com/PagerDuty/pdjs/2.0/dist/pdjs-legacy.js): For older browsers requiring a `fetch` polyfill -- mostly IE 11. +- [dist/pdjs.js](https://raw.githubusercontent.com/PagerDuty/pdjs/main/dist/pdjs.js): For browsers supporting `fetch`. +- [dist/pdjs-legacy.js](https://raw.githubusercontent.com/PagerDuty/pdjs/maindist/pdjs-legacy.js): For older browsers requiring a `fetch` polyfill -- mostly IE 11. Either of these files can be used by copying them into your project and including them directly, with all functions namespaced `PagerDuty`: ```html - +