Comparing version 1.0.2 to 1.0.3
120
CHANGELOG.md
@@ -1,119 +0,1 @@ | ||
# Changelog | ||
### 1.0.1 (2017-02-06) | ||
1.0.0 was pushed and immmediately replaced due to a publishing issue. | ||
d2437cb Fix source badges | ||
f35753c Simplify the Travis push mechanism | ||
9cca85e Have Travis commit built files back to the repo | ||
3042d26 Fix UTF8 decode for demo content | ||
a145bea Add website and bug link to package.jsons [skip ci] | ||
c34f864 Adjust the syntax highlighting style, reduce demo filesize | ||
10f44df Fix some mobile site styles | ||
6e241ec Only use external React in the site during production mode | ||
613e891 Use minified React & React DOM on the site | ||
d8eae3c Adjust how the site is created | ||
d9b92b0 Few more external links that need rel='noopener' | ||
48f7f33 Add note on browser compatibility | ||
18f390a Add meta description, fix a few lighthouse-identified issues | ||
7d31ba5 Fix coverage generation on CI | ||
4517340 Adjust how the test reporter is called | ||
690b163 [bugfix] ArrowKeyNavigation ignore invalid children | ||
c503614 Ignore propType warnings | ||
### 1.0.0-beta.7 (2017-02-03) | ||
7be9e24 Fix site | ||
cdd21d9 Tweak the utils site pages, rebuild | ||
3e9bea9 Trim old code out of webNotification | ||
cf2f339 Ignore built coverage | ||
2096d10 Allow tables inside tables to auto-size themselves | ||
83aff1a Rebuild master files | ||
c956a0f Add wildcard propType for places where anything is accepted | ||
6a79d2f SegmentedControl prop audit | ||
a31c57b Fix Image styling | ||
da7b449 Radio prop audit | ||
c76e2fd ProgressiveDisclosure prop audit | ||
65bfb32 Progress prop audit | ||
b9e0748 Make one of the test helpers more useful | ||
8038a78 Portal test cleanup | ||
7396453 Popover test cleanup | ||
f95da0b Pagination prop audit | ||
8cdef4b Modal test cleanup, no prop changes | ||
632116a Input prop audit | ||
1999ed9 Image prop audit* | ||
56607fd FittedText prop audit | ||
b471fe8 Dialog prop audit | ||
c1d2ca0 CheckboxGroup prop audit | ||
6fa61f1 boundless-utils-conformance -> boundless-utils-test-helpers | ||
517a851 Some site changes | ||
9a3bc92 Checkbox prop audit | ||
4ba5d7e Button prop audit | ||
71b0d80 Async prop audit | ||
52dbc1e ArrowKeyNavigation prop review & light refactor | ||
08c7a72 Fix a prop rendering edge case | ||
89a458e Add Boundless philosophy | ||
3da2615 Add some keywords to the main build package.json | ||
be814fd Add some keywords to the main build package.json | ||
f5d633a Build CSS for each styled package alongside the JS | ||
3bf6995 Fix missing site H1s | ||
8984be9 Try an alternative way to do SPAs on github pages | ||
689cba7 Rebuild all targets | ||
9d7b697 Overwrite old symlinks to the variables file if needed | ||
47b47d6 Include notes re: reference styles in the package READMEs | ||
c504ac5 Autolink variables.styl into each package | ||
4dc3c1e Refine the autogenerated package READMEs | ||
df509c7 Stylus variable audit & overall style refactor | ||
bb7366e Add a "kitchen sink" page | ||
af8effe Use a more accurate luminance algorithm for constasting color | ||
d96e4ca Remove jest module field until it's merged | ||
00096a3 Autogenerated sitemap | ||
03f3317 Adjust README gen strategy, publish uuid and webnotification | ||
04151dd Add Google search verification | ||
dd772e8 Add version badge | ||
3926c0b Add a favicon, import -> require in Stylus files | ||
46422c6 Stop mangling the dev build | ||
3980c9c Update the readme to remove the beta tag | ||
dac1e42 Simplify the use of fetch in component-page for the site | ||
c07a1a3 Fix linting | ||
### 1.0.0-beta.6 (2017-01-26) | ||
bd1801a Fix build issues, start publishing utils | ||
### 1.0.0-beta.5 (2017-01-25) | ||
7927596 Fix all the things | ||
8ad904a All builds now via webpack | ||
9cdc2b0 Subpackages (except utils) now import each other properly | ||
69584fd Move unpublished packages to devDependencies | ||
### 1.0.0-beta.4 (2017-01-25) | ||
c6a82e7 Refactor package builder to use webpack, drop module entry points | ||
a31dac6 Refine the starfield a bit for smaller + larger viewport sizes | ||
90a7608 Fix h1 in iOS Safari | ||
37e2a72 Remove some references to the old repo / project name | ||
64f94a4 Adjust package README script to flatten the generated HTML | ||
e960458 keep the utils private for now | ||
### 1.0.0-beta.3 (2017-01-25) | ||
1fb7cde Build assets | ||
92bc00f A few site tweaks per Melody's request | ||
239af7e boundless-dialog: add closeOnInsideClick, function forms of close props | ||
1968c5f Fix demo fetching, update the site | ||
57927a6 Drop old stuff from the .gitignore | ||
### 1.0.0-beta.2 (2017-01-25) | ||
Bump to update the README in NPM. | ||
3f6363d Update the npmignore | ||
4b5274d Bump the version # for the updated README install info | ||
bf6949a Fix font loading in github pages | ||
### 1.0.0-beta.1 (2017-01-25) | ||
First beta! | ||
See [Github releases](https://github.com/enigma-io/boundless/releases). |
{ | ||
"name": "boundless", | ||
"description": "accessible, battle-tested, infinitely composable react components", | ||
"version": "1.0.2", | ||
"description": "Accessible, battle-tested, infinitely composable React components.", | ||
"version": "1.0.3", | ||
"author": "Evan Scott <glitterbyte@gmail.com> (http://yaycmyk.com)", | ||
@@ -32,3 +32,3 @@ "contributors": [ | ||
"babel-plugin-transform-inline-environment-variables": "^6.8.0", | ||
"babel-plugin-transform-react-remove-prop-types": "^0.2.11", | ||
"babel-plugin-transform-react-remove-prop-types": "^0.3.2", | ||
"babel-preset-es2015": "^6.16.0", | ||
@@ -49,3 +49,3 @@ "babel-preset-react": "^6.5.0", | ||
"jest-cli": "^18.0.0", | ||
"lerna": "2.0.0-beta.32", | ||
"lerna": "2.0.0-beta.37", | ||
"markdown-to-jsx": "^4.0.0", | ||
@@ -59,3 +59,3 @@ "mkdirp": "^0.5.1", | ||
"react-hot-loader": "^3.0.0-beta.6", | ||
"react-router": "^2.8.1", | ||
"react-router": "^3.0.2", | ||
"sinon": "^1.17.3", | ||
@@ -76,3 +76,3 @@ "sitemap-webpack-plugin": "^0.3.0", | ||
"coveragePathIgnorePatterns": [ | ||
"/node_modules/", | ||
"/build/", | ||
"/packages/boundless-utils-test-helpers/" | ||
@@ -91,4 +91,5 @@ ], | ||
"bootstrap": "lerna bootstrap", | ||
"presite": "rm -f docs/assets/*.js && rm -f docs/assets/*.css", | ||
"presite": "find docs/* -type d -maxdepth 0 -not -path '*assets' | xargs rm -rf && rm -f docs/index.html && rm -f docs/sitemap.xml && rm -f docs/assets/*.js && rm -f docs/assets/*.css", | ||
"site": "BABEL_ENV=site-production NODE_ENV=production webpack --config scripts/webpack.release.config.js", | ||
"postsite": "node scripts/build-indexes.js", | ||
"build:js:master": "NODE_ENV=production node scripts/build-master.js", | ||
@@ -101,9 +102,5 @@ "build:js:packages": "NODE_ENV=production node scripts/build-packages.js", | ||
"coverage": "jest --coverage", | ||
"prestart": "npm run bootstrap", | ||
"start": "BABEL_ENV=site-development webpack-dev-server --config scripts/webpack.development.config.js --open --hot", | ||
"prerelease": "npm run bootstrap", | ||
"release": "npm run build:css && npm run build:css:release && npm run build:js:master && npm run build:js:packages && npm run site", | ||
"prepublish": "lerna exec --ignore boundless-utils* -- ln -fs ../../variables.styl variables.styl && npm run release", | ||
"postpublish": "lerna publish --skip-git --repo-version $(node -e \"console.log(require('./package.json').version)\")" | ||
"prestart": "npm run bootstrap && npm run presite", | ||
"start": "BABEL_ENV=site-development webpack-dev-server --config scripts/webpack.development.config.js --open --hot" | ||
} | ||
} |
{ | ||
"name": "boundless-arrow-key-navigation", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "A higher-order component for arrow key navigation on a grouping of children.", | ||
@@ -26,6 +26,6 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/ArrowKeyNavigation", | ||
"homepage": "http://boundless.js.org/ArrowKeyNavigation", | ||
"dependencies": { | ||
"boundless-utils-omit-keys": "^1.0.1", | ||
"boundless-utils-uuid": "^1.0.1" | ||
"boundless-utils-omit-keys": "^1.0.2", | ||
"boundless-utils-uuid": "^1.0.2" | ||
}, | ||
@@ -32,0 +32,0 @@ "peerDependencies": { |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-ARROW-KEY-NAVIGATION/INDEX.JS INSTEAD. | ||
--> | ||
@@ -12,6 +12,14 @@ # ArrowKeyNavigation | ||
## Example Usage | ||
## Installation | ||
```bash | ||
npm i boundless-arrow-key-navigation --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
import React from 'react'; | ||
import ArrowKeyNavigation from '../index'; | ||
import ArrowKeyNavigation from 'boundless-arrow-key-navigation'; | ||
@@ -66,9 +74,23 @@ export default class ArrowKeyNavigationDemo extends React.PureComponent { | ||
} | ||
``` | ||
ArrowKeyNavigation can also just be directly used from the main [Boundless library](https://www.npmjs.com/package/boundless). This is recommended when you're getting started to avoid maintaining the package versions of several components: | ||
```bash | ||
npm i boundless --save | ||
``` | ||
the ES6 `import` statement then becomes like: | ||
```js | ||
import { ArrowKeyNavigation } from 'boundless'; | ||
``` | ||
## Props | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/#/ArrowKeyNavigation). | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/ArrowKeyNavigation). | ||
@@ -75,0 +97,0 @@ ### Required Props |
{ | ||
"name": "boundless-async", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "A higher-order component for rendering data that isn't ready yet.", | ||
@@ -22,5 +22,5 @@ "author": "Evan Scott <glitterbyte@gmail.com> (http://yaycmyk.com) (http://yaycmyk.com)", | ||
}, | ||
"homepage": "http://boundless.js.org/#/Async", | ||
"homepage": "http://boundless.js.org/Async", | ||
"dependencies": { | ||
"boundless-utils-omit-keys": "^1.0.1", | ||
"boundless-utils-omit-keys": "^1.0.2", | ||
"classnames": "^2.1.5" | ||
@@ -27,0 +27,0 @@ }, |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-ASYNC/INDEX.JS INSTEAD. | ||
--> | ||
@@ -13,6 +13,34 @@ # Async | ||
## Installation | ||
```bash | ||
npm i boundless-async --save | ||
``` | ||
Then use it like: | ||
```js | ||
import Async from 'boundless-async'; | ||
``` | ||
Async can also just be directly used from the main [Boundless library](https://www.npmjs.com/package/boundless). This is recommended when you're getting started to avoid maintaining the package versions of several components: | ||
```bash | ||
npm i boundless --save | ||
``` | ||
the ES6 `import` statement then becomes like: | ||
```js | ||
import { Async } from 'boundless'; | ||
``` | ||
## Props | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/#/Async). | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/Async). | ||
@@ -19,0 +47,0 @@ ### Required Props |
{ | ||
"name": "boundless-button", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "A control with \"pressed\" state support.", | ||
@@ -27,6 +27,6 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/Button", | ||
"homepage": "http://boundless.js.org/Button", | ||
"dependencies": { | ||
"classnames": "^2.1.5", | ||
"boundless-utils-omit-keys": "^1.0.1" | ||
"boundless-utils-omit-keys": "^1.0.2" | ||
}, | ||
@@ -33,0 +33,0 @@ "peerDependencies": { |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-BUTTON/INDEX.JS INSTEAD. | ||
--> | ||
@@ -30,6 +30,14 @@ # Button | ||
## Example Usage | ||
## Installation | ||
```bash | ||
npm i boundless-button --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
import React from 'react'; | ||
import Button from '../index'; | ||
import Button from 'boundless-button'; | ||
@@ -77,9 +85,23 @@ export default class ButtonDemo extends React.PureComponent { | ||
} | ||
``` | ||
Button can also just be directly used from the main [Boundless library](https://www.npmjs.com/package/boundless). This is recommended when you're getting started to avoid maintaining the package versions of several components: | ||
```bash | ||
npm i boundless --save | ||
``` | ||
the ES6 `import` statement then becomes like: | ||
```js | ||
import { Button } from 'boundless'; | ||
``` | ||
## Props | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/#/Button). | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/Button). | ||
@@ -86,0 +108,0 @@ ### Required Props |
{ | ||
"name": "boundless-checkbox-group", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "A controller view for managing the aggregate state of multiple, related checkboxes.", | ||
@@ -28,7 +28,7 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/CheckboxGroup", | ||
"homepage": "http://boundless.js.org/CheckboxGroup", | ||
"dependencies": { | ||
"boundless-checkbox": "^1.0.1", | ||
"boundless-utils-omit-keys": "^1.0.1", | ||
"boundless-utils-uuid": "^1.0.1", | ||
"boundless-checkbox": "^1.0.2", | ||
"boundless-utils-omit-keys": "^1.0.2", | ||
"boundless-utils-uuid": "^1.0.2", | ||
"classnames": "^2.1.5" | ||
@@ -35,0 +35,0 @@ }, |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-CHECKBOX-GROUP/INDEX.JS INSTEAD. | ||
--> | ||
@@ -11,6 +11,14 @@ # CheckboxGroup | ||
## Example Usage | ||
## Installation | ||
```bash | ||
npm i boundless-checkbox-group --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
import React from 'react'; | ||
import CheckboxGroup from '../index'; | ||
import CheckboxGroup from 'boundless-checkbox-group'; | ||
import {filter, map, merge, some} from 'lodash'; | ||
@@ -119,9 +127,23 @@ | ||
} | ||
``` | ||
CheckboxGroup can also just be directly used from the main [Boundless library](https://www.npmjs.com/package/boundless). This is recommended when you're getting started to avoid maintaining the package versions of several components: | ||
```bash | ||
npm i boundless --save | ||
``` | ||
the ES6 `import` statement then becomes like: | ||
```js | ||
import { CheckboxGroup } from 'boundless'; | ||
``` | ||
## Props | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/#/CheckboxGroup). | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/CheckboxGroup). | ||
@@ -128,0 +150,0 @@ ### Required Props |
{ | ||
"name": "boundless-checkbox", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "An accessible checkbox with indeterminate support.", | ||
@@ -25,7 +25,7 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/Checkbox", | ||
"homepage": "http://boundless.js.org/Checkbox", | ||
"dependencies": { | ||
"classnames": "^2.1.5", | ||
"boundless-utils-omit-keys": "^1.0.1", | ||
"boundless-utils-uuid": "^1.0.1" | ||
"boundless-utils-omit-keys": "^1.0.2", | ||
"boundless-utils-uuid": "^1.0.2" | ||
}, | ||
@@ -32,0 +32,0 @@ "peerDependencies": { |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-CHECKBOX/INDEX.JS INSTEAD. | ||
--> | ||
@@ -12,6 +12,14 @@ # Checkbox | ||
## Example Usage | ||
## Installation | ||
```bash | ||
npm i boundless-checkbox --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
import React from 'react'; | ||
import Checkbox from '../index'; | ||
import Checkbox from 'boundless-checkbox'; | ||
@@ -59,9 +67,23 @@ export default class CheckboxDemo extends React.PureComponent { | ||
} | ||
``` | ||
Checkbox can also just be directly used from the main [Boundless library](https://www.npmjs.com/package/boundless). This is recommended when you're getting started to avoid maintaining the package versions of several components: | ||
```bash | ||
npm i boundless --save | ||
``` | ||
the ES6 `import` statement then becomes like: | ||
```js | ||
import { Checkbox } from 'boundless'; | ||
``` | ||
## Props | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/#/Checkbox). | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/Checkbox). | ||
@@ -68,0 +90,0 @@ ### Required Props |
{ | ||
"name": "boundless-dialog", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "A non-blocking, focus-stealing container.", | ||
@@ -25,6 +25,6 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/Dialog", | ||
"homepage": "http://boundless.js.org/Dialog", | ||
"dependencies": { | ||
"boundless-portal": "^1.0.1", | ||
"boundless-utils-omit-keys": "^1.0.1", | ||
"boundless-portal": "^1.0.2", | ||
"boundless-utils-omit-keys": "^1.0.2", | ||
"classnames": "^2.1.5" | ||
@@ -31,0 +31,0 @@ }, |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-DIALOG/INDEX.JS INSTEAD. | ||
--> | ||
@@ -13,8 +13,16 @@ # Dialog | ||
## Example Usage | ||
## Installation | ||
```bash | ||
npm i boundless-dialog --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
import React from 'react'; | ||
import {findDOMNode} from 'react-dom'; | ||
import Button from '../../boundless-button/index'; | ||
import Dialog from '../index'; | ||
import Button from 'boundless-button'; | ||
import Dialog from 'boundless-dialog'; | ||
@@ -75,9 +83,23 @@ export default class DialogDemo extends React.PureComponent { | ||
} | ||
``` | ||
Dialog can also just be directly used from the main [Boundless library](https://www.npmjs.com/package/boundless). This is recommended when you're getting started to avoid maintaining the package versions of several components: | ||
```bash | ||
npm i boundless --save | ||
``` | ||
the ES6 `import` statement then becomes like: | ||
```js | ||
import { Dialog } from 'boundless'; | ||
``` | ||
## Props | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/#/Dialog). | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/Dialog). | ||
@@ -84,0 +106,0 @@ ### Required Props |
{ | ||
"name": "boundless-fitted-text", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "Fit given text inside a parent container, obeying implict and explicit constraints.", | ||
@@ -28,5 +28,5 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/FittedText", | ||
"homepage": "http://boundless.js.org/FittedText", | ||
"dependencies": { | ||
"boundless-utils-omit-keys": "^1.0.1", | ||
"boundless-utils-omit-keys": "^1.0.2", | ||
"classnames": "^2.1.5" | ||
@@ -33,0 +33,0 @@ }, |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-FITTED-TEXT/INDEX.JS INSTEAD. | ||
--> | ||
@@ -10,7 +10,15 @@ # FittedText | ||
## Example Usage | ||
## Installation | ||
```bash | ||
npm i boundless-fitted-text --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
import React from 'react'; | ||
import Button from '../../boundless-button/index'; | ||
import FittedText from '../index'; | ||
import Button from 'boundless-button'; | ||
import FittedText from 'boundless-fitted-text'; | ||
@@ -36,9 +44,23 @@ export default () => ( | ||
); | ||
``` | ||
FittedText can also just be directly used from the main [Boundless library](https://www.npmjs.com/package/boundless). This is recommended when you're getting started to avoid maintaining the package versions of several components: | ||
```bash | ||
npm i boundless --save | ||
``` | ||
the ES6 `import` statement then becomes like: | ||
```js | ||
import { FittedText } from 'boundless'; | ||
``` | ||
## Props | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/#/FittedText). | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/FittedText). | ||
@@ -45,0 +67,0 @@ ### Required Props |
{ | ||
"name": "boundless-image", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "An image block with placeholder support for loading and fallback scenarios.", | ||
@@ -25,6 +25,6 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/Image", | ||
"homepage": "http://boundless.js.org/Image", | ||
"dependencies": { | ||
"boundless-utils-omit-keys": "^1.0.1", | ||
"boundless-utils-uuid": "^1.0.1", | ||
"boundless-utils-omit-keys": "^1.0.2", | ||
"boundless-utils-uuid": "^1.0.2", | ||
"classnames": "^2.1.5" | ||
@@ -31,0 +31,0 @@ }, |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-IMAGE/INDEX.JS INSTEAD. | ||
--> | ||
@@ -8,7 +8,15 @@ # Image | ||
## Example Usage | ||
## Installation | ||
```bash | ||
npm i boundless-image --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
import React from 'react'; | ||
import Button from '../../boundless-button/index'; | ||
import Image from '../index'; | ||
import Button from 'boundless-button'; | ||
import Image from 'boundless-image'; | ||
@@ -47,3 +55,3 @@ export default class ImageDemo extends React.PureComponent { | ||
src={`http://deelay.me/5000/http://igcdn-photos-g-a.akamaihd.net/hphotos-ak-xfa1/t51.2885-15/11244434_646274218842534_532892887_n.jpg?${this.state.delayed}`} | ||
alt='A beachscape.' /> | ||
alt='An aerial shot of a snow-covered forest.' /> | ||
<Button onPressed={this.remountImage.bind(this, 'delayed')} | ||
@@ -71,9 +79,23 @@ style={{marginTop: '1rem'}}> | ||
} | ||
``` | ||
Image can also just be directly used from the main [Boundless library](https://www.npmjs.com/package/boundless). This is recommended when you're getting started to avoid maintaining the package versions of several components: | ||
```bash | ||
npm i boundless --save | ||
``` | ||
the ES6 `import` statement then becomes like: | ||
```js | ||
import { Image } from 'boundless'; | ||
``` | ||
## Props | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/#/Image). | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/Image). | ||
@@ -80,0 +102,0 @@ ### Required Props |
{ | ||
"name": "boundless-input", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "An input control with placeholder emulation for non-supporting platforms.", | ||
@@ -26,5 +26,5 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/Input", | ||
"homepage": "http://boundless.js.org/Input", | ||
"dependencies": { | ||
"boundless-utils-omit-keys": "^1.0.1", | ||
"boundless-utils-omit-keys": "^1.0.2", | ||
"classnames": "^2.1.5" | ||
@@ -31,0 +31,0 @@ }, |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-INPUT/INDEX.JS INSTEAD. | ||
--> | ||
@@ -20,6 +20,14 @@ # Input | ||
## Example Usage | ||
## Installation | ||
```bash | ||
npm i boundless-input --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
import React from 'react'; | ||
import Input from '../index'; | ||
import Input from 'boundless-input'; | ||
@@ -68,9 +76,23 @@ export default class InputDemo extends React.PureComponent { | ||
} | ||
``` | ||
Input can also just be directly used from the main [Boundless library](https://www.npmjs.com/package/boundless). This is recommended when you're getting started to avoid maintaining the package versions of several components: | ||
```bash | ||
npm i boundless --save | ||
``` | ||
the ES6 `import` statement then becomes like: | ||
```js | ||
import { Input } from 'boundless'; | ||
``` | ||
## Props | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/#/Input). | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/Input). | ||
@@ -77,0 +99,0 @@ ### Required Props |
{ | ||
"name": "boundless-modal", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "A blocking, focus-stealing container.", | ||
@@ -25,8 +25,8 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/Modal", | ||
"homepage": "http://boundless.js.org/Modal", | ||
"dependencies": { | ||
"boundless-dialog": "^1.0.1", | ||
"boundless-portal": "^1.0.1", | ||
"boundless-utils-object-intersection": "^1.0.1", | ||
"boundless-utils-omit-keys": "^1.0.1", | ||
"boundless-dialog": "^1.0.2", | ||
"boundless-portal": "^1.0.2", | ||
"boundless-utils-object-intersection": "^1.0.2", | ||
"boundless-utils-omit-keys": "^1.0.2", | ||
"classnames": "^2.1.5" | ||
@@ -33,0 +33,0 @@ }, |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-MODAL/INDEX.JS INSTEAD. | ||
--> | ||
@@ -10,7 +10,15 @@ # Modal | ||
## Example Usage | ||
## Installation | ||
```bash | ||
npm i boundless-modal --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
import React from 'react'; | ||
import Button from '../../boundless-button/index'; | ||
import Modal from '../index'; | ||
import Button from 'boundless-button'; | ||
import Modal from 'boundless-modal'; | ||
@@ -52,9 +60,23 @@ export default class ModalDemo extends React.PureComponent { | ||
} | ||
``` | ||
Modal can also just be directly used from the main [Boundless library](https://www.npmjs.com/package/boundless). This is recommended when you're getting started to avoid maintaining the package versions of several components: | ||
```bash | ||
npm i boundless --save | ||
``` | ||
the ES6 `import` statement then becomes like: | ||
```js | ||
import { Modal } from 'boundless'; | ||
``` | ||
## Props | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/#/Modal). | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/Modal). | ||
@@ -61,0 +83,0 @@ ### Required Props |
@@ -17,3 +17,3 @@ import React, {PropTypes} from 'react'; | ||
/** | ||
* __View and navigate heterogenious content one page at a time.__ | ||
* __View and navigate heterogeneous content one page at a time.__ | ||
* | ||
@@ -20,0 +20,0 @@ * Pagination is implemented as an encapsulated view system, accepting an array of items as input. |
{ | ||
"name": "boundless-pagination", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "View and navigate heterogenious content one page at a time.", | ||
@@ -25,9 +25,9 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/Pagination", | ||
"homepage": "http://boundless.js.org/Pagination", | ||
"dependencies": { | ||
"boundless-arrow-key-navigation": "^1.0.1", | ||
"boundless-async": "^1.0.1", | ||
"boundless-segmented-control": "^1.0.1", | ||
"boundless-utils-omit-keys": "^1.0.1", | ||
"boundless-utils-uuid": "^1.0.1", | ||
"boundless-arrow-key-navigation": "^1.0.2", | ||
"boundless-async": "^1.0.2", | ||
"boundless-segmented-control": "^1.0.2", | ||
"boundless-utils-omit-keys": "^1.0.2", | ||
"boundless-utils-uuid": "^1.0.2", | ||
"classnames": "^2.1.5", | ||
@@ -34,0 +34,0 @@ "lodash": "^4.6.1" |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-PAGINATION/INDEX.JS INSTEAD. | ||
--> | ||
# Pagination | ||
__View and navigate heterogenious content one page at a time.__ | ||
__View and navigate heterogeneous content one page at a time.__ | ||
@@ -20,3 +20,11 @@ Pagination is implemented as an encapsulated view system, accepting an array of items as input. | ||
## Example Usage | ||
## Installation | ||
```bash | ||
npm i boundless-pagination --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
@@ -26,3 +34,3 @@ /* eslint no-console:0 */ | ||
import React from 'react'; | ||
import Pagination from '../index'; | ||
import Pagination from 'boundless-pagination'; | ||
@@ -84,9 +92,23 @@ export default class PaginationDemo extends React.PureComponent { | ||
} | ||
``` | ||
Pagination can also just be directly used from the main [Boundless library](https://www.npmjs.com/package/boundless). This is recommended when you're getting started to avoid maintaining the package versions of several components: | ||
```bash | ||
npm i boundless --save | ||
``` | ||
the ES6 `import` statement then becomes like: | ||
```js | ||
import { Pagination } from 'boundless'; | ||
``` | ||
## Props | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/#/Pagination). | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/Pagination). | ||
@@ -93,0 +115,0 @@ ### Required Props |
{ | ||
"name": "boundless-popover", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "A non-blocking container positioned to a specific anchor element.", | ||
@@ -26,8 +26,8 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/Popover", | ||
"homepage": "http://boundless.js.org/Popover", | ||
"dependencies": { | ||
"boundless-dialog": "^1.0.1", | ||
"boundless-portal": "^1.0.1", | ||
"boundless-utils-omit-keys": "^1.0.1", | ||
"boundless-utils-transform-property": "^1.0.1", | ||
"boundless-dialog": "^1.0.2", | ||
"boundless-portal": "^1.0.2", | ||
"boundless-utils-omit-keys": "^1.0.2", | ||
"boundless-utils-transform-property": "^1.0.2", | ||
"classnames": "^2.1.5" | ||
@@ -34,0 +34,0 @@ }, |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-POPOVER/INDEX.JS INSTEAD. | ||
--> | ||
@@ -32,9 +32,17 @@ # Popover | ||
## Example Usage | ||
## Installation | ||
```bash | ||
npm i boundless-popover --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
import React from 'react'; | ||
import ArrowKeyNavigation from '../../boundless-arrow-key-navigation/index'; | ||
import Button from '../../boundless-button/index'; | ||
import Popover from '../index'; | ||
import ArrowKeyNavigation from 'boundless-arrow-key-navigation'; | ||
import Button from 'boundless-button'; | ||
import Popover from 'boundless-popover'; | ||
@@ -173,9 +181,23 @@ export default class PopoverDemo extends React.PureComponent { | ||
} | ||
``` | ||
Popover can also just be directly used from the main [Boundless library](https://www.npmjs.com/package/boundless). This is recommended when you're getting started to avoid maintaining the package versions of several components: | ||
```bash | ||
npm i boundless --save | ||
``` | ||
the ES6 `import` statement then becomes like: | ||
```js | ||
import { Popover } from 'boundless'; | ||
``` | ||
## Props | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/#/Popover). | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/Popover). | ||
@@ -182,0 +204,0 @@ ### Required Props |
{ | ||
"name": "boundless-portal", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "A higher-order component for the rendering of components outside the normal React tree.", | ||
@@ -26,6 +26,6 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/Portal", | ||
"homepage": "http://boundless.js.org/Portal", | ||
"dependencies": { | ||
"boundless-utils-omit-keys": "^1.0.1", | ||
"boundless-utils-uuid": "^1.0.1" | ||
"boundless-utils-omit-keys": "^1.0.2", | ||
"boundless-utils-uuid": "^1.0.2" | ||
}, | ||
@@ -32,0 +32,0 @@ "peerDependencies": { |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-PORTAL/INDEX.JS INSTEAD. | ||
--> | ||
@@ -10,6 +10,34 @@ # Portal | ||
## Installation | ||
```bash | ||
npm i boundless-portal --save | ||
``` | ||
Then use it like: | ||
```js | ||
import Portal from 'boundless-portal'; | ||
``` | ||
Portal can also just be directly used from the main [Boundless library](https://www.npmjs.com/package/boundless). This is recommended when you're getting started to avoid maintaining the package versions of several components: | ||
```bash | ||
npm i boundless --save | ||
``` | ||
the ES6 `import` statement then becomes like: | ||
```js | ||
import { Portal } from 'boundless'; | ||
``` | ||
## Props | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/#/Portal). | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/Portal). | ||
@@ -16,0 +44,0 @@ ### Required Props |
{ | ||
"name": "boundless-progress", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "An unopinionated progress implementation, allowing for a variety of shapes and effects.", | ||
@@ -25,6 +25,6 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/Progress", | ||
"homepage": "http://boundless.js.org/Progress", | ||
"dependencies": { | ||
"boundless-button": "^1.0.1", | ||
"boundless-utils-omit-keys": "^1.0.1", | ||
"boundless-button": "^1.0.2", | ||
"boundless-utils-omit-keys": "^1.0.2", | ||
"classnames": "^2.1.5" | ||
@@ -31,0 +31,0 @@ }, |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-PROGRESS/INDEX.JS INSTEAD. | ||
--> | ||
@@ -8,7 +8,15 @@ # Progress | ||
## Example Usage | ||
## Installation | ||
```bash | ||
npm i boundless-progress --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
import React from 'react'; | ||
import Button from '../../boundless-button/index'; | ||
import Progress from '../index'; | ||
import Button from 'boundless-button'; | ||
import Progress from 'boundless-progress'; | ||
import {each} from 'lodash'; | ||
@@ -86,9 +94,23 @@ | ||
} | ||
``` | ||
Progress can also just be directly used from the main [Boundless library](https://www.npmjs.com/package/boundless). This is recommended when you're getting started to avoid maintaining the package versions of several components: | ||
```bash | ||
npm i boundless --save | ||
``` | ||
the ES6 `import` statement then becomes like: | ||
```js | ||
import { Progress } from 'boundless'; | ||
``` | ||
## Props | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/#/Progress). | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/Progress). | ||
@@ -95,0 +117,0 @@ ### Required Props |
{ | ||
"name": "boundless-progressive-disclosure", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "Hide content until it's needed, with configurable teasers.", | ||
@@ -26,5 +26,5 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/ProgressiveDisclosure", | ||
"homepage": "http://boundless.js.org/ProgressiveDisclosure", | ||
"dependencies": { | ||
"boundless-utils-omit-keys": "^1.0.1", | ||
"boundless-utils-omit-keys": "^1.0.2", | ||
"classnames": "^2.1.5" | ||
@@ -31,0 +31,0 @@ }, |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-PROGRESSIVE-DISCLOSURE/INDEX.JS INSTEAD. | ||
--> | ||
@@ -10,6 +10,14 @@ # ProgressiveDisclosure | ||
## Example Usage | ||
## Installation | ||
```bash | ||
npm i boundless-progressive-disclosure --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
import React from 'react'; | ||
import ProgressiveDisclosure from '../index'; | ||
import ProgressiveDisclosure from 'boundless-progressive-disclosure'; | ||
@@ -27,9 +35,23 @@ export default class ProgressiveDisclosureDemo extends React.PureComponent { | ||
} | ||
``` | ||
ProgressiveDisclosure can also just be directly used from the main [Boundless library](https://www.npmjs.com/package/boundless). This is recommended when you're getting started to avoid maintaining the package versions of several components: | ||
```bash | ||
npm i boundless --save | ||
``` | ||
the ES6 `import` statement then becomes like: | ||
```js | ||
import { ProgressiveDisclosure } from 'boundless'; | ||
``` | ||
## Props | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/#/ProgressiveDisclosure). | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/ProgressiveDisclosure). | ||
@@ -36,0 +58,0 @@ ### Required Props |
{ | ||
"name": "boundless-radio", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "An accessible radio form control.", | ||
@@ -26,6 +26,6 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/Radio", | ||
"homepage": "http://boundless.js.org/Radio", | ||
"dependencies": { | ||
"boundless-utils-omit-keys": "^1.0.1", | ||
"boundless-utils-uuid": "^1.0.1", | ||
"boundless-utils-omit-keys": "^1.0.2", | ||
"boundless-utils-uuid": "^1.0.2", | ||
"classnames": "^2.1.5" | ||
@@ -32,0 +32,0 @@ }, |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-RADIO/INDEX.JS INSTEAD. | ||
--> | ||
@@ -10,6 +10,14 @@ # Radio | ||
## Example Usage | ||
## Installation | ||
```bash | ||
npm i boundless-radio --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
import React from 'react'; | ||
import Radio from '../index'; | ||
import Radio from 'boundless-radio'; | ||
@@ -71,9 +79,23 @@ export default class RadioDemo extends React.PureComponent { | ||
} | ||
``` | ||
Radio can also just be directly used from the main [Boundless library](https://www.npmjs.com/package/boundless). This is recommended when you're getting started to avoid maintaining the package versions of several components: | ||
```bash | ||
npm i boundless --save | ||
``` | ||
the ES6 `import` statement then becomes like: | ||
```js | ||
import { Radio } from 'boundless'; | ||
``` | ||
## Props | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/#/Radio). | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/Radio). | ||
@@ -80,0 +102,0 @@ ### Required Props |
{ | ||
"name": "boundless-segmented-control", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "A control containing multiple buttons, only one of which can be active at a time.", | ||
@@ -27,7 +27,7 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/SegmentedControl", | ||
"homepage": "http://boundless.js.org/SegmentedControl", | ||
"dependencies": { | ||
"boundless-arrow-key-navigation": "^1.0.1", | ||
"boundless-button": "^1.0.1", | ||
"boundless-utils-omit-keys": "^1.0.1", | ||
"boundless-arrow-key-navigation": "^1.0.2", | ||
"boundless-button": "^1.0.2", | ||
"boundless-utils-omit-keys": "^1.0.2", | ||
"classnames": "^2.1.5" | ||
@@ -34,0 +34,0 @@ }, |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-SEGMENTED-CONTROL/INDEX.JS INSTEAD. | ||
--> | ||
@@ -23,3 +23,11 @@ # SegmentedControl | ||
## Example Usage | ||
## Installation | ||
```bash | ||
npm i boundless-segmented-control --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
@@ -29,4 +37,4 @@ import React from 'react'; | ||
import SegmentedControl from '../index'; | ||
import Image from '../../boundless-image/index'; | ||
import SegmentedControl from 'boundless-segmented-control'; | ||
import Image from 'boundless-image'; | ||
@@ -43,3 +51,3 @@ export default class SegmentedControlDemo extends React.PureComponent { | ||
{alt: 'M77', src: 'http://farm9.static.flickr.com/8668/15864469305_b3db67dd1d_m.jpg'}, | ||
{alt: 'Whirlpool (M51)', src: 'http://36.media.tumblr.com/687f0a2cd276b3d0013aa36aa2908845/tumblr_mmhvnnIx4L1qgvl7lo1_500.jpg'}, | ||
{alt: 'Whirlpool (M51)', src: 'https://apod.nasa.gov/apod/image/0602/m51center_hst.jpg'}, | ||
], | ||
@@ -86,9 +94,23 @@ }, { | ||
} | ||
``` | ||
SegmentedControl can also just be directly used from the main [Boundless library](https://www.npmjs.com/package/boundless). This is recommended when you're getting started to avoid maintaining the package versions of several components: | ||
```bash | ||
npm i boundless --save | ||
``` | ||
the ES6 `import` statement then becomes like: | ||
```js | ||
import { SegmentedControl } from 'boundless'; | ||
``` | ||
## Props | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/#/SegmentedControl). | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/SegmentedControl). | ||
@@ -95,0 +117,0 @@ ### Required Props |
{ | ||
"name": "boundless-tokenized-input", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "Distill rich entity data matched via typeahead input into simple visual abstractions.", | ||
@@ -28,7 +28,7 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/TokenizedInput", | ||
"homepage": "http://boundless.js.org/TokenizedInput", | ||
"dependencies": { | ||
"boundless-typeahead": "^1.0.1", | ||
"boundless-utils-object-intersection": "^1.0.1", | ||
"boundless-utils-omit-keys": "^1.0.1", | ||
"boundless-typeahead": "^1.0.2", | ||
"boundless-utils-object-intersection": "^1.0.2", | ||
"boundless-utils-omit-keys": "^1.0.2", | ||
"classnames": "^2.1.5" | ||
@@ -35,0 +35,0 @@ }, |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-TOKENIZED-INPUT/INDEX.JS INSTEAD. | ||
--> | ||
@@ -38,7 +38,15 @@ # TokenizedInput | ||
## Example Usage | ||
## Installation | ||
```bash | ||
npm i boundless-tokenized-input --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
import React from 'react'; | ||
import TokenizedInput from '../index'; | ||
import Typeahead from '../../boundless-typeahead/index'; | ||
import TokenizedInput from 'boundless-tokenized-input'; | ||
import Typeahead from 'boundless-typeahead'; | ||
import {without} from 'lodash'; | ||
@@ -88,9 +96,23 @@ | ||
} | ||
``` | ||
TokenizedInput can also just be directly used from the main [Boundless library](https://www.npmjs.com/package/boundless). This is recommended when you're getting started to avoid maintaining the package versions of several components: | ||
```bash | ||
npm i boundless --save | ||
``` | ||
the ES6 `import` statement then becomes like: | ||
```js | ||
import { TokenizedInput } from 'boundless'; | ||
``` | ||
## Props | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/#/TokenizedInput). | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/TokenizedInput). | ||
@@ -97,0 +119,0 @@ ### Required Props |
{ | ||
"name": "boundless-typeahead", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "Intelligently recommend entities via customizable, fuzzy recognition.", | ||
@@ -26,8 +26,8 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/Typeahead", | ||
"homepage": "http://boundless.js.org/Typeahead", | ||
"dependencies": { | ||
"boundless-input": "^1.0.1", | ||
"boundless-utils-object-intersection": "^1.0.1", | ||
"boundless-utils-omit-keys": "^1.0.1", | ||
"boundless-utils-uuid": "^1.0.1", | ||
"boundless-input": "^1.0.2", | ||
"boundless-utils-object-intersection": "^1.0.2", | ||
"boundless-utils-omit-keys": "^1.0.2", | ||
"boundless-utils-uuid": "^1.0.2", | ||
"classnames": "^2.1.5", | ||
@@ -34,0 +34,0 @@ "escape-string-regexp": "^1.0.3" |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-TYPEAHEAD/INDEX.JS INSTEAD. | ||
--> | ||
@@ -76,6 +76,14 @@ # Typeahead | ||
## Example Usage | ||
## Installation | ||
```bash | ||
npm i boundless-typeahead --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
import React from 'react'; | ||
import Typeahead from '../index'; | ||
import Typeahead from 'boundless-typeahead'; | ||
@@ -126,9 +134,23 @@ const countries = ['Afghanistan', 'Albania', 'Algeria', 'American Samoa', 'Andorra', 'Angola', 'Anguilla', 'Antarctica', 'Antigua and Barbuda', 'Argentina', 'Armenia', 'Aruba', 'Australia', 'Austria', 'Azerbaijan', 'Bahamas', 'Bahrain', 'Bangladesh', 'Barbados', 'Belarus', 'Belgium', 'Belize', 'Benin', 'Bermuda', 'Bhutan', 'Bolivia', 'Bosnia and Herzegovina', 'Botswana', 'Bouvet Island', 'Brazil', 'British Indian Ocean Territory', 'Brunei Darussalam', 'Bulgaria', 'Burkina Faso', 'Burundi', 'Cambodia', 'Cameroon', 'Canada', 'Cape Verde', 'Caribbean Netherlands', 'Cayman Islands', 'Central African Republic', 'Chad', 'Chile', 'China', 'Christmas Island', 'Cocos (Keeling) Islands', 'Colombia', 'Comoros', 'Congo', 'Congo, Democratic Republic of', 'Cook Islands', 'Costa Rica', 'Croatia', 'Cuba', 'Curaçao', 'Cyprus', 'Czech Republic', 'Côte d\'Ivoire', 'Denmark', 'Djibouti', 'Dominica', 'Dominican Republic', 'Ecuador', 'Egypt', 'El Salvador', 'Equatorial Guinea', 'Eritrea', 'Estonia', 'Ethiopia', 'Falkland Islands', 'Faroe Islands', 'Fiji', 'Finland', 'France', 'French Guiana', 'French Polynesia', 'French Southern Territories', 'Gabon', 'Gambia', 'Georgia', 'Germany', 'Ghana', 'Gibraltar', 'Greece', 'Greenland', 'Grenada', 'Guadeloupe', 'Guam', 'Guatemala', 'Guernsey', 'Guinea', 'Guinea-Bissau', 'Guyana', 'Haiti', 'Heard and McDonald Islands', 'Honduras', 'Hong Kong', 'Hungary', 'Iceland', 'India', 'Indonesia', 'Iran', 'Iraq', 'Ireland', 'Isle of Man', 'Israel', 'Italy', 'Jamaica', 'Japan', 'Jersey', 'Jordan', 'Kazakhstan', 'Kenya', 'Kiribati', 'Kuwait', 'Kyrgyzstan', 'Lao People\'s Democratic Republic', 'Latvia', 'Lebanon', 'Lesotho', 'Liberia', 'Libya', 'Liechtenstein', 'Lithuania', 'Luxembourg', 'Macau', 'Macedonia', 'Madagascar', 'Malawi', 'Malaysia', 'Maldives', 'Mali', 'Malta', 'Marshall Islands', 'Martinique', 'Mauritania', 'Mauritius', 'Mayotte', 'Mexico', 'Micronesia, Federated States of', 'Moldova', 'Monaco', 'Mongolia', 'Montenegro', 'Montserrat', 'Morocco', 'Mozambique', 'Myanmar', 'Namibia', 'Nauru', 'Nepal', 'New Caledonia', 'New Zealand', 'Nicaragua', 'Niger', 'Nigeria', 'Niue', 'Norfolk Island', 'North Korea', 'Northern Mariana Islands', 'Norway', 'Oman', 'Pakistan', 'Palau', 'Palestine, State of', 'Panama', 'Papua New Guinea', 'Paraguay', 'Peru', 'Philippines', 'Pitcairn', 'Poland', 'Portugal', 'Puerto Rico', 'Qatar', 'Romania', 'Russian Federation', 'Rwanda', 'Réunion', 'Saint Barthélemy', 'Saint Helena', 'Saint Kitts and Nevis', 'Saint Lucia', 'Saint Vincent and the Grenadines', 'Saint-Martin (France)', 'Samoa', 'San Marino', 'Sao Tome and Principe', 'Saudi Arabia', 'Senegal', 'Serbia', 'Seychelles', 'Sierra Leone', 'Singapore', 'Sint Maarten (Dutch part)', 'Slovakia', 'Slovenia', 'Solomon Islands', 'Somalia', 'South Africa', 'South Georgia and the South Sandwich Islands', 'South Korea', 'South Sudan', 'Spain', 'Sri Lanka', 'St. Pierre and Miquelon', 'Sudan', 'Suriname', 'Svalbard and Jan Mayen Islands', 'Swaziland', 'Sweden', 'Switzerland', 'Syria', 'Taiwan', 'Tajikistan', 'Tanzania', 'Thailand', 'The Netherlands', 'Timor-Leste', 'Togo', 'Tokelau', 'Tonga', 'Trinidad and Tobago', 'Tunisia', 'Turkey', 'Turkmenistan', 'Turks and Caicos Islands', 'Tuvalu', 'Uganda', 'Ukraine', 'United Arab Emirates', 'United Kingdom', 'United States', 'United States Minor Outlying Islands', 'Uruguay', 'Uzbekistan', 'Vanuatu', 'Vatican', 'Venezuela', 'Vietnam', 'Virgin Islands (British)', 'Virgin Islands (U.S.)', 'Wallis and Futuna Islands', 'Western Sahara', 'Yemen', 'Zambia', 'Zimbabwe']; | ||
} | ||
``` | ||
Typeahead can also just be directly used from the main [Boundless library](https://www.npmjs.com/package/boundless). This is recommended when you're getting started to avoid maintaining the package versions of several components: | ||
```bash | ||
npm i boundless --save | ||
``` | ||
the ES6 `import` statement then becomes like: | ||
```js | ||
import { Typeahead } from 'boundless'; | ||
``` | ||
## Props | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/#/Typeahead). | ||
> Note: only top-level props are in the README, for the full list check out the [website](http://boundless.js.org/Typeahead). | ||
@@ -135,0 +157,0 @@ ### Required Props |
module.exports=function(e){function t(n){if(r[n])return r[n].exports;var u=r[n]={i:n,l:!1,exports:{}};return e[n].call(u.exports,u,u.exports,t),u.l=!0,u.exports}var r={};return t.m=e,t.c=r,t.i=function(e){return e},t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,r){"use strict";function n(e,t){return Object.keys(t).reduce(function(t,r){return r in e&&(t[r]=e[r]),t},{})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n}]); | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vaW5kZXguanMiLCJ3ZWJwYWNrOi8vL3dlYnBhY2svYm9vdHN0cmFwIDkwZTY3YzY5NGMzYmY4MmVkYWVkIiwid2VicGFjazovLy8uL3BhY2thZ2VzL2JvdW5kbGVzcy11dGlscy1vYmplY3QtaW50ZXJzZWN0aW9uL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJtb2R1bGVzIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiaW5zdGFsbGVkTW9kdWxlcyIsImkiLCJsIiwiY2FsbCIsIm0iLCJjIiwidmFsdWUiLCJkIiwibmFtZSIsImdldHRlciIsIm8iLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJnZXQiLCJuIiwiX19lc01vZHVsZSIsIm9iamVjdCIsInByb3BlcnR5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJwIiwicyIsIl9fd2VicGFja19leHBvcnRzX18iLCJnZXRJbnRlcnNlY3Rpb24iLCJvYmoxIiwib2JqMiIsImtleXMiLCJyZWR1Y2UiLCJjaGlsZFByb3BzIiwia2V5Il0sIm1hcHBpbmdzIjoiQUFBQUEsT0FBT0MsUUFDRSxTQUFVQyxHQ0duQixRQUFBQyxHQUFBQyxHQUdBLEdBQUFDLEVBQUFELEdBQ0EsTUFBQUMsR0FBQUQsR0FBQUgsT0FHQSxJQUFBRCxHQUFBSyxFQUFBRCxJQUNBRSxFQUFBRixFQUNBRyxHQUFBLEVBQ0FOLFdBVUEsT0FOQUMsR0FBQUUsR0FBQUksS0FBQVIsRUFBQUMsUUFBQUQsSUFBQUMsUUFBQUUsR0FHQUgsRUFBQU8sR0FBQSxFQUdBUCxFQUFBQyxRQXZCQSxHQUFBSSxLQStEQSxPQW5DQUYsR0FBQU0sRUFBQVAsRUFHQUMsRUFBQU8sRUFBQUwsRUFHQUYsRUFBQUcsRUFBQSxTQUFBSyxHQUEyQyxNQUFBQSxJQUczQ1IsRUFBQVMsRUFBQSxTQUFBWCxFQUFBWSxFQUFBQyxHQUNBWCxFQUFBWSxFQUFBZCxFQUFBWSxJQUNBRyxPQUFBQyxlQUFBaEIsRUFBQVksR0FDQUssY0FBQSxFQUNBQyxZQUFBLEVBQ0FDLElBQUFOLEtBTUFYLEVBQUFrQixFQUFBLFNBQUFyQixHQUNBLEdBQUFjLEdBQUFkLEtBQUFzQixXQUNBLFdBQTJCLE1BQUF0QixHQUFBLFNBQzNCLFdBQWlDLE1BQUFBLEdBRWpDLE9BREFHLEdBQUFTLEVBQUFFLEVBQUEsSUFBQUEsR0FDQUEsR0FJQVgsRUFBQVksRUFBQSxTQUFBUSxFQUFBQyxHQUFzRCxNQUFBUixRQUFBUyxVQUFBQyxlQUFBbEIsS0FBQWUsRUFBQUMsSUFHdERyQixFQUFBd0IsRUFBQSxHQUdBeEIsSUFBQXlCLEVBQUEsS0RPTSxTQUFVNUIsRUFBUTZCLEVBQXFCMUIsR0FFN0MsWUUzRGUsU0FBUzJCLEdBQWdCQyxFQUFNQyxHQUMxQyxNQUFPaEIsUUFBT2lCLEtBQUtELEdBQU1FLE9BQU8sU0FBQ0MsRUFBWUMsR0FLekMsTUFKSUEsS0FBT0wsS0FDUEksRUFBV0MsR0FBT0wsRUFBS0ssSUFHcEJELE9Gc0RmbkIsT0FBT0MsZUFBZVksRUFBcUIsY0FBZ0JsQixPQUFPLElBQ2pDa0IsRUFBNkIsUUFBSUMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9XG4vKioqKioqLyAoZnVuY3Rpb24obW9kdWxlcykgeyAvLyB3ZWJwYWNrQm9vdHN0cmFwXG4vKioqKioqLyBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4vKioqKioqLyBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4vKioqKioqLyBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pXG4vKioqKioqLyBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbi8qKioqKiovIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4vKioqKioqLyBcdFx0XHRpOiBtb2R1bGVJZCxcbi8qKioqKiovIFx0XHRcdGw6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0ZXhwb3J0czoge31cbi8qKioqKiovIFx0XHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbi8qKioqKiovIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuLyoqKioqKi8gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbi8qKioqKiovIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4vKioqKioqLyBcdH1cbi8qKioqKiovXG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGlkZW50aXR5IGZ1bmN0aW9uIGZvciBjYWxsaW5nIGhhcm1vbnkgaW1wb3J0cyB3aXRoIHRoZSBjb3JyZWN0IGNvbnRleHRcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5pID0gZnVuY3Rpb24odmFsdWUpIHsgcmV0dXJuIHZhbHVlOyB9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuLyoqKioqKi8gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbi8qKioqKiovIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4vKioqKioqLyBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4vKioqKioqLyBcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG4vKioqKioqLyBcdFx0XHRcdGdldDogZ2V0dGVyXG4vKioqKioqLyBcdFx0XHR9KTtcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbi8qKioqKiovIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbi8qKioqKiovIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4vKioqKioqLyBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuLyoqKioqKi8gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbi8qKioqKiovIFx0XHRyZXR1cm4gZ2V0dGVyO1xuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbi8qKioqKiovIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG4vKioqKioqLyB9KVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKiovIChbXG4vKiAwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBleHBvcnQgKGltbXV0YWJsZSkgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSBnZXRJbnRlcnNlY3Rpb247XG5mdW5jdGlvbiBnZXRJbnRlcnNlY3Rpb24ob2JqMSxvYmoyKXtyZXR1cm4gT2JqZWN0LmtleXMob2JqMikucmVkdWNlKGZ1bmN0aW9uKGNoaWxkUHJvcHMsa2V5KXtpZihrZXkgaW4gb2JqMSl7Y2hpbGRQcm9wc1trZXldPW9iajFba2V5XTt9cmV0dXJuIGNoaWxkUHJvcHM7fSx7fSk7fVxuXG4vKioqLyB9KVxuLyoqKioqKi8gXSk7XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIGluZGV4LmpzIiwiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pXG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG5cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGlkZW50aXR5IGZ1bmN0aW9uIGZvciBjYWxsaW5nIGhhcm1vbnkgaW1wb3J0cyB3aXRoIHRoZSBjb3JyZWN0IGNvbnRleHRcbiBcdF9fd2VicGFja19yZXF1aXJlX18uaSA9IGZ1bmN0aW9uKHZhbHVlKSB7IHJldHVybiB2YWx1ZTsgfTtcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuIFx0XHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcbiBcdFx0XHRcdGdldDogZ2V0dGVyXG4gXHRcdFx0fSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gd2VicGFjay9ib290c3RyYXAgOTBlNjdjNjk0YzNiZjgyZWRhZWQiLCIvKipcbiAqIFJldHVybnMgYSBuZXcgb2JqZWN0IHRoYXQgaXMgYW4gaW50ZXJzZWN0aW9uIG9mIHRoZSBrZXlzIGJldHdlZW4gdGhlIGZpcnN0IGFuZCBzZWNvbmQgb2JqZWN0IGFyZ3VtZW50cy5cbiAqXG4gKiAjIyBFeGFtcGxlIFVzYWdlXG4gKlxuICogYGBganNcbiAqIGltcG9ydCBpbnRlcnNlY3QgZnJvbSAnYm91bmRsZXNzLXV0aWxzLW9iamVjdC1pbnRlcnNlY3Rpb24nO1xuICpcbiAqIGNvbnN0IG9iajEgPSB7Zm9vOiAnYmFyJywgYmFyOiAnYmF6JywgYmF6OiAnZml6eid9O1xuICogY29uc3Qgb2JqMiA9IHtiYXI6ICd4J307XG4gKlxuICogaW50ZXJzZWN0KG9iajEsIG9iajIpOyAvLyByZXR1cm5zIGB7YmFyOiAnYmF6J31gXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0SW50ZXJzZWN0aW9uKG9iajEsIG9iajIpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqMikucmVkdWNlKChjaGlsZFByb3BzLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKGtleSBpbiBvYmoxKSB7XG4gICAgICAgICAgICBjaGlsZFByb3BzW2tleV0gPSBvYmoxW2tleV07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2hpbGRQcm9wcztcblxuICAgIH0sIHt9KTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3BhY2thZ2VzL2JvdW5kbGVzcy11dGlscy1vYmplY3QtaW50ZXJzZWN0aW9uL2luZGV4LmpzIl0sInNvdXJjZVJvb3QiOiIifQ== | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vaW5kZXguanMiLCJ3ZWJwYWNrOi8vL3dlYnBhY2svYm9vdHN0cmFwIDkwZTY3YzY5NGMzYmY4MmVkYWVkIiwid2VicGFjazovLy8uL3BhY2thZ2VzL2JvdW5kbGVzcy11dGlscy1vYmplY3QtaW50ZXJzZWN0aW9uL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJtb2R1bGVzIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiaW5zdGFsbGVkTW9kdWxlcyIsImkiLCJsIiwiY2FsbCIsIm0iLCJjIiwidmFsdWUiLCJkIiwibmFtZSIsImdldHRlciIsIm8iLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJnZXQiLCJuIiwiX19lc01vZHVsZSIsIm9iamVjdCIsInByb3BlcnR5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJwIiwicyIsIl9fd2VicGFja19leHBvcnRzX18iLCJnZXRJbnRlcnNlY3Rpb24iLCJvYmoxIiwib2JqMiIsImtleXMiLCJyZWR1Y2UiLCJjaGlsZFByb3BzIiwia2V5Il0sIm1hcHBpbmdzIjoiQUFBQUEsT0FBT0MsUUFDRSxTQUFVQyxHQ0duQixRQUFBQyxHQUFBQyxHQUdBLEdBQUFDLEVBQUFELEdBQ0EsTUFBQUMsR0FBQUQsR0FBQUgsT0FHQSxJQUFBRCxHQUFBSyxFQUFBRCxJQUNBRSxFQUFBRixFQUNBRyxHQUFBLEVBQ0FOLFdBVUEsT0FOQUMsR0FBQUUsR0FBQUksS0FBQVIsRUFBQUMsUUFBQUQsSUFBQUMsUUFBQUUsR0FHQUgsRUFBQU8sR0FBQSxFQUdBUCxFQUFBQyxRQXZCQSxHQUFBSSxLQStEQSxPQW5DQUYsR0FBQU0sRUFBQVAsRUFHQUMsRUFBQU8sRUFBQUwsRUFHQUYsRUFBQUcsRUFBQSxTQUFBSyxHQUEyQyxNQUFBQSxJQUczQ1IsRUFBQVMsRUFBQSxTQUFBWCxFQUFBWSxFQUFBQyxHQUNBWCxFQUFBWSxFQUFBZCxFQUFBWSxJQUNBRyxPQUFBQyxlQUFBaEIsRUFBQVksR0FDQUssY0FBQSxFQUNBQyxZQUFBLEVBQ0FDLElBQUFOLEtBTUFYLEVBQUFrQixFQUFBLFNBQUFyQixHQUNBLEdBQUFjLEdBQUFkLEtBQUFzQixXQUNBLFdBQTJCLE1BQUF0QixHQUFBLFNBQzNCLFdBQWlDLE1BQUFBLEdBRWpDLE9BREFHLEdBQUFTLEVBQUFFLEVBQUEsSUFBQUEsR0FDQUEsR0FJQVgsRUFBQVksRUFBQSxTQUFBUSxFQUFBQyxHQUFzRCxNQUFBUixRQUFBUyxVQUFBQyxlQUFBbEIsS0FBQWUsRUFBQUMsSUFHdERyQixFQUFBd0IsRUFBQSxHQUdBeEIsSUFBQXlCLEVBQUEsS0RPTSxTQUFVNUIsRUFBUTZCLEVBQXFCMUIsR0FFN0MsWUV0RWUsU0FBUzJCLEdBQWdCQyxFQUFNQyxHQUMxQyxNQUFPaEIsUUFBT2lCLEtBQUtELEdBQU1FLE9BQU8sU0FBQ0MsRUFBWUMsR0FLekMsTUFKSUEsS0FBT0wsS0FDUEksRUFBV0MsR0FBT0wsRUFBS0ssSUFHcEJELE9GaUVmbkIsT0FBT0MsZUFBZVksRUFBcUIsY0FBZ0JsQixPQUFPLElBQ2pDa0IsRUFBNkIsUUFBSUMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9XG4vKioqKioqLyAoZnVuY3Rpb24obW9kdWxlcykgeyAvLyB3ZWJwYWNrQm9vdHN0cmFwXG4vKioqKioqLyBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4vKioqKioqLyBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4vKioqKioqLyBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pXG4vKioqKioqLyBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbi8qKioqKiovIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4vKioqKioqLyBcdFx0XHRpOiBtb2R1bGVJZCxcbi8qKioqKiovIFx0XHRcdGw6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0ZXhwb3J0czoge31cbi8qKioqKiovIFx0XHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbi8qKioqKiovIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuLyoqKioqKi8gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbi8qKioqKiovIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4vKioqKioqLyBcdH1cbi8qKioqKiovXG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGlkZW50aXR5IGZ1bmN0aW9uIGZvciBjYWxsaW5nIGhhcm1vbnkgaW1wb3J0cyB3aXRoIHRoZSBjb3JyZWN0IGNvbnRleHRcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5pID0gZnVuY3Rpb24odmFsdWUpIHsgcmV0dXJuIHZhbHVlOyB9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuLyoqKioqKi8gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbi8qKioqKiovIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4vKioqKioqLyBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4vKioqKioqLyBcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG4vKioqKioqLyBcdFx0XHRcdGdldDogZ2V0dGVyXG4vKioqKioqLyBcdFx0XHR9KTtcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbi8qKioqKiovIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbi8qKioqKiovIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4vKioqKioqLyBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuLyoqKioqKi8gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbi8qKioqKiovIFx0XHRyZXR1cm4gZ2V0dGVyO1xuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbi8qKioqKiovIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG4vKioqKioqLyB9KVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKiovIChbXG4vKiAwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBleHBvcnQgKGltbXV0YWJsZSkgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSBnZXRJbnRlcnNlY3Rpb247XG5mdW5jdGlvbiBnZXRJbnRlcnNlY3Rpb24ob2JqMSxvYmoyKXtyZXR1cm4gT2JqZWN0LmtleXMob2JqMikucmVkdWNlKGZ1bmN0aW9uKGNoaWxkUHJvcHMsa2V5KXtpZihrZXkgaW4gb2JqMSl7Y2hpbGRQcm9wc1trZXldPW9iajFba2V5XTt9cmV0dXJuIGNoaWxkUHJvcHM7fSx7fSk7fVxuXG4vKioqLyB9KVxuLyoqKioqKi8gXSk7XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIGluZGV4LmpzIiwiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pXG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG5cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGlkZW50aXR5IGZ1bmN0aW9uIGZvciBjYWxsaW5nIGhhcm1vbnkgaW1wb3J0cyB3aXRoIHRoZSBjb3JyZWN0IGNvbnRleHRcbiBcdF9fd2VicGFja19yZXF1aXJlX18uaSA9IGZ1bmN0aW9uKHZhbHVlKSB7IHJldHVybiB2YWx1ZTsgfTtcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuIFx0XHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcbiBcdFx0XHRcdGdldDogZ2V0dGVyXG4gXHRcdFx0fSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gd2VicGFjay9ib290c3RyYXAgOTBlNjdjNjk0YzNiZjgyZWRhZWQiLCIvKipcbiAqIFJldHVybnMgYSBuZXcgb2JqZWN0IHRoYXQgaXMgYW4gaW50ZXJzZWN0aW9uIG9mIHRoZSBrZXlzIGJldHdlZW4gdGhlIGZpcnN0IGFuZCBzZWNvbmQgb2JqZWN0IGFyZ3VtZW50cy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0SW50ZXJzZWN0aW9uKG9iajEsIG9iajIpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqMikucmVkdWNlKChjaGlsZFByb3BzLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKGtleSBpbiBvYmoxKSB7XG4gICAgICAgICAgICBjaGlsZFByb3BzW2tleV0gPSBvYmoxW2tleV07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2hpbGRQcm9wcztcblxuICAgIH0sIHt9KTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3BhY2thZ2VzL2JvdW5kbGVzcy11dGlscy1vYmplY3QtaW50ZXJzZWN0aW9uL2luZGV4LmpzIl0sInNvdXJjZVJvb3QiOiIifQ== |
/** | ||
* Returns a new object that is an intersection of the keys between the first and second object arguments. | ||
* | ||
* ## Example Usage | ||
* | ||
* ```js | ||
* import intersect from 'boundless-utils-object-intersection'; | ||
* | ||
* const obj1 = {foo: 'bar', bar: 'baz', baz: 'fizz'}; | ||
* const obj2 = {bar: 'x'}; | ||
* | ||
* intersect(obj1, obj2); // returns `{bar: 'baz'}` | ||
* ``` | ||
*/ | ||
@@ -15,0 +4,0 @@ export default function getIntersection(obj1, obj2) { |
{ | ||
"name": "boundless-utils-object-intersection", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "Returns an intersection of the first argument against the second argument's keys.", | ||
@@ -18,3 +18,3 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/objectIntersection" | ||
"homepage": "http://boundless.js.org/objectIntersection" | ||
} |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-UTILS-OBJECT-INTERSECTION/INDEX.JS INSTEAD. | ||
--> | ||
@@ -8,5 +8,12 @@ # objectIntersection | ||
## Example Usage | ||
## Installation | ||
```js | ||
```bash | ||
npm i boundless-utils-object-intersection --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
import intersect from 'boundless-utils-object-intersection'; | ||
@@ -22,1 +29,4 @@ | ||
module.exports=function(e){function t(n){if(r[n])return r[n].exports;var u=r[n]={i:n,l:!1,exports:{}};return e[n].call(u.exports,u,u.exports,t),u.l=!0,u.exports}var r={};return t.m=e,t.c=r,t.i=function(e){return e},t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,r){"use strict";function n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return Object.keys(e).reduce(function(r,n){return t.indexOf(n)===-1&&(r[n]=e[n]),r},{})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n}]); | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vaW5kZXguanMiLCJ3ZWJwYWNrOi8vL3dlYnBhY2svYm9vdHN0cmFwIDFhYWYxZDBhYzczMzE5ZWQzNmIwIiwid2VicGFjazovLy8uL3BhY2thZ2VzL2JvdW5kbGVzcy11dGlscy1vbWl0LWtleXMvaW5kZXguanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIm1vZHVsZXMiLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwibW9kdWxlSWQiLCJpbnN0YWxsZWRNb2R1bGVzIiwiaSIsImwiLCJjYWxsIiwibSIsImMiLCJ2YWx1ZSIsImQiLCJuYW1lIiwiZ2V0dGVyIiwibyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsImdldCIsIm4iLCJfX2VzTW9kdWxlIiwib2JqZWN0IiwicHJvcGVydHkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsInAiLCJzIiwiX193ZWJwYWNrX2V4cG9ydHNfXyIsIm9taXRLZXlzRnJvbVNvdXJjZU9iamVjdCIsInNvdXJjZSIsIm9taXR0ZWRLZXlzIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwia2V5cyIsInJlZHVjZSIsImhhc2giLCJrZXkiLCJpbmRleE9mIl0sIm1hcHBpbmdzIjoiQUFBQUEsT0FBT0MsUUFDRSxTQUFVQyxHQ0duQixRQUFBQyxHQUFBQyxHQUdBLEdBQUFDLEVBQUFELEdBQ0EsTUFBQUMsR0FBQUQsR0FBQUgsT0FHQSxJQUFBRCxHQUFBSyxFQUFBRCxJQUNBRSxFQUFBRixFQUNBRyxHQUFBLEVBQ0FOLFdBVUEsT0FOQUMsR0FBQUUsR0FBQUksS0FBQVIsRUFBQUMsUUFBQUQsSUFBQUMsUUFBQUUsR0FHQUgsRUFBQU8sR0FBQSxFQUdBUCxFQUFBQyxRQXZCQSxHQUFBSSxLQStEQSxPQW5DQUYsR0FBQU0sRUFBQVAsRUFHQUMsRUFBQU8sRUFBQUwsRUFHQUYsRUFBQUcsRUFBQSxTQUFBSyxHQUEyQyxNQUFBQSxJQUczQ1IsRUFBQVMsRUFBQSxTQUFBWCxFQUFBWSxFQUFBQyxHQUNBWCxFQUFBWSxFQUFBZCxFQUFBWSxJQUNBRyxPQUFBQyxlQUFBaEIsRUFBQVksR0FDQUssY0FBQSxFQUNBQyxZQUFBLEVBQ0FDLElBQUFOLEtBTUFYLEVBQUFrQixFQUFBLFNBQUFyQixHQUNBLEdBQUFjLEdBQUFkLEtBQUFzQixXQUNBLFdBQTJCLE1BQUF0QixHQUFBLFNBQzNCLFdBQWlDLE1BQUFBLEdBRWpDLE9BREFHLEdBQUFTLEVBQUFFLEVBQUEsSUFBQUEsR0FDQUEsR0FJQVgsRUFBQVksRUFBQSxTQUFBUSxFQUFBQyxHQUFzRCxNQUFBUixRQUFBUyxVQUFBQyxlQUFBbEIsS0FBQWUsRUFBQUMsSUFHdERyQixFQUFBd0IsRUFBQSxHQUdBeEIsSUFBQXlCLEVBQUEsS0RPTSxTQUFVNUIsRUFBUTZCLEVBQXFCMUIsR0FFN0MsWUU1RGUsU0FBUzJCLEdBQXlCQyxHQUEwQixHQUFsQkMsR0FBa0JDLFVBQUFDLE9BQUEsR0FBQUMsU0FBQUYsVUFBQSxHQUFBQSxVQUFBLEtBQ3ZFLE9BQU9qQixRQUFPb0IsS0FBS0wsR0FBUU0sT0FBTyxTQUE4QkMsRUFBTUMsR0FLbEUsTUFKSVAsR0FBWVEsUUFBUUQsTUFBUyxJQUM3QkQsRUFBS0MsR0FBT1IsRUFBT1EsSUFHaEJELE9GdURmdEIsT0FBT0MsZUFBZVksRUFBcUIsY0FBZ0JsQixPQUFPLElBQ2pDa0IsRUFBNkIsUUFBSUMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9XG4vKioqKioqLyAoZnVuY3Rpb24obW9kdWxlcykgeyAvLyB3ZWJwYWNrQm9vdHN0cmFwXG4vKioqKioqLyBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4vKioqKioqLyBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4vKioqKioqLyBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pXG4vKioqKioqLyBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbi8qKioqKiovIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4vKioqKioqLyBcdFx0XHRpOiBtb2R1bGVJZCxcbi8qKioqKiovIFx0XHRcdGw6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0ZXhwb3J0czoge31cbi8qKioqKiovIFx0XHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbi8qKioqKiovIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuLyoqKioqKi8gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbi8qKioqKiovIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4vKioqKioqLyBcdH1cbi8qKioqKiovXG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGlkZW50aXR5IGZ1bmN0aW9uIGZvciBjYWxsaW5nIGhhcm1vbnkgaW1wb3J0cyB3aXRoIHRoZSBjb3JyZWN0IGNvbnRleHRcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5pID0gZnVuY3Rpb24odmFsdWUpIHsgcmV0dXJuIHZhbHVlOyB9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuLyoqKioqKi8gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbi8qKioqKiovIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4vKioqKioqLyBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4vKioqKioqLyBcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG4vKioqKioqLyBcdFx0XHRcdGdldDogZ2V0dGVyXG4vKioqKioqLyBcdFx0XHR9KTtcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbi8qKioqKiovIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbi8qKioqKiovIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4vKioqKioqLyBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuLyoqKioqKi8gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbi8qKioqKiovIFx0XHRyZXR1cm4gZ2V0dGVyO1xuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbi8qKioqKiovIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG4vKioqKioqLyB9KVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKiovIChbXG4vKiAwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBleHBvcnQgKGltbXV0YWJsZSkgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSBvbWl0S2V5c0Zyb21Tb3VyY2VPYmplY3Q7XG5mdW5jdGlvbiBvbWl0S2V5c0Zyb21Tb3VyY2VPYmplY3Qoc291cmNlKXt2YXIgb21pdHRlZEtleXM9YXJndW1lbnRzLmxlbmd0aD4xJiZhcmd1bWVudHNbMV0hPT11bmRlZmluZWQ/YXJndW1lbnRzWzFdOltdO3JldHVybiBPYmplY3Qua2V5cyhzb3VyY2UpLnJlZHVjZShmdW5jdGlvbiByZWxvY2F0ZUFjY2VwdGVkS2V5cyhoYXNoLGtleSl7aWYob21pdHRlZEtleXMuaW5kZXhPZihrZXkpPT09LTEpe2hhc2hba2V5XT1zb3VyY2Vba2V5XTt9cmV0dXJuIGhhc2g7fSx7fSk7fVxuXG4vKioqLyB9KVxuLyoqKioqKi8gXSk7XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIGluZGV4LmpzIiwiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pXG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG5cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGlkZW50aXR5IGZ1bmN0aW9uIGZvciBjYWxsaW5nIGhhcm1vbnkgaW1wb3J0cyB3aXRoIHRoZSBjb3JyZWN0IGNvbnRleHRcbiBcdF9fd2VicGFja19yZXF1aXJlX18uaSA9IGZ1bmN0aW9uKHZhbHVlKSB7IHJldHVybiB2YWx1ZTsgfTtcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuIFx0XHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcbiBcdFx0XHRcdGdldDogZ2V0dGVyXG4gXHRcdFx0fSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gd2VicGFjay9ib290c3RyYXAgMWFhZjFkMGFjNzMzMTllZDM2YjAiLCIvKipcbiAqIFJldHVybnMgYSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRoZSBzdXBwbGllZCBvYmplY3Qgd2l0aG91dCB0aGUgZ2l2ZW4ga2V5cy5cbiAqXG4gKiAjIyBFeGFtcGxlIFVzYWdlXG4gKlxuICogYGBganNcbiAqIGltcG9ydCBvbWl0S2V5cyBmcm9tICdib3VuZGxlc3MtdXRpbHMtb21pdC1rZXlzJztcbiAqXG4gKiBjb25zdCBvYmogPSB7Zm9vOiAnYmFyJywgYmFyOiAnYmF6J307XG4gKlxuICogb21pdEtleXMob2JqLCBbJ2JhciddKTsgLy8gcmV0dXJucyBge2ZvbzogJ2Jhcid9YFxuICogYGBgXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG9taXRLZXlzRnJvbVNvdXJjZU9iamVjdChzb3VyY2UsIG9taXR0ZWRLZXlzID0gW10pIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoc291cmNlKS5yZWR1Y2UoZnVuY3Rpb24gcmVsb2NhdGVBY2NlcHRlZEtleXMoaGFzaCwga2V5KSB7XG4gICAgICAgIGlmIChvbWl0dGVkS2V5cy5pbmRleE9mKGtleSkgPT09IC0xKSB7XG4gICAgICAgICAgICBoYXNoW2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBoYXNoO1xuICAgIH0sIHt9KTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3BhY2thZ2VzL2JvdW5kbGVzcy11dGlscy1vbWl0LWtleXMvaW5kZXguanMiXSwic291cmNlUm9vdCI6IiJ9 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vaW5kZXguanMiLCJ3ZWJwYWNrOi8vL3dlYnBhY2svYm9vdHN0cmFwIDFhYWYxZDBhYzczMzE5ZWQzNmIwIiwid2VicGFjazovLy8uL3BhY2thZ2VzL2JvdW5kbGVzcy11dGlscy1vbWl0LWtleXMvaW5kZXguanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIm1vZHVsZXMiLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwibW9kdWxlSWQiLCJpbnN0YWxsZWRNb2R1bGVzIiwiaSIsImwiLCJjYWxsIiwibSIsImMiLCJ2YWx1ZSIsImQiLCJuYW1lIiwiZ2V0dGVyIiwibyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsImdldCIsIm4iLCJfX2VzTW9kdWxlIiwib2JqZWN0IiwicHJvcGVydHkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsInAiLCJzIiwiX193ZWJwYWNrX2V4cG9ydHNfXyIsIm9taXRLZXlzRnJvbVNvdXJjZU9iamVjdCIsInNvdXJjZSIsIm9taXR0ZWRLZXlzIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwia2V5cyIsInJlZHVjZSIsImhhc2giLCJrZXkiLCJpbmRleE9mIl0sIm1hcHBpbmdzIjoiQUFBQUEsT0FBT0MsUUFDRSxTQUFVQyxHQ0duQixRQUFBQyxHQUFBQyxHQUdBLEdBQUFDLEVBQUFELEdBQ0EsTUFBQUMsR0FBQUQsR0FBQUgsT0FHQSxJQUFBRCxHQUFBSyxFQUFBRCxJQUNBRSxFQUFBRixFQUNBRyxHQUFBLEVBQ0FOLFdBVUEsT0FOQUMsR0FBQUUsR0FBQUksS0FBQVIsRUFBQUMsUUFBQUQsSUFBQUMsUUFBQUUsR0FHQUgsRUFBQU8sR0FBQSxFQUdBUCxFQUFBQyxRQXZCQSxHQUFBSSxLQStEQSxPQW5DQUYsR0FBQU0sRUFBQVAsRUFHQUMsRUFBQU8sRUFBQUwsRUFHQUYsRUFBQUcsRUFBQSxTQUFBSyxHQUEyQyxNQUFBQSxJQUczQ1IsRUFBQVMsRUFBQSxTQUFBWCxFQUFBWSxFQUFBQyxHQUNBWCxFQUFBWSxFQUFBZCxFQUFBWSxJQUNBRyxPQUFBQyxlQUFBaEIsRUFBQVksR0FDQUssY0FBQSxFQUNBQyxZQUFBLEVBQ0FDLElBQUFOLEtBTUFYLEVBQUFrQixFQUFBLFNBQUFyQixHQUNBLEdBQUFjLEdBQUFkLEtBQUFzQixXQUNBLFdBQTJCLE1BQUF0QixHQUFBLFNBQzNCLFdBQWlDLE1BQUFBLEdBRWpDLE9BREFHLEdBQUFTLEVBQUFFLEVBQUEsSUFBQUEsR0FDQUEsR0FJQVgsRUFBQVksRUFBQSxTQUFBUSxFQUFBQyxHQUFzRCxNQUFBUixRQUFBUyxVQUFBQyxlQUFBbEIsS0FBQWUsRUFBQUMsSUFHdERyQixFQUFBd0IsRUFBQSxHQUdBeEIsSUFBQXlCLEVBQUEsS0RPTSxTQUFVNUIsRUFBUTZCLEVBQXFCMUIsR0FFN0MsWUV0RWUsU0FBUzJCLEdBQXlCQyxHQUEwQixHQUFsQkMsR0FBa0JDLFVBQUFDLE9BQUEsR0FBQUMsU0FBQUYsVUFBQSxHQUFBQSxVQUFBLEtBQ3ZFLE9BQU9qQixRQUFPb0IsS0FBS0wsR0FBUU0sT0FBTyxTQUE4QkMsRUFBTUMsR0FLbEUsTUFKSVAsR0FBWVEsUUFBUUQsTUFBUyxJQUM3QkQsRUFBS0MsR0FBT1IsRUFBT1EsSUFHaEJELE9GaUVmdEIsT0FBT0MsZUFBZVksRUFBcUIsY0FBZ0JsQixPQUFPLElBQ2pDa0IsRUFBNkIsUUFBSUMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9XG4vKioqKioqLyAoZnVuY3Rpb24obW9kdWxlcykgeyAvLyB3ZWJwYWNrQm9vdHN0cmFwXG4vKioqKioqLyBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4vKioqKioqLyBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4vKioqKioqLyBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pXG4vKioqKioqLyBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbi8qKioqKiovIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4vKioqKioqLyBcdFx0XHRpOiBtb2R1bGVJZCxcbi8qKioqKiovIFx0XHRcdGw6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0ZXhwb3J0czoge31cbi8qKioqKiovIFx0XHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbi8qKioqKiovIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuLyoqKioqKi8gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbi8qKioqKiovIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4vKioqKioqLyBcdH1cbi8qKioqKiovXG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGlkZW50aXR5IGZ1bmN0aW9uIGZvciBjYWxsaW5nIGhhcm1vbnkgaW1wb3J0cyB3aXRoIHRoZSBjb3JyZWN0IGNvbnRleHRcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5pID0gZnVuY3Rpb24odmFsdWUpIHsgcmV0dXJuIHZhbHVlOyB9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuLyoqKioqKi8gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbi8qKioqKiovIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4vKioqKioqLyBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4vKioqKioqLyBcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG4vKioqKioqLyBcdFx0XHRcdGdldDogZ2V0dGVyXG4vKioqKioqLyBcdFx0XHR9KTtcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbi8qKioqKiovIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbi8qKioqKiovIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4vKioqKioqLyBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuLyoqKioqKi8gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbi8qKioqKiovIFx0XHRyZXR1cm4gZ2V0dGVyO1xuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbi8qKioqKiovIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG4vKioqKioqLyB9KVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKiovIChbXG4vKiAwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBleHBvcnQgKGltbXV0YWJsZSkgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSBvbWl0S2V5c0Zyb21Tb3VyY2VPYmplY3Q7XG5mdW5jdGlvbiBvbWl0S2V5c0Zyb21Tb3VyY2VPYmplY3Qoc291cmNlKXt2YXIgb21pdHRlZEtleXM9YXJndW1lbnRzLmxlbmd0aD4xJiZhcmd1bWVudHNbMV0hPT11bmRlZmluZWQ/YXJndW1lbnRzWzFdOltdO3JldHVybiBPYmplY3Qua2V5cyhzb3VyY2UpLnJlZHVjZShmdW5jdGlvbiByZWxvY2F0ZUFjY2VwdGVkS2V5cyhoYXNoLGtleSl7aWYob21pdHRlZEtleXMuaW5kZXhPZihrZXkpPT09LTEpe2hhc2hba2V5XT1zb3VyY2Vba2V5XTt9cmV0dXJuIGhhc2g7fSx7fSk7fVxuXG4vKioqLyB9KVxuLyoqKioqKi8gXSk7XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIGluZGV4LmpzIiwiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pXG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG5cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGlkZW50aXR5IGZ1bmN0aW9uIGZvciBjYWxsaW5nIGhhcm1vbnkgaW1wb3J0cyB3aXRoIHRoZSBjb3JyZWN0IGNvbnRleHRcbiBcdF9fd2VicGFja19yZXF1aXJlX18uaSA9IGZ1bmN0aW9uKHZhbHVlKSB7IHJldHVybiB2YWx1ZTsgfTtcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuIFx0XHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcbiBcdFx0XHRcdGdldDogZ2V0dGVyXG4gXHRcdFx0fSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gd2VicGFjay9ib290c3RyYXAgMWFhZjFkMGFjNzMzMTllZDM2YjAiLCIvKipcbiAqIFJldHVybnMgYSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRoZSBzdXBwbGllZCBvYmplY3Qgd2l0aG91dCB0aGUgZ2l2ZW4ga2V5cy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gb21pdEtleXNGcm9tU291cmNlT2JqZWN0KHNvdXJjZSwgb21pdHRlZEtleXMgPSBbXSkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhzb3VyY2UpLnJlZHVjZShmdW5jdGlvbiByZWxvY2F0ZUFjY2VwdGVkS2V5cyhoYXNoLCBrZXkpIHtcbiAgICAgICAgaWYgKG9taXR0ZWRLZXlzLmluZGV4T2Yoa2V5KSA9PT0gLTEpIHtcbiAgICAgICAgICAgIGhhc2hba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGhhc2g7XG4gICAgfSwge30pO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcGFja2FnZXMvYm91bmRsZXNzLXV0aWxzLW9taXQta2V5cy9pbmRleC5qcyJdLCJzb3VyY2VSb290IjoiIn0= |
/** | ||
* Returns a modified version of the supplied object without the given keys. | ||
* | ||
* ## Example Usage | ||
* | ||
* ```js | ||
* import omitKeys from 'boundless-utils-omit-keys'; | ||
* | ||
* const obj = {foo: 'bar', bar: 'baz'}; | ||
* | ||
* omitKeys(obj, ['bar']); // returns `{foo: 'bar'}` | ||
* ``` | ||
*/ | ||
@@ -14,0 +4,0 @@ export default function omitKeysFromSourceObject(source, omittedKeys = []) { |
{ | ||
"name": "boundless-utils-omit-keys", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "Returns a modified version of the supplied object without the given keys.", | ||
@@ -18,3 +18,3 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/omitKeys" | ||
"homepage": "http://boundless.js.org/omitKeys" | ||
} |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-UTILS-OMIT-KEYS/INDEX.JS INSTEAD. | ||
--> | ||
@@ -8,10 +8,15 @@ # omitKeys | ||
## Example Usage | ||
## Installation | ||
```js | ||
```bash | ||
npm i boundless-utils-omit-keys --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
import omitKeys from 'boundless-utils-omit-keys'; | ||
const obj = {foo: 'bar', bar: 'baz'}; | ||
omitKeys(obj, ['bar']); // returns `{foo: 'bar'}` | ||
omitKeys({foo: 'bar', bar: 'baz'}, ['bar']); // returns `{foo: 'bar'}` | ||
``` | ||
@@ -21,1 +26,4 @@ | ||
module.exports=function(r){function e(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return r[n].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var t={};return e.m=r,e.c=t,e.i=function(r){return r},e.d=function(r,t,n){e.o(r,t)||Object.defineProperty(r,t,{configurable:!1,enumerable:!0,get:n})},e.n=function(r){var t=r&&r.__esModule?function(){return r.default}:function(){return r};return e.d(t,"a",t),t},e.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},e.p="",e(e.s=0)}([function(r,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){for(var r=["transform","WebkitTransform","MozTransform","OTransform","msTransform","webkit-transform"],e=0,t=r.length;e<t;e++)if(r[e]in document.documentElement.style)return r[e];return!1}()}]); | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vaW5kZXguanMiLCJ3ZWJwYWNrOi8vL3dlYnBhY2svYm9vdHN0cmFwIGRiZTg2YjljZGJmNDMzZDU2ZWM2Iiwid2VicGFjazovLy8uL3BhY2thZ2VzL2JvdW5kbGVzcy11dGlscy10cmFuc2Zvcm0tcHJvcGVydHkvaW5kZXguanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIm1vZHVsZXMiLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwibW9kdWxlSWQiLCJpbnN0YWxsZWRNb2R1bGVzIiwiaSIsImwiLCJjYWxsIiwibSIsImMiLCJ2YWx1ZSIsImQiLCJuYW1lIiwiZ2V0dGVyIiwibyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsImdldCIsIm4iLCJfX2VzTW9kdWxlIiwib2JqZWN0IiwicHJvcGVydHkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsInAiLCJzIiwiX193ZWJwYWNrX2V4cG9ydHNfXyIsInByb3BzIiwibGVuIiwibGVuZ3RoIiwiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiLCJzdHlsZSJdLCJtYXBwaW5ncyI6IkFBQUFBLE9BQU9DLFFBQ0UsU0FBVUMsR0NHbkIsUUFBQUMsR0FBQUMsR0FHQSxHQUFBQyxFQUFBRCxHQUNBLE1BQUFDLEdBQUFELEdBQUFILE9BR0EsSUFBQUQsR0FBQUssRUFBQUQsSUFDQUUsRUFBQUYsRUFDQUcsR0FBQSxFQUNBTixXQVVBLE9BTkFDLEdBQUFFLEdBQUFJLEtBQUFSLEVBQUFDLFFBQUFELElBQUFDLFFBQUFFLEdBR0FILEVBQUFPLEdBQUEsRUFHQVAsRUFBQUMsUUF2QkEsR0FBQUksS0ErREEsT0FuQ0FGLEdBQUFNLEVBQUFQLEVBR0FDLEVBQUFPLEVBQUFMLEVBR0FGLEVBQUFHLEVBQUEsU0FBQUssR0FBMkMsTUFBQUEsSUFHM0NSLEVBQUFTLEVBQUEsU0FBQVgsRUFBQVksRUFBQUMsR0FDQVgsRUFBQVksRUFBQWQsRUFBQVksSUFDQUcsT0FBQUMsZUFBQWhCLEVBQUFZLEdBQ0FLLGNBQUEsRUFDQUMsWUFBQSxFQUNBQyxJQUFBTixLQU1BWCxFQUFBa0IsRUFBQSxTQUFBckIsR0FDQSxHQUFBYyxHQUFBZCxLQUFBc0IsV0FDQSxXQUEyQixNQUFBdEIsR0FBQSxTQUMzQixXQUFpQyxNQUFBQSxHQUVqQyxPQURBRyxHQUFBUyxFQUFBRSxFQUFBLElBQUFBLEdBQ0FBLEdBSUFYLEVBQUFZLEVBQUEsU0FBQVEsRUFBQUMsR0FBc0QsTUFBQVIsUUFBQVMsVUFBQUMsZUFBQWxCLEtBQUFlLEVBQUFDLElBR3REckIsRUFBQXdCLEVBQUEsR0FHQXhCLElBQUF5QixFQUFBLEtET00sU0FBVTVCLEVBQVE2QixFQUFxQjFCLEdBRTdDLFlBQ0FhLFFBQU9DLGVBQWVZLEVBQXFCLGNBQWdCbEIsT0FBTyxJRS9EbEVrQixFQUFBLFFBQWUsV0FVWCxJQUFLLEdBVENDLElBQ0YsWUFDQSxrQkFDQSxlQUNBLGFBQ0EsY0FDQSxvQkFHS3hCLEVBQUksRUFBR3lCLEVBQU1ELEVBQU1FLE9BQVExQixFQUFJeUIsRUFBS3pCLElBQ3pDLEdBQUl3QixFQUFNeEIsSUFBTTJCLFVBQVNDLGdCQUFnQkMsTUFDckMsTUFBT0wsR0FBTXhCLEVBSXJCLFFBQU8iLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9XG4vKioqKioqLyAoZnVuY3Rpb24obW9kdWxlcykgeyAvLyB3ZWJwYWNrQm9vdHN0cmFwXG4vKioqKioqLyBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4vKioqKioqLyBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4vKioqKioqLyBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pXG4vKioqKioqLyBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbi8qKioqKiovIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4vKioqKioqLyBcdFx0XHRpOiBtb2R1bGVJZCxcbi8qKioqKiovIFx0XHRcdGw6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0ZXhwb3J0czoge31cbi8qKioqKiovIFx0XHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbi8qKioqKiovIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuLyoqKioqKi8gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbi8qKioqKiovIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4vKioqKioqLyBcdH1cbi8qKioqKiovXG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGlkZW50aXR5IGZ1bmN0aW9uIGZvciBjYWxsaW5nIGhhcm1vbnkgaW1wb3J0cyB3aXRoIHRoZSBjb3JyZWN0IGNvbnRleHRcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5pID0gZnVuY3Rpb24odmFsdWUpIHsgcmV0dXJuIHZhbHVlOyB9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuLyoqKioqKi8gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbi8qKioqKiovIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4vKioqKioqLyBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4vKioqKioqLyBcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG4vKioqKioqLyBcdFx0XHRcdGdldDogZ2V0dGVyXG4vKioqKioqLyBcdFx0XHR9KTtcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbi8qKioqKiovIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbi8qKioqKiovIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4vKioqKioqLyBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuLyoqKioqKi8gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbi8qKioqKiovIFx0XHRyZXR1cm4gZ2V0dGVyO1xuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbi8qKioqKiovIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG4vKioqKioqLyB9KVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKiovIChbXG4vKiAwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChmdW5jdGlvbiBkZXRlY3RUcmFuc2Zvcm1Qcm9wZXJ0eSgpe3ZhciBwcm9wcz1bJ3RyYW5zZm9ybScsJ1dlYmtpdFRyYW5zZm9ybScsJ01velRyYW5zZm9ybScsJ09UcmFuc2Zvcm0nLCdtc1RyYW5zZm9ybScsJ3dlYmtpdC10cmFuc2Zvcm0nXTtmb3IodmFyIGk9MCxsZW49cHJvcHMubGVuZ3RoO2k8bGVuO2krKyl7aWYocHJvcHNbaV1pbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUpe3JldHVybiBwcm9wc1tpXTt9fXJldHVybiBmYWxzZTt9KSgpO1xuXG4vKioqLyB9KVxuLyoqKioqKi8gXSk7XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIGluZGV4LmpzIiwiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pXG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG5cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGlkZW50aXR5IGZ1bmN0aW9uIGZvciBjYWxsaW5nIGhhcm1vbnkgaW1wb3J0cyB3aXRoIHRoZSBjb3JyZWN0IGNvbnRleHRcbiBcdF9fd2VicGFja19yZXF1aXJlX18uaSA9IGZ1bmN0aW9uKHZhbHVlKSB7IHJldHVybiB2YWx1ZTsgfTtcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuIFx0XHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcbiBcdFx0XHRcdGdldDogZ2V0dGVyXG4gXHRcdFx0fSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gd2VicGFjay9ib290c3RyYXAgZGJlODZiOWNkYmY0MzNkNTZlYzYiLCIvKipcbiAqIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIHZlbmRvci1wcmVmaXhlZCBwcm9wZXJ0eSBmb3IgdXNlIGluIHByb2dyYW1tYXRpYyB0cmFuc2Zvcm0gc3R5bGUgbWFuaXB1bGF0aW9uLlxuICpcbiAqICMjIEV4YW1wbGUgVXNhZ2VcbiAqXG4gKiBgYGBqc1xuICogaW1wb3J0IHRyYW5zZm9ybVByb3BlcnR5IGZyb20gJ2JvdW5kbGVzcy11dGlscy10cmFuc2Zvcm0tcHJvcGVydHknO1xuICpcbiAqIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5mb28nKS5zdHlsZVt0cmFuc2Zvcm1Qcm9wZXJ0eV0gPSAndHJhbnNsYXRlWSgwKSc7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGRlZmF1bHQgKGZ1bmN0aW9uIGRldGVjdFRyYW5zZm9ybVByb3BlcnR5KCkge1xuICAgIGNvbnN0IHByb3BzID0gW1xuICAgICAgICAndHJhbnNmb3JtJyxcbiAgICAgICAgJ1dlYmtpdFRyYW5zZm9ybScsXG4gICAgICAgICdNb3pUcmFuc2Zvcm0nLFxuICAgICAgICAnT1RyYW5zZm9ybScsXG4gICAgICAgICdtc1RyYW5zZm9ybScsXG4gICAgICAgICd3ZWJraXQtdHJhbnNmb3JtJywgLy8gdXNlZCBpbiBKU0RPTVxuICAgIF07XG5cbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gcHJvcHMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgaWYgKHByb3BzW2ldIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSkge1xuICAgICAgICAgICAgcmV0dXJuIHByb3BzW2ldO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xufSkoKTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3BhY2thZ2VzL2JvdW5kbGVzcy11dGlscy10cmFuc2Zvcm0tcHJvcGVydHkvaW5kZXguanMiXSwic291cmNlUm9vdCI6IiJ9 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vaW5kZXguanMiLCJ3ZWJwYWNrOi8vL3dlYnBhY2svYm9vdHN0cmFwIGRiZTg2YjljZGJmNDMzZDU2ZWM2Iiwid2VicGFjazovLy8uL3BhY2thZ2VzL2JvdW5kbGVzcy11dGlscy10cmFuc2Zvcm0tcHJvcGVydHkvaW5kZXguanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIm1vZHVsZXMiLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwibW9kdWxlSWQiLCJpbnN0YWxsZWRNb2R1bGVzIiwiaSIsImwiLCJjYWxsIiwibSIsImMiLCJ2YWx1ZSIsImQiLCJuYW1lIiwiZ2V0dGVyIiwibyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsImdldCIsIm4iLCJfX2VzTW9kdWxlIiwib2JqZWN0IiwicHJvcGVydHkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsInAiLCJzIiwiX193ZWJwYWNrX2V4cG9ydHNfXyIsInByb3BzIiwibGVuIiwibGVuZ3RoIiwiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiLCJzdHlsZSJdLCJtYXBwaW5ncyI6IkFBQUFBLE9BQU9DLFFBQ0UsU0FBVUMsR0NHbkIsUUFBQUMsR0FBQUMsR0FHQSxHQUFBQyxFQUFBRCxHQUNBLE1BQUFDLEdBQUFELEdBQUFILE9BR0EsSUFBQUQsR0FBQUssRUFBQUQsSUFDQUUsRUFBQUYsRUFDQUcsR0FBQSxFQUNBTixXQVVBLE9BTkFDLEdBQUFFLEdBQUFJLEtBQUFSLEVBQUFDLFFBQUFELElBQUFDLFFBQUFFLEdBR0FILEVBQUFPLEdBQUEsRUFHQVAsRUFBQUMsUUF2QkEsR0FBQUksS0ErREEsT0FuQ0FGLEdBQUFNLEVBQUFQLEVBR0FDLEVBQUFPLEVBQUFMLEVBR0FGLEVBQUFHLEVBQUEsU0FBQUssR0FBMkMsTUFBQUEsSUFHM0NSLEVBQUFTLEVBQUEsU0FBQVgsRUFBQVksRUFBQUMsR0FDQVgsRUFBQVksRUFBQWQsRUFBQVksSUFDQUcsT0FBQUMsZUFBQWhCLEVBQUFZLEdBQ0FLLGNBQUEsRUFDQUMsWUFBQSxFQUNBQyxJQUFBTixLQU1BWCxFQUFBa0IsRUFBQSxTQUFBckIsR0FDQSxHQUFBYyxHQUFBZCxLQUFBc0IsV0FDQSxXQUEyQixNQUFBdEIsR0FBQSxTQUMzQixXQUFpQyxNQUFBQSxHQUVqQyxPQURBRyxHQUFBUyxFQUFBRSxFQUFBLElBQUFBLEdBQ0FBLEdBSUFYLEVBQUFZLEVBQUEsU0FBQVEsRUFBQUMsR0FBc0QsTUFBQVIsUUFBQVMsVUFBQUMsZUFBQWxCLEtBQUFlLEVBQUFDLElBR3REckIsRUFBQXdCLEVBQUEsR0FHQXhCLElBQUF5QixFQUFBLEtET00sU0FBVTVCLEVBQVE2QixFQUFxQjFCLEdBRTdDLFlBQ0FhLFFBQU9DLGVBQWVZLEVBQXFCLGNBQWdCbEIsT0FBTyxJRXZFbEVrQixFQUFBLFFBQWUsV0FVWCxJQUFLLEdBVENDLElBQ0YsWUFDQSxrQkFDQSxlQUNBLGFBQ0EsY0FDQSxvQkFHS3hCLEVBQUksRUFBR3lCLEVBQU1ELEVBQU1FLE9BQVExQixFQUFJeUIsRUFBS3pCLElBQ3pDLEdBQUl3QixFQUFNeEIsSUFBTTJCLFVBQVNDLGdCQUFnQkMsTUFDckMsTUFBT0wsR0FBTXhCLEVBSXJCLFFBQU8iLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9XG4vKioqKioqLyAoZnVuY3Rpb24obW9kdWxlcykgeyAvLyB3ZWJwYWNrQm9vdHN0cmFwXG4vKioqKioqLyBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4vKioqKioqLyBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4vKioqKioqLyBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pXG4vKioqKioqLyBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbi8qKioqKiovIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4vKioqKioqLyBcdFx0XHRpOiBtb2R1bGVJZCxcbi8qKioqKiovIFx0XHRcdGw6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0ZXhwb3J0czoge31cbi8qKioqKiovIFx0XHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbi8qKioqKiovIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuLyoqKioqKi8gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbi8qKioqKiovIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4vKioqKioqLyBcdH1cbi8qKioqKiovXG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGlkZW50aXR5IGZ1bmN0aW9uIGZvciBjYWxsaW5nIGhhcm1vbnkgaW1wb3J0cyB3aXRoIHRoZSBjb3JyZWN0IGNvbnRleHRcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5pID0gZnVuY3Rpb24odmFsdWUpIHsgcmV0dXJuIHZhbHVlOyB9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuLyoqKioqKi8gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbi8qKioqKiovIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4vKioqKioqLyBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4vKioqKioqLyBcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG4vKioqKioqLyBcdFx0XHRcdGdldDogZ2V0dGVyXG4vKioqKioqLyBcdFx0XHR9KTtcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbi8qKioqKiovIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbi8qKioqKiovIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4vKioqKioqLyBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuLyoqKioqKi8gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbi8qKioqKiovIFx0XHRyZXR1cm4gZ2V0dGVyO1xuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbi8qKioqKiovIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG4vKioqKioqLyB9KVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKiovIChbXG4vKiAwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9ydCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChmdW5jdGlvbiBkZXRlY3RUcmFuc2Zvcm1Qcm9wZXJ0eSgpe3ZhciBwcm9wcz1bJ3RyYW5zZm9ybScsJ1dlYmtpdFRyYW5zZm9ybScsJ01velRyYW5zZm9ybScsJ09UcmFuc2Zvcm0nLCdtc1RyYW5zZm9ybScsJ3dlYmtpdC10cmFuc2Zvcm0nXTtmb3IodmFyIGk9MCxsZW49cHJvcHMubGVuZ3RoO2k8bGVuO2krKyl7aWYocHJvcHNbaV1pbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUpe3JldHVybiBwcm9wc1tpXTt9fXJldHVybiBmYWxzZTt9KSgpO1xuXG4vKioqLyB9KVxuLyoqKioqKi8gXSk7XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIGluZGV4LmpzIiwiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pXG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG5cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGlkZW50aXR5IGZ1bmN0aW9uIGZvciBjYWxsaW5nIGhhcm1vbnkgaW1wb3J0cyB3aXRoIHRoZSBjb3JyZWN0IGNvbnRleHRcbiBcdF9fd2VicGFja19yZXF1aXJlX18uaSA9IGZ1bmN0aW9uKHZhbHVlKSB7IHJldHVybiB2YWx1ZTsgfTtcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuIFx0XHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcbiBcdFx0XHRcdGdldDogZ2V0dGVyXG4gXHRcdFx0fSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gd2VicGFjay9ib290c3RyYXAgZGJlODZiOWNkYmY0MzNkNTZlYzYiLCIvKipcbiAqIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIHZlbmRvci1wcmVmaXhlZCBwcm9wZXJ0eSBmb3IgdXNlIGluIHByb2dyYW1tYXRpYyB0cmFuc2Zvcm0gc3R5bGUgbWFuaXB1bGF0aW9uLlxuICovXG5leHBvcnQgZGVmYXVsdCAoZnVuY3Rpb24gZGV0ZWN0VHJhbnNmb3JtUHJvcGVydHkoKSB7XG4gICAgY29uc3QgcHJvcHMgPSBbXG4gICAgICAgICd0cmFuc2Zvcm0nLFxuICAgICAgICAnV2Via2l0VHJhbnNmb3JtJyxcbiAgICAgICAgJ01velRyYW5zZm9ybScsXG4gICAgICAgICdPVHJhbnNmb3JtJyxcbiAgICAgICAgJ21zVHJhbnNmb3JtJyxcbiAgICAgICAgJ3dlYmtpdC10cmFuc2Zvcm0nLCAvLyB1c2VkIGluIEpTRE9NXG4gICAgXTtcblxuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBwcm9wcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgICBpZiAocHJvcHNbaV0gaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJvcHNbaV07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG59KSgpO1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcGFja2FnZXMvYm91bmRsZXNzLXV0aWxzLXRyYW5zZm9ybS1wcm9wZXJ0eS9pbmRleC5qcyJdLCJzb3VyY2VSb290IjoiIn0= |
/** | ||
* Returns the appropriate vendor-prefixed property for use in programmatic transform style manipulation. | ||
* | ||
* ## Example Usage | ||
* | ||
* ```js | ||
* import transformProperty from 'boundless-utils-transform-property'; | ||
* | ||
* document.querySelector('.foo').style[transformProperty] = 'translateY(0)'; | ||
* ``` | ||
*/ | ||
@@ -12,0 +4,0 @@ export default (function detectTransformProperty() { |
{ | ||
"name": "boundless-utils-transform-property", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "Returns the appropriate vendor-prefixed property for use in programmatic transform style manipulation.", | ||
@@ -18,3 +18,3 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/transformProperty" | ||
"homepage": "http://boundless.js.org/transformProperty" | ||
} |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-UTILS-TRANSFORM-PROPERTY/INDEX.JS INSTEAD. | ||
--> | ||
@@ -8,5 +8,12 @@ # transformProperty | ||
## Example Usage | ||
## Installation | ||
```js | ||
```bash | ||
npm i boundless-utils-transform-property --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
import transformProperty from 'boundless-utils-transform-property'; | ||
@@ -19,1 +26,4 @@ | ||
module.exports=function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var r={};return t.m=e,t.c=r,t.i=function(e){return e},t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,r){"use strict";function n(){return"b-"+([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,function(e){return(e^16*Math.random()>>e/4).toString(16)})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n}]); | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vaW5kZXguanMiLCJ3ZWJwYWNrOi8vL3dlYnBhY2svYm9vdHN0cmFwIDVmMWU5NGE1MDJlYTU1MjI4OGYzIiwid2VicGFjazovLy8uL3BhY2thZ2VzL2JvdW5kbGVzcy11dGlscy11dWlkL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJtb2R1bGVzIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiaW5zdGFsbGVkTW9kdWxlcyIsImkiLCJsIiwiY2FsbCIsIm0iLCJjIiwidmFsdWUiLCJkIiwibmFtZSIsImdldHRlciIsIm8iLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJnZXQiLCJuIiwiX19lc01vZHVsZSIsIm9iamVjdCIsInByb3BlcnR5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJwIiwicyIsIl9fd2VicGFja19leHBvcnRzX18iLCJ1dWlkIiwicmVwbGFjZSIsImEiLCJNYXRoIiwicmFuZG9tIiwidG9TdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBQSxPQUFPQyxRQUNFLFNBQVVDLEdDR25CLFFBQUFDLEdBQUFDLEdBR0EsR0FBQUMsRUFBQUQsR0FDQSxNQUFBQyxHQUFBRCxHQUFBSCxPQUdBLElBQUFELEdBQUFLLEVBQUFELElBQ0FFLEVBQUFGLEVBQ0FHLEdBQUEsRUFDQU4sV0FVQSxPQU5BQyxHQUFBRSxHQUFBSSxLQUFBUixFQUFBQyxRQUFBRCxJQUFBQyxRQUFBRSxHQUdBSCxFQUFBTyxHQUFBLEVBR0FQLEVBQUFDLFFBdkJBLEdBQUFJLEtBK0RBLE9BbkNBRixHQUFBTSxFQUFBUCxFQUdBQyxFQUFBTyxFQUFBTCxFQUdBRixFQUFBRyxFQUFBLFNBQUFLLEdBQTJDLE1BQUFBLElBRzNDUixFQUFBUyxFQUFBLFNBQUFYLEVBQUFZLEVBQUFDLEdBQ0FYLEVBQUFZLEVBQUFkLEVBQUFZLElBQ0FHLE9BQUFDLGVBQUFoQixFQUFBWSxHQUNBSyxjQUFBLEVBQ0FDLFlBQUEsRUFDQUMsSUFBQU4sS0FNQVgsRUFBQWtCLEVBQUEsU0FBQXJCLEdBQ0EsR0FBQWMsR0FBQWQsS0FBQXNCLFdBQ0EsV0FBMkIsTUFBQXRCLEdBQUEsU0FDM0IsV0FBaUMsTUFBQUEsR0FFakMsT0FEQUcsR0FBQVMsRUFBQUUsRUFBQSxJQUFBQSxHQUNBQSxHQUlBWCxFQUFBWSxFQUFBLFNBQUFRLEVBQUFDLEdBQXNELE1BQUFSLFFBQUFTLFVBQUFDLGVBQUFsQixLQUFBZSxFQUFBQyxJQUd0RHJCLEVBQUF3QixFQUFBLEdBR0F4QixJQUFBeUIsRUFBQSxLRE9NLFNBQVU1QixFQUFRNkIsRUFBcUIxQixHQUU3QyxZRTdEZSxTQUFTMkIsS0FFcEIsTUFBTyxPQUFTLE1BQUssS0FBSyxLQUFLLEtBQUssTUFBT0MsUUFBUSxTQUFTLFNBQUFDLEdBQUEsT0FBSUEsRUFBZ0IsR0FBZEMsS0FBS0MsVUFBYUYsRUFBRSxHQUFHRyxTQUFTLE1GNER0R25CLE9BQU9DLGVBQWVZLEVBQXFCLGNBQWdCbEIsT0FBTyxJQUNqQ2tCLEVBQTZCLFFBQUlDIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPVxuLyoqKioqKi8gKGZ1bmN0aW9uKG1vZHVsZXMpIHsgLy8gd2VicGFja0Jvb3RzdHJhcFxuLyoqKioqKi8gXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuLyoqKioqKi8gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuLyoqKioqKi8gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKVxuLyoqKioqKi8gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4vKioqKioqLyBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuLyoqKioqKi8gXHRcdFx0aTogbW9kdWxlSWQsXG4vKioqKioqLyBcdFx0XHRsOiBmYWxzZSxcbi8qKioqKiovIFx0XHRcdGV4cG9ydHM6IHt9XG4vKioqKioqLyBcdFx0fTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4vKioqKioqLyBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbi8qKioqKiovIFx0XHRtb2R1bGUubCA9IHRydWU7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4vKioqKioqLyBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuLyoqKioqKi8gXHR9XG4vKioqKioqL1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBpZGVudGl0eSBmdW5jdGlvbiBmb3IgY2FsbGluZyBoYXJtb255IGltcG9ydHMgd2l0aCB0aGUgY29ycmVjdCBjb250ZXh0XG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uaSA9IGZ1bmN0aW9uKHZhbHVlKSB7IHJldHVybiB2YWx1ZTsgfTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbi8qKioqKiovIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4vKioqKioqLyBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwge1xuLyoqKioqKi8gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuLyoqKioqKi8gXHRcdFx0XHRnZXQ6IGdldHRlclxuLyoqKioqKi8gXHRcdFx0fSk7XG4vKioqKioqLyBcdFx0fVxuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4vKioqKioqLyBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4vKioqKioqLyBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuLyoqKioqKi8gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbi8qKioqKiovIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4vKioqKioqLyBcdFx0cmV0dXJuIGdldHRlcjtcbi8qKioqKiovIFx0fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4vKioqKioqLyBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IDApO1xuLyoqKioqKi8gfSlcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqLyAoW1xuLyogMCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgZXhwb3J0IChpbW11dGFibGUpICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gdXVpZDtcbmZ1bmN0aW9uIHV1aWQoKXtyZXR1cm4nYi0nKyhbMWU3XSstMWUzKy00ZTMrLThlMystMWUxMSkucmVwbGFjZSgvWzAxOF0vZyxmdW5jdGlvbihhKXtyZXR1cm4oYV5NYXRoLnJhbmRvbSgpKjE2Pj5hLzQpLnRvU3RyaW5nKDE2KTt9KTt9XG5cbi8qKiovIH0pXG4vKioqKioqLyBdKTtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gaW5kZXguanMiLCIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSlcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcblxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gaWRlbnRpdHkgZnVuY3Rpb24gZm9yIGNhbGxpbmcgaGFybW9ueSBpbXBvcnRzIHdpdGggdGhlIGNvcnJlY3QgY29udGV4dFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5pID0gZnVuY3Rpb24odmFsdWUpIHsgcmV0dXJuIHZhbHVlOyB9O1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHtcbiBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuIFx0XHRcdFx0Z2V0OiBnZXR0ZXJcbiBcdFx0XHR9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSAwKTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB3ZWJwYWNrL2Jvb3RzdHJhcCA1ZjFlOTRhNTAyZWE1NTIyODhmMyIsIi8qKlxuICogR2VuZXJhdGVzIGEgdW5pcXVlIElELCBiYXNlZCBvbiBbdGhpcyBhbGdvcml0aG1dKGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2plZC85ODI4ODMpLiBBZGRzIGEgcHJlZml4IChgYi1gKSBzbyBpdCBpc1xuICogc3VpdGFibGUgZm9yIHVzZSBhcyBhbiBIVE1MIElELlxuICpcbiAqICMjIEV4YW1wbGUgVXNhZ2VcbiAqXG4gKiBgYGBqc1xuICogaW1wb3J0IHV1aWQgZnJvbSAnYm91bmRsZXNzLXV0aWxzLXV1aWQnO1xuICpcbiAqIHV1aWQoKTsgLy8gYi0xZjJjZDI3Zi0wNzU0LTQzNDQtOWQyMC00MzZhMjAxYjJmODBcbiAqIGBgYFxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1dWlkKCkge1xuICAgIC8qIGVzbGludC1kaXNhYmxlICovXG4gICAgcmV0dXJuICdiLScgKyAoWzFlN10rLTFlMystNGUzKy04ZTMrLTFlMTEpLnJlcGxhY2UoL1swMThdL2csYT0+KGFeTWF0aC5yYW5kb20oKSoxNj4+YS80KS50b1N0cmluZygxNikpO1xuICAgIC8qIGVzbGludC1lbmFibGUgKi9cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3BhY2thZ2VzL2JvdW5kbGVzcy11dGlscy11dWlkL2luZGV4LmpzIl0sInNvdXJjZVJvb3QiOiIifQ== | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vaW5kZXguanMiLCJ3ZWJwYWNrOi8vL3dlYnBhY2svYm9vdHN0cmFwIDVmMWU5NGE1MDJlYTU1MjI4OGYzIiwid2VicGFjazovLy8uL3BhY2thZ2VzL2JvdW5kbGVzcy11dGlscy11dWlkL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJtb2R1bGVzIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiaW5zdGFsbGVkTW9kdWxlcyIsImkiLCJsIiwiY2FsbCIsIm0iLCJjIiwidmFsdWUiLCJkIiwibmFtZSIsImdldHRlciIsIm8iLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJnZXQiLCJuIiwiX19lc01vZHVsZSIsIm9iamVjdCIsInByb3BlcnR5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJwIiwicyIsIl9fd2VicGFja19leHBvcnRzX18iLCJ1dWlkIiwicmVwbGFjZSIsImEiLCJNYXRoIiwicmFuZG9tIiwidG9TdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBQSxPQUFPQyxRQUNFLFNBQVVDLEdDR25CLFFBQUFDLEdBQUFDLEdBR0EsR0FBQUMsRUFBQUQsR0FDQSxNQUFBQyxHQUFBRCxHQUFBSCxPQUdBLElBQUFELEdBQUFLLEVBQUFELElBQ0FFLEVBQUFGLEVBQ0FHLEdBQUEsRUFDQU4sV0FVQSxPQU5BQyxHQUFBRSxHQUFBSSxLQUFBUixFQUFBQyxRQUFBRCxJQUFBQyxRQUFBRSxHQUdBSCxFQUFBTyxHQUFBLEVBR0FQLEVBQUFDLFFBdkJBLEdBQUFJLEtBK0RBLE9BbkNBRixHQUFBTSxFQUFBUCxFQUdBQyxFQUFBTyxFQUFBTCxFQUdBRixFQUFBRyxFQUFBLFNBQUFLLEdBQTJDLE1BQUFBLElBRzNDUixFQUFBUyxFQUFBLFNBQUFYLEVBQUFZLEVBQUFDLEdBQ0FYLEVBQUFZLEVBQUFkLEVBQUFZLElBQ0FHLE9BQUFDLGVBQUFoQixFQUFBWSxHQUNBSyxjQUFBLEVBQ0FDLFlBQUEsRUFDQUMsSUFBQU4sS0FNQVgsRUFBQWtCLEVBQUEsU0FBQXJCLEdBQ0EsR0FBQWMsR0FBQWQsS0FBQXNCLFdBQ0EsV0FBMkIsTUFBQXRCLEdBQUEsU0FDM0IsV0FBaUMsTUFBQUEsR0FFakMsT0FEQUcsR0FBQVMsRUFBQUUsRUFBQSxJQUFBQSxHQUNBQSxHQUlBWCxFQUFBWSxFQUFBLFNBQUFRLEVBQUFDLEdBQXNELE1BQUFSLFFBQUFTLFVBQUFDLGVBQUFsQixLQUFBZSxFQUFBQyxJQUd0RHJCLEVBQUF3QixFQUFBLEdBR0F4QixJQUFBeUIsRUFBQSxLRE9NLFNBQVU1QixFQUFRNkIsRUFBcUIxQixHQUU3QyxZRXJFZSxTQUFTMkIsS0FFcEIsTUFBTyxPQUFTLE1BQUssS0FBSyxLQUFLLEtBQUssTUFBT0MsUUFBUSxTQUFTLFNBQUFDLEdBQUEsT0FBSUEsRUFBZ0IsR0FBZEMsS0FBS0MsVUFBYUYsRUFBRSxHQUFHRyxTQUFTLE1Gb0V0R25CLE9BQU9DLGVBQWVZLEVBQXFCLGNBQWdCbEIsT0FBTyxJQUNqQ2tCLEVBQTZCLFFBQUlDIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPVxuLyoqKioqKi8gKGZ1bmN0aW9uKG1vZHVsZXMpIHsgLy8gd2VicGFja0Jvb3RzdHJhcFxuLyoqKioqKi8gXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuLyoqKioqKi8gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuLyoqKioqKi8gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKVxuLyoqKioqKi8gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4vKioqKioqLyBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuLyoqKioqKi8gXHRcdFx0aTogbW9kdWxlSWQsXG4vKioqKioqLyBcdFx0XHRsOiBmYWxzZSxcbi8qKioqKiovIFx0XHRcdGV4cG9ydHM6IHt9XG4vKioqKioqLyBcdFx0fTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4vKioqKioqLyBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbi8qKioqKiovIFx0XHRtb2R1bGUubCA9IHRydWU7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4vKioqKioqLyBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuLyoqKioqKi8gXHR9XG4vKioqKioqL1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBpZGVudGl0eSBmdW5jdGlvbiBmb3IgY2FsbGluZyBoYXJtb255IGltcG9ydHMgd2l0aCB0aGUgY29ycmVjdCBjb250ZXh0XG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uaSA9IGZ1bmN0aW9uKHZhbHVlKSB7IHJldHVybiB2YWx1ZTsgfTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbi8qKioqKiovIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4vKioqKioqLyBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwge1xuLyoqKioqKi8gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuLyoqKioqKi8gXHRcdFx0XHRnZXQ6IGdldHRlclxuLyoqKioqKi8gXHRcdFx0fSk7XG4vKioqKioqLyBcdFx0fVxuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4vKioqKioqLyBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4vKioqKioqLyBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuLyoqKioqKi8gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbi8qKioqKiovIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4vKioqKioqLyBcdFx0cmV0dXJuIGdldHRlcjtcbi8qKioqKiovIFx0fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4vKioqKioqLyBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IDApO1xuLyoqKioqKi8gfSlcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqLyAoW1xuLyogMCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgZXhwb3J0IChpbW11dGFibGUpICovIF9fd2VicGFja19leHBvcnRzX19bXCJkZWZhdWx0XCJdID0gdXVpZDtcbmZ1bmN0aW9uIHV1aWQoKXtyZXR1cm4nYi0nKyhbMWU3XSstMWUzKy00ZTMrLThlMystMWUxMSkucmVwbGFjZSgvWzAxOF0vZyxmdW5jdGlvbihhKXtyZXR1cm4oYV5NYXRoLnJhbmRvbSgpKjE2Pj5hLzQpLnRvU3RyaW5nKDE2KTt9KTt9XG5cbi8qKiovIH0pXG4vKioqKioqLyBdKTtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gaW5kZXguanMiLCIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSlcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcblxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gaWRlbnRpdHkgZnVuY3Rpb24gZm9yIGNhbGxpbmcgaGFybW9ueSBpbXBvcnRzIHdpdGggdGhlIGNvcnJlY3QgY29udGV4dFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5pID0gZnVuY3Rpb24odmFsdWUpIHsgcmV0dXJuIHZhbHVlOyB9O1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHtcbiBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuIFx0XHRcdFx0Z2V0OiBnZXR0ZXJcbiBcdFx0XHR9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSAwKTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB3ZWJwYWNrL2Jvb3RzdHJhcCA1ZjFlOTRhNTAyZWE1NTIyODhmMyIsIi8qKlxuICogR2VuZXJhdGVzIGEgdW5pcXVlIElELCBiYXNlZCBvbiBbdGhpcyBhbGdvcml0aG1dKGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2plZC85ODI4ODMpLiBBZGRzIGEgcHJlZml4IChgYi1gKSBzbyBpdCBpc1xuICogc3VpdGFibGUgZm9yIHVzZSBhcyBhbiBIVE1MIElELlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1dWlkKCkge1xuICAgIC8qIGVzbGludC1kaXNhYmxlICovXG4gICAgcmV0dXJuICdiLScgKyAoWzFlN10rLTFlMystNGUzKy04ZTMrLTFlMTEpLnJlcGxhY2UoL1swMThdL2csYT0+KGFeTWF0aC5yYW5kb20oKSoxNj4+YS80KS50b1N0cmluZygxNikpO1xuICAgIC8qIGVzbGludC1lbmFibGUgKi9cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3BhY2thZ2VzL2JvdW5kbGVzcy11dGlscy11dWlkL2luZGV4LmpzIl0sInNvdXJjZVJvb3QiOiIifQ== |
/** | ||
* Generates a unique ID, based on [this algorithm](https://gist.github.com/jed/982883). Adds a prefix (`b-`) so it is | ||
* suitable for use as an HTML ID. | ||
* | ||
* ## Example Usage | ||
* | ||
* ```js | ||
* import uuid from 'boundless-utils-uuid'; | ||
* | ||
* uuid(); // b-1f2cd27f-0754-4344-9d20-436a201b2f80 | ||
* ``` | ||
*/ | ||
@@ -13,0 +5,0 @@ export default function uuid() { |
{ | ||
"name": "boundless-utils-uuid", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "Generates a unique ID. Adds a prefix so it is suitable for use as an HTML ID.", | ||
@@ -18,3 +18,3 @@ "main": "build/index.js", | ||
}, | ||
"homepage": "http://boundless.js.org/#/uuid" | ||
"homepage": "http://boundless.js.org/uuid" | ||
} |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-UTILS-UUID/INDEX.JS INSTEAD. | ||
--> | ||
@@ -9,5 +9,12 @@ # uuid | ||
## Example Usage | ||
## Installation | ||
```js | ||
```bash | ||
npm i boundless-utils-uuid --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
import uuid from 'boundless-utils-uuid'; | ||
@@ -20,1 +27,4 @@ | ||
module.exports=function(n){function t(i){if(o[i])return o[i].exports;var e=o[i]={i:i,l:!1,exports:{}};return n[i].call(e.exports,e,e.exports,t),e.l=!0,e.exports}var o={};return t.m=n,t.c=o,t.i=function(n){return n},t.d=function(n,o,i){t.o(n,o)||Object.defineProperty(n,o,{configurable:!1,enumerable:!0,get:i})},t.n=function(n){var o=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(o,"a",o),o},t.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},t.p="",t(t.s=0)}([function(n,t,o){"use strict";function i(){return new Promise(function(n,t){f.requestPermission(function(o){"granted"===o&&n(),t(c.DISABLED)})})}function e(){return new Promise(function(n,t){if(!f)return t(c.NOT_AVAILABLE);if("permission"in f){switch(f.permission){case"granted":return n();case"denied":return t(c.DISABLED)}i().then(n,t)}})}function r(n){return new Promise(function(t,o){return void 0===n?o(c.CONFIG_MISSING):"[object Object]"!==Object.prototype.toString.call(n)?o(c.CONFIG_TYPE):void 0===n.body?o(c.BODY_MISSING):a(n.body)===!1?o(c.BODY_TYPE):void 0===n.header?o(c.HEADER_MISSING):a(n.header)===!1?o(c.HEADER_TYPE):void 0!==n.icon&&a(n.icon)===!1?o(c.ICON_TYPE):void 0!==n.onClick&&u(n.onClick)===!1?o(c.ONCLICK_TYPE):void e().then(function(){var o=new f(n.header,{body:n.body,icon:n.icon});n.onClick&&o.addEventListener("click",n.onClick),t(o)},function(n){return o(n)})})}Object.defineProperty(t,"__esModule",{value:!0}),o.d(t,"errors",function(){return c}),t.default=r;var c={DISABLED:"webNotification: web notifications are currently disabled by user settings.",NOT_AVAILABLE:"webNotification: web notifications are not supported on this platform.",CONFIG_TYPE:"webNotification: passed a non-object as configuration.",CONFIG_MISSING:"webNotification: no configuration was passed.",BODY_TYPE:"webNotification: `body` must be a string.",BODY_MISSING:"webNotification: `body` was omitted from the configuration object.",HEADER_TYPE:"webNotification: `header` must be a string.",HEADER_MISSING:"webNotification: `header` was omitted from the configuration object.",ICON_TYPE:"webNotification: `icon` must be a URL string.",ONCLICK_TYPE:"webNotification: `onClick` must be a function."},u=function(n){return"function"==typeof n},a=function(n){return"string"==typeof n},f=function(){return!!window.Notification&&window.Notification}()}]); | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vaW5kZXguanMiLCJ3ZWJwYWNrOi8vL3dlYnBhY2svYm9vdHN0cmFwIDE2OTUwMDA1Y2Q1YTNkZDI5NmU1Iiwid2VicGFjazovLy8uL3BhY2thZ2VzL2JvdW5kbGVzcy11dGlscy13ZWItbm90aWZpY2F0aW9uL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJtb2R1bGVzIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiaW5zdGFsbGVkTW9kdWxlcyIsImkiLCJsIiwiY2FsbCIsIm0iLCJjIiwidmFsdWUiLCJkIiwibmFtZSIsImdldHRlciIsIm8iLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJnZXQiLCJuIiwiX19lc01vZHVsZSIsIm9iamVjdCIsInByb3BlcnR5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJwIiwicyIsIl9fd2VicGFja19leHBvcnRzX18iLCJyZXF1ZXN0UGVybWlzc2lvbiIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwiTm90aWZpY2F0aW9uQVBJIiwic3RhdHVzIiwiZXJyb3JzIiwiRElTQUJMRUQiLCJjaGVja1Blcm1pc3Npb24iLCJOT1RfQVZBSUxBQkxFIiwicGVybWlzc2lvbiIsInRoZW4iLCJ3ZWJOb3RpZmljYXRpb24iLCJjb25maWciLCJ1bmRlZmluZWQiLCJDT05GSUdfTUlTU0lORyIsInRvU3RyaW5nIiwiQ09ORklHX1RZUEUiLCJib2R5IiwiQk9EWV9NSVNTSU5HIiwiaXNTdHJpbmciLCJCT0RZX1RZUEUiLCJoZWFkZXIiLCJIRUFERVJfTUlTU0lORyIsIkhFQURFUl9UWVBFIiwiaWNvbiIsIklDT05fVFlQRSIsIm9uQ2xpY2siLCJpc0Z1bmN0aW9uIiwiT05DTElDS19UWVBFIiwibm90aWZpY2F0aW9uIiwiYWRkRXZlbnRMaXN0ZW5lciIsImVycm9yIiwieCIsIndpbmRvdyIsIk5vdGlmaWNhdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUFBLE9BQU9DLFFBQ0UsU0FBVUMsR0NHbkIsUUFBQUMsR0FBQUMsR0FHQSxHQUFBQyxFQUFBRCxHQUNBLE1BQUFDLEdBQUFELEdBQUFILE9BR0EsSUFBQUQsR0FBQUssRUFBQUQsSUFDQUUsRUFBQUYsRUFDQUcsR0FBQSxFQUNBTixXQVVBLE9BTkFDLEdBQUFFLEdBQUFJLEtBQUFSLEVBQUFDLFFBQUFELElBQUFDLFFBQUFFLEdBR0FILEVBQUFPLEdBQUEsRUFHQVAsRUFBQUMsUUF2QkEsR0FBQUksS0ErREEsT0FuQ0FGLEdBQUFNLEVBQUFQLEVBR0FDLEVBQUFPLEVBQUFMLEVBR0FGLEVBQUFHLEVBQUEsU0FBQUssR0FBMkMsTUFBQUEsSUFHM0NSLEVBQUFTLEVBQUEsU0FBQVgsRUFBQVksRUFBQUMsR0FDQVgsRUFBQVksRUFBQWQsRUFBQVksSUFDQUcsT0FBQUMsZUFBQWhCLEVBQUFZLEdBQ0FLLGNBQUEsRUFDQUMsWUFBQSxFQUNBQyxJQUFBTixLQU1BWCxFQUFBa0IsRUFBQSxTQUFBckIsR0FDQSxHQUFBYyxHQUFBZCxLQUFBc0IsV0FDQSxXQUEyQixNQUFBdEIsR0FBQSxTQUMzQixXQUFpQyxNQUFBQSxHQUVqQyxPQURBRyxHQUFBUyxFQUFBRSxFQUFBLElBQUFBLEdBQ0FBLEdBSUFYLEVBQUFZLEVBQUEsU0FBQVEsRUFBQUMsR0FBc0QsTUFBQVIsUUFBQVMsVUFBQUMsZUFBQWxCLEtBQUFlLEVBQUFDLElBR3REckIsRUFBQXdCLEVBQUEsR0FHQXhCLElBQUF5QixFQUFBLEtET00sU0FBVTVCLEVBQVE2QixFQUFxQjFCLEdBRTdDLFlFakRBLFNBQVMyQixLQUNMLE1BQU8sSUFBSUMsU0FBUSxTQUFDQyxFQUFTQyxHQUN6QkMsRUFBZ0JKLGtCQUFrQixTQUF5QkssR0FDeEMsWUFBWEEsR0FDQUgsSUFHSkMsRUFBT0csRUFBT0MsY0FLMUIsUUFBU0MsS0FDTCxNQUFPLElBQUlQLFNBQVEsU0FBQ0MsRUFBU0MsR0FDekIsSUFBS0MsRUFDRCxNQUFPRCxHQUFPRyxFQUFPRyxjQUd6QixJQUFJLGNBQWdCTCxHQUFpQixDQUNqQyxPQUFRQSxFQUFnQk0sWUFDeEIsSUFBSyxVQUNELE1BQU9SLElBRVgsS0FBSyxTQUNELE1BQU9DLEdBQU9HLEVBQU9DLFVBR3pCUCxJQUFvQlcsS0FBS1QsRUFBU0MsTUFzQy9CLFFBQVNTLEdBQWdCQyxHQUNwQyxNQUFPLElBQUlaLFNBQVEsU0FBQ0MsRUFBU0MsR0FDekIsTUFBZVcsVUFBWEQsRUFDT1YsRUFBT0csRUFBT1MsZ0JBQzZCLG9CQUEzQzdCLE9BQU9TLFVBQVVxQixTQUFTdEMsS0FBS21DLEdBQy9CVixFQUFPRyxFQUFPVyxhQUNFSCxTQUFoQkQsRUFBT0ssS0FDUGYsRUFBT0csRUFBT2EsY0FDZEMsRUFBU1AsRUFBT0ssU0FBVSxFQUMxQmYsRUFBT0csRUFBT2UsV0FDSVAsU0FBbEJELEVBQU9TLE9BQ1BuQixFQUFPRyxFQUFPaUIsZ0JBQ2RILEVBQVNQLEVBQU9TLFdBQVksRUFDNUJuQixFQUFPRyxFQUFPa0IsYUFDRVYsU0FBaEJELEVBQU9ZLE1BQXNCTCxFQUFTUCxFQUFPWSxTQUFVLEVBQ3ZEdEIsRUFBT0csRUFBT29CLFdBQ0taLFNBQW5CRCxFQUFPYyxTQUF5QkMsRUFBV2YsRUFBT2MsWUFBYSxFQUMvRHhCLEVBQU9HLEVBQU91QixrQkFHekJyQixLQUFrQkcsS0FDZCxXQUNJLEdBQU1tQixHQUFlLEdBQUkxQixHQUFnQlMsRUFBT1MsUUFDNUNKLEtBQU1MLEVBQU9LLEtBQ2JPLEtBQU1aLEVBQU9ZLE1BSWJaLEdBQU9jLFNBQ1BHLEVBQWFDLGlCQUFpQixRQUFTbEIsRUFBT2MsU0FHbER6QixFQUFRNEIsSUFDVCxTQUFDRSxHQUFELE1BQVc3QixHQUFPNkIsT0ZoRGpDOUMsT0FBT0MsZUFBZVksRUFBcUIsY0FBZ0JsQixPQUFPLElBQ25DUixFQUFvQlMsRUFBRWlCLEVBQXFCLFNBQVUsV0FBYSxNQUFPTyxLQUN2RVAsRUFBNkIsUUFBSWEsQ0U1RTNELElBQU1OLElBQ1RDLFNBQVUsOEVBQ1ZFLGNBQWUseUVBQ2ZRLFlBQWEseURBQ2JGLGVBQWdCLGdEQUNoQk0sVUFBVyw0Q0FDWEYsYUFBYyxxRUFDZEssWUFBYSw4Q0FDYkQsZUFBZ0IsdUVBQ2hCRyxVQUFXLGdEQUNYRyxhQUFjLGtEQUdaRCxFQUFhLFNBQUNLLEdBQUQsTUFBb0Isa0JBQU5BLElBQzNCYixFQUFXLFNBQUNhLEdBQUQsTUFBb0IsZ0JBQU5BLElBRXpCN0IsRUFBbUIsV0FDckIsUUFBSThCLE9BQU9DLGNBQ0FELE9BQU9DIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPVxuLyoqKioqKi8gKGZ1bmN0aW9uKG1vZHVsZXMpIHsgLy8gd2VicGFja0Jvb3RzdHJhcFxuLyoqKioqKi8gXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuLyoqKioqKi8gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuLyoqKioqKi8gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKVxuLyoqKioqKi8gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4vKioqKioqLyBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuLyoqKioqKi8gXHRcdFx0aTogbW9kdWxlSWQsXG4vKioqKioqLyBcdFx0XHRsOiBmYWxzZSxcbi8qKioqKiovIFx0XHRcdGV4cG9ydHM6IHt9XG4vKioqKioqLyBcdFx0fTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4vKioqKioqLyBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbi8qKioqKiovIFx0XHRtb2R1bGUubCA9IHRydWU7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4vKioqKioqLyBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuLyoqKioqKi8gXHR9XG4vKioqKioqL1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBpZGVudGl0eSBmdW5jdGlvbiBmb3IgY2FsbGluZyBoYXJtb255IGltcG9ydHMgd2l0aCB0aGUgY29ycmVjdCBjb250ZXh0XG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uaSA9IGZ1bmN0aW9uKHZhbHVlKSB7IHJldHVybiB2YWx1ZTsgfTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbi8qKioqKiovIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4vKioqKioqLyBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwge1xuLyoqKioqKi8gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuLyoqKioqKi8gXHRcdFx0XHRnZXQ6IGdldHRlclxuLyoqKioqKi8gXHRcdFx0fSk7XG4vKioqKioqLyBcdFx0fVxuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4vKioqKioqLyBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4vKioqKioqLyBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuLyoqKioqKi8gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbi8qKioqKiovIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4vKioqKioqLyBcdFx0cmV0dXJuIGdldHRlcjtcbi8qKioqKiovIFx0fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4vKioqKioqLyBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IDApO1xuLyoqKioqKi8gfSlcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqLyAoW1xuLyogMCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJlcnJvcnNcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBlcnJvcnM7IH0pO1xuLyogaGFybW9ueSBleHBvcnQgKGltbXV0YWJsZSkgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSB3ZWJOb3RpZmljYXRpb247XG52YXIgZXJyb3JzPXtESVNBQkxFRDond2ViTm90aWZpY2F0aW9uOiB3ZWIgbm90aWZpY2F0aW9ucyBhcmUgY3VycmVudGx5IGRpc2FibGVkIGJ5IHVzZXIgc2V0dGluZ3MuJyxOT1RfQVZBSUxBQkxFOid3ZWJOb3RpZmljYXRpb246IHdlYiBub3RpZmljYXRpb25zIGFyZSBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uJyxDT05GSUdfVFlQRTond2ViTm90aWZpY2F0aW9uOiBwYXNzZWQgYSBub24tb2JqZWN0IGFzIGNvbmZpZ3VyYXRpb24uJyxDT05GSUdfTUlTU0lORzond2ViTm90aWZpY2F0aW9uOiBubyBjb25maWd1cmF0aW9uIHdhcyBwYXNzZWQuJyxCT0RZX1RZUEU6J3dlYk5vdGlmaWNhdGlvbjogYGJvZHlgIG11c3QgYmUgYSBzdHJpbmcuJyxCT0RZX01JU1NJTkc6J3dlYk5vdGlmaWNhdGlvbjogYGJvZHlgIHdhcyBvbWl0dGVkIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0LicsSEVBREVSX1RZUEU6J3dlYk5vdGlmaWNhdGlvbjogYGhlYWRlcmAgbXVzdCBiZSBhIHN0cmluZy4nLEhFQURFUl9NSVNTSU5HOid3ZWJOb3RpZmljYXRpb246IGBoZWFkZXJgIHdhcyBvbWl0dGVkIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0LicsSUNPTl9UWVBFOid3ZWJOb3RpZmljYXRpb246IGBpY29uYCBtdXN0IGJlIGEgVVJMIHN0cmluZy4nLE9OQ0xJQ0tfVFlQRTond2ViTm90aWZpY2F0aW9uOiBgb25DbGlja2AgbXVzdCBiZSBhIGZ1bmN0aW9uLid9O3ZhciBpc0Z1bmN0aW9uPWZ1bmN0aW9uIGlzRnVuY3Rpb24oeCl7cmV0dXJuIHR5cGVvZiB4PT09J2Z1bmN0aW9uJzt9O3ZhciBpc1N0cmluZz1mdW5jdGlvbiBpc1N0cmluZyh4KXtyZXR1cm4gdHlwZW9mIHg9PT0nc3RyaW5nJzt9O3ZhciBOb3RpZmljYXRpb25BUEk9ZnVuY3Rpb24gZGV0ZWN0U3VwcG9ydCgpe2lmKHdpbmRvdy5Ob3RpZmljYXRpb24pe3JldHVybiB3aW5kb3cuTm90aWZpY2F0aW9uO31yZXR1cm4gZmFsc2U7fSgpO2Z1bmN0aW9uIHJlcXVlc3RQZXJtaXNzaW9uKCl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUscmVqZWN0KXtOb3RpZmljYXRpb25BUEkucmVxdWVzdFBlcm1pc3Npb24oZnVuY3Rpb24gcmVxdWVzdFJlY2VpdmVyKHN0YXR1cyl7aWYoc3RhdHVzPT09J2dyYW50ZWQnKXtyZXNvbHZlKCk7fXJlamVjdChlcnJvcnMuRElTQUJMRUQpO30pO30pO31mdW5jdGlvbiBjaGVja1Blcm1pc3Npb24oKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSxyZWplY3Qpe2lmKCFOb3RpZmljYXRpb25BUEkpe3JldHVybiByZWplY3QoZXJyb3JzLk5PVF9BVkFJTEFCTEUpO31pZigncGVybWlzc2lvbidpbiBOb3RpZmljYXRpb25BUEkpe3N3aXRjaChOb3RpZmljYXRpb25BUEkucGVybWlzc2lvbil7Y2FzZSdncmFudGVkJzpyZXR1cm4gcmVzb2x2ZSgpO2Nhc2UnZGVuaWVkJzpyZXR1cm4gcmVqZWN0KGVycm9ycy5ESVNBQkxFRCk7fXJlcXVlc3RQZXJtaXNzaW9uKCkudGhlbihyZXNvbHZlLHJlamVjdCk7fX0pO31mdW5jdGlvbiB3ZWJOb3RpZmljYXRpb24oY29uZmlnKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSxyZWplY3Qpe2lmKGNvbmZpZz09PXVuZGVmaW5lZCl7cmV0dXJuIHJlamVjdChlcnJvcnMuQ09ORklHX01JU1NJTkcpO31lbHNlIGlmKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChjb25maWcpIT09J1tvYmplY3QgT2JqZWN0XScpe3JldHVybiByZWplY3QoZXJyb3JzLkNPTkZJR19UWVBFKTt9ZWxzZSBpZihjb25maWcuYm9keT09PXVuZGVmaW5lZCl7cmV0dXJuIHJlamVjdChlcnJvcnMuQk9EWV9NSVNTSU5HKTt9ZWxzZSBpZihpc1N0cmluZyhjb25maWcuYm9keSk9PT1mYWxzZSl7cmV0dXJuIHJlamVjdChlcnJvcnMuQk9EWV9UWVBFKTt9ZWxzZSBpZihjb25maWcuaGVhZGVyPT09dW5kZWZpbmVkKXtyZXR1cm4gcmVqZWN0KGVycm9ycy5IRUFERVJfTUlTU0lORyk7fWVsc2UgaWYoaXNTdHJpbmcoY29uZmlnLmhlYWRlcik9PT1mYWxzZSl7cmV0dXJuIHJlamVjdChlcnJvcnMuSEVBREVSX1RZUEUpO31lbHNlIGlmKGNvbmZpZy5pY29uIT09dW5kZWZpbmVkJiZpc1N0cmluZyhjb25maWcuaWNvbik9PT1mYWxzZSl7cmV0dXJuIHJlamVjdChlcnJvcnMuSUNPTl9UWVBFKTt9ZWxzZSBpZihjb25maWcub25DbGljayE9PXVuZGVmaW5lZCYmaXNGdW5jdGlvbihjb25maWcub25DbGljayk9PT1mYWxzZSl7cmV0dXJuIHJlamVjdChlcnJvcnMuT05DTElDS19UWVBFKTt9Y2hlY2tQZXJtaXNzaW9uKCkudGhlbihmdW5jdGlvbiBzcGF3bldlYk5vdGlmaWNhdGlvbigpe3ZhciBub3RpZmljYXRpb249bmV3IE5vdGlmaWNhdGlvbkFQSShjb25maWcuaGVhZGVyLHtib2R5OmNvbmZpZy5ib2R5LGljb246Y29uZmlnLmljb259KTtpZihjb25maWcub25DbGljayl7bm90aWZpY2F0aW9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxjb25maWcub25DbGljayk7fXJlc29sdmUobm90aWZpY2F0aW9uKTt9LGZ1bmN0aW9uKGVycm9yKXtyZXR1cm4gcmVqZWN0KGVycm9yKTt9KTt9KTt9XG5cbi8qKiovIH0pXG4vKioqKioqLyBdKTtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gaW5kZXguanMiLCIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSlcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcblxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gaWRlbnRpdHkgZnVuY3Rpb24gZm9yIGNhbGxpbmcgaGFybW9ueSBpbXBvcnRzIHdpdGggdGhlIGNvcnJlY3QgY29udGV4dFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5pID0gZnVuY3Rpb24odmFsdWUpIHsgcmV0dXJuIHZhbHVlOyB9O1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHtcbiBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuIFx0XHRcdFx0Z2V0OiBnZXR0ZXJcbiBcdFx0XHR9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSAwKTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB3ZWJwYWNrL2Jvb3RzdHJhcCAxNjk1MDAwNWNkNWEzZGQyOTZlNSIsImV4cG9ydCBjb25zdCBlcnJvcnMgPSB7XG4gICAgRElTQUJMRUQ6ICd3ZWJOb3RpZmljYXRpb246IHdlYiBub3RpZmljYXRpb25zIGFyZSBjdXJyZW50bHkgZGlzYWJsZWQgYnkgdXNlciBzZXR0aW5ncy4nLFxuICAgIE5PVF9BVkFJTEFCTEU6ICd3ZWJOb3RpZmljYXRpb246IHdlYiBub3RpZmljYXRpb25zIGFyZSBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uJyxcbiAgICBDT05GSUdfVFlQRTogJ3dlYk5vdGlmaWNhdGlvbjogcGFzc2VkIGEgbm9uLW9iamVjdCBhcyBjb25maWd1cmF0aW9uLicsXG4gICAgQ09ORklHX01JU1NJTkc6ICd3ZWJOb3RpZmljYXRpb246IG5vIGNvbmZpZ3VyYXRpb24gd2FzIHBhc3NlZC4nLFxuICAgIEJPRFlfVFlQRTogJ3dlYk5vdGlmaWNhdGlvbjogYGJvZHlgIG11c3QgYmUgYSBzdHJpbmcuJyxcbiAgICBCT0RZX01JU1NJTkc6ICd3ZWJOb3RpZmljYXRpb246IGBib2R5YCB3YXMgb21pdHRlZCBmcm9tIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdC4nLFxuICAgIEhFQURFUl9UWVBFOiAnd2ViTm90aWZpY2F0aW9uOiBgaGVhZGVyYCBtdXN0IGJlIGEgc3RyaW5nLicsXG4gICAgSEVBREVSX01JU1NJTkc6ICd3ZWJOb3RpZmljYXRpb246IGBoZWFkZXJgIHdhcyBvbWl0dGVkIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0LicsXG4gICAgSUNPTl9UWVBFOiAnd2ViTm90aWZpY2F0aW9uOiBgaWNvbmAgbXVzdCBiZSBhIFVSTCBzdHJpbmcuJyxcbiAgICBPTkNMSUNLX1RZUEU6ICd3ZWJOb3RpZmljYXRpb246IGBvbkNsaWNrYCBtdXN0IGJlIGEgZnVuY3Rpb24uJyxcbn07XG5cbmNvbnN0IGlzRnVuY3Rpb24gPSAoeCkgPT4gdHlwZW9mIHggPT09ICdmdW5jdGlvbic7XG5jb25zdCBpc1N0cmluZyA9ICh4KSA9PiB0eXBlb2YgeCA9PT0gJ3N0cmluZyc7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbkFQSSA9IChmdW5jdGlvbiBkZXRlY3RTdXBwb3J0KCkge1xuICAgIGlmICh3aW5kb3cuTm90aWZpY2F0aW9uKSB7XG4gICAgICAgIHJldHVybiB3aW5kb3cuTm90aWZpY2F0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbn0pKCk7XG5cbmZ1bmN0aW9uIHJlcXVlc3RQZXJtaXNzaW9uKCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIE5vdGlmaWNhdGlvbkFQSS5yZXF1ZXN0UGVybWlzc2lvbihmdW5jdGlvbiByZXF1ZXN0UmVjZWl2ZXIoc3RhdHVzKSB7XG4gICAgICAgICAgICBpZiAoc3RhdHVzID09PSAnZ3JhbnRlZCcpIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJlamVjdChlcnJvcnMuRElTQUJMRUQpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gY2hlY2tQZXJtaXNzaW9uKCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGlmICghTm90aWZpY2F0aW9uQVBJKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9ycy5OT1RfQVZBSUxBQkxFKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgncGVybWlzc2lvbicgaW4gTm90aWZpY2F0aW9uQVBJKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKE5vdGlmaWNhdGlvbkFQSS5wZXJtaXNzaW9uKSB7XG4gICAgICAgICAgICBjYXNlICdncmFudGVkJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZSgpO1xuXG4gICAgICAgICAgICBjYXNlICdkZW5pZWQnOlxuICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXJyb3JzLkRJU0FCTEVEKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmVxdWVzdFBlcm1pc3Npb24oKS50aGVuKHJlc29sdmUsIHJlamVjdCk7XG5cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4vKipcbiAqIF9fVHJpZ2dlciBuYXRpdmUgdG9hc3RzIGluIHN1cHBvcnRpbmcgYnJvd3NlcnMuX19cbiAqXG4gKiA+IFN1cHBvcnQgZm9yIHdlYiBub3RpZmljYXRpb25zIGlzIFthdmFpbGFibGUgaW4gYWxsIG1ham9yIGRlc2t0b3AgYnJvd3NlcnNdKGh0dHA6Ly9jYW5pdXNlLmNvbS8jZmVhdD1ub3RpZmljYXRpb25zKSxcbiAqICAgZXhjZXB0IElFIChGZWJydWFyeSAyMDE3KS5cbiAqXG4gKiBUaGlzIG1vZHVsZSBpcyBub3QgYSBSZWFjdCBjb21wb25lbnQsIGJ1dCBhIHV0aWxpdHkuIFRoZSBcImNsb3NlXCIgZnVuY3Rpb25hbGl0eSBvZiB3ZWIgbm90aWZpY2F0aW9ucyB3YXMgcmVtb3ZlZCBpbiBhIHBsYXRmb3JtXG4gKiBzcGVjIHVwZGF0ZSwgc28gaXQncyBubyBsb25nZXIgcG9zc2libGUgdG8gaGF2ZSBhIHRydWUgbGlmZWN5Y2xlLlxuICpcbiAqIGBgYGpzXG4gKiBpbXBvcnQgd2ViTm90aWZpY2F0aW9uIGZyb20gJ2JvdW5kbGVzcy11dGlscy13ZWItbm90aWZpY2F0aW9uJztcbiAqXG4gKiB3ZWJOb3RpZmljYXRpb24oe2JvZHk6ICdTb21lIHRleHQgdG8gYmUgZGlzcGxheWVkLi4uJ30pO1xuICogYGBgXG4gKlxuICogVGhlIHV0aWxpdHkgd29ya3MgYnkgcHJvdmlkaW5nIGFuIG9iamVjdCB3aXRoIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcbiAqXG4gKiAtIF9fYm9keV9fIGBTdHJpbmdgXG4gKiAgIHVwIHRvIHR3byBsaW5lcyBhcmUgZGlzcGxheWVkIGluIHRoZSBub3RpZmljYXRpb24gKGJhc2VkIG9uIHRoZSBjdXJyZW50IGJyb3dzZXIgaW1wbGVtZW50YXRpb25zKVxuICpcbiAqIC0gX19oZWFkZXJfXyBgU3RyaW5nYFxuICogICB0aGUgYm9sZGVkIHRpdGxlIGRpc3BsYXllZCBhdCB0aGUgdG9wIG9mIHRoZSBub3RpZmljYXRpb25cbiAqXG4gKiAtIF9faWNvbl9fIGBIVE1MU3RyaW5nYFxuICogICAob3B0aW9uYWwpIHRoZSBVUkwgb2YgYSBwaWN0dXJlIG9yIGljb24gdG8gYmUgZGlzcGxheWVkIHdpdGggdGhlIG5vdGlmaWNhdGlvbiAobG9va3MgYmVzdCBpZiBzcXVhcmUpXG4gKlxuICogLSBfX29uQ2xpY2tfXyBgRnVuY3Rpb25gXG4gKiAgIChvcHRpb25hbCkgYWRkIGFyYml0cmFyeSBmdW5jdGlvbmFsaXR5IHdoZW4gdGhlIG5vdGlmaWNhdGlvbiBpcyBjbGlja2VkXG4gKlxuICogVGhpcyB3aWxsIHJldHVybiBhIGBQcm9taXNlYC4gUmVzb2x1dGlvbiBtZWFucyB0aGUgbm90aWZpY2F0aW9uIHdhcyBjcmVhdGVkIGNvcnJlY3RseSAocmV0dXJucyB0aGUgYE5vdGlmaWNhdGlvbmAsXG4gKiBhbmQgcmVqZWN0aW9uIHdpbGwgcmV0dXJuIGEgcmVsZXZhbnQgZXJyb3IgZGVzY3JpcHRpb24gc3RyaW5nLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB3ZWJOb3RpZmljYXRpb24oY29uZmlnKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgaWYgKGNvbmZpZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9ycy5DT05GSUdfTUlTU0lORyk7XG4gICAgICAgIH0gZWxzZSBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGNvbmZpZykgIT09ICdbb2JqZWN0IE9iamVjdF0nKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9ycy5DT05GSUdfVFlQRSk7XG4gICAgICAgIH0gZWxzZSBpZiAoY29uZmlnLmJvZHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcnMuQk9EWV9NSVNTSU5HKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc1N0cmluZyhjb25maWcuYm9keSkgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9ycy5CT0RZX1RZUEUpO1xuICAgICAgICB9IGVsc2UgaWYgKGNvbmZpZy5oZWFkZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcnMuSEVBREVSX01JU1NJTkcpO1xuICAgICAgICB9IGVsc2UgaWYgKGlzU3RyaW5nKGNvbmZpZy5oZWFkZXIpID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcnMuSEVBREVSX1RZUEUpO1xuICAgICAgICB9IGVsc2UgaWYgKGNvbmZpZy5pY29uICE9PSB1bmRlZmluZWQgJiYgaXNTdHJpbmcoY29uZmlnLmljb24pID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcnMuSUNPTl9UWVBFKTtcbiAgICAgICAgfSBlbHNlIGlmIChjb25maWcub25DbGljayAhPT0gdW5kZWZpbmVkICYmIGlzRnVuY3Rpb24oY29uZmlnLm9uQ2xpY2spID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcnMuT05DTElDS19UWVBFKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNoZWNrUGVybWlzc2lvbigpLnRoZW4oXG4gICAgICAgICAgICBmdW5jdGlvbiBzcGF3bldlYk5vdGlmaWNhdGlvbigpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBub3RpZmljYXRpb24gPSBuZXcgTm90aWZpY2F0aW9uQVBJKGNvbmZpZy5oZWFkZXIsIHtcbiAgICAgICAgICAgICAgICAgICAgYm9keTogY29uZmlnLmJvZHksXG4gICAgICAgICAgICAgICAgICAgIGljb246IGNvbmZpZy5pY29uLFxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgICAgICAgICBpZiAoY29uZmlnLm9uQ2xpY2spIHtcbiAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgY29uZmlnLm9uQ2xpY2spO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJlc29sdmUobm90aWZpY2F0aW9uKTtcbiAgICAgICAgICAgIH0sIChlcnJvcikgPT4gcmVqZWN0KGVycm9yKVxuICAgICAgICApO1xuICAgIH0pO1xufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcGFja2FnZXMvYm91bmRsZXNzLXV0aWxzLXdlYi1ub3RpZmljYXRpb24vaW5kZXguanMiXSwic291cmNlUm9vdCI6IiJ9 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vaW5kZXguanMiLCJ3ZWJwYWNrOi8vL3dlYnBhY2svYm9vdHN0cmFwIDE2OTUwMDA1Y2Q1YTNkZDI5NmU1Iiwid2VicGFjazovLy8uL3BhY2thZ2VzL2JvdW5kbGVzcy11dGlscy13ZWItbm90aWZpY2F0aW9uL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJtb2R1bGVzIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiaW5zdGFsbGVkTW9kdWxlcyIsImkiLCJsIiwiY2FsbCIsIm0iLCJjIiwidmFsdWUiLCJkIiwibmFtZSIsImdldHRlciIsIm8iLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJnZXQiLCJuIiwiX19lc01vZHVsZSIsIm9iamVjdCIsInByb3BlcnR5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJwIiwicyIsIl9fd2VicGFja19leHBvcnRzX18iLCJyZXF1ZXN0UGVybWlzc2lvbiIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwiTm90aWZpY2F0aW9uQVBJIiwic3RhdHVzIiwiZXJyb3JzIiwiRElTQUJMRUQiLCJjaGVja1Blcm1pc3Npb24iLCJOT1RfQVZBSUxBQkxFIiwicGVybWlzc2lvbiIsInRoZW4iLCJ3ZWJOb3RpZmljYXRpb24iLCJjb25maWciLCJ1bmRlZmluZWQiLCJDT05GSUdfTUlTU0lORyIsInRvU3RyaW5nIiwiQ09ORklHX1RZUEUiLCJib2R5IiwiQk9EWV9NSVNTSU5HIiwiaXNTdHJpbmciLCJCT0RZX1RZUEUiLCJoZWFkZXIiLCJIRUFERVJfTUlTU0lORyIsIkhFQURFUl9UWVBFIiwiaWNvbiIsIklDT05fVFlQRSIsIm9uQ2xpY2siLCJpc0Z1bmN0aW9uIiwiT05DTElDS19UWVBFIiwibm90aWZpY2F0aW9uIiwiYWRkRXZlbnRMaXN0ZW5lciIsImVycm9yIiwieCIsIndpbmRvdyIsIk5vdGlmaWNhdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUFBLE9BQU9DLFFBQ0UsU0FBVUMsR0NHbkIsUUFBQUMsR0FBQUMsR0FHQSxHQUFBQyxFQUFBRCxHQUNBLE1BQUFDLEdBQUFELEdBQUFILE9BR0EsSUFBQUQsR0FBQUssRUFBQUQsSUFDQUUsRUFBQUYsRUFDQUcsR0FBQSxFQUNBTixXQVVBLE9BTkFDLEdBQUFFLEdBQUFJLEtBQUFSLEVBQUFDLFFBQUFELElBQUFDLFFBQUFFLEdBR0FILEVBQUFPLEdBQUEsRUFHQVAsRUFBQUMsUUF2QkEsR0FBQUksS0ErREEsT0FuQ0FGLEdBQUFNLEVBQUFQLEVBR0FDLEVBQUFPLEVBQUFMLEVBR0FGLEVBQUFHLEVBQUEsU0FBQUssR0FBMkMsTUFBQUEsSUFHM0NSLEVBQUFTLEVBQUEsU0FBQVgsRUFBQVksRUFBQUMsR0FDQVgsRUFBQVksRUFBQWQsRUFBQVksSUFDQUcsT0FBQUMsZUFBQWhCLEVBQUFZLEdBQ0FLLGNBQUEsRUFDQUMsWUFBQSxFQUNBQyxJQUFBTixLQU1BWCxFQUFBa0IsRUFBQSxTQUFBckIsR0FDQSxHQUFBYyxHQUFBZCxLQUFBc0IsV0FDQSxXQUEyQixNQUFBdEIsR0FBQSxTQUMzQixXQUFpQyxNQUFBQSxHQUVqQyxPQURBRyxHQUFBUyxFQUFBRSxFQUFBLElBQUFBLEdBQ0FBLEdBSUFYLEVBQUFZLEVBQUEsU0FBQVEsRUFBQUMsR0FBc0QsTUFBQVIsUUFBQVMsVUFBQUMsZUFBQWxCLEtBQUFlLEVBQUFDLElBR3REckIsRUFBQXdCLEVBQUEsR0FHQXhCLElBQUF5QixFQUFBLEtET00sU0FBVTVCLEVBQVE2QixFQUFxQjFCLEdBRTdDLFlFakRBLFNBQVMyQixLQUNMLE1BQU8sSUFBSUMsU0FBUSxTQUFDQyxFQUFTQyxHQUN6QkMsRUFBZ0JKLGtCQUFrQixTQUF5QkssR0FDeEMsWUFBWEEsR0FDQUgsSUFHSkMsRUFBT0csRUFBT0MsY0FLMUIsUUFBU0MsS0FDTCxNQUFPLElBQUlQLFNBQVEsU0FBQ0MsRUFBU0MsR0FDekIsSUFBS0MsRUFDRCxNQUFPRCxHQUFPRyxFQUFPRyxjQUd6QixJQUFJLGNBQWdCTCxHQUFpQixDQUNqQyxPQUFRQSxFQUFnQk0sWUFDeEIsSUFBSyxVQUNELE1BQU9SLElBRVgsS0FBSyxTQUNELE1BQU9DLEdBQU9HLEVBQU9DLFVBR3pCUCxJQUFvQlcsS0FBS1QsRUFBU0MsTUFnQy9CLFFBQVNTLEdBQWdCQyxHQUNwQyxNQUFPLElBQUlaLFNBQVEsU0FBQ0MsRUFBU0MsR0FDekIsTUFBZVcsVUFBWEQsRUFDT1YsRUFBT0csRUFBT1MsZ0JBQzZCLG9CQUEzQzdCLE9BQU9TLFVBQVVxQixTQUFTdEMsS0FBS21DLEdBQy9CVixFQUFPRyxFQUFPVyxhQUNFSCxTQUFoQkQsRUFBT0ssS0FDUGYsRUFBT0csRUFBT2EsY0FDZEMsRUFBU1AsRUFBT0ssU0FBVSxFQUMxQmYsRUFBT0csRUFBT2UsV0FDSVAsU0FBbEJELEVBQU9TLE9BQ1BuQixFQUFPRyxFQUFPaUIsZ0JBQ2RILEVBQVNQLEVBQU9TLFdBQVksRUFDNUJuQixFQUFPRyxFQUFPa0IsYUFDRVYsU0FBaEJELEVBQU9ZLE1BQXNCTCxFQUFTUCxFQUFPWSxTQUFVLEVBQ3ZEdEIsRUFBT0csRUFBT29CLFdBQ0taLFNBQW5CRCxFQUFPYyxTQUF5QkMsRUFBV2YsRUFBT2MsWUFBYSxFQUMvRHhCLEVBQU9HLEVBQU91QixrQkFHekJyQixLQUFrQkcsS0FDZCxXQUNJLEdBQU1tQixHQUFlLEdBQUkxQixHQUFnQlMsRUFBT1MsUUFDNUNKLEtBQU1MLEVBQU9LLEtBQ2JPLEtBQU1aLEVBQU9ZLE1BSWJaLEdBQU9jLFNBQ1BHLEVBQWFDLGlCQUFpQixRQUFTbEIsRUFBT2MsU0FHbER6QixFQUFRNEIsSUFDVCxTQUFDRSxHQUFELE1BQVc3QixHQUFPNkIsT0YxQ2pDOUMsT0FBT0MsZUFBZVksRUFBcUIsY0FBZ0JsQixPQUFPLElBQ25DUixFQUFvQlMsRUFBRWlCLEVBQXFCLFNBQVUsV0FBYSxNQUFPTyxLQUN2RVAsRUFBNkIsUUFBSWEsQ0U1RTNELElBQU1OLElBQ1RDLFNBQVUsOEVBQ1ZFLGNBQWUseUVBQ2ZRLFlBQWEseURBQ2JGLGVBQWdCLGdEQUNoQk0sVUFBVyw0Q0FDWEYsYUFBYyxxRUFDZEssWUFBYSw4Q0FDYkQsZUFBZ0IsdUVBQ2hCRyxVQUFXLGdEQUNYRyxhQUFjLGtEQUdaRCxFQUFhLFNBQUNLLEdBQUQsTUFBb0Isa0JBQU5BLElBQzNCYixFQUFXLFNBQUNhLEdBQUQsTUFBb0IsZ0JBQU5BLElBRXpCN0IsRUFBbUIsV0FDckIsUUFBSThCLE9BQU9DLGNBQ0FELE9BQU9DIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPVxuLyoqKioqKi8gKGZ1bmN0aW9uKG1vZHVsZXMpIHsgLy8gd2VicGFja0Jvb3RzdHJhcFxuLyoqKioqKi8gXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuLyoqKioqKi8gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuLyoqKioqKi8gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKVxuLyoqKioqKi8gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4vKioqKioqLyBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuLyoqKioqKi8gXHRcdFx0aTogbW9kdWxlSWQsXG4vKioqKioqLyBcdFx0XHRsOiBmYWxzZSxcbi8qKioqKiovIFx0XHRcdGV4cG9ydHM6IHt9XG4vKioqKioqLyBcdFx0fTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4vKioqKioqLyBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbi8qKioqKiovIFx0XHRtb2R1bGUubCA9IHRydWU7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4vKioqKioqLyBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuLyoqKioqKi8gXHR9XG4vKioqKioqL1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBpZGVudGl0eSBmdW5jdGlvbiBmb3IgY2FsbGluZyBoYXJtb255IGltcG9ydHMgd2l0aCB0aGUgY29ycmVjdCBjb250ZXh0XG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uaSA9IGZ1bmN0aW9uKHZhbHVlKSB7IHJldHVybiB2YWx1ZTsgfTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbi8qKioqKiovIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4vKioqKioqLyBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwge1xuLyoqKioqKi8gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuLyoqKioqKi8gXHRcdFx0XHRnZXQ6IGdldHRlclxuLyoqKioqKi8gXHRcdFx0fSk7XG4vKioqKioqLyBcdFx0fVxuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4vKioqKioqLyBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4vKioqKioqLyBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuLyoqKioqKi8gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbi8qKioqKiovIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4vKioqKioqLyBcdFx0cmV0dXJuIGdldHRlcjtcbi8qKioqKiovIFx0fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4vKioqKioqLyBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IDApO1xuLyoqKioqKi8gfSlcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqLyAoW1xuLyogMCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfX3dlYnBhY2tfZXhwb3J0c19fLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJlcnJvcnNcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBlcnJvcnM7IH0pO1xuLyogaGFybW9ueSBleHBvcnQgKGltbXV0YWJsZSkgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0gPSB3ZWJOb3RpZmljYXRpb247XG52YXIgZXJyb3JzPXtESVNBQkxFRDond2ViTm90aWZpY2F0aW9uOiB3ZWIgbm90aWZpY2F0aW9ucyBhcmUgY3VycmVudGx5IGRpc2FibGVkIGJ5IHVzZXIgc2V0dGluZ3MuJyxOT1RfQVZBSUxBQkxFOid3ZWJOb3RpZmljYXRpb246IHdlYiBub3RpZmljYXRpb25zIGFyZSBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uJyxDT05GSUdfVFlQRTond2ViTm90aWZpY2F0aW9uOiBwYXNzZWQgYSBub24tb2JqZWN0IGFzIGNvbmZpZ3VyYXRpb24uJyxDT05GSUdfTUlTU0lORzond2ViTm90aWZpY2F0aW9uOiBubyBjb25maWd1cmF0aW9uIHdhcyBwYXNzZWQuJyxCT0RZX1RZUEU6J3dlYk5vdGlmaWNhdGlvbjogYGJvZHlgIG11c3QgYmUgYSBzdHJpbmcuJyxCT0RZX01JU1NJTkc6J3dlYk5vdGlmaWNhdGlvbjogYGJvZHlgIHdhcyBvbWl0dGVkIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0LicsSEVBREVSX1RZUEU6J3dlYk5vdGlmaWNhdGlvbjogYGhlYWRlcmAgbXVzdCBiZSBhIHN0cmluZy4nLEhFQURFUl9NSVNTSU5HOid3ZWJOb3RpZmljYXRpb246IGBoZWFkZXJgIHdhcyBvbWl0dGVkIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0LicsSUNPTl9UWVBFOid3ZWJOb3RpZmljYXRpb246IGBpY29uYCBtdXN0IGJlIGEgVVJMIHN0cmluZy4nLE9OQ0xJQ0tfVFlQRTond2ViTm90aWZpY2F0aW9uOiBgb25DbGlja2AgbXVzdCBiZSBhIGZ1bmN0aW9uLid9O3ZhciBpc0Z1bmN0aW9uPWZ1bmN0aW9uIGlzRnVuY3Rpb24oeCl7cmV0dXJuIHR5cGVvZiB4PT09J2Z1bmN0aW9uJzt9O3ZhciBpc1N0cmluZz1mdW5jdGlvbiBpc1N0cmluZyh4KXtyZXR1cm4gdHlwZW9mIHg9PT0nc3RyaW5nJzt9O3ZhciBOb3RpZmljYXRpb25BUEk9ZnVuY3Rpb24gZGV0ZWN0U3VwcG9ydCgpe2lmKHdpbmRvdy5Ob3RpZmljYXRpb24pe3JldHVybiB3aW5kb3cuTm90aWZpY2F0aW9uO31yZXR1cm4gZmFsc2U7fSgpO2Z1bmN0aW9uIHJlcXVlc3RQZXJtaXNzaW9uKCl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUscmVqZWN0KXtOb3RpZmljYXRpb25BUEkucmVxdWVzdFBlcm1pc3Npb24oZnVuY3Rpb24gcmVxdWVzdFJlY2VpdmVyKHN0YXR1cyl7aWYoc3RhdHVzPT09J2dyYW50ZWQnKXtyZXNvbHZlKCk7fXJlamVjdChlcnJvcnMuRElTQUJMRUQpO30pO30pO31mdW5jdGlvbiBjaGVja1Blcm1pc3Npb24oKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSxyZWplY3Qpe2lmKCFOb3RpZmljYXRpb25BUEkpe3JldHVybiByZWplY3QoZXJyb3JzLk5PVF9BVkFJTEFCTEUpO31pZigncGVybWlzc2lvbidpbiBOb3RpZmljYXRpb25BUEkpe3N3aXRjaChOb3RpZmljYXRpb25BUEkucGVybWlzc2lvbil7Y2FzZSdncmFudGVkJzpyZXR1cm4gcmVzb2x2ZSgpO2Nhc2UnZGVuaWVkJzpyZXR1cm4gcmVqZWN0KGVycm9ycy5ESVNBQkxFRCk7fXJlcXVlc3RQZXJtaXNzaW9uKCkudGhlbihyZXNvbHZlLHJlamVjdCk7fX0pO31mdW5jdGlvbiB3ZWJOb3RpZmljYXRpb24oY29uZmlnKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSxyZWplY3Qpe2lmKGNvbmZpZz09PXVuZGVmaW5lZCl7cmV0dXJuIHJlamVjdChlcnJvcnMuQ09ORklHX01JU1NJTkcpO31lbHNlIGlmKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChjb25maWcpIT09J1tvYmplY3QgT2JqZWN0XScpe3JldHVybiByZWplY3QoZXJyb3JzLkNPTkZJR19UWVBFKTt9ZWxzZSBpZihjb25maWcuYm9keT09PXVuZGVmaW5lZCl7cmV0dXJuIHJlamVjdChlcnJvcnMuQk9EWV9NSVNTSU5HKTt9ZWxzZSBpZihpc1N0cmluZyhjb25maWcuYm9keSk9PT1mYWxzZSl7cmV0dXJuIHJlamVjdChlcnJvcnMuQk9EWV9UWVBFKTt9ZWxzZSBpZihjb25maWcuaGVhZGVyPT09dW5kZWZpbmVkKXtyZXR1cm4gcmVqZWN0KGVycm9ycy5IRUFERVJfTUlTU0lORyk7fWVsc2UgaWYoaXNTdHJpbmcoY29uZmlnLmhlYWRlcik9PT1mYWxzZSl7cmV0dXJuIHJlamVjdChlcnJvcnMuSEVBREVSX1RZUEUpO31lbHNlIGlmKGNvbmZpZy5pY29uIT09dW5kZWZpbmVkJiZpc1N0cmluZyhjb25maWcuaWNvbik9PT1mYWxzZSl7cmV0dXJuIHJlamVjdChlcnJvcnMuSUNPTl9UWVBFKTt9ZWxzZSBpZihjb25maWcub25DbGljayE9PXVuZGVmaW5lZCYmaXNGdW5jdGlvbihjb25maWcub25DbGljayk9PT1mYWxzZSl7cmV0dXJuIHJlamVjdChlcnJvcnMuT05DTElDS19UWVBFKTt9Y2hlY2tQZXJtaXNzaW9uKCkudGhlbihmdW5jdGlvbiBzcGF3bldlYk5vdGlmaWNhdGlvbigpe3ZhciBub3RpZmljYXRpb249bmV3IE5vdGlmaWNhdGlvbkFQSShjb25maWcuaGVhZGVyLHtib2R5OmNvbmZpZy5ib2R5LGljb246Y29uZmlnLmljb259KTtpZihjb25maWcub25DbGljayl7bm90aWZpY2F0aW9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxjb25maWcub25DbGljayk7fXJlc29sdmUobm90aWZpY2F0aW9uKTt9LGZ1bmN0aW9uKGVycm9yKXtyZXR1cm4gcmVqZWN0KGVycm9yKTt9KTt9KTt9XG5cbi8qKiovIH0pXG4vKioqKioqLyBdKTtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gaW5kZXguanMiLCIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSlcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcblxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gaWRlbnRpdHkgZnVuY3Rpb24gZm9yIGNhbGxpbmcgaGFybW9ueSBpbXBvcnRzIHdpdGggdGhlIGNvcnJlY3QgY29udGV4dFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5pID0gZnVuY3Rpb24odmFsdWUpIHsgcmV0dXJuIHZhbHVlOyB9O1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHtcbiBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuIFx0XHRcdFx0Z2V0OiBnZXR0ZXJcbiBcdFx0XHR9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSAwKTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB3ZWJwYWNrL2Jvb3RzdHJhcCAxNjk1MDAwNWNkNWEzZGQyOTZlNSIsImV4cG9ydCBjb25zdCBlcnJvcnMgPSB7XG4gICAgRElTQUJMRUQ6ICd3ZWJOb3RpZmljYXRpb246IHdlYiBub3RpZmljYXRpb25zIGFyZSBjdXJyZW50bHkgZGlzYWJsZWQgYnkgdXNlciBzZXR0aW5ncy4nLFxuICAgIE5PVF9BVkFJTEFCTEU6ICd3ZWJOb3RpZmljYXRpb246IHdlYiBub3RpZmljYXRpb25zIGFyZSBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uJyxcbiAgICBDT05GSUdfVFlQRTogJ3dlYk5vdGlmaWNhdGlvbjogcGFzc2VkIGEgbm9uLW9iamVjdCBhcyBjb25maWd1cmF0aW9uLicsXG4gICAgQ09ORklHX01JU1NJTkc6ICd3ZWJOb3RpZmljYXRpb246IG5vIGNvbmZpZ3VyYXRpb24gd2FzIHBhc3NlZC4nLFxuICAgIEJPRFlfVFlQRTogJ3dlYk5vdGlmaWNhdGlvbjogYGJvZHlgIG11c3QgYmUgYSBzdHJpbmcuJyxcbiAgICBCT0RZX01JU1NJTkc6ICd3ZWJOb3RpZmljYXRpb246IGBib2R5YCB3YXMgb21pdHRlZCBmcm9tIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdC4nLFxuICAgIEhFQURFUl9UWVBFOiAnd2ViTm90aWZpY2F0aW9uOiBgaGVhZGVyYCBtdXN0IGJlIGEgc3RyaW5nLicsXG4gICAgSEVBREVSX01JU1NJTkc6ICd3ZWJOb3RpZmljYXRpb246IGBoZWFkZXJgIHdhcyBvbWl0dGVkIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0LicsXG4gICAgSUNPTl9UWVBFOiAnd2ViTm90aWZpY2F0aW9uOiBgaWNvbmAgbXVzdCBiZSBhIFVSTCBzdHJpbmcuJyxcbiAgICBPTkNMSUNLX1RZUEU6ICd3ZWJOb3RpZmljYXRpb246IGBvbkNsaWNrYCBtdXN0IGJlIGEgZnVuY3Rpb24uJyxcbn07XG5cbmNvbnN0IGlzRnVuY3Rpb24gPSAoeCkgPT4gdHlwZW9mIHggPT09ICdmdW5jdGlvbic7XG5jb25zdCBpc1N0cmluZyA9ICh4KSA9PiB0eXBlb2YgeCA9PT0gJ3N0cmluZyc7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbkFQSSA9IChmdW5jdGlvbiBkZXRlY3RTdXBwb3J0KCkge1xuICAgIGlmICh3aW5kb3cuTm90aWZpY2F0aW9uKSB7XG4gICAgICAgIHJldHVybiB3aW5kb3cuTm90aWZpY2F0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbn0pKCk7XG5cbmZ1bmN0aW9uIHJlcXVlc3RQZXJtaXNzaW9uKCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIE5vdGlmaWNhdGlvbkFQSS5yZXF1ZXN0UGVybWlzc2lvbihmdW5jdGlvbiByZXF1ZXN0UmVjZWl2ZXIoc3RhdHVzKSB7XG4gICAgICAgICAgICBpZiAoc3RhdHVzID09PSAnZ3JhbnRlZCcpIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJlamVjdChlcnJvcnMuRElTQUJMRUQpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gY2hlY2tQZXJtaXNzaW9uKCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGlmICghTm90aWZpY2F0aW9uQVBJKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9ycy5OT1RfQVZBSUxBQkxFKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgncGVybWlzc2lvbicgaW4gTm90aWZpY2F0aW9uQVBJKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKE5vdGlmaWNhdGlvbkFQSS5wZXJtaXNzaW9uKSB7XG4gICAgICAgICAgICBjYXNlICdncmFudGVkJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZSgpO1xuXG4gICAgICAgICAgICBjYXNlICdkZW5pZWQnOlxuICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXJyb3JzLkRJU0FCTEVEKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmVxdWVzdFBlcm1pc3Npb24oKS50aGVuKHJlc29sdmUsIHJlamVjdCk7XG5cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4vKipcbiAqIF9fVHJpZ2dlciBuYXRpdmUgdG9hc3RzIGluIHN1cHBvcnRpbmcgYnJvd3NlcnMuX19cbiAqXG4gKiA+IFN1cHBvcnQgZm9yIHdlYiBub3RpZmljYXRpb25zIGlzIFthdmFpbGFibGUgaW4gYWxsIG1ham9yIGRlc2t0b3AgYnJvd3NlcnNdKGh0dHA6Ly9jYW5pdXNlLmNvbS8jZmVhdD1ub3RpZmljYXRpb25zKSxcbiAqICAgZXhjZXB0IElFIChGZWJydWFyeSAyMDE3KS5cbiAqXG4gKiBUaGlzIG1vZHVsZSBpcyBub3QgYSBSZWFjdCBjb21wb25lbnQsIGJ1dCBhIHV0aWxpdHkuIFRoZSBcImNsb3NlXCIgZnVuY3Rpb25hbGl0eSBvZiB3ZWIgbm90aWZpY2F0aW9ucyB3YXMgcmVtb3ZlZCBpbiBhIHBsYXRmb3JtXG4gKiBzcGVjIHVwZGF0ZSwgc28gaXQncyBubyBsb25nZXIgcG9zc2libGUgdG8gaGF2ZSBhIHRydWUgbGlmZWN5Y2xlLlxuICpcbiAqIFRoZSB1dGlsaXR5IHdvcmtzIGJ5IHByb3ZpZGluZyBhbiBvYmplY3Qgd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogLSBfX2JvZHlfXyBgU3RyaW5nYFxuICogICB1cCB0byB0d28gbGluZXMgYXJlIGRpc3BsYXllZCBpbiB0aGUgbm90aWZpY2F0aW9uIChiYXNlZCBvbiB0aGUgY3VycmVudCBicm93c2VyIGltcGxlbWVudGF0aW9ucylcbiAqXG4gKiAtIF9faGVhZGVyX18gYFN0cmluZ2BcbiAqICAgdGhlIGJvbGRlZCB0aXRsZSBkaXNwbGF5ZWQgYXQgdGhlIHRvcCBvZiB0aGUgbm90aWZpY2F0aW9uXG4gKlxuICogLSBfX2ljb25fXyBgSFRNTFN0cmluZ2BcbiAqICAgKG9wdGlvbmFsKSB0aGUgVVJMIG9mIGEgcGljdHVyZSBvciBpY29uIHRvIGJlIGRpc3BsYXllZCB3aXRoIHRoZSBub3RpZmljYXRpb24gKGxvb2tzIGJlc3QgaWYgc3F1YXJlKVxuICpcbiAqIC0gX19vbkNsaWNrX18gYEZ1bmN0aW9uYFxuICogICAob3B0aW9uYWwpIGFkZCBhcmJpdHJhcnkgZnVuY3Rpb25hbGl0eSB3aGVuIHRoZSBub3RpZmljYXRpb24gaXMgY2xpY2tlZFxuICpcbiAqIFRoaXMgd2lsbCByZXR1cm4gYSBgUHJvbWlzZWAuIFJlc29sdXRpb24gbWVhbnMgdGhlIG5vdGlmaWNhdGlvbiB3YXMgY3JlYXRlZCBjb3JyZWN0bHkgKHJldHVybnMgdGhlIGBOb3RpZmljYXRpb25gLFxuICogYW5kIHJlamVjdGlvbiB3aWxsIHJldHVybiBhIHJlbGV2YW50IGVycm9yIGRlc2NyaXB0aW9uIHN0cmluZy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gd2ViTm90aWZpY2F0aW9uKGNvbmZpZykge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGlmIChjb25maWcgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcnMuQ09ORklHX01JU1NJTkcpO1xuICAgICAgICB9IGVsc2UgaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChjb25maWcpICE9PSAnW29iamVjdCBPYmplY3RdJykge1xuICAgICAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcnMuQ09ORklHX1RZUEUpO1xuICAgICAgICB9IGVsc2UgaWYgKGNvbmZpZy5ib2R5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiByZWplY3QoZXJyb3JzLkJPRFlfTUlTU0lORyk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNTdHJpbmcoY29uZmlnLmJvZHkpID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcnMuQk9EWV9UWVBFKTtcbiAgICAgICAgfSBlbHNlIGlmIChjb25maWcuaGVhZGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiByZWplY3QoZXJyb3JzLkhFQURFUl9NSVNTSU5HKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc1N0cmluZyhjb25maWcuaGVhZGVyKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybiByZWplY3QoZXJyb3JzLkhFQURFUl9UWVBFKTtcbiAgICAgICAgfSBlbHNlIGlmIChjb25maWcuaWNvbiAhPT0gdW5kZWZpbmVkICYmIGlzU3RyaW5nKGNvbmZpZy5pY29uKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybiByZWplY3QoZXJyb3JzLklDT05fVFlQRSk7XG4gICAgICAgIH0gZWxzZSBpZiAoY29uZmlnLm9uQ2xpY2sgIT09IHVuZGVmaW5lZCAmJiBpc0Z1bmN0aW9uKGNvbmZpZy5vbkNsaWNrKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybiByZWplY3QoZXJyb3JzLk9OQ0xJQ0tfVFlQRSk7XG4gICAgICAgIH1cblxuICAgICAgICBjaGVja1Blcm1pc3Npb24oKS50aGVuKFxuICAgICAgICAgICAgZnVuY3Rpb24gc3Bhd25XZWJOb3RpZmljYXRpb24oKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgbm90aWZpY2F0aW9uID0gbmV3IE5vdGlmaWNhdGlvbkFQSShjb25maWcuaGVhZGVyLCB7XG4gICAgICAgICAgICAgICAgICAgIGJvZHk6IGNvbmZpZy5ib2R5LFxuICAgICAgICAgICAgICAgICAgICBpY29uOiBjb25maWcuaWNvbixcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgICAgICAgaWYgKGNvbmZpZy5vbkNsaWNrKSB7XG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGNvbmZpZy5vbkNsaWNrKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXNvbHZlKG5vdGlmaWNhdGlvbik7XG4gICAgICAgICAgICB9LCAoZXJyb3IpID0+IHJlamVjdChlcnJvcilcbiAgICAgICAgKTtcbiAgICB9KTtcbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3BhY2thZ2VzL2JvdW5kbGVzcy11dGlscy13ZWItbm90aWZpY2F0aW9uL2luZGV4LmpzIl0sInNvdXJjZVJvb3QiOiIifQ== |
@@ -67,8 +67,2 @@ export const errors = { | ||
* | ||
* ```js | ||
* import webNotification from 'boundless-utils-web-notification'; | ||
* | ||
* webNotification({body: 'Some text to be displayed...'}); | ||
* ``` | ||
* | ||
* The utility works by providing an object with the following properties: | ||
@@ -75,0 +69,0 @@ * |
{ | ||
"name": "boundless-utils-web-notification", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "Trigger native toasts in supporting browsers.", | ||
@@ -25,3 +25,3 @@ "repository": { | ||
}, | ||
"homepage": "http://boundless.js.org/#/webNotification" | ||
"homepage": "http://boundless.js.org/webNotification" | ||
} |
<!--- | ||
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD. | ||
THIS IS AN AUTOGENERATED FILE. EDIT PACKAGES/BOUNDLESS-UTILS-WEB-NOTIFICATION/INDEX.JS INSTEAD. | ||
--> | ||
@@ -14,8 +14,2 @@ # webNotification | ||
```js | ||
import webNotification from 'boundless-utils-web-notification'; | ||
webNotification({body: 'Some text to be displayed...'}); | ||
``` | ||
The utility works by providing an object with the following properties: | ||
@@ -38,7 +32,15 @@ | ||
## Example Usage | ||
## Installation | ||
```bash | ||
npm i boundless-utils-web-notification --save | ||
``` | ||
Then use it like: | ||
```jsx | ||
import React from 'react'; | ||
import notify from '../index'; | ||
import Button from '../../boundless-button/index'; | ||
import notify from 'boundless-utils-web-notification'; | ||
import Button from 'boundless-button'; | ||
@@ -75,3 +77,2 @@ export default class NotifyDemo extends React.PureComponent { | ||
} | ||
``` | ||
@@ -81,1 +82,4 @@ | ||
# Boundless | ||
[![NPM version](https://img.shields.io/npm/v/boundless.svg)](https://www.npmjs.com/package/boundless) [![Build Status](https://api.travis-ci.com/enigma-io/boundless.svg?token=hxqSwGHKT9sQ6YJSerRg&branch=master)](https://travis-ci.com/enigma-io/boundless) [![codecov](https://codecov.io/gh/enigma-io/boundless/branch/master/graph/badge.svg?token=p755jHqDqi)](https://codecov.io/gh/enigma-io/boundless) | ||
[![NPM version](https://img.shields.io/npm/v/boundless.svg)](https://www.npmjs.com/package/boundless) [![Build Status](https://travis-ci.org/enigma-io/boundless.svg?branch=master)](https://travis-ci.org/enigma-io/boundless) [![codecov](https://codecov.io/gh/enigma-io/boundless/branch/master/graph/badge.svg?token=p755jHqDqi)](https://codecov.io/gh/enigma-io/boundless) | ||
@@ -65,2 +65,2 @@ | ||
<sub>[MIT License](https://github.com/enigma-io/boundless/blob/master/LICENSE)</sub> | ||
[MIT License](https://github.com/enigma-io/boundless/blob/master/LICENSE) |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
4286461
247
8516