[
  {
    "path": ".all-contributorsrc",
    "content": "{\n  \"projectName\": \"github-actions\",\n  \"projectOwner\": \"boyney123\",\n  \"repoType\": \"github\",\n  \"repoHost\": \"https://github.com\",\n  \"files\": [\n    \"README.md\"\n  ],\n  \"imageSize\": 100,\n  \"commit\": true,\n  \"contributors\": [\n    {\n      \"login\": \"boyney123\",\n      \"name\": \"David Boyne\",\n      \"avatar_url\": \"https://avatars1.githubusercontent.com/u/3268013?v=4\",\n      \"profile\": \"https://medium.com/@boyney123\",\n      \"contributions\": [\n        \"code\"\n      ]\n    },\n    {\n      \"login\": \"bltavares\",\n      \"name\": \"Bruno Tavares\",\n      \"avatar_url\": \"https://avatars1.githubusercontent.com/u/109474?v=4\",\n      \"profile\": \"http://bltavares.com\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"pascalgn\",\n      \"name\": \"Pascal\",\n      \"avatar_url\": \"https://avatars2.githubusercontent.com/u/432333?v=4\",\n      \"profile\": \"https://twitter.com/pascalgn\",\n      \"contributions\": [\n        \"doc\",\n        \"code\"\n      ]\n    },\n    {\n      \"login\": \"pxgamer\",\n      \"name\": \"Owen Voke\",\n      \"avatar_url\": \"https://avatars0.githubusercontent.com/u/1899334?v=4\",\n      \"profile\": \"https://pxgamer.xyz\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"maxheld83\",\n      \"name\": \"Maximilian Held\",\n      \"avatar_url\": \"https://avatars0.githubusercontent.com/u/5372770?v=4\",\n      \"profile\": \"http://www.maxheld.de/\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"jzweifel\",\n      \"name\": \"Jacob Zweifel\",\n      \"avatar_url\": \"https://avatars0.githubusercontent.com/u/39281691?v=4\",\n      \"profile\": \"https://github.com/jzweifel\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"mscoutermarsh\",\n      \"name\": \"Mike Coutermarsh\",\n      \"avatar_url\": \"https://avatars0.githubusercontent.com/u/155044?v=4\",\n      \"profile\": \"https://mikecoutermarsh.com\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"jonico\",\n      \"name\": \"Johannes Nicolai\",\n      \"avatar_url\": \"https://avatars3.githubusercontent.com/u/1872314?v=4\",\n      \"profile\": \"https://github.com/jonico\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"Ilshidur\",\n      \"name\": \"Nicolas Coutin\",\n      \"avatar_url\": \"https://avatars1.githubusercontent.com/u/6564012?v=4\",\n      \"profile\": \"https://nicolas-coutin.fr\",\n      \"contributions\": [\n        \"code\"\n      ]\n    },\n    {\n      \"login\": \"mariamrf\",\n      \"name\": \"Mariam Maarouf\",\n      \"avatar_url\": \"https://avatars0.githubusercontent.com/u/10760189?v=4\",\n      \"profile\": \"https://maarouf.me\",\n      \"contributions\": [\n        \"code\"\n      ]\n    },\n    {\n      \"login\": \"ldez\",\n      \"name\": \"Ludovic Fernandez\",\n      \"avatar_url\": \"https://avatars0.githubusercontent.com/u/5674651?v=4\",\n      \"profile\": \"https://twitter.com/ludnadez\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"michaelw90\",\n      \"name\": \"Michael Wright\",\n      \"avatar_url\": \"https://avatars1.githubusercontent.com/u/348317?v=4\",\n      \"profile\": \"http://codular.com\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"jeffpaul\",\n      \"name\": \"Jeffrey Paul\",\n      \"avatar_url\": \"https://avatars2.githubusercontent.com/u/2818133?v=4\",\n      \"profile\": \"https://jeffpaul.com/\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"cstuder\",\n      \"name\": \"Christian Studer\",\n      \"avatar_url\": \"https://avatars0.githubusercontent.com/u/288493?v=4\",\n      \"profile\": \"https://hymnos.existenz.ch\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"andrewsomething\",\n      \"name\": \"Andrew Starr-Bochicchio\",\n      \"avatar_url\": \"https://avatars0.githubusercontent.com/u/46943?v=4\",\n      \"profile\": \"http://blog.andrewsomething.com/\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"MrRhodes\",\n      \"name\": \"Stephen Rhodes\",\n      \"avatar_url\": \"https://avatars3.githubusercontent.com/u/130488?v=4\",\n      \"profile\": \"http://www.linkedin.com/in/sterhodes\",\n      \"contributions\": [\n        \"code\"\n      ]\n    },\n    {\n      \"login\": \"varunsridharan\",\n      \"name\": \"Varun Sridharan\",\n      \"avatar_url\": \"https://avatars1.githubusercontent.com/u/1884287?v=4\",\n      \"profile\": \"http://varunsridharan.in\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"shivammathur\",\n      \"name\": \"Shivam Mathur\",\n      \"avatar_url\": \"https://avatars1.githubusercontent.com/u/1571086?v=4\",\n      \"profile\": \"https://shivammathur.com\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"tnc1997\",\n      \"name\": \"Thomas Clark\",\n      \"avatar_url\": \"https://avatars1.githubusercontent.com/u/17160067?v=4\",\n      \"profile\": \"https://github.com/tnc1997\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"MarvinJWendt\",\n      \"name\": \"MarvinJWendt\",\n      \"avatar_url\": \"https://avatars0.githubusercontent.com/u/31022056?v=4\",\n      \"profile\": \"https://marvinjwendt.com\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"jurplel\",\n      \"name\": \"Benjamin O\",\n      \"avatar_url\": \"https://avatars0.githubusercontent.com/u/10716694?v=4\",\n      \"profile\": \"http://interversehq.com\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"webknjaz\",\n      \"name\": \"Sviatoslav Sydorenko\",\n      \"avatar_url\": \"https://avatars2.githubusercontent.com/u/578543?v=4\",\n      \"profile\": \"https://webknjaz.me\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"barnumbirr\",\n      \"name\": \"Martin Simon\",\n      \"avatar_url\": \"https://avatars1.githubusercontent.com/u/2029239?v=4\",\n      \"profile\": \"https://martinsimon.me/\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"cycjimmy\",\n      \"name\": \"Geoffrey.C\",\n      \"avatar_url\": \"https://avatars1.githubusercontent.com/u/19383787?v=4\",\n      \"profile\": \"https://www.cycjimmy.tech\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"ad-m\",\n      \"name\": \"Adam Dobrawy\",\n      \"avatar_url\": \"https://avatars1.githubusercontent.com/u/3618479?v=4\",\n      \"profile\": \"http://ochrona.jawne.info.pl\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"NiklasMerz\",\n      \"name\": \"Niklas Merz\",\n      \"avatar_url\": \"https://avatars0.githubusercontent.com/u/3585860?v=4\",\n      \"profile\": \"https://blog.merzlabs.com/authors/niklas-merz/\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"sobolevn\",\n      \"name\": \"Nikita Sobolev\",\n      \"avatar_url\": \"https://avatars1.githubusercontent.com/u/4660275?v=4\",\n      \"profile\": \"https://sobolevn.me\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"y-mehta\",\n      \"name\": \"Yash Mehta\",\n      \"avatar_url\": \"https://avatars1.githubusercontent.com/u/24428063?v=4\",\n      \"profile\": \"https://github.com/y-mehta\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"stefanzweifel\",\n      \"name\": \"Stefan Zweifel\",\n      \"avatar_url\": \"https://avatars3.githubusercontent.com/u/1080923?v=4\",\n      \"profile\": \"https://stefanzweifel.io\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"ravgeetdhillon\",\n      \"name\": \"Ravgeet Dhillon\",\n      \"avatar_url\": \"https://avatars0.githubusercontent.com/u/27858510?v=4\",\n      \"profile\": \"https://ravgeet.dev/\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"Andrew-Chen-Wang\",\n      \"name\": \"Andrew Chen Wang\",\n      \"avatar_url\": \"https://avatars0.githubusercontent.com/u/60190294?v=4\",\n      \"profile\": \"https://github.com/Andrew-Chen-Wang\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    },\n    {\n      \"login\": \"ruzickap\",\n      \"name\": \"Petr Ruzicka\",\n      \"avatar_url\": \"https://avatars2.githubusercontent.com/u/1434387?v=4\",\n      \"profile\": \"https://petr.ruzicka.dev/\",\n      \"contributions\": [\n        \"doc\"\n      ]\n    }\n  ],\n  \"contributorsPerLine\": 7,\n  \"commitConvention\": \"none\"\n}\n"
  },
  {
    "path": ".gitignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\n\n./functions\n\n# Runtime data\npids\n*.pid\n*.seed\n*.pid.lock\n\n# Directory for instrumented libs generated by jscoverage/JSCover\nlib-cov\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# nyc test coverage\n.nyc_output\n\n# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)\n.grunt\n\n# Bower dependency directory (https://bower.io/)\nbower_components\n\n# node-waf configuration\n.lock-wscript\n\n# Compiled binary addons (http://nodejs.org/api/addons.html)\nbuild/Release\n\n# Dependency directories\nnode_modules/\njspm_packages/\n\n# Typescript v1 declaration files\ntypings/\n\n# Optional npm cache directory\n.npm\n\n# Optional eslint cache\n.eslintcache\n\n# Optional REPL history\n.node_repl_history\n\n# Output of 'npm pack'\n*.tgz\n\n# dotenv environment variables file\n.env\n\n# gatsby files\n.cache/\npublic\n\n# Mac files\n.DS_Store\n\n# Yarn\nyarn-error.log\n.pnp/\n.pnp.js\n# Yarn Integrity file\n.yarn-integrity\n"
  },
  {
    "path": ".nvmrc",
    "content": "v10.16.3\n"
  },
  {
    "path": ".prettierrc",
    "content": "{\n  \"semi\": false,\n  \"singleQuote\": true,\n  \"trailingComma\": \"es5\"\n}\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "## Contributing\n\nHi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.\n\n## Issues\n\nWe'd love you to open issues, if they're relevant to this repository: feature requests, bug reports, questions about our processes, declarations of gratefulness, etc. are all welcome.\n\nIn particular, if you have a large PR you want to send our way, it may make sense to open an issue to discuss it with the maintainers first.\n\n## Submitting a pull request\n\n1. [Fork][fork] and clone the repository\n1. Create a new branch: `git checkout -b my-branch-name`\n1. Make your changes\n1. Push to your fork and [submit a pull request][pr]\n1. Pat your self on the back and wait for your pull request to be reviewed and merged.\n\n## Adding your configuration to github-actions\n\nYou can add your action to the website by creating a [new file md in `/actions directory`](https://github.com/boyney123/github-actions/new/master?filename=src/actions/your-action.md) with a template.\n\nYou have two options to generate a template:\n\n1. Use wizard magic and use this url to generate your markdown : [https://github-actions.netlify.com/.netlify/functions/github?url={YOUR_GITHUB_URL}](https://github-actions.netlify.com/.netlify/functions/github?url={YOUR_GITHUB_URL})\n\n2. Copy the contents below.\n\n```m\n---\npath: '/new-action'\ntitle: 'My New Action'\ngithub_url: 'https://github.com/action-url'\nauthor: 'David Boyne'\ntwitter: '@boyney123'\ntags: ['tagExample']\nsubtitle: 'My new action that does some super cool things.'\n---\n\n\n# Action details\n\nWrite up a description or just copy your README here\n\n```\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) David Boyne <davidboyne123@hotmail.co.uk> \n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "<div align=\"center\">\n<h1>github-actions</h1>\n<a href=\"https://www.emojione.com/emoji/1f428\">\n<img height=\"80\" width=\"80\" alt=\"goat\" src=\"./animal.png\" />\n</a>\n\n<p>A open source app to help developers find GitHub Actions.</p>\n\n[https://github-actions.netlify.app/](https://github-actions.netlify.app/)\n\n</div>\n\n<hr/>\n\n[![All Contributors](https://img.shields.io/badge/all_contributors-20-orange.svg?style=flat-square)](#contributors-) [![MIT License][license-badge]][license] [![PRs Welcome][prs-badge]][prs]\n[![Netlify Status](https://api.netlify.com/api/v1/badges/135bba3e-819f-41a7-86f7-bc93cfecd07d/deploy-status)](https://app.netlify.com/sites/github-actions/deploys)\n[![Join the community on Spectrum][spectrum-badge]][spectrum]\n\n## Motivation\n\n[Github Actions](https://css-tricks.com/introducing-github-actions/) are currently in beta and I believe they are game changing.\n\nHere is a great podcast that inspired me to write this website: [GitHub Actions is the next big thing](https://changelog.com/podcast/331)\n\nI'm excited to see what people build and also discover new actions that are available. You can checkout [https://github.com/sdras/awesome-actions](https://github.com/sdras/awesome-actions) which has some great resource on it!\n\nI created to this application to help people search and share GitHub actions with each other and I wanted to further my knowledge with some tech [gatsbyjs](https://www.gatsbyjs.org/) & [netlify](https://www.netlify.com/).\n\n## Contributors\n\nThanks goes to these wonderful people ([emoji key](https://github.com/all-contributors/all-contributors#emoji-key)):\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n  <tr>\n    <td align=\"center\"><a href=\"https://medium.com/@boyney123\"><img src=\"https://avatars1.githubusercontent.com/u/3268013?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>David Boyne</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=boyney123\" title=\"Code\">💻</a></td>\n    <td align=\"center\"><a href=\"http://bltavares.com\"><img src=\"https://avatars1.githubusercontent.com/u/109474?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Bruno Tavares</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=bltavares\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"https://twitter.com/pascalgn\"><img src=\"https://avatars2.githubusercontent.com/u/432333?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Pascal</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=pascalgn\" title=\"Documentation\">📖</a> <a href=\"https://github.com/boyney123/github-actions/commits?author=pascalgn\" title=\"Code\">💻</a></td>\n    <td align=\"center\"><a href=\"https://pxgamer.xyz\"><img src=\"https://avatars0.githubusercontent.com/u/1899334?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Owen Voke</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=pxgamer\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"http://www.maxheld.de/\"><img src=\"https://avatars0.githubusercontent.com/u/5372770?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Maximilian Held</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=maxheld83\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"https://github.com/jzweifel\"><img src=\"https://avatars0.githubusercontent.com/u/39281691?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jacob Zweifel</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=jzweifel\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"https://mikecoutermarsh.com\"><img src=\"https://avatars0.githubusercontent.com/u/155044?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Mike Coutermarsh</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=mscoutermarsh\" title=\"Documentation\">📖</a></td>\n  </tr>\n  <tr>\n    <td align=\"center\"><a href=\"https://github.com/jonico\"><img src=\"https://avatars3.githubusercontent.com/u/1872314?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Johannes Nicolai</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=jonico\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"https://nicolas-coutin.fr\"><img src=\"https://avatars1.githubusercontent.com/u/6564012?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Nicolas Coutin</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=Ilshidur\" title=\"Code\">💻</a></td>\n    <td align=\"center\"><a href=\"https://maarouf.me\"><img src=\"https://avatars0.githubusercontent.com/u/10760189?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Mariam Maarouf</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=mariamrf\" title=\"Code\">💻</a></td>\n    <td align=\"center\"><a href=\"https://twitter.com/ludnadez\"><img src=\"https://avatars0.githubusercontent.com/u/5674651?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Ludovic Fernandez</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=ldez\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"http://codular.com\"><img src=\"https://avatars1.githubusercontent.com/u/348317?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Michael Wright</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=michaelw90\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"https://jeffpaul.com/\"><img src=\"https://avatars2.githubusercontent.com/u/2818133?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jeffrey Paul</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=jeffpaul\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"https://hymnos.existenz.ch\"><img src=\"https://avatars0.githubusercontent.com/u/288493?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Christian Studer</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=cstuder\" title=\"Documentation\">📖</a></td>\n  </tr>\n  <tr>\n    <td align=\"center\"><a href=\"http://blog.andrewsomething.com/\"><img src=\"https://avatars0.githubusercontent.com/u/46943?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Andrew Starr-Bochicchio</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=andrewsomething\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"http://www.linkedin.com/in/sterhodes\"><img src=\"https://avatars3.githubusercontent.com/u/130488?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Stephen Rhodes</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=MrRhodes\" title=\"Code\">💻</a></td>\n    <td align=\"center\"><a href=\"http://varunsridharan.in\"><img src=\"https://avatars1.githubusercontent.com/u/1884287?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Varun Sridharan</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=varunsridharan\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"https://shivammathur.com\"><img src=\"https://avatars1.githubusercontent.com/u/1571086?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Shivam Mathur</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=shivammathur\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"https://github.com/tnc1997\"><img src=\"https://avatars1.githubusercontent.com/u/17160067?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Thomas Clark</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=tnc1997\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"https://marvinjwendt.com\"><img src=\"https://avatars0.githubusercontent.com/u/31022056?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>MarvinJWendt</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=MarvinJWendt\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"http://interversehq.com\"><img src=\"https://avatars0.githubusercontent.com/u/10716694?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Benjamin O</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=jurplel\" title=\"Documentation\">📖</a></td>\n  </tr>\n  <tr>\n    <td align=\"center\"><a href=\"https://webknjaz.me\"><img src=\"https://avatars2.githubusercontent.com/u/578543?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Sviatoslav Sydorenko</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=webknjaz\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"https://martinsimon.me/\"><img src=\"https://avatars1.githubusercontent.com/u/2029239?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Martin Simon</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=barnumbirr\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"https://www.cycjimmy.tech\"><img src=\"https://avatars1.githubusercontent.com/u/19383787?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Geoffrey.C</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=cycjimmy\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"http://ochrona.jawne.info.pl\"><img src=\"https://avatars1.githubusercontent.com/u/3618479?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Adam Dobrawy</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=ad-m\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"https://blog.merzlabs.com/authors/niklas-merz/\"><img src=\"https://avatars0.githubusercontent.com/u/3585860?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Niklas Merz</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=NiklasMerz\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"https://sobolevn.me\"><img src=\"https://avatars1.githubusercontent.com/u/4660275?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Nikita Sobolev</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=sobolevn\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"https://github.com/y-mehta\"><img src=\"https://avatars1.githubusercontent.com/u/24428063?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Yash Mehta</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=y-mehta\" title=\"Documentation\">📖</a></td>\n  </tr>\n  <tr>\n    <td align=\"center\"><a href=\"https://stefanzweifel.io\"><img src=\"https://avatars3.githubusercontent.com/u/1080923?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Stefan Zweifel</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=stefanzweifel\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"https://ravgeet.dev/\"><img src=\"https://avatars0.githubusercontent.com/u/27858510?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Ravgeet Dhillon</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=ravgeetdhillon\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"https://github.com/Andrew-Chen-Wang\"><img src=\"https://avatars0.githubusercontent.com/u/60190294?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Andrew Chen Wang</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=Andrew-Chen-Wang\" title=\"Documentation\">📖</a></td>\n    <td align=\"center\"><a href=\"https://petr.ruzicka.dev/\"><img src=\"https://avatars2.githubusercontent.com/u/1434387?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Petr Ruzicka</b></sub></a><br /><a href=\"https://github.com/boyney123/github-actions/commits?author=ruzickap\" title=\"Documentation\">📖</a></td>\n  </tr>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n\n<!-- prettier-ignore-start -->\n\n[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg\n[spectrum]: https://spectrum.chat/github-actions\n[license-badge]: https://img.shields.io/badge/License-MIT-yellow.svg\n[license]: https://github.com/boyney123/github-actions/blob/master/LICENSE\n[prs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square\n[prs]: http://makeapullrequest.com\n<!-- prettier-ignore-end -->\n"
  },
  {
    "path": "functions/github.js",
    "content": "!function(e,t){for(var a in t)e[a]=t[a]}(exports,function(e){var t={};function a(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,a),i.l=!0,i.exports}return a.m=e,a.c=t,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},a.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)a.d(r,i,function(t){return e[t]}.bind(null,i));return r},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,\"a\",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p=\"\",a(a.s=92)}([function(e,t,a){var r=a(21),i=a(17).Stream,o=a(4),n=/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/;function s(e){return e.charAt(0).toUpperCase()+e.slice(1)}function c(e,t,a,i,n){throw new r.AssertionError({message:o.format(\"%s (%s) is required\",e,t),actual:void 0===n?typeof i:n(i),expected:t,operator:a||\"===\",stackStartFunction:c.caller})}function u(e){return Object.prototype.toString.call(e).slice(8,-1)}function p(){}var l={bool:{check:function(e){return\"boolean\"==typeof e}},func:{check:function(e){return\"function\"==typeof e}},string:{check:function(e){return\"string\"==typeof e}},object:{check:function(e){return\"object\"==typeof e&&null!==e}},number:{check:function(e){return\"number\"==typeof e&&!isNaN(e)}},finite:{check:function(e){return\"number\"==typeof e&&!isNaN(e)&&isFinite(e)}},buffer:{check:function(e){return Buffer.isBuffer(e)},operator:\"Buffer.isBuffer\"},array:{check:function(e){return Array.isArray(e)},operator:\"Array.isArray\"},stream:{check:function(e){return e instanceof i},operator:\"instanceof\",actual:u},date:{check:function(e){return e instanceof Date},operator:\"instanceof\",actual:u},regexp:{check:function(e){return e instanceof RegExp},operator:\"instanceof\",actual:u},uuid:{check:function(e){return\"string\"==typeof e&&n.test(e)},operator:\"isUUID\"}};e.exports=function e(t){var a,i=Object.keys(l);return a=process.env.NODE_NDEBUG?p:function(e,t){e||c(t,\"true\",e)},i.forEach(function(e){if(t)a[e]=p;else{var r=l[e];a[e]=function(t,a){r.check(t)||c(a,e,r.operator,t,r.actual)}}}),i.forEach(function(e){var r=\"optional\"+s(e);if(t)a[r]=p;else{var i=l[e];a[r]=function(t,a){null!=t&&(i.check(t)||c(a,e,i.operator,t,i.actual))}}}),i.forEach(function(e){var r=\"arrayOf\"+s(e);if(t)a[r]=p;else{var i=l[e],o=\"[\"+e+\"]\";a[r]=function(e,t){var a;for(Array.isArray(e)||c(t,o,i.operator,e,i.actual),a=0;a<e.length;a++)i.check(e[a])||c(t,o,i.operator,e,i.actual)}}}),i.forEach(function(e){var r=\"optionalArrayOf\"+s(e);if(t)a[r]=p;else{var i=l[e],o=\"[\"+e+\"]\";a[r]=function(e,t){var a;if(null!=e)for(Array.isArray(e)||c(t,o,i.operator,e,i.actual),a=0;a<e.length;a++)i.check(e[a])||c(t,o,i.operator,e,i.actual)}}}),Object.keys(r).forEach(function(e){a[e]=\"AssertionError\"!==e&&t?p:r[e]}),a._setExports=e,a}(process.env.NODE_NDEBUG)},function(e,t,a){\"use strict\";var r=a(16),i=\"undefined\"==typeof navigator,o={e:{}},n,s=\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:void 0!==this?this:null;function c(){try{var e=n;return n=null,e.apply(this,arguments)}catch(e){return o.e=e,o}}function u(e){return n=e,c}var p=function(e,t){var a={}.hasOwnProperty;function r(){for(var r in this.constructor=e,this.constructor$=t,t.prototype)a.call(t.prototype,r)&&\"$\"!==r.charAt(r.length-1)&&(this[r+\"$\"]=t.prototype[r])}return r.prototype=t.prototype,e.prototype=new r,e.prototype};function l(e){return null==e||!0===e||!1===e||\"string\"==typeof e||\"number\"==typeof e}function m(e){return\"function\"==typeof e||\"object\"==typeof e&&null!==e}function h(e){return l(e)?new Error(S(e)):e}function d(e,t){var a,r=e.length,i=new Array(r+1);for(a=0;a<r;++a)i[a]=e[a];return i[a]=t,i}function f(e,t,a){if(!r.isES5)return{}.hasOwnProperty.call(e,t)?e[t]:void 0;var i=Object.getOwnPropertyDescriptor(e,t);return null!=i?null==i.get&&null==i.set?i.value:a:void 0}function g(e,t,a){if(l(e))return e;var i={value:a,configurable:!0,enumerable:!1,writable:!0};return r.defineProperty(e,t,i),e}function v(e){throw e}var y=function(){var e=[Array.prototype,Object.prototype,Function.prototype],t=function(t){for(var a=0;a<e.length;++a)if(e[a]===t)return!0;return!1};if(r.isES5){var a=Object.getOwnPropertyNames;return function(e){for(var i=[],o=Object.create(null);null!=e&&!t(e);){var n;try{n=a(e)}catch(e){return i}for(var s=0;s<n.length;++s){var c=n[s];if(!o[c]){o[c]=!0;var u=Object.getOwnPropertyDescriptor(e,c);null!=u&&null==u.get&&null==u.set&&i.push(c)}}e=r.getPrototypeOf(e)}return i}}var i={}.hasOwnProperty;return function(a){if(t(a))return[];var r=[];e:for(var o in a)if(i.call(a,o))r.push(o);else{for(var n=0;n<e.length;++n)if(i.call(e[n],o))continue e;r.push(o)}return r}}(),b=/this\\s*\\.\\s*\\S+\\s*=/;function k(e){try{if(\"function\"==typeof e){var t=r.names(e.prototype),a=r.isES5&&t.length>1,i=t.length>0&&!(1===t.length&&\"constructor\"===t[0]),o=b.test(e+\"\")&&r.names(e).length>0;if(a||i||o)return!0}return!1}catch(e){return!1}}function x(e){function t(){}t.prototype=e;var a=new t;function r(){return typeof a.foo}return r(),r(),e}var w=/^[a-z$_][a-z$_0-9]*$/i;function j(e){return w.test(e)}function _(e,t,a){for(var r=new Array(e),i=0;i<e;++i)r[i]=t+i+a;return r}function S(e){try{return e+\"\"}catch(e){return\"[no string representation]\"}}function E(e){return e instanceof Error||null!==e&&\"object\"==typeof e&&\"string\"==typeof e.message&&\"string\"==typeof e.name}function F(e){try{g(e,\"isOperational\",!0)}catch(e){}}function P(e){return null!=e&&(e instanceof Error.__BluebirdErrorTypes__.OperationalError||!0===e.isOperational)}function z(e){return E(e)&&r.propertyIsWritable(e,\"stack\")}var C=\"stack\"in new Error?function(e){return z(e)?e:new Error(S(e))}:function(e){if(z(e))return e;try{throw new Error(S(e))}catch(e){return e}};function A(e){return{}.toString.call(e)}function O(e,t,a){for(var i=r.names(e),o=0;o<i.length;++o){var n=i[o];if(a(n))try{r.defineProperty(t,n,r.getDescriptor(e,n))}catch(e){}}}var q=function(e){return r.isArray(e)?e:null};if(\"undefined\"!=typeof Symbol&&Symbol.iterator){var T=\"function\"==typeof Array.from?function(e){return Array.from(e)}:function(e){for(var t,a=[],r=e[Symbol.iterator]();!(t=r.next()).done;)a.push(t.value);return a};q=function(e){return r.isArray(e)?e:null!=e&&\"function\"==typeof e[Symbol.iterator]?T(e):null}}var B=\"undefined\"!=typeof process&&\"[object process]\"===A(process).toLowerCase(),D=\"undefined\"!=typeof process&&void 0!==process.env;function I(e){return D?process.env[e]:void 0}function R(){if(\"function\"==typeof Promise)try{var e=new Promise(function(){});if(\"[object Promise]\"==={}.toString.call(e))return Promise}catch(e){}}function N(e,t){return e.bind(t)}var L={isClass:k,isIdentifier:j,inheritedDataKeys:y,getDataPropertyOrDefault:f,thrower:v,isArray:r.isArray,asArray:q,notEnumerableProp:g,isPrimitive:l,isObject:m,isError:E,canEvaluate:i,errorObj:o,tryCatch:u,inherits:p,withAppended:d,maybeWrapAsError:h,toFastProperties:x,filledRange:_,toString:S,canAttachTrace:z,ensureErrorObject:C,originatesFromRejection:P,markAsOriginatingFromRejection:F,classString:A,copyDescriptors:O,hasDevTools:\"undefined\"!=typeof chrome&&chrome&&\"function\"==typeof chrome.loadTimes,isNode:B,hasEnvVariables:D,env:I,global:s,getNativePromise:R,domainBind:N},U;L.isRecentNode=L.isNode&&(U=process.versions.node.split(\".\").map(Number),0===U[0]&&U[1]>10||U[0]>0),L.isNode&&L.toFastProperties(process);try{throw new Error}catch(e){L.lastLineError=e}e.exports=L},function(e,t,a){\"use strict\";var r,i=a(62),o=i.Buffer,n={};for(r in i)i.hasOwnProperty(r)&&\"SlowBuffer\"!==r&&\"Buffer\"!==r&&(n[r]=i[r]);var s=n.Buffer={};for(r in o)o.hasOwnProperty(r)&&\"allocUnsafe\"!==r&&\"allocUnsafeSlow\"!==r&&(s[r]=o[r]);if(n.Buffer.prototype=o.prototype,s.from&&s.from!==Uint8Array.from||(s.from=function(e,t,a){if(\"number\"==typeof e)throw new TypeError('The \"value\" argument must not be of type number. Received type '+typeof e);if(e&&void 0===e.length)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof e);return o(e,t,a)}),s.alloc||(s.alloc=function(e,t,a){if(\"number\"!=typeof e)throw new TypeError('The \"size\" argument must be of type number. Received type '+typeof e);if(e<0||e>=2*(1<<30))throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"');var r=o(e);return t&&0!==t.length?\"string\"==typeof a?r.fill(t,a):r.fill(t):r.fill(0),r}),!n.kStringMaxLength)try{n.kStringMaxLength=process.binding(\"buffer\").kStringMaxLength}catch(e){}n.constants||(n.constants={MAX_LENGTH:n.kMaxLength},n.kStringMaxLength&&(n.constants.MAX_STRING_LENGTH=n.kStringMaxLength)),e.exports=n},function(e,t){e.exports=require(\"crypto\")},function(e,t){e.exports=require(\"util\")},function(e,t,a){e.exports=g;var r,i=a(0),o=a(8),n=a(3),s=a(22),c=a(10),u=a(41).DiffieHellman,p=a(9),l=a(6),m=a(7);try{r=a(63)}catch(e){}var h=p.InvalidAlgorithmError,d=p.KeyParseError,f={};function g(e){i.object(e,\"options\"),i.arrayOfObject(e.parts,\"options.parts\"),i.string(e.type,\"options.type\"),i.optionalString(e.comment,\"options.comment\");var t=o.info[e.type];if(\"object\"!=typeof t)throw new h(e.type);for(var a,r={},n=0;n<e.parts.length;++n){var s=e.parts[n];r[s.name]=s}if(this.type=e.type,this.parts=e.parts,this.part=r,this.comment=void 0,this.source=e.source,this._rfc4253Cache=e._rfc4253Cache,this._hashCache={},this.curve=void 0,\"ecdsa\"===this.type){var c=this.part.curve.data.toString();this.curve=c,a=o.curves[c].size}else if(\"ed25519\"===this.type||\"curve25519\"===this.type)a=256,this.curve=\"curve25519\";else{var u=this.part[t.sizePart];a=8*(a=u.data.length)-l.countZeros(u.data)}this.size=a}f.auto=a(64),f.pem=a(14),f.pkcs1=a(42),f.pkcs8=a(26),f.rfc4253=a(15),f.ssh=a(66),f[\"ssh-private\"]=a(32),f.openssh=f[\"ssh-private\"],f.dnssec=a(43),f.putty=a(67),f.ppk=f.putty,g.formats=f,g.prototype.toBuffer=function(e,t){return void 0===e&&(e=\"ssh\"),i.string(e,\"format\"),i.object(f[e],\"formats[format]\"),i.optionalObject(t,\"options\"),\"rfc4253\"===e?(void 0===this._rfc4253Cache&&(this._rfc4253Cache=f.rfc4253.write(this)),this._rfc4253Cache):f[e].write(this,t)},g.prototype.toString=function(e,t){return this.toBuffer(e,t).toString()},g.prototype.hash=function(e,t){if(i.string(e,\"algorithm\"),i.optionalString(t,\"type\"),void 0===t&&(t=\"ssh\"),e=e.toLowerCase(),void 0===o.hashAlgs[e])throw new h(e);var a,r=e+\"||\"+t;if(this._hashCache[r])return this._hashCache[r];if(\"ssh\"===t)a=this.toBuffer(\"rfc4253\");else{if(\"spki\"!==t)throw new Error(\"Hash type \"+t+\" not supported\");a=f.pkcs8.pkcs8ToBuffer(this)}var s=n.createHash(e).update(a).digest();return this._hashCache[r]=s,s},g.prototype.fingerprint=function(e,t){void 0===e&&(e=\"sha256\"),void 0===t&&(t=\"ssh\"),i.string(e,\"algorithm\"),i.string(t,\"type\");var a={type:\"key\",hash:this.hash(e,t),algorithm:e,hashType:t};return new s(a)},g.prototype.defaultHashAlgorithm=function(){var e=\"sha1\";return\"rsa\"===this.type&&(e=\"sha256\"),\"dsa\"===this.type&&this.size>1024&&(e=\"sha256\"),\"ed25519\"===this.type&&(e=\"sha512\"),\"ecdsa\"===this.type&&(e=this.size<=256?\"sha256\":this.size<=384?\"sha384\":\"sha512\"),e},g.prototype.createVerify=function(e){if(void 0===e&&(e=this.defaultHashAlgorithm()),i.string(e,\"hash algorithm\"),\"ed25519\"===this.type&&void 0!==r)return new r.Verifier(this,e);if(\"curve25519\"===this.type)throw new Error(\"Curve25519 keys are not suitable for signing or verification\");var t,a,o;try{a=e.toUpperCase(),t=n.createVerify(a)}catch(e){o=e}(void 0===t||o instanceof Error&&o.message.match(/Unknown message digest/))&&(a=\"RSA-\",a+=e.toUpperCase(),t=n.createVerify(a)),i.ok(t,\"failed to create verifier\");var s=t.verify.bind(t),u=this.toBuffer(\"pkcs8\"),p=this.curve,l=this;return t.verify=function(t,a){if(c.isSignature(t,[2,0]))return t.type===l.type&&((!t.hashAlgorithm||t.hashAlgorithm===e)&&((!t.curve||\"ecdsa\"!==l.type||t.curve===p)&&s(u,t.toBuffer(\"asn1\"))));if(\"string\"==typeof t||Buffer.isBuffer(t))return s(u,t,a);throw c.isSignature(t,[1,0])?new Error(\"signature was created by too old a version of sshpk and cannot be verified\"):new TypeError(\"signature must be a string, Buffer, or Signature object\")},t},g.prototype.createDiffieHellman=function(){if(\"rsa\"===this.type)throw new Error(\"RSA keys do not support Diffie-Hellman\");return new u(this)},g.prototype.createDH=g.prototype.createDiffieHellman,g.parse=function(e,t,a){\"string\"!=typeof e&&i.buffer(e,\"data\"),void 0===t&&(t=\"auto\"),i.string(t,\"format\"),\"string\"==typeof a&&(a={filename:a}),i.optionalObject(a,\"options\"),void 0===a&&(a={}),i.optionalString(a.filename,\"options.filename\"),void 0===a.filename&&(a.filename=\"(unnamed)\"),i.object(f[t],\"formats[format]\");try{var r=f[t].read(e,a);return r instanceof m&&(r=r.toPublic()),r.comment||(r.comment=a.filename),r}catch(e){if(\"KeyEncryptedError\"===e.name)throw e;throw new d(a.filename,t,e)}},g.isKey=function(e,t){return l.isCompatible(e,g,t)},g.prototype._sshpkApiVersion=[1,7],g._oldVersionDetect=function(e){return i.func(e.toBuffer),i.func(e.fingerprint),e.createDH?[1,4]:e.defaultHashAlgorithm?[1,3]:e.formats.auto?[1,2]:e.formats.pkcs1?[1,1]:[1,0]}},function(e,t,a){e.exports={bufferSplit:function(e,t){r.buffer(e),r.string(t);for(var a=[],i=0,o=0,n=0;n<e.length;++n)if(e[n]===t.charCodeAt(o)?++o:o=e[n]===t.charCodeAt(0)?1:0,o>=t.length){var s=n+1;a.push(e.slice(i,s-o)),i=s,o=0}i<=e.length&&a.push(e.slice(i,e.length));return a},addRSAMissing:function(e){r.object(e),d(e,o,[1,1]);var t,a=new l(e.part.d.data);if(!e.part.dmodp){var i=new l(e.part.p.data),n=a.mod(i.subtract(1));t=y(n),e.part.dmodp={name:\"dmodp\",data:t},e.parts.push(e.part.dmodp)}if(!e.part.dmodq){var s=new l(e.part.q.data),c=a.mod(s.subtract(1));t=y(c),e.part.dmodq={name:\"dmodq\",data:t},e.parts.push(e.part.dmodq)}},calculateDSAPublic:function(e,t,a){return r.buffer(e),r.buffer(t),r.buffer(a),e=new l(e),t=new l(t),a=new l(a),y(e.modPow(a,t))},calculateED25519Public:function(e){r.buffer(e);var t=m.sign.keyPair.fromSeed(new Uint8Array(e));return i.from(t.publicKey)},calculateX25519Public:function(e){r.buffer(e);var t=m.box.keyPair.fromSeed(new Uint8Array(e));return i.from(t.publicKey)},mpNormalize:v,mpDenormalize:function(e){r.buffer(e);for(;e.length>1&&0===e[0];)e=e.slice(1);return e},ecNormalize:function(e,t){if(r.buffer(e),0===e[0]&&4===e[1])return t?e:e.slice(1);if(4===e[0]){if(!t)return e}else{for(;0===e[0];)e=e.slice(1);if(2===e[0]||3===e[0])throw new Error(\"Compressed elliptic curve points are not supported\");if(4!==e[0])throw new Error(\"Not a valid elliptic curve point\");if(!t)return e}var a=i.alloc(e.length+1);return a[0]=0,e.copy(a,1),a},countZeros:function(e){var t=0,a=8;for(;t<e.length;){var r=1<<a;if((e[t]&r)===r)break;--a<0&&(t++,a=8)}return 8*t+(8-a)-1},assertCompatible:d,isCompatible:function(e,t,a){if(null===e||\"object\"!=typeof e)return!1;void 0===a&&(a=t.prototype._sshpkApiVersion);if(e instanceof t&&t.prototype._sshpkApiVersion[0]==a[0])return!0;var r=Object.getPrototypeOf(e),i=0;for(;r.constructor.name!==t.name;)if(!(r=Object.getPrototypeOf(r))||++i>h)return!1;if(r.constructor.name!==t.name)return!1;var o=r._sshpkApiVersion;void 0===o&&(o=t._oldVersionDetect(e));return!(o[0]!=a[0]||o[1]<a[1])},opensslKeyDeriv:function(e,t,a,o){r.buffer(t,\"salt\"),r.buffer(a,\"passphrase\"),r.number(o,\"iteration count\");var n,c,u,p=f[e];r.object(p,\"supported cipher\"),t=t.slice(0,g);var l=i.alloc(0);for(;l.length<p.key+p.iv;){u=[],c&&u.push(c),u.push(a),u.push(t),n=i.concat(u);for(var m=0;m<o;++m)n=s.createHash(\"md5\").update(n).digest();l=i.concat([l,n]),c=n}return{key:l.slice(0,p.key),iv:l.slice(p.key,p.key+p.iv)}},opensshCipherInfo:function(e){var t={};switch(e){case\"3des-cbc\":t.keySize=24,t.blockSize=8,t.opensslName=\"des-ede3-cbc\";break;case\"blowfish-cbc\":t.keySize=16,t.blockSize=8,t.opensslName=\"bf-cbc\";break;case\"aes128-cbc\":case\"aes128-ctr\":case\"aes128-gcm@openssh.com\":t.keySize=16,t.blockSize=16,t.opensslName=\"aes-128-\"+e.slice(7,10);break;case\"aes192-cbc\":case\"aes192-ctr\":case\"aes192-gcm@openssh.com\":t.keySize=24,t.blockSize=16,t.opensslName=\"aes-192-\"+e.slice(7,10);break;case\"aes256-cbc\":case\"aes256-ctr\":case\"aes256-gcm@openssh.com\":t.keySize=32,t.blockSize=16,t.opensslName=\"aes-256-\"+e.slice(7,10);break;default:throw new Error('Unsupported openssl cipher \"'+e+'\"')}return t},publicFromPrivateECDSA:function(e,t){r.string(e,\"curveName\"),r.buffer(t);var a=c.curves[e],o=new l(a.p),s=new l(a.a),u=new l(a.b),m=new p.ECCurveFp(o,s,u),h=m.decodePointHex(a.G.toString(\"hex\")),d=new l(v(t)),f=h.multiply(d);f=i.from(m.encodePointHex(f),\"hex\");var g=[];return g.push({name:\"curve\",data:i.from(e)}),g.push({name:\"Q\",data:f}),new n({type:\"ecdsa\",curve:m,parts:g})},zeroPadToLength:function(e,t){r.buffer(e),r.number(t);for(;e.length>t;)r.equal(e[0],0),e=e.slice(1);for(;e.length<t;){var a=i.alloc(e.length+1);a[0]=0,e.copy(a,1),e=a}return e},writeBitString:function(e,t,a){void 0===a&&(a=u.Ber.BitString);var r=i.alloc(t.length+1);r[0]=0,t.copy(r,1),e.writeBuffer(r,a)},readBitString:function(e,t){void 0===t&&(t=u.Ber.BitString);var a=e.readString(t,!0);return r.strictEqual(a[0],0,\"bit strings with unused bits are not supported (0x\"+a[0].toString(16)+\")\"),a.slice(1)},pbkdf2:function(e,t,a,r,o){var n=i.alloc(t.length+4);t.copy(n);var c=0,u=[],p=1;for(;c<r;){var l=m(p++);c+=l.length,u.push(l)}return i.concat(u).slice(0,r);function m(t){n.writeUInt32BE(t,n.length-4);var r=s.createHmac(e,o);r.update(n);for(var i=r.digest(),c=i,u=1;u++<a;){(r=s.createHmac(e,o)).update(c),c=r.digest();for(var p=0;p<i.length;++p)i[p]^=c[p]}return i}}};var r=a(0),i=a(2).Buffer,o=a(7),n=a(5),s=a(3),c=a(8),u=a(11),p=a(31),l=a(23).BigInteger,m=a(24),h=3;function d(e,t,a,i){if(void 0===i&&(i=\"object\"),r.ok(e,i+\" must not be null\"),r.object(e,i+\" must be an object\"),void 0===a&&(a=t.prototype._sshpkApiVersion),!(e instanceof t&&t.prototype._sshpkApiVersion[0]==a[0])){for(var o=Object.getPrototypeOf(e),n=0;o.constructor.name!==t.name;)o=Object.getPrototypeOf(o),r.ok(o&&++n<=h,i+\" must be a \"+t.name+\" instance\");r.strictEqual(o.constructor.name,t.name,i+\" must be a \"+t.name+\" instance\");var s=o._sshpkApiVersion;void 0===s&&(s=t._oldVersionDetect(e)),r.ok(s[0]==a[0]&&s[1]>=a[1],i+\" must be compatible with \"+t.name+\" klass version \"+a[0]+\".\"+a[1])}}var f={\"des-ede3-cbc\":{key:24,iv:8},\"aes-128-cbc\":{key:16,iv:16},\"aes-256-cbc\":{key:32,iv:16}},g=8;function v(e){for(r.buffer(e);e.length>1&&0===e[0]&&0==(128&e[1]);)e=e.slice(1);if(128==(128&e[0])){var t=i.alloc(e.length+1);t[0]=0,e.copy(t,1),e=t}return e}function y(e){var t=i.from(e.toByteArray());return t=v(t)}},function(e,t,a){e.exports=b;var r=a(0),i=a(2).Buffer,o=a(8),n=a(3),s=(a(22),a(10)),c=a(9),u=a(4),p=a(6),l=a(41),m=l.generateECDSA,h=l.generateED25519,d=a(63),f=a(24),g=a(5),v=(c.InvalidAlgorithmError,c.KeyParseError),y=(c.KeyEncryptedError,{});function b(e){r.object(e,\"options\"),g.call(this,e),this._pubCache=void 0}y.auto=a(64),y.pem=a(14),y.pkcs1=a(42),y.pkcs8=a(26),y.rfc4253=a(15),y[\"ssh-private\"]=a(32),y.openssh=y[\"ssh-private\"],y.ssh=y[\"ssh-private\"],y.dnssec=a(43),u.inherits(b,g),b.formats=y,b.prototype.toBuffer=function(e,t){return void 0===e&&(e=\"pkcs1\"),r.string(e,\"format\"),r.object(y[e],\"formats[format]\"),r.optionalObject(t,\"options\"),y[e].write(this,t)},b.prototype.hash=function(e,t){return this.toPublic().hash(e,t)},b.prototype.fingerprint=function(e,t){return this.toPublic().fingerprint(e,t)},b.prototype.toPublic=function(){if(this._pubCache)return this._pubCache;for(var e=o.info[this.type],t=[],a=0;a<e.parts.length;++a){var r=e.parts[a];t.push(this.part[r])}return this._pubCache=new g({type:this.type,source:this,parts:t}),this.comment&&(this._pubCache.comment=this.comment),this._pubCache},b.prototype.derive=function(e){var t,a,o;if(r.string(e,\"type\"),\"ed25519\"===this.type&&\"curve25519\"===e)return 0===(t=this.part.k.data)[0]&&(t=t.slice(1)),o=f.box.keyPair.fromSecretKey(new Uint8Array(t)),a=i.from(o.publicKey),new b({type:\"curve25519\",parts:[{name:\"A\",data:p.mpNormalize(a)},{name:\"k\",data:p.mpNormalize(t)}]});if(\"curve25519\"===this.type&&\"ed25519\"===e)return 0===(t=this.part.k.data)[0]&&(t=t.slice(1)),o=f.sign.keyPair.fromSeed(new Uint8Array(t)),a=i.from(o.publicKey),new b({type:\"ed25519\",parts:[{name:\"A\",data:p.mpNormalize(a)},{name:\"k\",data:p.mpNormalize(t)}]});throw new Error(\"Key derivation not supported from \"+this.type+\" to \"+e)},b.prototype.createVerify=function(e){return this.toPublic().createVerify(e)},b.prototype.createSign=function(e){if(void 0===e&&(e=this.defaultHashAlgorithm()),r.string(e,\"hash algorithm\"),\"ed25519\"===this.type&&void 0!==d)return new d.Signer(this,e);if(\"curve25519\"===this.type)throw new Error(\"Curve25519 keys are not suitable for signing or verification\");var t,a,o;try{a=e.toUpperCase(),t=n.createSign(a)}catch(e){o=e}(void 0===t||o instanceof Error&&o.message.match(/Unknown message digest/))&&(a=\"RSA-\",a+=e.toUpperCase(),t=n.createSign(a)),r.ok(t,\"failed to create verifier\");var c=t.sign.bind(t),u=this.toBuffer(\"pkcs1\"),p=this.type,l=this.curve;return t.sign=function(){var t=c(u);return\"string\"==typeof t&&(t=i.from(t,\"binary\")),(t=s.parse(t,p,\"asn1\")).hashAlgorithm=e,t.curve=l,t},t},b.parse=function(e,t,a){\"string\"!=typeof e&&r.buffer(e,\"data\"),void 0===t&&(t=\"auto\"),r.string(t,\"format\"),\"string\"==typeof a&&(a={filename:a}),r.optionalObject(a,\"options\"),void 0===a&&(a={}),r.optionalString(a.filename,\"options.filename\"),void 0===a.filename&&(a.filename=\"(unnamed)\"),r.object(y[t],\"formats[format]\");try{var i=y[t].read(e,a);return r.ok(i instanceof b,\"key is not a private key\"),i.comment||(i.comment=a.filename),i}catch(e){if(\"KeyEncryptedError\"===e.name)throw e;throw new v(a.filename,t,e)}},b.isPrivateKey=function(e,t){return p.isCompatible(e,b,t)},b.generate=function(e,t){switch(void 0===t&&(t={}),r.object(t,\"options\"),e){case\"ecdsa\":return void 0===t.curve&&(t.curve=\"nistp256\"),r.string(t.curve,\"options.curve\"),m(t.curve);case\"ed25519\":return h();default:throw new Error('Key generation not supported with key type \"'+e+'\"')}},b.prototype._sshpkApiVersion=[1,6],b._oldVersionDetect=function(e){return r.func(e.toPublic),r.func(e.createSign),e.derive?[1,3]:e.defaultHashAlgorithm?[1,2]:e.formats.auto?[1,1]:[1,0]}},function(e,t,a){var r=a(2).Buffer,i={dsa:{parts:[\"p\",\"q\",\"g\",\"y\"],sizePart:\"p\"},rsa:{parts:[\"e\",\"n\"],sizePart:\"n\"},ecdsa:{parts:[\"curve\",\"Q\"],sizePart:\"Q\"},ed25519:{parts:[\"A\"],sizePart:\"A\"}};i.curve25519=i.ed25519;var o={dsa:{parts:[\"p\",\"q\",\"g\",\"y\",\"x\"]},rsa:{parts:[\"n\",\"e\",\"d\",\"iqmp\",\"p\",\"q\"]},ecdsa:{parts:[\"curve\",\"Q\",\"d\"]},ed25519:{parts:[\"A\",\"k\"]}};o.curve25519=o.ed25519;var n={nistp256:{size:256,pkcs8oid:\"1.2.840.10045.3.1.7\",p:r.from(\"00ffffffff 00000001 00000000 0000000000000000 ffffffff ffffffff ffffffff\".replace(/ /g,\"\"),\"hex\"),a:r.from(\"00FFFFFFFF 00000001 00000000 0000000000000000 FFFFFFFF FFFFFFFF FFFFFFFC\".replace(/ /g,\"\"),\"hex\"),b:r.from(\"5ac635d8 aa3a93e7 b3ebbd55 769886bc651d06b0 cc53b0f6 3bce3c3e 27d2604b\".replace(/ /g,\"\"),\"hex\"),s:r.from(\"00c49d3608 86e70493 6a6678e1 139d26b7819f7e90\".replace(/ /g,\"\"),\"hex\"),n:r.from(\"00ffffffff 00000000 ffffffff ffffffffbce6faad a7179e84 f3b9cac2 fc632551\".replace(/ /g,\"\"),\"hex\"),G:r.from(\"046b17d1f2 e12c4247 f8bce6e5 63a440f277037d81 2deb33a0 f4a13945 d898c2964fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e162bce3357 6b315ece cbb64068 37bf51f5\".replace(/ /g,\"\"),\"hex\")},nistp384:{size:384,pkcs8oid:\"1.3.132.0.34\",p:r.from(\"00ffffffff ffffffff ffffffff ffffffffffffffff ffffffff ffffffff fffffffeffffffff 00000000 00000000 ffffffff\".replace(/ /g,\"\"),\"hex\"),a:r.from(\"00FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFEFFFFFFFF 00000000 00000000 FFFFFFFC\".replace(/ /g,\"\"),\"hex\"),b:r.from(\"b3312fa7 e23ee7e4 988e056b e3f82d19181d9c6e fe814112 0314088f 5013875ac656398d 8a2ed19d 2a85c8ed d3ec2aef\".replace(/ /g,\"\"),\"hex\"),s:r.from(\"00a335926a a319a27a 1d00896a 6773a4827acdac73\".replace(/ /g,\"\"),\"hex\"),n:r.from(\"00ffffffff ffffffff ffffffff ffffffffffffffff ffffffff c7634d81 f4372ddf581a0db2 48b0a77a ecec196a ccc52973\".replace(/ /g,\"\"),\"hex\"),G:r.from(\"04aa87ca22 be8b0537 8eb1c71e f320ad746e1d3b62 8ba79b98 59f741e0 82542a385502f25d bf55296c 3a545e38 72760ab73617de4a 96262c6f 5d9e98bf 9292dc29f8f41dbd 289a147c e9da3113 b5f0b8c00a60b1ce 1d7e819d 7a431d7c 90ea0e5f\".replace(/ /g,\"\"),\"hex\")},nistp521:{size:521,pkcs8oid:\"1.3.132.0.35\",p:r.from(\"01ffffff ffffffff ffffffff ffffffffffffffff ffffffff ffffffff ffffffffffffffff ffffffff ffffffff ffffffffffffffff ffffffff ffffffff ffffffffffff\".replace(/ /g,\"\"),\"hex\"),a:r.from(\"01FFFFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFFFFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFC\".replace(/ /g,\"\"),\"hex\"),b:r.from(\"51953eb961 8e1c9a1f 929a21a0 b68540eea2da725b 99b315f3 b8b48991 8ef109e156193951 ec7e937b 1652c0bd 3bb1bf073573df88 3d2c34f1 ef451fd4 6b503f00\".replace(/ /g,\"\"),\"hex\"),s:r.from(\"00d09e8800 291cb853 96cc6717 393284aaa0da64ba\".replace(/ /g,\"\"),\"hex\"),n:r.from(\"01ffffffffff ffffffff ffffffff ffffffffffffffff ffffffff ffffffff fffffffa51868783 bf2f966b 7fcc0148 f709a5d03bb5c9b8 899c47ae bb6fb71e 91386409\".replace(/ /g,\"\"),\"hex\"),G:r.from(\"0400c6 858e06b7 0404e9cd 9e3ecb66 2395b4429c648139 053fb521 f828af60 6b4d3dbaa14b5e77 efe75928 fe1dc127 a2ffa8de3348b3c1 856a429b f97e7e31 c2e5bd660118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd998f54449 579b4468 17afbd17 273e662c97ee7299 5ef42640 c550b901 3fad0761353c7086 a272c240 88be9476 9fd16650\".replace(/ /g,\"\"),\"hex\")}};e.exports={info:i,privInfo:o,hashAlgs:{md5:!0,sha1:!0,sha256:!0,sha384:!0,sha512:!0},curves:n}},function(e,t,a){a(0);var r=a(4);function i(e,t){Error.captureStackTrace&&Error.captureStackTrace(this,i),this.name=\"FingerprintFormatError\",this.fingerprint=e,this.format=t,this.message=\"Fingerprint format is not supported, or is invalid: \",void 0!==e&&(this.message+=\" fingerprint = \"+e),void 0!==t&&(this.message+=\" format = \"+t)}function o(e){Error.captureStackTrace&&Error.captureStackTrace(this,o),this.name=\"InvalidAlgorithmError\",this.algorithm=e,this.message='Algorithm \"'+e+'\" is not supported'}function n(e,t,a){Error.captureStackTrace&&Error.captureStackTrace(this,n),this.name=\"KeyParseError\",this.format=t,this.keyName=e,this.innerErr=a,this.message=\"Failed to parse \"+e+\" as a valid \"+t+\" format key: \"+a.message}function s(e,t,a){Error.captureStackTrace&&Error.captureStackTrace(this,s),this.name=\"SignatureParseError\",this.type=e,this.format=t,this.innerErr=a,this.message=\"Failed to parse the given data as a \"+e+\" signature in \"+t+\" format: \"+a.message}function c(e,t,a){Error.captureStackTrace&&Error.captureStackTrace(this,c),this.name=\"CertificateParseError\",this.format=t,this.certName=e,this.innerErr=a,this.message=\"Failed to parse \"+e+\" as a valid \"+t+\" format certificate: \"+a.message}function u(e,t){Error.captureStackTrace&&Error.captureStackTrace(this,u),this.name=\"KeyEncryptedError\",this.format=t,this.keyName=e,this.message=\"The \"+t+\" format key \"+e+\" is encrypted (password-protected), and no passphrase was provided in `options`\"}r.inherits(i,Error),r.inherits(o,Error),r.inherits(n,Error),r.inherits(s,Error),r.inherits(c,Error),r.inherits(u,Error),e.exports={FingerprintFormatError:i,InvalidAlgorithmError:o,KeyParseError:n,SignatureParseError:s,KeyEncryptedError:u,CertificateParseError:c}},function(e,t,a){e.exports=l;var r=a(0),i=a(2).Buffer,o=(a(8),a(3),a(9)),n=a(6),s=a(11),c=a(25),u=o.InvalidAlgorithmError,p=o.SignatureParseError;function l(e){r.object(e,\"options\"),r.arrayOfObject(e.parts,\"options.parts\"),r.string(e.type,\"options.type\");for(var t={},a=0;a<e.parts.length;++a){var i=e.parts[a];t[i.name]=i}this.type=e.type,this.hashAlgorithm=e.hashAlgo,this.curve=e.curve,this.parts=e.parts,this.part=t}function m(e,t,a,i){if(\"ssh\"===a){try{var o=new c({buffer:e}),n=o.readString()}catch(e){}if(void 0!==o){var s=\"SSH signature does not match expected type (expected \"+t+\", got \"+n+\")\";switch(n){case\"ssh-rsa\":r.strictEqual(t,\"rsa\",s),i.hashAlgo=\"sha1\";break;case\"rsa-sha2-256\":r.strictEqual(t,\"rsa\",s),i.hashAlgo=\"sha256\";break;case\"rsa-sha2-512\":r.strictEqual(t,\"rsa\",s),i.hashAlgo=\"sha512\";break;case\"ssh-ed25519\":r.strictEqual(t,\"ed25519\",s),i.hashAlgo=\"sha512\";break;default:throw new Error(\"Unknown SSH signature type: \"+n)}var u=o.readPart();return r.ok(o.atEnd(),\"extra trailing bytes\"),u.name=\"sig\",i.parts.push(u),new l(i)}}return i.parts.push({name:\"sig\",data:e}),new l(i)}l.prototype.toBuffer=function(e){var t;void 0===e&&(e=\"asn1\"),r.string(e,\"format\");var a=\"ssh-\"+this.type;switch(this.type){case\"rsa\":switch(this.hashAlgorithm){case\"sha256\":a=\"rsa-sha2-256\";break;case\"sha512\":a=\"rsa-sha2-512\";break;case\"sha1\":case void 0:break;default:throw new Error(\"SSH signature format does not support hash algorithm \"+this.hashAlgorithm)}return\"ssh\"===e?((t=new c({})).writeString(a),t.writePart(this.part.sig),t.toBuffer()):this.part.sig.data;case\"ed25519\":return\"ssh\"===e?((t=new c({})).writeString(a),t.writePart(this.part.sig),t.toBuffer()):this.part.sig.data;case\"dsa\":case\"ecdsa\":var o,u;if(\"asn1\"===e){var p=new s.BerWriter;return p.startSequence(),o=n.mpNormalize(this.part.r.data),u=n.mpNormalize(this.part.s.data),p.writeBuffer(o,s.Ber.Integer),p.writeBuffer(u,s.Ber.Integer),p.endSequence(),p.buffer}if(\"ssh\"===e&&\"dsa\"===this.type){if((t=new c({})).writeString(\"ssh-dss\"),(o=this.part.r.data).length>20&&0===o[0]&&(o=o.slice(1)),(u=this.part.s.data).length>20&&0===u[0]&&(u=u.slice(1)),this.hashAlgorithm&&\"sha1\"!==this.hashAlgorithm||o.length+u.length!==40)throw new Error(\"OpenSSH only supports DSA signatures with SHA1 hash\");return t.writeBuffer(i.concat([o,u])),t.toBuffer()}if(\"ssh\"===e&&\"ecdsa\"===this.type){var l,m=new c({});o=this.part.r.data,m.writeBuffer(o),m.writePart(this.part.s),t=new c({}),0===o[0]&&(o=o.slice(1));var h=8*o.length;return 256===h?l=\"nistp256\":384===h?l=\"nistp384\":528===h&&(l=\"nistp521\"),t.writeString(\"ecdsa-sha2-\"+l),t.writeBuffer(m.toBuffer()),t.toBuffer()}throw new Error(\"Invalid signature format\");default:throw new Error(\"Invalid signature data\")}},l.prototype.toString=function(e){return r.optionalString(e,\"format\"),this.toBuffer(e).toString(\"base64\")},l.parse=function(e,t,a){\"string\"==typeof e&&(e=i.from(e,\"base64\")),r.buffer(e,\"data\"),r.string(a,\"format\"),r.string(t,\"type\");var o={};o.type=t.toLowerCase(),o.parts=[];try{switch(r.ok(e.length>0,\"signature must not be empty\"),o.type){case\"rsa\":case\"ed25519\":return m(e,t,a,o);case\"dsa\":case\"ecdsa\":return\"asn1\"===a?function(e,t,a,r){var i=new s.BerReader(e);i.readSequence();var o=i.readString(s.Ber.Integer,!0),c=i.readString(s.Ber.Integer,!0);return r.parts.push({name:\"r\",data:n.mpNormalize(o)}),r.parts.push({name:\"s\",data:n.mpNormalize(c)}),new l(r)}(e,0,0,o):\"dsa\"===o.type?function(e,t,a,i){if(40!=e.length){var o=new c({buffer:e}),n=o.readBuffer();\"ssh-dss\"===n.toString(\"ascii\")&&(n=o.readBuffer()),r.ok(o.atEnd(),\"extra trailing bytes\"),r.strictEqual(n.length,40,\"invalid inner length\"),e=n}return i.parts.push({name:\"r\",data:e.slice(0,20)}),i.parts.push({name:\"s\",data:e.slice(20,40)}),new l(i)}(e,0,0,o):function(e,t,a,i){var o,n,s=new c({buffer:e}),u=s.readBuffer(),p=u.toString(\"ascii\");if(\"ecdsa-\"===p.slice(0,6)){var m=p.split(\"-\");switch(r.strictEqual(m[0],\"ecdsa\"),r.strictEqual(m[1],\"sha2\"),i.curve=m[2],i.curve){case\"nistp256\":i.hashAlgo=\"sha256\";break;case\"nistp384\":i.hashAlgo=\"sha384\";break;case\"nistp521\":i.hashAlgo=\"sha512\";break;default:throw new Error(\"Unsupported ECDSA curve: \"+i.curve)}u=s.readBuffer(),r.ok(s.atEnd(),\"extra trailing bytes on outer\"),s=new c({buffer:u}),o=s.readPart()}else o={data:u};return n=s.readPart(),r.ok(s.atEnd(),\"extra trailing bytes\"),o.name=\"r\",n.name=\"s\",i.parts.push(o),i.parts.push(n),new l(i)}(e,0,0,o);default:throw new u(t)}}catch(e){if(e instanceof u)throw e;throw new p(t,a,e)}},l.isSignature=function(e,t){return n.isCompatible(e,l,t)},l.prototype._sshpkApiVersion=[2,1],l._oldVersionDetect=function(e){return r.func(e.toBuffer),e.hasOwnProperty(\"hashAlgorithm\")?[2,0]:[1,0]}},function(e,t,a){var r=a(150);e.exports={Ber:r,BerReader:r.Reader,BerWriter:r.Writer}},function(e,t,a){\"use strict\";var r,i,o=a(16),n=o.freeze,s=a(1),c=s.inherits,u=s.notEnumerableProp;function p(e,t){function a(r){if(!(this instanceof a))return new a(r);u(this,\"message\",\"string\"==typeof r?r:t),u(this,\"name\",e),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this)}return c(a,Error),a}var l=p(\"Warning\",\"warning\"),m=p(\"CancellationError\",\"cancellation error\"),h=p(\"TimeoutError\",\"timeout error\"),d=p(\"AggregateError\",\"aggregate error\");try{r=TypeError,i=RangeError}catch(e){r=p(\"TypeError\",\"type error\"),i=p(\"RangeError\",\"range error\")}for(var f=\"join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse\".split(\" \"),g=0;g<f.length;++g)\"function\"==typeof Array.prototype[f[g]]&&(d.prototype[f[g]]=Array.prototype[f[g]]);o.defineProperty(d.prototype,\"length\",{value:0,configurable:!1,writable:!0,enumerable:!0}),d.prototype.isOperational=!0;var v=0;function y(e){if(!(this instanceof y))return new y(e);u(this,\"name\",\"OperationalError\"),u(this,\"message\",e),this.cause=e,this.isOperational=!0,e instanceof Error?(u(this,\"message\",e.message),u(this,\"stack\",e.stack)):Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}d.prototype.toString=function(){var e=Array(4*v+1).join(\" \"),t=\"\\n\"+e+\"AggregateError of:\\n\";v++,e=Array(4*v+1).join(\" \");for(var a=0;a<this.length;++a){for(var r=this[a]===this?\"[Circular AggregateError]\":this[a]+\"\",i=r.split(\"\\n\"),o=0;o<i.length;++o)i[o]=e+i[o];t+=(r=i.join(\"\\n\"))+\"\\n\"}return v--,t},c(y,Error);var b=Error.__BluebirdErrorTypes__;b||(b=n({CancellationError:m,TimeoutError:h,OperationalError:y,RejectionError:y,AggregateError:d}),o.defineProperty(Error,\"__BluebirdErrorTypes__\",{value:b,writable:!1,enumerable:!1,configurable:!1})),e.exports={Error:Error,TypeError:r,RangeError:i,CancellationError:b.CancellationError,OperationalError:b.OperationalError,TimeoutError:b.TimeoutError,AggregateError:b.AggregateError,Warning:l}},function(e,t){e.exports=require(\"url\")},function(e,t,a){e.exports={read:function(e,t,a){var c=e;\"string\"!=typeof e&&(r.buffer(e,\"buf\"),e=e.toString(\"ascii\"));var u,y,k=e.trim().split(/[\\r\\n]+/g),x=-1;for(;!u&&x<k.length;)u=k[++x].match(/[-]+[ ]*BEGIN ([A-Z0-9][A-Za-z0-9]+ )?(PUBLIC|PRIVATE) KEY[ ]*[-]+/);r.ok(u,\"invalid PEM header\");var w=k.length;for(;!y&&w>0;)y=k[--w].match(/[-]+[ ]*END ([A-Z0-9][A-Za-z0-9]+ )?(PUBLIC|PRIVATE) KEY[ ]*[-]+/);r.ok(y,\"invalid PEM footer\"),r.equal(u[2],y[2]);var j,_=u[2].toLowerCase();u[1]&&(r.equal(u[1],y[1],\"PEM header and footer mismatch\"),j=u[1].trim());k=k.slice(x,w+1);var S,E,F,P={};for(;k=k.slice(1),u=k[0].match(/^([A-Za-z0-9-]+): (.+)$/);)P[u[1].toLowerCase()]=u[2];if(k=k.slice(0,-1).join(\"\"),e=n.from(k,\"base64\"),P[\"proc-type\"]){var z=P[\"proc-type\"].split(\",\");if(\"4\"===z[0]&&\"ENCRYPTED\"===z[1]){if(\"string\"==typeof t.passphrase&&(t.passphrase=n.from(t.passphrase,\"utf-8\")),!n.isBuffer(t.passphrase))throw new d.KeyEncryptedError(t.filename,\"PEM\");z=P[\"dek-info\"].split(\",\"),r.ok(2===z.length),S=z[0].toLowerCase(),F=n.from(z[1],\"hex\"),E=s.opensslKeyDeriv(S,F,t.passphrase,1).key}}if(j&&\"encrypted\"===j.toLowerCase()){var C,A=new i.BerReader(e);A.readSequence(),A.readSequence(),C=A.offset+A.length;var O=A.readOID();if(O!==f)throw new Error(\"Unsupported PEM/PKCS8 encryption scheme: \"+O);A.readSequence(),A.readSequence();var q=A.offset+A.length,T=A.readOID();if(T!==g)throw new Error(\"Unsupported PBES2 KDF: \"+T);A.readSequence();var B=A.readString(i.Ber.OctetString,!0),D=A.readInt(),I=\"sha1\";if(A.offset<q){A.readSequence();var R=A.readOID();if(void 0===(I=b[R]))throw new Error(\"Unsupported PBKDF2 hash: \"+R)}A._offset=q,A.readSequence();var N=A.readOID();if(void 0===(S=v[N]))throw new Error(\"Unsupported PBES2 cipher: \"+N);if(F=A.readString(i.Ber.OctetString,!0),A._offset=C,e=A.readString(i.Ber.OctetString,!0),\"string\"==typeof t.passphrase&&(t.passphrase=n.from(t.passphrase,\"utf-8\")),!n.isBuffer(t.passphrase))throw new d.KeyEncryptedError(t.filename,\"PEM\");var L=s.opensshCipherInfo(S);S=L.opensslName,E=s.pbkdf2(I,B,D,L.keySize,t.passphrase),j=void 0}if(S&&E&&F){var U,H=o.createDecipheriv(S,E,F),$=[];for(H.once(\"error\",function(e){if(-1!==e.toString().indexOf(\"bad decrypt\"))throw new Error(\"Incorrect passphrase supplied, could not decrypt key\");throw e}),H.write(e),H.end();null!==(U=H.read());)$.push(U);e=n.concat($)}if(j&&\"openssh\"===j.toLowerCase())return m.readSSHPrivate(_,e,t);if(j&&\"ssh2\"===j.toLowerCase())return h.readType(_,e,t);var M=new i.BerReader(e);return M.originalInput=c,M.readSequence(),j?(a&&r.strictEqual(a,\"pkcs1\"),p.readPkcs1(j,_,M)):(a&&r.strictEqual(a,\"pkcs8\"),l.readPkcs8(j,_,M))},write:function(e,t,a){r.object(e);var o,s={ecdsa:\"EC\",rsa:\"RSA\",dsa:\"DSA\",ed25519:\"EdDSA\"}[e.type],m=new i.BerWriter;if(u.isPrivateKey(e))a&&\"pkcs8\"===a?(o=\"PRIVATE KEY\",l.writePkcs8(m,e)):(a&&r.strictEqual(a,\"pkcs1\"),o=s+\" PRIVATE KEY\",p.writePkcs1(m,e));else{if(!c.isKey(e))throw new Error(\"key is not a Key or PrivateKey\");a&&\"pkcs1\"===a?(o=s+\" PUBLIC KEY\",p.writePkcs1(m,e)):(a&&r.strictEqual(a,\"pkcs8\"),o=\"PUBLIC KEY\",l.writePkcs8(m,e))}var h=m.buffer.toString(\"base64\"),d=h.length+h.length/64+18+16+2*o.length+10,f=n.alloc(d),g=0;g+=f.write(\"-----BEGIN \"+o+\"-----\\n\",g);for(var v=0;v<h.length;){var y=v+64;y>h.length&&(y=h.length),g+=f.write(h.slice(v,y),g),f[g++]=10,v=y}return g+=f.write(\"-----END \"+o+\"-----\\n\",g),f.slice(0,g)}};var r=a(0),i=a(11),o=a(3),n=a(2).Buffer,s=(a(8),a(6)),c=a(5),u=a(7),p=a(42),l=a(26),m=a(32),h=a(15),d=a(9),f=\"1.2.840.113549.1.5.13\",g=\"1.2.840.113549.1.5.12\",v={\"1.2.840.113549.3.7\":\"3des-cbc\",\"2.16.840.1.101.3.4.1.2\":\"aes128-cbc\",\"2.16.840.1.101.3.4.1.42\":\"aes256-cbc\"},y={};Object.keys(v).forEach(function(e){y[v[e]]=e});var b={\"1.2.840.113549.2.7\":\"sha1\",\"1.2.840.113549.2.9\":\"sha256\",\"1.2.840.113549.2.11\":\"sha512\"},k={};Object.keys(b).forEach(function(e){k[b[e]]=e})},function(e,t,a){e.exports={read:m.bind(void 0,!1,void 0),readType:m.bind(void 0,!1),write:function(e,t){r.object(e);var a,s=l(e),p=o.info[e.type];c.isPrivateKey(e)&&(p=o.privInfo[e.type]);var m=p.parts,h=new u({});for(h.writeString(s),a=0;a<m.length;++a){var d=e.part[m[a]].data;!1!==p.normalize&&(d=\"ed25519\"===e.type?n.zeroPadToLength(d,32):n.mpNormalize(d)),\"ed25519\"===e.type&&\"k\"===m[a]&&(d=i.concat([d,e.part.A.data])),h.writeBuffer(d)}return h.toBuffer()},readPartial:m.bind(void 0,!0),readInternal:m,keyTypeToAlg:l,algToKeyType:p};var r=a(0),i=a(2).Buffer,o=a(8),n=a(6),s=a(5),c=a(7),u=a(25);function p(e){if(r.string(e),\"ssh-dss\"===e)return\"dsa\";if(\"ssh-rsa\"===e)return\"rsa\";if(\"ssh-ed25519\"===e)return\"ed25519\";if(\"ssh-curve25519\"===e)return\"curve25519\";if(e.match(/^ecdsa-sha2-/))return\"ecdsa\";throw new Error(\"Unknown algorithm \"+e)}function l(e){if(r.object(e),\"dsa\"===e.type)return\"ssh-dss\";if(\"rsa\"===e.type)return\"ssh-rsa\";if(\"ed25519\"===e.type)return\"ssh-ed25519\";if(\"curve25519\"===e.type)return\"ssh-curve25519\";if(\"ecdsa\"===e.type)return\"ecdsa-sha2-\"+e.part.curve.data.toString();throw new Error(\"Unknown key type \"+e.type)}function m(e,t,a,l){\"string\"==typeof a&&(a=i.from(a)),r.buffer(a,\"buf\");var m={},h=m.parts=[],d=new u({buffer:a}),f=d.readString();r.ok(!d.atEnd(),\"key must have at least one part\"),m.type=p(f);var g=o.info[m.type].parts.length;for(t&&\"private\"===t&&(g=o.privInfo[m.type].parts.length);!d.atEnd()&&h.length<g;)h.push(d.readPart());for(;!e&&!d.atEnd();)h.push(d.readPart());r.ok(h.length>=1,\"key must have at least one part\"),r.ok(e||d.atEnd(),\"leftover bytes at end of key\");var v=s,y=o.info[m.type];if(\"private\"!==t&&y.parts.length===h.length||(y=o.privInfo[m.type],v=c),r.strictEqual(y.parts.length,h.length),\"ecdsa\"===m.type){var b=/^ecdsa-sha2-(.+)$/.exec(f);r.ok(null!==b),r.strictEqual(b[1],h[0].data.toString())}for(var k=!0,x=0;x<y.parts.length;++x){var w,j=h[x];if(j.name=y.parts[x],\"ed25519\"===m.type&&\"k\"===j.name&&(j.data=j.data.slice(0,32)),\"curve\"!==j.name&&!1!==y.normalize)(w=\"ed25519\"===m.type?n.zeroPadToLength(j.data,32):n.mpNormalize(j.data)).toString(\"binary\")!==j.data.toString(\"binary\")&&(j.data=w,k=!1)}return k&&(m._rfc4253Cache=d.toBuffer()),e&&\"object\"==typeof e&&(e.remainder=d.remainder(),e.consumed=d._offset),new v(m)}},function(e,t){var a=function(){\"use strict\";return void 0===this}();if(a)e.exports={freeze:Object.freeze,defineProperty:Object.defineProperty,getDescriptor:Object.getOwnPropertyDescriptor,keys:Object.keys,names:Object.getOwnPropertyNames,getPrototypeOf:Object.getPrototypeOf,isArray:Array.isArray,isES5:a,propertyIsWritable:function(e,t){var a=Object.getOwnPropertyDescriptor(e,t);return!(a&&!a.writable&&!a.set)}};else{var r={}.hasOwnProperty,i={}.toString,o={}.constructor.prototype,n=function(e){var t=[];for(var a in e)r.call(e,a)&&t.push(a);return t};e.exports={isArray:function(e){try{return\"[object Array]\"===i.call(e)}catch(e){return!1}},keys:n,names:n,defineProperty:function(e,t,a){return e[t]=a.value,e},getDescriptor:function(e,t){return{value:e[t]}},freeze:function(e){return e},getPrototypeOf:function(e){try{return Object(e).constructor.prototype}catch(e){return o}},isES5:a,propertyIsWritable:function(){return!0}}}},function(e,t){e.exports=require(\"stream\")},function(e,t,a){\"use strict\";function r(e,t,a){var r=a?\" !== \":\" === \",i=a?\" || \":\" && \",o=a?\"!\":\"\",n=a?\"\":\"!\";switch(e){case\"null\":return t+r+\"null\";case\"array\":return o+\"Array.isArray(\"+t+\")\";case\"object\":return\"(\"+o+t+i+\"typeof \"+t+r+'\"object\"'+i+n+\"Array.isArray(\"+t+\"))\";case\"integer\":return\"(typeof \"+t+r+'\"number\"'+i+n+\"(\"+t+\" % 1)\"+i+t+r+t+\")\";default:return\"typeof \"+t+r+'\"'+e+'\"'}}e.exports={copy:function(e,t){for(var a in t=t||{},e)t[a]=e[a];return t},checkDataType:r,checkDataTypes:function(e,t){switch(e.length){case 1:return r(e[0],t,!0);default:var a=\"\",i=o(e);for(var n in i.array&&i.object&&(a=i.null?\"(\":\"(!\"+t+\" || \",a+=\"typeof \"+t+' !== \"object\")',delete i.null,delete i.array,delete i.object),i.number&&delete i.integer,i)a+=(a?\" && \":\"\")+r(n,t,!0);return a}},coerceToTypes:function(e,t){if(Array.isArray(t)){for(var a=[],r=0;r<t.length;r++){var o=t[r];i[o]?a[a.length]=o:\"array\"===e&&\"array\"===o&&(a[a.length]=o)}if(a.length)return a}else{if(i[t])return[t];if(\"array\"===e&&\"array\"===t)return[\"array\"]}},toHash:o,getProperty:c,escapeQuotes:u,equal:a(46),ucs2length:a(184),varOccurences:function(e,t){t+=\"[^0-9]\";var a=e.match(new RegExp(t,\"g\"));return a?a.length:0},varReplace:function(e,t,a){return t+=\"([^0-9])\",a=a.replace(/\\$/g,\"$$$$\"),e.replace(new RegExp(t,\"g\"),a+\"$1\")},cleanUpCode:function(e){return e.replace(p,\"\").replace(l,\"\").replace(m,\"if (!($1))\")},finalCleanUpCode:function(e,t){var a=e.match(h);a&&2==a.length&&(e=t?e.replace(f,\"\").replace(y,b):e.replace(d,\"\").replace(g,v));return(a=e.match(k))&&3===a.length?e.replace(x,\"\"):e},schemaHasRules:function(e,t){if(\"boolean\"==typeof e)return!e;for(var a in e)if(t[a])return!0},schemaHasRulesExcept:function(e,t,a){if(\"boolean\"==typeof e)return!e&&\"not\"!=a;for(var r in e)if(r!=a&&t[r])return!0},toQuotedString:w,getPathExpr:function(e,t,a,r){return S(e,a?\"'/' + \"+t+(r?\"\":\".replace(/~/g, '~0').replace(/\\\\//g, '~1')\"):r?\"'[' + \"+t+\" + ']'\":\"'[\\\\'' + \"+t+\" + '\\\\']'\")},getPath:function(e,t,a){var r=w(a?\"/\"+E(t):c(t));return S(e,r)},getData:function(e,t,a){var r,i,o,n;if(\"\"===e)return\"rootData\";if(\"/\"==e[0]){if(!j.test(e))throw new Error(\"Invalid JSON-pointer: \"+e);i=e,o=\"rootData\"}else{if(!(n=e.match(_)))throw new Error(\"Invalid JSON-pointer: \"+e);if(r=+n[1],\"#\"==(i=n[2])){if(r>=t)throw new Error(\"Cannot access property/index \"+r+\" levels up, current level is \"+t);return a[t-r]}if(r>t)throw new Error(\"Cannot access data \"+r+\" levels up, current level is \"+t);if(o=\"data\"+(t-r||\"\"),!i)return o}for(var s=o,u=i.split(\"/\"),p=0;p<u.length;p++){var l=u[p];l&&(o+=c(F(l)),s+=\" && \"+o)}return s},unescapeFragment:function(e){return F(decodeURIComponent(e))},unescapeJsonPointer:F,escapeFragment:function(e){return encodeURIComponent(E(e))},escapeJsonPointer:E};var i=o([\"string\",\"number\",\"integer\",\"boolean\",\"null\"]);function o(e){for(var t={},a=0;a<e.length;a++)t[e[a]]=!0;return t}var n=/^[a-z$_][a-z$_0-9]*$/i,s=/'|\\\\/g;function c(e){return\"number\"==typeof e?\"[\"+e+\"]\":n.test(e)?\".\"+e:\"['\"+u(e)+\"']\"}function u(e){return e.replace(s,\"\\\\$&\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/\\f/g,\"\\\\f\").replace(/\\t/g,\"\\\\t\")}var p=/else\\s*{\\s*}/g,l=/if\\s*\\([^)]+\\)\\s*\\{\\s*\\}(?!\\s*else)/g,m=/if\\s*\\(([^)]+)\\)\\s*\\{\\s*\\}\\s*else(?!\\s*if)/g;var h=/[^v.]errors/g,d=/var errors = 0;|var vErrors = null;|validate.errors = vErrors;/g,f=/var errors = 0;|var vErrors = null;/g,g=\"return errors === 0;\",v=\"validate.errors = null; return true;\",y=/if \\(errors === 0\\) return data;\\s*else throw new ValidationError\\(vErrors\\);/,b=\"return data;\",k=/[^A-Za-z_$]rootData[^A-Za-z0-9_$]/g,x=/if \\(rootData === undefined\\) rootData = data;/;function w(e){return\"'\"+u(e)+\"'\"}var j=/^\\/(?:[^~]|~0|~1)*$/,_=/^([0-9]+)(#|\\/(?:[^~]|~0|~1)*)?$/;function S(e,t){return'\"\"'==e?t:(e+\" + \"+t).replace(/' \\+ '/g,\"\")}function E(e){return e.replace(/~/g,\"~0\").replace(/\\//g,\"~1\")}function F(e){return e.replace(/~1/g,\"/\").replace(/~0/g,\"~\")}},function(e,t,a){var r=a(62),i=r.Buffer;function o(e,t){for(var a in e)t[a]=e[a]}function n(e,t,a){return i(e,t,a)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=r:(o(r,t),t.Buffer=n),o(i,n),n.from=function(e,t,a){if(\"number\"==typeof e)throw new TypeError(\"Argument must not be a number\");return i(e,t,a)},n.alloc=function(e,t,a){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");var r=i(e);return void 0!==t?\"string\"==typeof a?r.fill(t,a):r.fill(t):r.fill(0),r},n.allocUnsafe=function(e){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");return i(e)},n.allocUnsafeSlow=function(e){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");return r.SlowBuffer(e)}},function(e,t){e.exports=require(\"http\")},function(e,t){e.exports=require(\"assert\")},function(e,t,a){e.exports=d;var r=a(0),i=a(2).Buffer,o=a(8),n=a(3),s=a(9),c=a(5),u=a(7),p=a(27),l=a(6),m=s.FingerprintFormatError,h=s.InvalidAlgorithmError;function d(e){if(r.object(e,\"options\"),r.string(e.type,\"options.type\"),r.buffer(e.hash,\"options.hash\"),r.string(e.algorithm,\"options.algorithm\"),this.algorithm=e.algorithm.toLowerCase(),!0!==o.hashAlgs[this.algorithm])throw new h(this.algorithm);this.hash=e.hash,this.type=e.type,this.hashType=e.hashType}d.prototype.toString=function(e){switch(void 0===e&&(e=\"md5\"===this.algorithm||\"spki\"===this.hashType?\"hex\":\"base64\"),r.string(e),e){case\"hex\":return\"spki\"===this.hashType?this.hash.toString(\"hex\"):this.hash.toString(\"hex\").replace(/(.{2})(?=.)/g,\"$1:\");case\"base64\":return\"spki\"===this.hashType?this.hash.toString(\"base64\"):function(e,t){return e.toUpperCase()+\":\"+(a=t,a.replace(/=*$/,\"\"));var a}(this.algorithm,this.hash.toString(\"base64\"));default:throw new m(void 0,e)}},d.prototype.matches=function(e){r.object(e,\"key or certificate\"),\"key\"===this.type&&\"ssh\"!==this.hashType?(l.assertCompatible(e,c,[1,7],\"key with spki\"),u.isPrivateKey(e)&&l.assertCompatible(e,u,[1,6],\"privatekey with spki support\")):\"key\"===this.type?l.assertCompatible(e,c,[1,0],\"key\"):l.assertCompatible(e,p,[1,0],\"certificate\");var t=e.hash(this.algorithm,this.hashType),a=n.createHash(this.algorithm).update(t).digest(\"base64\");return void 0===this.hash2&&(this.hash2=n.createHash(this.algorithm).update(this.hash).digest(\"base64\")),this.hash2===a};var f=/^[A-Za-z0-9+\\/=]+$/,g=/^[a-fA-F0-9]+$/;d.parse=function(e,t){var a,n,s;r.string(e,\"fingerprint\"),Array.isArray(t)&&(s=t,t={}),r.optionalObject(t,\"options\"),void 0===t&&(t={}),void 0!==t.enAlgs&&(s=t.enAlgs),void 0!==t.algorithms&&(s=t.algorithms),r.optionalArrayOfString(s,\"algorithms\");var c=\"ssh\";void 0!==t.hashType&&(c=t.hashType),r.string(c,\"options.hashType\");var u=e.split(\":\");if(2==u.length){if(a=u[0].toLowerCase(),!f.test(u[1]))throw new m(e);try{n=i.from(u[1],\"base64\")}catch(t){throw new m(e)}}else if(u.length>2){if(a=\"md5\",\"md5\"===u[0].toLowerCase()&&(u=u.slice(1)),u=(u=u.map(function(t){for(;t.length<2;)t=\"0\"+t;if(t.length>2)throw new m(e);return t})).join(\"\"),!g.test(u)||u.length%2!=0)throw new m(e);try{n=i.from(u,\"hex\")}catch(t){throw new m(e)}}else{if(g.test(e))n=i.from(e,\"hex\");else{if(!f.test(e))throw new m(e);n=i.from(e,\"base64\")}switch(n.length){case 32:a=\"sha256\";break;case 16:a=\"md5\";break;case 20:a=\"sha1\";break;case 64:a=\"sha512\";break;default:throw new m(e)}void 0===t.hashType&&(c=\"spki\")}if(void 0===a)throw new m(e);if(void 0===o.hashAlgs[a])throw new h(a);if(void 0!==s&&-1===(s=s.map(function(e){return e.toLowerCase()})).indexOf(a))throw new h(a);return new d({algorithm:a,hash:n,type:t.type||\"key\",hashType:c})},d.isFingerprint=function(e,t){return l.isCompatible(e,d,t)},d.prototype._sshpkApiVersion=[1,2],d._oldVersionDetect=function(e){return r.func(e.toString),r.func(e.matches),[1,0]}},function(e,t,a){(function(){var t;function a(e,t,a){null!=e&&(\"number\"==typeof e?this.fromNumber(e,t,a):null==t&&\"string\"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function r(){return new a(null)}var i=\"undefined\"!=typeof navigator;i&&\"Microsoft Internet Explorer\"==navigator.appName?(a.prototype.am=function(e,t,a,r,i,o){for(var n=32767&t,s=t>>15;--o>=0;){var c=32767&this[e],u=this[e++]>>15,p=s*c+u*n;i=((c=n*c+((32767&p)<<15)+a[r]+(1073741823&i))>>>30)+(p>>>15)+s*u+(i>>>30),a[r++]=1073741823&c}return i},t=30):i&&\"Netscape\"!=navigator.appName?(a.prototype.am=function(e,t,a,r,i,o){for(;--o>=0;){var n=t*this[e++]+a[r]+i;i=Math.floor(n/67108864),a[r++]=67108863&n}return i},t=26):(a.prototype.am=function(e,t,a,r,i,o){for(var n=16383&t,s=t>>14;--o>=0;){var c=16383&this[e],u=this[e++]>>14,p=s*c+u*n;i=((c=n*c+((16383&p)<<14)+a[r]+i)>>28)+(p>>14)+s*u,a[r++]=268435455&c}return i},t=28),a.prototype.DB=t,a.prototype.DM=(1<<t)-1,a.prototype.DV=1<<t;a.prototype.FV=Math.pow(2,52),a.prototype.F1=52-t,a.prototype.F2=2*t-52;var o,n,s=\"0123456789abcdefghijklmnopqrstuvwxyz\",c=new Array;for(o=\"0\".charCodeAt(0),n=0;n<=9;++n)c[o++]=n;for(o=\"a\".charCodeAt(0),n=10;n<36;++n)c[o++]=n;for(o=\"A\".charCodeAt(0),n=10;n<36;++n)c[o++]=n;function u(e){return s.charAt(e)}function p(e,t){var a=c[e.charCodeAt(t)];return null==a?-1:a}function l(e){var t=r();return t.fromInt(e),t}function m(e){var t,a=1;return 0!=(t=e>>>16)&&(e=t,a+=16),0!=(t=e>>8)&&(e=t,a+=8),0!=(t=e>>4)&&(e=t,a+=4),0!=(t=e>>2)&&(e=t,a+=2),0!=(t=e>>1)&&(e=t,a+=1),a}function h(e){this.m=e}function d(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function f(e,t){return e&t}function g(e,t){return e|t}function v(e,t){return e^t}function y(e,t){return e&~t}function b(e){if(0==e)return-1;var t=0;return 0==(65535&e)&&(e>>=16,t+=16),0==(255&e)&&(e>>=8,t+=8),0==(15&e)&&(e>>=4,t+=4),0==(3&e)&&(e>>=2,t+=2),0==(1&e)&&++t,t}function k(e){for(var t=0;0!=e;)e&=e-1,++t;return t}function x(){}function w(e){return e}function j(e){this.r2=r(),this.q3=r(),a.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}h.prototype.convert=function(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e},h.prototype.revert=function(e){return e},h.prototype.reduce=function(e){e.divRemTo(this.m,null,e)},h.prototype.mulTo=function(e,t,a){e.multiplyTo(t,a),this.reduce(a)},h.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},d.prototype.convert=function(e){var t=r();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(a.ZERO)>0&&this.m.subTo(t,t),t},d.prototype.revert=function(e){var t=r();return e.copyTo(t),this.reduce(t),t},d.prototype.reduce=function(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t<this.m.t;++t){var a=32767&e[t],r=a*this.mpl+((a*this.mph+(e[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(e[a=t+this.m.t]+=this.m.am(0,r,e,t,0,this.m.t);e[a]>=e.DV;)e[a]-=e.DV,e[++a]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)},d.prototype.mulTo=function(e,t,a){e.multiplyTo(t,a),this.reduce(a)},d.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},a.prototype.copyTo=function(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s},a.prototype.fromInt=function(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+this.DV:this.t=0},a.prototype.fromString=function(e,t){var r;if(16==t)r=4;else if(8==t)r=3;else if(256==t)r=8;else if(2==t)r=1;else if(32==t)r=5;else{if(4!=t)return void this.fromRadix(e,t);r=2}this.t=0,this.s=0;for(var i=e.length,o=!1,n=0;--i>=0;){var s=8==r?255&e[i]:p(e,i);s<0?\"-\"==e.charAt(i)&&(o=!0):(o=!1,0==n?this[this.t++]=s:n+r>this.DB?(this[this.t-1]|=(s&(1<<this.DB-n)-1)<<n,this[this.t++]=s>>this.DB-n):this[this.t-1]|=s<<n,(n+=r)>=this.DB&&(n-=this.DB))}8==r&&0!=(128&e[0])&&(this.s=-1,n>0&&(this[this.t-1]|=(1<<this.DB-n)-1<<n)),this.clamp(),o&&a.ZERO.subTo(this,this)},a.prototype.clamp=function(){for(var e=this.s&this.DM;this.t>0&&this[this.t-1]==e;)--this.t},a.prototype.dlShiftTo=function(e,t){var a;for(a=this.t-1;a>=0;--a)t[a+e]=this[a];for(a=e-1;a>=0;--a)t[a]=0;t.t=this.t+e,t.s=this.s},a.prototype.drShiftTo=function(e,t){for(var a=e;a<this.t;++a)t[a-e]=this[a];t.t=Math.max(this.t-e,0),t.s=this.s},a.prototype.lShiftTo=function(e,t){var a,r=e%this.DB,i=this.DB-r,o=(1<<i)-1,n=Math.floor(e/this.DB),s=this.s<<r&this.DM;for(a=this.t-1;a>=0;--a)t[a+n+1]=this[a]>>i|s,s=(this[a]&o)<<r;for(a=n-1;a>=0;--a)t[a]=0;t[n]=s,t.t=this.t+n+1,t.s=this.s,t.clamp()},a.prototype.rShiftTo=function(e,t){t.s=this.s;var a=Math.floor(e/this.DB);if(a>=this.t)t.t=0;else{var r=e%this.DB,i=this.DB-r,o=(1<<r)-1;t[0]=this[a]>>r;for(var n=a+1;n<this.t;++n)t[n-a-1]|=(this[n]&o)<<i,t[n-a]=this[n]>>r;r>0&&(t[this.t-a-1]|=(this.s&o)<<i),t.t=this.t-a,t.clamp()}},a.prototype.subTo=function(e,t){for(var a=0,r=0,i=Math.min(e.t,this.t);a<i;)r+=this[a]-e[a],t[a++]=r&this.DM,r>>=this.DB;if(e.t<this.t){for(r-=e.s;a<this.t;)r+=this[a],t[a++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;a<e.t;)r-=e[a],t[a++]=r&this.DM,r>>=this.DB;r-=e.s}t.s=r<0?-1:0,r<-1?t[a++]=this.DV+r:r>0&&(t[a++]=r),t.t=a,t.clamp()},a.prototype.multiplyTo=function(e,t){var r=this.abs(),i=e.abs(),o=r.t;for(t.t=o+i.t;--o>=0;)t[o]=0;for(o=0;o<i.t;++o)t[o+r.t]=r.am(0,i[o],t,o,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&a.ZERO.subTo(t,t)},a.prototype.squareTo=function(e){for(var t=this.abs(),a=e.t=2*t.t;--a>=0;)e[a]=0;for(a=0;a<t.t-1;++a){var r=t.am(a,t[a],e,2*a,0,1);(e[a+t.t]+=t.am(a+1,2*t[a],e,2*a+1,r,t.t-a-1))>=t.DV&&(e[a+t.t]-=t.DV,e[a+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(a,t[a],e,2*a,0,1)),e.s=0,e.clamp()},a.prototype.divRemTo=function(e,t,i){var o=e.abs();if(!(o.t<=0)){var n=this.abs();if(n.t<o.t)return null!=t&&t.fromInt(0),void(null!=i&&this.copyTo(i));null==i&&(i=r());var s=r(),c=this.s,u=e.s,p=this.DB-m(o[o.t-1]);p>0?(o.lShiftTo(p,s),n.lShiftTo(p,i)):(o.copyTo(s),n.copyTo(i));var l=s.t,h=s[l-1];if(0!=h){var d=h*(1<<this.F1)+(l>1?s[l-2]>>this.F2:0),f=this.FV/d,g=(1<<this.F1)/d,v=1<<this.F2,y=i.t,b=y-l,k=null==t?r():t;for(s.dlShiftTo(b,k),i.compareTo(k)>=0&&(i[i.t++]=1,i.subTo(k,i)),a.ONE.dlShiftTo(l,k),k.subTo(s,s);s.t<l;)s[s.t++]=0;for(;--b>=0;){var x=i[--y]==h?this.DM:Math.floor(i[y]*f+(i[y-1]+v)*g);if((i[y]+=s.am(0,x,i,b,0,l))<x)for(s.dlShiftTo(b,k),i.subTo(k,i);i[y]<--x;)i.subTo(k,i)}null!=t&&(i.drShiftTo(l,t),c!=u&&a.ZERO.subTo(t,t)),i.t=l,i.clamp(),p>0&&i.rShiftTo(p,i),c<0&&a.ZERO.subTo(i,i)}}},a.prototype.invDigit=function(){if(this.t<1)return 0;var e=this[0];if(0==(1&e))return 0;var t=3&e;return(t=(t=(t=(t=t*(2-(15&e)*t)&15)*(2-(255&e)*t)&255)*(2-((65535&e)*t&65535))&65535)*(2-e*t%this.DV)%this.DV)>0?this.DV-t:-t},a.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},a.prototype.exp=function(e,t){if(e>4294967295||e<1)return a.ONE;var i=r(),o=r(),n=t.convert(this),s=m(e)-1;for(n.copyTo(i);--s>=0;)if(t.sqrTo(i,o),(e&1<<s)>0)t.mulTo(o,n,i);else{var c=i;i=o,o=c}return t.revert(i)},a.prototype.toString=function(e){if(this.s<0)return\"-\"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var a,r=(1<<t)-1,i=!1,o=\"\",n=this.t,s=this.DB-n*this.DB%t;if(n-- >0)for(s<this.DB&&(a=this[n]>>s)>0&&(i=!0,o=u(a));n>=0;)s<t?(a=(this[n]&(1<<s)-1)<<t-s,a|=this[--n]>>(s+=this.DB-t)):(a=this[n]>>(s-=t)&r,s<=0&&(s+=this.DB,--n)),a>0&&(i=!0),i&&(o+=u(a));return i?o:\"0\"},a.prototype.negate=function(){var e=r();return a.ZERO.subTo(this,e),e},a.prototype.abs=function(){return this.s<0?this.negate():this},a.prototype.compareTo=function(e){var t=this.s-e.s;if(0!=t)return t;var a=this.t;if(0!=(t=a-e.t))return this.s<0?-t:t;for(;--a>=0;)if(0!=(t=this[a]-e[a]))return t;return 0},a.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+m(this[this.t-1]^this.s&this.DM)},a.prototype.mod=function(e){var t=r();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(a.ZERO)>0&&e.subTo(t,t),t},a.prototype.modPowInt=function(e,t){var a;return a=e<256||t.isEven()?new h(t):new d(t),this.exp(e,a)},a.ZERO=l(0),a.ONE=l(1),x.prototype.convert=w,x.prototype.revert=w,x.prototype.mulTo=function(e,t,a){e.multiplyTo(t,a)},x.prototype.sqrTo=function(e,t){e.squareTo(t)},j.prototype.convert=function(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=r();return e.copyTo(t),this.reduce(t),t},j.prototype.revert=function(e){return e},j.prototype.reduce=function(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)},j.prototype.mulTo=function(e,t,a){e.multiplyTo(t,a),this.reduce(a)},j.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)};var _,S,E,F=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],P=(1<<26)/F[F.length-1];function z(){var e;e=(new Date).getTime(),S[E++]^=255&e,S[E++]^=e>>8&255,S[E++]^=e>>16&255,S[E++]^=e>>24&255,E>=D&&(E-=D)}if(a.prototype.chunkSize=function(e){return Math.floor(Math.LN2*this.DB/Math.log(e))},a.prototype.toRadix=function(e){if(null==e&&(e=10),0==this.signum()||e<2||e>36)return\"0\";var t=this.chunkSize(e),a=Math.pow(e,t),i=l(a),o=r(),n=r(),s=\"\";for(this.divRemTo(i,o,n);o.signum()>0;)s=(a+n.intValue()).toString(e).substr(1)+s,o.divRemTo(i,o,n);return n.intValue().toString(e)+s},a.prototype.fromRadix=function(e,t){this.fromInt(0),null==t&&(t=10);for(var r=this.chunkSize(t),i=Math.pow(t,r),o=!1,n=0,s=0,c=0;c<e.length;++c){var u=p(e,c);u<0?\"-\"==e.charAt(c)&&0==this.signum()&&(o=!0):(s=t*s+u,++n>=r&&(this.dMultiply(i),this.dAddOffset(s,0),n=0,s=0))}n>0&&(this.dMultiply(Math.pow(t,n)),this.dAddOffset(s,0)),o&&a.ZERO.subTo(this,this)},a.prototype.fromNumber=function(e,t,r){if(\"number\"==typeof t)if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(a.ONE.shiftLeft(e-1),g,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(a.ONE.shiftLeft(e-1),this);else{var i=new Array,o=7&e;i.length=1+(e>>3),t.nextBytes(i),o>0?i[0]&=(1<<o)-1:i[0]=0,this.fromString(i,256)}},a.prototype.bitwiseTo=function(e,t,a){var r,i,o=Math.min(e.t,this.t);for(r=0;r<o;++r)a[r]=t(this[r],e[r]);if(e.t<this.t){for(i=e.s&this.DM,r=o;r<this.t;++r)a[r]=t(this[r],i);a.t=this.t}else{for(i=this.s&this.DM,r=o;r<e.t;++r)a[r]=t(i,e[r]);a.t=e.t}a.s=t(this.s,e.s),a.clamp()},a.prototype.changeBit=function(e,t){var r=a.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r},a.prototype.addTo=function(e,t){for(var a=0,r=0,i=Math.min(e.t,this.t);a<i;)r+=this[a]+e[a],t[a++]=r&this.DM,r>>=this.DB;if(e.t<this.t){for(r+=e.s;a<this.t;)r+=this[a],t[a++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;a<e.t;)r+=e[a],t[a++]=r&this.DM,r>>=this.DB;r+=e.s}t.s=r<0?-1:0,r>0?t[a++]=r:r<-1&&(t[a++]=this.DV+r),t.t=a,t.clamp()},a.prototype.dMultiply=function(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()},a.prototype.dAddOffset=function(e,t){if(0!=e){for(;this.t<=t;)this[this.t++]=0;for(this[t]+=e;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}},a.prototype.multiplyLowerTo=function(e,t,a){var r,i=Math.min(this.t+e.t,t);for(a.s=0,a.t=i;i>0;)a[--i]=0;for(r=a.t-this.t;i<r;++i)a[i+this.t]=this.am(0,e[i],a,i,0,this.t);for(r=Math.min(e.t,t);i<r;++i)this.am(0,e[i],a,i,0,t-i);a.clamp()},a.prototype.multiplyUpperTo=function(e,t,a){--t;var r=a.t=this.t+e.t-t;for(a.s=0;--r>=0;)a[r]=0;for(r=Math.max(t-this.t,0);r<e.t;++r)a[this.t+r-t]=this.am(t-r,e[r],a,0,0,this.t+r-t);a.clamp(),a.drShiftTo(1,a)},a.prototype.modInt=function(e){if(e<=0)return 0;var t=this.DV%e,a=this.s<0?e-1:0;if(this.t>0)if(0==t)a=this[0]%e;else for(var r=this.t-1;r>=0;--r)a=(t*a+this[r])%e;return a},a.prototype.millerRabin=function(e){var t=this.subtract(a.ONE),i=t.getLowestSetBit();if(i<=0)return!1;var o=t.shiftRight(i);(e=e+1>>1)>F.length&&(e=F.length);for(var n=r(),s=0;s<e;++s){n.fromInt(F[Math.floor(Math.random()*F.length)]);var c=n.modPow(o,this);if(0!=c.compareTo(a.ONE)&&0!=c.compareTo(t)){for(var u=1;u++<i&&0!=c.compareTo(t);)if(0==(c=c.modPowInt(2,this)).compareTo(a.ONE))return!1;if(0!=c.compareTo(t))return!1}}return!0},a.prototype.clone=function(){var e=r();return this.copyTo(e),e},a.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]},a.prototype.byteValue=function(){return 0==this.t?this.s:this[0]<<24>>24},a.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},a.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},a.prototype.toByteArray=function(){var e=this.t,t=new Array;t[0]=this.s;var a,r=this.DB-e*this.DB%8,i=0;if(e-- >0)for(r<this.DB&&(a=this[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=a|this.s<<this.DB-r);e>=0;)r<8?(a=(this[e]&(1<<r)-1)<<8-r,a|=this[--e]>>(r+=this.DB-8)):(a=this[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),0!=(128&a)&&(a|=-256),0==i&&(128&this.s)!=(128&a)&&++i,(i>0||a!=this.s)&&(t[i++]=a);return t},a.prototype.equals=function(e){return 0==this.compareTo(e)},a.prototype.min=function(e){return this.compareTo(e)<0?this:e},a.prototype.max=function(e){return this.compareTo(e)>0?this:e},a.prototype.and=function(e){var t=r();return this.bitwiseTo(e,f,t),t},a.prototype.or=function(e){var t=r();return this.bitwiseTo(e,g,t),t},a.prototype.xor=function(e){var t=r();return this.bitwiseTo(e,v,t),t},a.prototype.andNot=function(e){var t=r();return this.bitwiseTo(e,y,t),t},a.prototype.not=function(){for(var e=r(),t=0;t<this.t;++t)e[t]=this.DM&~this[t];return e.t=this.t,e.s=~this.s,e},a.prototype.shiftLeft=function(e){var t=r();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t},a.prototype.shiftRight=function(e){var t=r();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t},a.prototype.getLowestSetBit=function(){for(var e=0;e<this.t;++e)if(0!=this[e])return e*this.DB+b(this[e]);return this.s<0?this.t*this.DB:-1},a.prototype.bitCount=function(){for(var e=0,t=this.s&this.DM,a=0;a<this.t;++a)e+=k(this[a]^t);return e},a.prototype.testBit=function(e){var t=Math.floor(e/this.DB);return t>=this.t?0!=this.s:0!=(this[t]&1<<e%this.DB)},a.prototype.setBit=function(e){return this.changeBit(e,g)},a.prototype.clearBit=function(e){return this.changeBit(e,y)},a.prototype.flipBit=function(e){return this.changeBit(e,v)},a.prototype.add=function(e){var t=r();return this.addTo(e,t),t},a.prototype.subtract=function(e){var t=r();return this.subTo(e,t),t},a.prototype.multiply=function(e){var t=r();return this.multiplyTo(e,t),t},a.prototype.divide=function(e){var t=r();return this.divRemTo(e,t,null),t},a.prototype.remainder=function(e){var t=r();return this.divRemTo(e,null,t),t},a.prototype.divideAndRemainder=function(e){var t=r(),a=r();return this.divRemTo(e,t,a),new Array(t,a)},a.prototype.modPow=function(e,t){var a,i,o=e.bitLength(),n=l(1);if(o<=0)return n;a=o<18?1:o<48?3:o<144?4:o<768?5:6,i=o<8?new h(t):t.isEven()?new j(t):new d(t);var s=new Array,c=3,u=a-1,p=(1<<a)-1;if(s[1]=i.convert(this),a>1){var f=r();for(i.sqrTo(s[1],f);c<=p;)s[c]=r(),i.mulTo(f,s[c-2],s[c]),c+=2}var g,v,y=e.t-1,b=!0,k=r();for(o=m(e[y])-1;y>=0;){for(o>=u?g=e[y]>>o-u&p:(g=(e[y]&(1<<o+1)-1)<<u-o,y>0&&(g|=e[y-1]>>this.DB+o-u)),c=a;0==(1&g);)g>>=1,--c;if((o-=c)<0&&(o+=this.DB,--y),b)s[g].copyTo(n),b=!1;else{for(;c>1;)i.sqrTo(n,k),i.sqrTo(k,n),c-=2;c>0?i.sqrTo(n,k):(v=n,n=k,k=v),i.mulTo(k,s[g],n)}for(;y>=0&&0==(e[y]&1<<o);)i.sqrTo(n,k),v=n,n=k,k=v,--o<0&&(o=this.DB-1,--y)}return i.revert(n)},a.prototype.modInverse=function(e){var t=e.isEven();if(this.isEven()&&t||0==e.signum())return a.ZERO;for(var r=e.clone(),i=this.clone(),o=l(1),n=l(0),s=l(0),c=l(1);0!=r.signum();){for(;r.isEven();)r.rShiftTo(1,r),t?(o.isEven()&&n.isEven()||(o.addTo(this,o),n.subTo(e,n)),o.rShiftTo(1,o)):n.isEven()||n.subTo(e,n),n.rShiftTo(1,n);for(;i.isEven();)i.rShiftTo(1,i),t?(s.isEven()&&c.isEven()||(s.addTo(this,s),c.subTo(e,c)),s.rShiftTo(1,s)):c.isEven()||c.subTo(e,c),c.rShiftTo(1,c);r.compareTo(i)>=0?(r.subTo(i,r),t&&o.subTo(s,o),n.subTo(c,n)):(i.subTo(r,i),t&&s.subTo(o,s),c.subTo(n,c))}return 0!=i.compareTo(a.ONE)?a.ZERO:c.compareTo(e)>=0?c.subtract(e):c.signum()<0?(c.addTo(e,c),c.signum()<0?c.add(e):c):c},a.prototype.pow=function(e){return this.exp(e,new x)},a.prototype.gcd=function(e){var t=this.s<0?this.negate():this.clone(),a=e.s<0?e.negate():e.clone();if(t.compareTo(a)<0){var r=t;t=a,a=r}var i=t.getLowestSetBit(),o=a.getLowestSetBit();if(o<0)return t;for(i<o&&(o=i),o>0&&(t.rShiftTo(o,t),a.rShiftTo(o,a));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=a.getLowestSetBit())>0&&a.rShiftTo(i,a),t.compareTo(a)>=0?(t.subTo(a,t),t.rShiftTo(1,t)):(a.subTo(t,a),a.rShiftTo(1,a));return o>0&&a.lShiftTo(o,a),a},a.prototype.isProbablePrime=function(e){var t,a=this.abs();if(1==a.t&&a[0]<=F[F.length-1]){for(t=0;t<F.length;++t)if(a[0]==F[t])return!0;return!1}if(a.isEven())return!1;for(t=1;t<F.length;){for(var r=F[t],i=t+1;i<F.length&&r<P;)r*=F[i++];for(r=a.modInt(r);t<i;)if(r%F[t++]==0)return!1}return a.millerRabin(e)},a.prototype.square=function(){var e=r();return this.squareTo(e),e},a.prototype.Barrett=j,null==S){var C;if(S=new Array,E=0,\"undefined\"!=typeof window&&window.crypto)if(window.crypto.getRandomValues){var A=new Uint8Array(32);for(window.crypto.getRandomValues(A),C=0;C<32;++C)S[E++]=A[C]}else if(\"Netscape\"==navigator.appName&&navigator.appVersion<\"5\"){var O=window.crypto.random(32);for(C=0;C<O.length;++C)S[E++]=255&O.charCodeAt(C)}for(;E<D;)C=Math.floor(65536*Math.random()),S[E++]=C>>>8,S[E++]=255&C;E=0,z()}function q(){if(null==_){for(z(),(_=new B).init(S),E=0;E<S.length;++E)S[E]=0;E=0}return _.next()}function T(){}function B(){this.i=0,this.j=0,this.S=new Array}T.prototype.nextBytes=function(e){var t;for(t=0;t<e.length;++t)e[t]=q()},B.prototype.init=function(e){var t,a,r;for(t=0;t<256;++t)this.S[t]=t;for(a=0,t=0;t<256;++t)a=a+this.S[t]+e[t%e.length]&255,r=this.S[t],this.S[t]=this.S[a],this.S[a]=r;this.i=0,this.j=0},B.prototype.next=function(){var e;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,e=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=e,this.S[e+this.S[this.i]&255]};var D=256;a.SecureRandom=T,a.BigInteger=a,e.exports=a}).call(this)},function(e,t,a){!function(e){\"use strict\";var t=function(e){var t,a=new Float64Array(16);if(e)for(t=0;t<e.length;t++)a[t]=e[t];return a},r=function(){throw new Error(\"no PRNG\")},i=new Uint8Array(16),o=new Uint8Array(32);o[0]=9;var n=t(),s=t([1]),c=t([56129,1]),u=t([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),p=t([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),l=t([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),m=t([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),h=t([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function d(e,t,a,r){e[t]=a>>24&255,e[t+1]=a>>16&255,e[t+2]=a>>8&255,e[t+3]=255&a,e[t+4]=r>>24&255,e[t+5]=r>>16&255,e[t+6]=r>>8&255,e[t+7]=255&r}function f(e,t,a,r,i){var o,n=0;for(o=0;o<i;o++)n|=e[t+o]^a[r+o];return(1&n-1>>>8)-1}function g(e,t,a,r){return f(e,t,a,r,16)}function v(e,t,a,r){return f(e,t,a,r,32)}function y(e,t,a,r){!function(e,t,a,r){for(var i,o=255&r[0]|(255&r[1])<<8|(255&r[2])<<16|(255&r[3])<<24,n=255&a[0]|(255&a[1])<<8|(255&a[2])<<16|(255&a[3])<<24,s=255&a[4]|(255&a[5])<<8|(255&a[6])<<16|(255&a[7])<<24,c=255&a[8]|(255&a[9])<<8|(255&a[10])<<16|(255&a[11])<<24,u=255&a[12]|(255&a[13])<<8|(255&a[14])<<16|(255&a[15])<<24,p=255&r[4]|(255&r[5])<<8|(255&r[6])<<16|(255&r[7])<<24,l=255&t[0]|(255&t[1])<<8|(255&t[2])<<16|(255&t[3])<<24,m=255&t[4]|(255&t[5])<<8|(255&t[6])<<16|(255&t[7])<<24,h=255&t[8]|(255&t[9])<<8|(255&t[10])<<16|(255&t[11])<<24,d=255&t[12]|(255&t[13])<<8|(255&t[14])<<16|(255&t[15])<<24,f=255&r[8]|(255&r[9])<<8|(255&r[10])<<16|(255&r[11])<<24,g=255&a[16]|(255&a[17])<<8|(255&a[18])<<16|(255&a[19])<<24,v=255&a[20]|(255&a[21])<<8|(255&a[22])<<16|(255&a[23])<<24,y=255&a[24]|(255&a[25])<<8|(255&a[26])<<16|(255&a[27])<<24,b=255&a[28]|(255&a[29])<<8|(255&a[30])<<16|(255&a[31])<<24,k=255&r[12]|(255&r[13])<<8|(255&r[14])<<16|(255&r[15])<<24,x=o,w=n,j=s,_=c,S=u,E=p,F=l,P=m,z=h,C=d,A=f,O=g,q=v,T=y,B=b,D=k,I=0;I<20;I+=2)x^=(i=(q^=(i=(z^=(i=(S^=(i=x+q|0)<<7|i>>>25)+x|0)<<9|i>>>23)+S|0)<<13|i>>>19)+z|0)<<18|i>>>14,E^=(i=(w^=(i=(T^=(i=(C^=(i=E+w|0)<<7|i>>>25)+E|0)<<9|i>>>23)+C|0)<<13|i>>>19)+T|0)<<18|i>>>14,A^=(i=(F^=(i=(j^=(i=(B^=(i=A+F|0)<<7|i>>>25)+A|0)<<9|i>>>23)+B|0)<<13|i>>>19)+j|0)<<18|i>>>14,D^=(i=(O^=(i=(P^=(i=(_^=(i=D+O|0)<<7|i>>>25)+D|0)<<9|i>>>23)+_|0)<<13|i>>>19)+P|0)<<18|i>>>14,x^=(i=(_^=(i=(j^=(i=(w^=(i=x+_|0)<<7|i>>>25)+x|0)<<9|i>>>23)+w|0)<<13|i>>>19)+j|0)<<18|i>>>14,E^=(i=(S^=(i=(P^=(i=(F^=(i=E+S|0)<<7|i>>>25)+E|0)<<9|i>>>23)+F|0)<<13|i>>>19)+P|0)<<18|i>>>14,A^=(i=(C^=(i=(z^=(i=(O^=(i=A+C|0)<<7|i>>>25)+A|0)<<9|i>>>23)+O|0)<<13|i>>>19)+z|0)<<18|i>>>14,D^=(i=(B^=(i=(T^=(i=(q^=(i=D+B|0)<<7|i>>>25)+D|0)<<9|i>>>23)+q|0)<<13|i>>>19)+T|0)<<18|i>>>14;x=x+o|0,w=w+n|0,j=j+s|0,_=_+c|0,S=S+u|0,E=E+p|0,F=F+l|0,P=P+m|0,z=z+h|0,C=C+d|0,A=A+f|0,O=O+g|0,q=q+v|0,T=T+y|0,B=B+b|0,D=D+k|0,e[0]=x>>>0&255,e[1]=x>>>8&255,e[2]=x>>>16&255,e[3]=x>>>24&255,e[4]=w>>>0&255,e[5]=w>>>8&255,e[6]=w>>>16&255,e[7]=w>>>24&255,e[8]=j>>>0&255,e[9]=j>>>8&255,e[10]=j>>>16&255,e[11]=j>>>24&255,e[12]=_>>>0&255,e[13]=_>>>8&255,e[14]=_>>>16&255,e[15]=_>>>24&255,e[16]=S>>>0&255,e[17]=S>>>8&255,e[18]=S>>>16&255,e[19]=S>>>24&255,e[20]=E>>>0&255,e[21]=E>>>8&255,e[22]=E>>>16&255,e[23]=E>>>24&255,e[24]=F>>>0&255,e[25]=F>>>8&255,e[26]=F>>>16&255,e[27]=F>>>24&255,e[28]=P>>>0&255,e[29]=P>>>8&255,e[30]=P>>>16&255,e[31]=P>>>24&255,e[32]=z>>>0&255,e[33]=z>>>8&255,e[34]=z>>>16&255,e[35]=z>>>24&255,e[36]=C>>>0&255,e[37]=C>>>8&255,e[38]=C>>>16&255,e[39]=C>>>24&255,e[40]=A>>>0&255,e[41]=A>>>8&255,e[42]=A>>>16&255,e[43]=A>>>24&255,e[44]=O>>>0&255,e[45]=O>>>8&255,e[46]=O>>>16&255,e[47]=O>>>24&255,e[48]=q>>>0&255,e[49]=q>>>8&255,e[50]=q>>>16&255,e[51]=q>>>24&255,e[52]=T>>>0&255,e[53]=T>>>8&255,e[54]=T>>>16&255,e[55]=T>>>24&255,e[56]=B>>>0&255,e[57]=B>>>8&255,e[58]=B>>>16&255,e[59]=B>>>24&255,e[60]=D>>>0&255,e[61]=D>>>8&255,e[62]=D>>>16&255,e[63]=D>>>24&255}(e,t,a,r)}function b(e,t,a,r){!function(e,t,a,r){for(var i,o=255&r[0]|(255&r[1])<<8|(255&r[2])<<16|(255&r[3])<<24,n=255&a[0]|(255&a[1])<<8|(255&a[2])<<16|(255&a[3])<<24,s=255&a[4]|(255&a[5])<<8|(255&a[6])<<16|(255&a[7])<<24,c=255&a[8]|(255&a[9])<<8|(255&a[10])<<16|(255&a[11])<<24,u=255&a[12]|(255&a[13])<<8|(255&a[14])<<16|(255&a[15])<<24,p=255&r[4]|(255&r[5])<<8|(255&r[6])<<16|(255&r[7])<<24,l=255&t[0]|(255&t[1])<<8|(255&t[2])<<16|(255&t[3])<<24,m=255&t[4]|(255&t[5])<<8|(255&t[6])<<16|(255&t[7])<<24,h=255&t[8]|(255&t[9])<<8|(255&t[10])<<16|(255&t[11])<<24,d=255&t[12]|(255&t[13])<<8|(255&t[14])<<16|(255&t[15])<<24,f=255&r[8]|(255&r[9])<<8|(255&r[10])<<16|(255&r[11])<<24,g=255&a[16]|(255&a[17])<<8|(255&a[18])<<16|(255&a[19])<<24,v=255&a[20]|(255&a[21])<<8|(255&a[22])<<16|(255&a[23])<<24,y=255&a[24]|(255&a[25])<<8|(255&a[26])<<16|(255&a[27])<<24,b=255&a[28]|(255&a[29])<<8|(255&a[30])<<16|(255&a[31])<<24,k=255&r[12]|(255&r[13])<<8|(255&r[14])<<16|(255&r[15])<<24,x=0;x<20;x+=2)o^=(i=(v^=(i=(h^=(i=(u^=(i=o+v|0)<<7|i>>>25)+o|0)<<9|i>>>23)+u|0)<<13|i>>>19)+h|0)<<18|i>>>14,p^=(i=(n^=(i=(y^=(i=(d^=(i=p+n|0)<<7|i>>>25)+p|0)<<9|i>>>23)+d|0)<<13|i>>>19)+y|0)<<18|i>>>14,f^=(i=(l^=(i=(s^=(i=(b^=(i=f+l|0)<<7|i>>>25)+f|0)<<9|i>>>23)+b|0)<<13|i>>>19)+s|0)<<18|i>>>14,k^=(i=(g^=(i=(m^=(i=(c^=(i=k+g|0)<<7|i>>>25)+k|0)<<9|i>>>23)+c|0)<<13|i>>>19)+m|0)<<18|i>>>14,o^=(i=(c^=(i=(s^=(i=(n^=(i=o+c|0)<<7|i>>>25)+o|0)<<9|i>>>23)+n|0)<<13|i>>>19)+s|0)<<18|i>>>14,p^=(i=(u^=(i=(m^=(i=(l^=(i=p+u|0)<<7|i>>>25)+p|0)<<9|i>>>23)+l|0)<<13|i>>>19)+m|0)<<18|i>>>14,f^=(i=(d^=(i=(h^=(i=(g^=(i=f+d|0)<<7|i>>>25)+f|0)<<9|i>>>23)+g|0)<<13|i>>>19)+h|0)<<18|i>>>14,k^=(i=(b^=(i=(y^=(i=(v^=(i=k+b|0)<<7|i>>>25)+k|0)<<9|i>>>23)+v|0)<<13|i>>>19)+y|0)<<18|i>>>14;e[0]=o>>>0&255,e[1]=o>>>8&255,e[2]=o>>>16&255,e[3]=o>>>24&255,e[4]=p>>>0&255,e[5]=p>>>8&255,e[6]=p>>>16&255,e[7]=p>>>24&255,e[8]=f>>>0&255,e[9]=f>>>8&255,e[10]=f>>>16&255,e[11]=f>>>24&255,e[12]=k>>>0&255,e[13]=k>>>8&255,e[14]=k>>>16&255,e[15]=k>>>24&255,e[16]=l>>>0&255,e[17]=l>>>8&255,e[18]=l>>>16&255,e[19]=l>>>24&255,e[20]=m>>>0&255,e[21]=m>>>8&255,e[22]=m>>>16&255,e[23]=m>>>24&255,e[24]=h>>>0&255,e[25]=h>>>8&255,e[26]=h>>>16&255,e[27]=h>>>24&255,e[28]=d>>>0&255,e[29]=d>>>8&255,e[30]=d>>>16&255,e[31]=d>>>24&255}(e,t,a,r)}var k=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function x(e,t,a,r,i,o,n){var s,c,u=new Uint8Array(16),p=new Uint8Array(64);for(c=0;c<16;c++)u[c]=0;for(c=0;c<8;c++)u[c]=o[c];for(;i>=64;){for(y(p,u,n,k),c=0;c<64;c++)e[t+c]=a[r+c]^p[c];for(s=1,c=8;c<16;c++)s=s+(255&u[c])|0,u[c]=255&s,s>>>=8;i-=64,t+=64,r+=64}if(i>0)for(y(p,u,n,k),c=0;c<i;c++)e[t+c]=a[r+c]^p[c];return 0}function w(e,t,a,r,i){var o,n,s=new Uint8Array(16),c=new Uint8Array(64);for(n=0;n<16;n++)s[n]=0;for(n=0;n<8;n++)s[n]=r[n];for(;a>=64;){for(y(c,s,i,k),n=0;n<64;n++)e[t+n]=c[n];for(o=1,n=8;n<16;n++)o=o+(255&s[n])|0,s[n]=255&o,o>>>=8;a-=64,t+=64}if(a>0)for(y(c,s,i,k),n=0;n<a;n++)e[t+n]=c[n];return 0}function j(e,t,a,r,i){var o=new Uint8Array(32);b(o,r,i,k);for(var n=new Uint8Array(8),s=0;s<8;s++)n[s]=r[s+16];return w(e,t,a,n,o)}function _(e,t,a,r,i,o,n){var s=new Uint8Array(32);b(s,o,n,k);for(var c=new Uint8Array(8),u=0;u<8;u++)c[u]=o[u+16];return x(e,t,a,r,i,c,s)}var S=function(e){var t,a,r,i,o,n,s,c;this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0,t=255&e[0]|(255&e[1])<<8,this.r[0]=8191&t,a=255&e[2]|(255&e[3])<<8,this.r[1]=8191&(t>>>13|a<<3),r=255&e[4]|(255&e[5])<<8,this.r[2]=7939&(a>>>10|r<<6),i=255&e[6]|(255&e[7])<<8,this.r[3]=8191&(r>>>7|i<<9),o=255&e[8]|(255&e[9])<<8,this.r[4]=255&(i>>>4|o<<12),this.r[5]=o>>>1&8190,n=255&e[10]|(255&e[11])<<8,this.r[6]=8191&(o>>>14|n<<2),s=255&e[12]|(255&e[13])<<8,this.r[7]=8065&(n>>>11|s<<5),c=255&e[14]|(255&e[15])<<8,this.r[8]=8191&(s>>>8|c<<8),this.r[9]=c>>>5&127,this.pad[0]=255&e[16]|(255&e[17])<<8,this.pad[1]=255&e[18]|(255&e[19])<<8,this.pad[2]=255&e[20]|(255&e[21])<<8,this.pad[3]=255&e[22]|(255&e[23])<<8,this.pad[4]=255&e[24]|(255&e[25])<<8,this.pad[5]=255&e[26]|(255&e[27])<<8,this.pad[6]=255&e[28]|(255&e[29])<<8,this.pad[7]=255&e[30]|(255&e[31])<<8};function E(e,t,a,r,i,o){var n=new S(o);return n.update(a,r,i),n.finish(e,t),0}function F(e,t,a,r,i,o){var n=new Uint8Array(16);return E(n,0,a,r,i,o),g(e,t,n,0)}function P(e,t,a,r,i){var o;if(a<32)return-1;for(_(e,0,t,0,a,r,i),E(e,16,e,32,a-32,e),o=0;o<16;o++)e[o]=0;return 0}function z(e,t,a,r,i){var o,n=new Uint8Array(32);if(a<32)return-1;if(j(n,0,32,r,i),0!==F(t,16,t,32,a-32,n))return-1;for(_(e,0,t,0,a,r,i),o=0;o<32;o++)e[o]=0;return 0}function C(e,t){var a;for(a=0;a<16;a++)e[a]=0|t[a]}function A(e){var t,a,r=1;for(t=0;t<16;t++)a=e[t]+r+65535,r=Math.floor(a/65536),e[t]=a-65536*r;e[0]+=r-1+37*(r-1)}function O(e,t,a){for(var r,i=~(a-1),o=0;o<16;o++)r=i&(e[o]^t[o]),e[o]^=r,t[o]^=r}function q(e,a){var r,i,o,n=t(),s=t();for(r=0;r<16;r++)s[r]=a[r];for(A(s),A(s),A(s),i=0;i<2;i++){for(n[0]=s[0]-65517,r=1;r<15;r++)n[r]=s[r]-65535-(n[r-1]>>16&1),n[r-1]&=65535;n[15]=s[15]-32767-(n[14]>>16&1),o=n[15]>>16&1,n[14]&=65535,O(s,n,1-o)}for(r=0;r<16;r++)e[2*r]=255&s[r],e[2*r+1]=s[r]>>8}function T(e,t){var a=new Uint8Array(32),r=new Uint8Array(32);return q(a,e),q(r,t),v(a,0,r,0)}function B(e){var t=new Uint8Array(32);return q(t,e),1&t[0]}function D(e,t){var a;for(a=0;a<16;a++)e[a]=t[2*a]+(t[2*a+1]<<8);e[15]&=32767}function I(e,t,a){for(var r=0;r<16;r++)e[r]=t[r]+a[r]}function R(e,t,a){for(var r=0;r<16;r++)e[r]=t[r]-a[r]}function N(e,t,a){var r,i,o=0,n=0,s=0,c=0,u=0,p=0,l=0,m=0,h=0,d=0,f=0,g=0,v=0,y=0,b=0,k=0,x=0,w=0,j=0,_=0,S=0,E=0,F=0,P=0,z=0,C=0,A=0,O=0,q=0,T=0,B=0,D=a[0],I=a[1],R=a[2],N=a[3],L=a[4],U=a[5],H=a[6],$=a[7],M=a[8],K=a[9],V=a[10],Q=a[11],G=a[12],W=a[13],Z=a[14],Y=a[15];o+=(r=t[0])*D,n+=r*I,s+=r*R,c+=r*N,u+=r*L,p+=r*U,l+=r*H,m+=r*$,h+=r*M,d+=r*K,f+=r*V,g+=r*Q,v+=r*G,y+=r*W,b+=r*Z,k+=r*Y,n+=(r=t[1])*D,s+=r*I,c+=r*R,u+=r*N,p+=r*L,l+=r*U,m+=r*H,h+=r*$,d+=r*M,f+=r*K,g+=r*V,v+=r*Q,y+=r*G,b+=r*W,k+=r*Z,x+=r*Y,s+=(r=t[2])*D,c+=r*I,u+=r*R,p+=r*N,l+=r*L,m+=r*U,h+=r*H,d+=r*$,f+=r*M,g+=r*K,v+=r*V,y+=r*Q,b+=r*G,k+=r*W,x+=r*Z,w+=r*Y,c+=(r=t[3])*D,u+=r*I,p+=r*R,l+=r*N,m+=r*L,h+=r*U,d+=r*H,f+=r*$,g+=r*M,v+=r*K,y+=r*V,b+=r*Q,k+=r*G,x+=r*W,w+=r*Z,j+=r*Y,u+=(r=t[4])*D,p+=r*I,l+=r*R,m+=r*N,h+=r*L,d+=r*U,f+=r*H,g+=r*$,v+=r*M,y+=r*K,b+=r*V,k+=r*Q,x+=r*G,w+=r*W,j+=r*Z,_+=r*Y,p+=(r=t[5])*D,l+=r*I,m+=r*R,h+=r*N,d+=r*L,f+=r*U,g+=r*H,v+=r*$,y+=r*M,b+=r*K,k+=r*V,x+=r*Q,w+=r*G,j+=r*W,_+=r*Z,S+=r*Y,l+=(r=t[6])*D,m+=r*I,h+=r*R,d+=r*N,f+=r*L,g+=r*U,v+=r*H,y+=r*$,b+=r*M,k+=r*K,x+=r*V,w+=r*Q,j+=r*G,_+=r*W,S+=r*Z,E+=r*Y,m+=(r=t[7])*D,h+=r*I,d+=r*R,f+=r*N,g+=r*L,v+=r*U,y+=r*H,b+=r*$,k+=r*M,x+=r*K,w+=r*V,j+=r*Q,_+=r*G,S+=r*W,E+=r*Z,F+=r*Y,h+=(r=t[8])*D,d+=r*I,f+=r*R,g+=r*N,v+=r*L,y+=r*U,b+=r*H,k+=r*$,x+=r*M,w+=r*K,j+=r*V,_+=r*Q,S+=r*G,E+=r*W,F+=r*Z,P+=r*Y,d+=(r=t[9])*D,f+=r*I,g+=r*R,v+=r*N,y+=r*L,b+=r*U,k+=r*H,x+=r*$,w+=r*M,j+=r*K,_+=r*V,S+=r*Q,E+=r*G,F+=r*W,P+=r*Z,z+=r*Y,f+=(r=t[10])*D,g+=r*I,v+=r*R,y+=r*N,b+=r*L,k+=r*U,x+=r*H,w+=r*$,j+=r*M,_+=r*K,S+=r*V,E+=r*Q,F+=r*G,P+=r*W,z+=r*Z,C+=r*Y,g+=(r=t[11])*D,v+=r*I,y+=r*R,b+=r*N,k+=r*L,x+=r*U,w+=r*H,j+=r*$,_+=r*M,S+=r*K,E+=r*V,F+=r*Q,P+=r*G,z+=r*W,C+=r*Z,A+=r*Y,v+=(r=t[12])*D,y+=r*I,b+=r*R,k+=r*N,x+=r*L,w+=r*U,j+=r*H,_+=r*$,S+=r*M,E+=r*K,F+=r*V,P+=r*Q,z+=r*G,C+=r*W,A+=r*Z,O+=r*Y,y+=(r=t[13])*D,b+=r*I,k+=r*R,x+=r*N,w+=r*L,j+=r*U,_+=r*H,S+=r*$,E+=r*M,F+=r*K,P+=r*V,z+=r*Q,C+=r*G,A+=r*W,O+=r*Z,q+=r*Y,b+=(r=t[14])*D,k+=r*I,x+=r*R,w+=r*N,j+=r*L,_+=r*U,S+=r*H,E+=r*$,F+=r*M,P+=r*K,z+=r*V,C+=r*Q,A+=r*G,O+=r*W,q+=r*Z,T+=r*Y,k+=(r=t[15])*D,n+=38*(w+=r*R),s+=38*(j+=r*N),c+=38*(_+=r*L),u+=38*(S+=r*U),p+=38*(E+=r*H),l+=38*(F+=r*$),m+=38*(P+=r*M),h+=38*(z+=r*K),d+=38*(C+=r*V),f+=38*(A+=r*Q),g+=38*(O+=r*G),v+=38*(q+=r*W),y+=38*(T+=r*Z),b+=38*(B+=r*Y),o=(r=(o+=38*(x+=r*I))+(i=1)+65535)-65536*(i=Math.floor(r/65536)),n=(r=n+i+65535)-65536*(i=Math.floor(r/65536)),s=(r=s+i+65535)-65536*(i=Math.floor(r/65536)),c=(r=c+i+65535)-65536*(i=Math.floor(r/65536)),u=(r=u+i+65535)-65536*(i=Math.floor(r/65536)),p=(r=p+i+65535)-65536*(i=Math.floor(r/65536)),l=(r=l+i+65535)-65536*(i=Math.floor(r/65536)),m=(r=m+i+65535)-65536*(i=Math.floor(r/65536)),h=(r=h+i+65535)-65536*(i=Math.floor(r/65536)),d=(r=d+i+65535)-65536*(i=Math.floor(r/65536)),f=(r=f+i+65535)-65536*(i=Math.floor(r/65536)),g=(r=g+i+65535)-65536*(i=Math.floor(r/65536)),v=(r=v+i+65535)-65536*(i=Math.floor(r/65536)),y=(r=y+i+65535)-65536*(i=Math.floor(r/65536)),b=(r=b+i+65535)-65536*(i=Math.floor(r/65536)),k=(r=k+i+65535)-65536*(i=Math.floor(r/65536)),o=(r=(o+=i-1+37*(i-1))+(i=1)+65535)-65536*(i=Math.floor(r/65536)),n=(r=n+i+65535)-65536*(i=Math.floor(r/65536)),s=(r=s+i+65535)-65536*(i=Math.floor(r/65536)),c=(r=c+i+65535)-65536*(i=Math.floor(r/65536)),u=(r=u+i+65535)-65536*(i=Math.floor(r/65536)),p=(r=p+i+65535)-65536*(i=Math.floor(r/65536)),l=(r=l+i+65535)-65536*(i=Math.floor(r/65536)),m=(r=m+i+65535)-65536*(i=Math.floor(r/65536)),h=(r=h+i+65535)-65536*(i=Math.floor(r/65536)),d=(r=d+i+65535)-65536*(i=Math.floor(r/65536)),f=(r=f+i+65535)-65536*(i=Math.floor(r/65536)),g=(r=g+i+65535)-65536*(i=Math.floor(r/65536)),v=(r=v+i+65535)-65536*(i=Math.floor(r/65536)),y=(r=y+i+65535)-65536*(i=Math.floor(r/65536)),b=(r=b+i+65535)-65536*(i=Math.floor(r/65536)),k=(r=k+i+65535)-65536*(i=Math.floor(r/65536)),o+=i-1+37*(i-1),e[0]=o,e[1]=n,e[2]=s,e[3]=c,e[4]=u,e[5]=p,e[6]=l,e[7]=m,e[8]=h,e[9]=d,e[10]=f,e[11]=g,e[12]=v,e[13]=y,e[14]=b,e[15]=k}function L(e,t){N(e,t,t)}function U(e,a){var r,i=t();for(r=0;r<16;r++)i[r]=a[r];for(r=253;r>=0;r--)L(i,i),2!==r&&4!==r&&N(i,i,a);for(r=0;r<16;r++)e[r]=i[r]}function H(e,a,r){var i,o,n=new Uint8Array(32),s=new Float64Array(80),u=t(),p=t(),l=t(),m=t(),h=t(),d=t();for(o=0;o<31;o++)n[o]=a[o];for(n[31]=127&a[31]|64,n[0]&=248,D(s,r),o=0;o<16;o++)p[o]=s[o],m[o]=u[o]=l[o]=0;for(u[0]=m[0]=1,o=254;o>=0;--o)O(u,p,i=n[o>>>3]>>>(7&o)&1),O(l,m,i),I(h,u,l),R(u,u,l),I(l,p,m),R(p,p,m),L(m,h),L(d,u),N(u,l,u),N(l,p,h),I(h,u,l),R(u,u,l),L(p,u),R(l,m,d),N(u,l,c),I(u,u,m),N(l,l,u),N(u,m,d),N(m,p,s),L(p,h),O(u,p,i),O(l,m,i);for(o=0;o<16;o++)s[o+16]=u[o],s[o+32]=l[o],s[o+48]=p[o],s[o+64]=m[o];var f=s.subarray(32),g=s.subarray(16);return U(f,f),N(g,g,f),q(e,g),0}function $(e,t){return H(e,t,o)}function M(e,t){return r(t,32),$(e,t)}function K(e,t,a){var r=new Uint8Array(32);return H(r,a,t),b(e,i,r,k)}S.prototype.blocks=function(e,t,a){for(var r,i,o,n,s,c,u,p,l,m,h,d,f,g,v,y,b,k,x,w=this.fin?0:2048,j=this.h[0],_=this.h[1],S=this.h[2],E=this.h[3],F=this.h[4],P=this.h[5],z=this.h[6],C=this.h[7],A=this.h[8],O=this.h[9],q=this.r[0],T=this.r[1],B=this.r[2],D=this.r[3],I=this.r[4],R=this.r[5],N=this.r[6],L=this.r[7],U=this.r[8],H=this.r[9];a>=16;)m=l=0,m+=(j+=8191&(r=255&e[t+0]|(255&e[t+1])<<8))*q,m+=(_+=8191&(r>>>13|(i=255&e[t+2]|(255&e[t+3])<<8)<<3))*(5*H),m+=(S+=8191&(i>>>10|(o=255&e[t+4]|(255&e[t+5])<<8)<<6))*(5*U),m+=(E+=8191&(o>>>7|(n=255&e[t+6]|(255&e[t+7])<<8)<<9))*(5*L),l=(m+=(F+=8191&(n>>>4|(s=255&e[t+8]|(255&e[t+9])<<8)<<12))*(5*N))>>>13,m&=8191,m+=(P+=s>>>1&8191)*(5*R),m+=(z+=8191&(s>>>14|(c=255&e[t+10]|(255&e[t+11])<<8)<<2))*(5*I),m+=(C+=8191&(c>>>11|(u=255&e[t+12]|(255&e[t+13])<<8)<<5))*(5*D),m+=(A+=8191&(u>>>8|(p=255&e[t+14]|(255&e[t+15])<<8)<<8))*(5*B),h=l+=(m+=(O+=p>>>5|w)*(5*T))>>>13,h+=j*T,h+=_*q,h+=S*(5*H),h+=E*(5*U),l=(h+=F*(5*L))>>>13,h&=8191,h+=P*(5*N),h+=z*(5*R),h+=C*(5*I),h+=A*(5*D),l+=(h+=O*(5*B))>>>13,h&=8191,d=l,d+=j*B,d+=_*T,d+=S*q,d+=E*(5*H),l=(d+=F*(5*U))>>>13,d&=8191,d+=P*(5*L),d+=z*(5*N),d+=C*(5*R),d+=A*(5*I),f=l+=(d+=O*(5*D))>>>13,f+=j*D,f+=_*B,f+=S*T,f+=E*q,l=(f+=F*(5*H))>>>13,f&=8191,f+=P*(5*U),f+=z*(5*L),f+=C*(5*N),f+=A*(5*R),g=l+=(f+=O*(5*I))>>>13,g+=j*I,g+=_*D,g+=S*B,g+=E*T,l=(g+=F*q)>>>13,g&=8191,g+=P*(5*H),g+=z*(5*U),g+=C*(5*L),g+=A*(5*N),v=l+=(g+=O*(5*R))>>>13,v+=j*R,v+=_*I,v+=S*D,v+=E*B,l=(v+=F*T)>>>13,v&=8191,v+=P*q,v+=z*(5*H),v+=C*(5*U),v+=A*(5*L),y=l+=(v+=O*(5*N))>>>13,y+=j*N,y+=_*R,y+=S*I,y+=E*D,l=(y+=F*B)>>>13,y&=8191,y+=P*T,y+=z*q,y+=C*(5*H),y+=A*(5*U),b=l+=(y+=O*(5*L))>>>13,b+=j*L,b+=_*N,b+=S*R,b+=E*I,l=(b+=F*D)>>>13,b&=8191,b+=P*B,b+=z*T,b+=C*q,b+=A*(5*H),k=l+=(b+=O*(5*U))>>>13,k+=j*U,k+=_*L,k+=S*N,k+=E*R,l=(k+=F*I)>>>13,k&=8191,k+=P*D,k+=z*B,k+=C*T,k+=A*q,x=l+=(k+=O*(5*H))>>>13,x+=j*H,x+=_*U,x+=S*L,x+=E*N,l=(x+=F*R)>>>13,x&=8191,x+=P*I,x+=z*D,x+=C*B,x+=A*T,j=m=8191&(l=(l=((l+=(x+=O*q)>>>13)<<2)+l|0)+(m&=8191)|0),_=h+=l>>>=13,S=d&=8191,E=f&=8191,F=g&=8191,P=v&=8191,z=y&=8191,C=b&=8191,A=k&=8191,O=x&=8191,t+=16,a-=16;this.h[0]=j,this.h[1]=_,this.h[2]=S,this.h[3]=E,this.h[4]=F,this.h[5]=P,this.h[6]=z,this.h[7]=C,this.h[8]=A,this.h[9]=O},S.prototype.finish=function(e,t){var a,r,i,o,n=new Uint16Array(10);if(this.leftover){for(o=this.leftover,this.buffer[o++]=1;o<16;o++)this.buffer[o]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(a=this.h[1]>>>13,this.h[1]&=8191,o=2;o<10;o++)this.h[o]+=a,a=this.h[o]>>>13,this.h[o]&=8191;for(this.h[0]+=5*a,a=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=a,a=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=a,n[0]=this.h[0]+5,a=n[0]>>>13,n[0]&=8191,o=1;o<10;o++)n[o]=this.h[o]+a,a=n[o]>>>13,n[o]&=8191;for(n[9]-=8192,r=(1^a)-1,o=0;o<10;o++)n[o]&=r;for(r=~r,o=0;o<10;o++)this.h[o]=this.h[o]&r|n[o];for(this.h[0]=65535&(this.h[0]|this.h[1]<<13),this.h[1]=65535&(this.h[1]>>>3|this.h[2]<<10),this.h[2]=65535&(this.h[2]>>>6|this.h[3]<<7),this.h[3]=65535&(this.h[3]>>>9|this.h[4]<<4),this.h[4]=65535&(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14),this.h[5]=65535&(this.h[6]>>>2|this.h[7]<<11),this.h[6]=65535&(this.h[7]>>>5|this.h[8]<<8),this.h[7]=65535&(this.h[8]>>>8|this.h[9]<<5),i=this.h[0]+this.pad[0],this.h[0]=65535&i,o=1;o<8;o++)i=(this.h[o]+this.pad[o]|0)+(i>>>16)|0,this.h[o]=65535&i;e[t+0]=this.h[0]>>>0&255,e[t+1]=this.h[0]>>>8&255,e[t+2]=this.h[1]>>>0&255,e[t+3]=this.h[1]>>>8&255,e[t+4]=this.h[2]>>>0&255,e[t+5]=this.h[2]>>>8&255,e[t+6]=this.h[3]>>>0&255,e[t+7]=this.h[3]>>>8&255,e[t+8]=this.h[4]>>>0&255,e[t+9]=this.h[4]>>>8&255,e[t+10]=this.h[5]>>>0&255,e[t+11]=this.h[5]>>>8&255,e[t+12]=this.h[6]>>>0&255,e[t+13]=this.h[6]>>>8&255,e[t+14]=this.h[7]>>>0&255,e[t+15]=this.h[7]>>>8&255},S.prototype.update=function(e,t,a){var r,i;if(this.leftover){for((i=16-this.leftover)>a&&(i=a),r=0;r<i;r++)this.buffer[this.leftover+r]=e[t+r];if(a-=i,t+=i,this.leftover+=i,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(a>=16&&(i=a-a%16,this.blocks(e,t,i),t+=i,a-=i),a){for(r=0;r<a;r++)this.buffer[this.leftover+r]=e[t+r];this.leftover+=a}};var V=P,Q=z;var G=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function W(e,t,a,r){for(var i,o,n,s,c,u,p,l,m,h,d,f,g,v,y,b,k,x,w,j,_,S,E,F,P,z,C=new Int32Array(16),A=new Int32Array(16),O=e[0],q=e[1],T=e[2],B=e[3],D=e[4],I=e[5],R=e[6],N=e[7],L=t[0],U=t[1],H=t[2],$=t[3],M=t[4],K=t[5],V=t[6],Q=t[7],W=0;r>=128;){for(w=0;w<16;w++)j=8*w+W,C[w]=a[j+0]<<24|a[j+1]<<16|a[j+2]<<8|a[j+3],A[w]=a[j+4]<<24|a[j+5]<<16|a[j+6]<<8|a[j+7];for(w=0;w<80;w++)if(i=O,o=q,n=T,s=B,c=D,u=I,p=R,N,m=L,h=U,d=H,f=$,g=M,v=K,y=V,Q,E=65535&(S=Q),F=S>>>16,P=65535&(_=N),z=_>>>16,E+=65535&(S=(M>>>14|D<<18)^(M>>>18|D<<14)^(D>>>9|M<<23)),F+=S>>>16,P+=65535&(_=(D>>>14|M<<18)^(D>>>18|M<<14)^(M>>>9|D<<23)),z+=_>>>16,E+=65535&(S=M&K^~M&V),F+=S>>>16,P+=65535&(_=D&I^~D&R),z+=_>>>16,_=G[2*w],E+=65535&(S=G[2*w+1]),F+=S>>>16,P+=65535&_,z+=_>>>16,_=C[w%16],F+=(S=A[w%16])>>>16,P+=65535&_,z+=_>>>16,P+=(F+=(E+=65535&S)>>>16)>>>16,E=65535&(S=x=65535&E|F<<16),F=S>>>16,P=65535&(_=k=65535&P|(z+=P>>>16)<<16),z=_>>>16,E+=65535&(S=(L>>>28|O<<4)^(O>>>2|L<<30)^(O>>>7|L<<25)),F+=S>>>16,P+=65535&(_=(O>>>28|L<<4)^(L>>>2|O<<30)^(L>>>7|O<<25)),z+=_>>>16,F+=(S=L&U^L&H^U&H)>>>16,P+=65535&(_=O&q^O&T^q&T),z+=_>>>16,l=65535&(P+=(F+=(E+=65535&S)>>>16)>>>16)|(z+=P>>>16)<<16,b=65535&E|F<<16,E=65535&(S=f),F=S>>>16,P=65535&(_=s),z=_>>>16,F+=(S=x)>>>16,P+=65535&(_=k),z+=_>>>16,q=i,T=o,B=n,D=s=65535&(P+=(F+=(E+=65535&S)>>>16)>>>16)|(z+=P>>>16)<<16,I=c,R=u,N=p,O=l,U=m,H=h,$=d,M=f=65535&E|F<<16,K=g,V=v,Q=y,L=b,w%16==15)for(j=0;j<16;j++)_=C[j],E=65535&(S=A[j]),F=S>>>16,P=65535&_,z=_>>>16,_=C[(j+9)%16],E+=65535&(S=A[(j+9)%16]),F+=S>>>16,P+=65535&_,z+=_>>>16,k=C[(j+1)%16],E+=65535&(S=((x=A[(j+1)%16])>>>1|k<<31)^(x>>>8|k<<24)^(x>>>7|k<<25)),F+=S>>>16,P+=65535&(_=(k>>>1|x<<31)^(k>>>8|x<<24)^k>>>7),z+=_>>>16,k=C[(j+14)%16],F+=(S=((x=A[(j+14)%16])>>>19|k<<13)^(k>>>29|x<<3)^(x>>>6|k<<26))>>>16,P+=65535&(_=(k>>>19|x<<13)^(x>>>29|k<<3)^k>>>6),z+=_>>>16,z+=(P+=(F+=(E+=65535&S)>>>16)>>>16)>>>16,C[j]=65535&P|z<<16,A[j]=65535&E|F<<16;E=65535&(S=L),F=S>>>16,P=65535&(_=O),z=_>>>16,_=e[0],F+=(S=t[0])>>>16,P+=65535&_,z+=_>>>16,z+=(P+=(F+=(E+=65535&S)>>>16)>>>16)>>>16,e[0]=O=65535&P|z<<16,t[0]=L=65535&E|F<<16,E=65535&(S=U),F=S>>>16,P=65535&(_=q),z=_>>>16,_=e[1],F+=(S=t[1])>>>16,P+=65535&_,z+=_>>>16,z+=(P+=(F+=(E+=65535&S)>>>16)>>>16)>>>16,e[1]=q=65535&P|z<<16,t[1]=U=65535&E|F<<16,E=65535&(S=H),F=S>>>16,P=65535&(_=T),z=_>>>16,_=e[2],F+=(S=t[2])>>>16,P+=65535&_,z+=_>>>16,z+=(P+=(F+=(E+=65535&S)>>>16)>>>16)>>>16,e[2]=T=65535&P|z<<16,t[2]=H=65535&E|F<<16,E=65535&(S=$),F=S>>>16,P=65535&(_=B),z=_>>>16,_=e[3],F+=(S=t[3])>>>16,P+=65535&_,z+=_>>>16,z+=(P+=(F+=(E+=65535&S)>>>16)>>>16)>>>16,e[3]=B=65535&P|z<<16,t[3]=$=65535&E|F<<16,E=65535&(S=M),F=S>>>16,P=65535&(_=D),z=_>>>16,_=e[4],F+=(S=t[4])>>>16,P+=65535&_,z+=_>>>16,z+=(P+=(F+=(E+=65535&S)>>>16)>>>16)>>>16,e[4]=D=65535&P|z<<16,t[4]=M=65535&E|F<<16,E=65535&(S=K),F=S>>>16,P=65535&(_=I),z=_>>>16,_=e[5],F+=(S=t[5])>>>16,P+=65535&_,z+=_>>>16,z+=(P+=(F+=(E+=65535&S)>>>16)>>>16)>>>16,e[5]=I=65535&P|z<<16,t[5]=K=65535&E|F<<16,E=65535&(S=V),F=S>>>16,P=65535&(_=R),z=_>>>16,_=e[6],F+=(S=t[6])>>>16,P+=65535&_,z+=_>>>16,z+=(P+=(F+=(E+=65535&S)>>>16)>>>16)>>>16,e[6]=R=65535&P|z<<16,t[6]=V=65535&E|F<<16,E=65535&(S=Q),F=S>>>16,P=65535&(_=N),z=_>>>16,_=e[7],F+=(S=t[7])>>>16,P+=65535&_,z+=_>>>16,z+=(P+=(F+=(E+=65535&S)>>>16)>>>16)>>>16,e[7]=N=65535&P|z<<16,t[7]=Q=65535&E|F<<16,W+=128,r-=128}return r}function Z(e,t,a){var r,i=new Int32Array(8),o=new Int32Array(8),n=new Uint8Array(256),s=a;for(i[0]=1779033703,i[1]=3144134277,i[2]=1013904242,i[3]=2773480762,i[4]=1359893119,i[5]=2600822924,i[6]=528734635,i[7]=1541459225,o[0]=4089235720,o[1]=2227873595,o[2]=4271175723,o[3]=1595750129,o[4]=2917565137,o[5]=725511199,o[6]=4215389547,o[7]=327033209,W(i,o,t,a),a%=128,r=0;r<a;r++)n[r]=t[s-a+r];for(n[a]=128,n[(a=256-128*(a<112?1:0))-9]=0,d(n,a-8,s/536870912|0,s<<3),W(i,o,n,a),r=0;r<8;r++)d(e,8*r,i[r],o[r]);return 0}function Y(e,a){var r=t(),i=t(),o=t(),n=t(),s=t(),c=t(),u=t(),l=t(),m=t();R(r,e[1],e[0]),R(m,a[1],a[0]),N(r,r,m),I(i,e[0],e[1]),I(m,a[0],a[1]),N(i,i,m),N(o,e[3],a[3]),N(o,o,p),N(n,e[2],a[2]),I(n,n,n),R(s,i,r),R(c,n,o),I(u,n,o),I(l,i,r),N(e[0],s,c),N(e[1],l,u),N(e[2],u,c),N(e[3],s,l)}function J(e,t,a){var r;for(r=0;r<4;r++)O(e[r],t[r],a)}function X(e,a){var r=t(),i=t(),o=t();U(o,a[2]),N(r,a[0],o),N(i,a[1],o),q(e,i),e[31]^=B(r)<<7}function ee(e,t,a){var r,i;for(C(e[0],n),C(e[1],s),C(e[2],s),C(e[3],n),i=255;i>=0;--i)J(e,t,r=a[i/8|0]>>(7&i)&1),Y(t,e),Y(e,e),J(e,t,r)}function te(e,a){var r=[t(),t(),t(),t()];C(r[0],l),C(r[1],m),C(r[2],s),N(r[3],l,m),ee(e,r,a)}function ae(e,a,i){var o,n=new Uint8Array(64),s=[t(),t(),t(),t()];for(i||r(a,32),Z(n,a,32),n[0]&=248,n[31]&=127,n[31]|=64,te(s,n),X(e,s),o=0;o<32;o++)a[o+32]=e[o];return 0}var re=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function ie(e,t){var a,r,i,o;for(r=63;r>=32;--r){for(a=0,i=r-32,o=r-12;i<o;++i)t[i]+=a-16*t[r]*re[i-(r-32)],a=t[i]+128>>8,t[i]-=256*a;t[i]+=a,t[r]=0}for(a=0,i=0;i<32;i++)t[i]+=a-(t[31]>>4)*re[i],a=t[i]>>8,t[i]&=255;for(i=0;i<32;i++)t[i]-=a*re[i];for(r=0;r<32;r++)t[r+1]+=t[r]>>8,e[r]=255&t[r]}function oe(e){var t,a=new Float64Array(64);for(t=0;t<64;t++)a[t]=e[t];for(t=0;t<64;t++)e[t]=0;ie(e,a)}function ne(e,a,r,i){var o,n,s=new Uint8Array(64),c=new Uint8Array(64),u=new Uint8Array(64),p=new Float64Array(64),l=[t(),t(),t(),t()];Z(s,i,32),s[0]&=248,s[31]&=127,s[31]|=64;var m=r+64;for(o=0;o<r;o++)e[64+o]=a[o];for(o=0;o<32;o++)e[32+o]=s[32+o];for(Z(u,e.subarray(32),r+32),oe(u),te(l,u),X(e,l),o=32;o<64;o++)e[o]=i[o];for(Z(c,e,r+64),oe(c),o=0;o<64;o++)p[o]=0;for(o=0;o<32;o++)p[o]=u[o];for(o=0;o<32;o++)for(n=0;n<32;n++)p[o+n]+=c[o]*s[n];return ie(e.subarray(32),p),m}function se(e,a){var r=t(),i=t(),o=t(),c=t(),p=t(),l=t(),m=t();return C(e[2],s),D(e[1],a),L(o,e[1]),N(c,o,u),R(o,o,e[2]),I(c,e[2],c),L(p,c),L(l,p),N(m,l,p),N(r,m,o),N(r,r,c),function(e,a){var r,i=t();for(r=0;r<16;r++)i[r]=a[r];for(r=250;r>=0;r--)L(i,i),1!==r&&N(i,i,a);for(r=0;r<16;r++)e[r]=i[r]}(r,r),N(r,r,o),N(r,r,c),N(r,r,c),N(e[0],r,c),L(i,e[0]),N(i,i,c),T(i,o)&&N(e[0],e[0],h),L(i,e[0]),N(i,i,c),T(i,o)?-1:(B(e[0])===a[31]>>7&&R(e[0],n,e[0]),N(e[3],e[0],e[1]),0)}function ce(e,a,r,i){var o,n=new Uint8Array(32),s=new Uint8Array(64),c=[t(),t(),t(),t()],u=[t(),t(),t(),t()];if(-1,r<64)return-1;if(se(u,i))return-1;for(o=0;o<r;o++)e[o]=a[o];for(o=0;o<32;o++)e[o+32]=i[o];if(Z(s,e,r),oe(s),ee(c,u,s),te(u,a.subarray(32)),Y(c,u),X(n,c),r-=64,v(a,0,n,0)){for(o=0;o<r;o++)e[o]=0;return-1}for(o=0;o<r;o++)e[o]=a[o+64];return r}var ue=32,pe=24,le=32,me=32,he=pe;function de(e,t){if(e.length!==ue)throw new Error(\"bad key size\");if(t.length!==pe)throw new Error(\"bad nonce size\")}function fe(){var e,t;for(t=0;t<arguments.length;t++)if(\"[object Uint8Array]\"!==(e=Object.prototype.toString.call(arguments[t])))throw new TypeError(\"unexpected type \"+e+\", use Uint8Array\")}function ge(e){for(var t=0;t<e.length;t++)e[t]=0}e.lowlevel={crypto_core_hsalsa20:b,crypto_stream_xor:_,crypto_stream:j,crypto_stream_salsa20_xor:x,crypto_stream_salsa20:w,crypto_onetimeauth:E,crypto_onetimeauth_verify:F,crypto_verify_16:g,crypto_verify_32:v,crypto_secretbox:P,crypto_secretbox_open:z,crypto_scalarmult:H,crypto_scalarmult_base:$,crypto_box_beforenm:K,crypto_box_afternm:V,crypto_box:function(e,t,a,r,i,o){var n=new Uint8Array(32);return K(n,i,o),V(e,t,a,r,n)},crypto_box_open:function(e,t,a,r,i,o){var n=new Uint8Array(32);return K(n,i,o),Q(e,t,a,r,n)},crypto_box_keypair:M,crypto_hash:Z,crypto_sign:ne,crypto_sign_keypair:ae,crypto_sign_open:ce,crypto_secretbox_KEYBYTES:ue,crypto_secretbox_NONCEBYTES:pe,crypto_secretbox_ZEROBYTES:32,crypto_secretbox_BOXZEROBYTES:16,crypto_scalarmult_BYTES:32,crypto_scalarmult_SCALARBYTES:32,crypto_box_PUBLICKEYBYTES:le,crypto_box_SECRETKEYBYTES:me,crypto_box_BEFORENMBYTES:32,crypto_box_NONCEBYTES:he,crypto_box_ZEROBYTES:32,crypto_box_BOXZEROBYTES:16,crypto_sign_BYTES:64,crypto_sign_PUBLICKEYBYTES:32,crypto_sign_SECRETKEYBYTES:64,crypto_sign_SEEDBYTES:32,crypto_hash_BYTES:64},e.util||(e.util={},e.util.decodeUTF8=e.util.encodeUTF8=e.util.encodeBase64=e.util.decodeBase64=function(){throw new Error(\"nacl.util moved into separate package: https://github.com/dchest/tweetnacl-util-js\")}),e.randomBytes=function(e){var t=new Uint8Array(e);return r(t,e),t},e.secretbox=function(e,t,a){fe(e,t,a),de(a,t);for(var r=new Uint8Array(32+e.length),i=new Uint8Array(r.length),o=0;o<e.length;o++)r[o+32]=e[o];return P(i,r,r.length,t,a),i.subarray(16)},e.secretbox.open=function(e,t,a){fe(e,t,a),de(a,t);for(var r=new Uint8Array(16+e.length),i=new Uint8Array(r.length),o=0;o<e.length;o++)r[o+16]=e[o];return!(r.length<32)&&(0===z(i,r,r.length,t,a)&&i.subarray(32))},e.secretbox.keyLength=ue,e.secretbox.nonceLength=pe,e.secretbox.overheadLength=16,e.scalarMult=function(e,t){if(fe(e,t),32!==e.length)throw new Error(\"bad n size\");if(32!==t.length)throw new Error(\"bad p size\");var a=new Uint8Array(32);return H(a,e,t),a},e.scalarMult.base=function(e){if(fe(e),32!==e.length)throw new Error(\"bad n size\");var t=new Uint8Array(32);return $(t,e),t},e.scalarMult.scalarLength=32,e.scalarMult.groupElementLength=32,e.box=function(t,a,r,i){var o=e.box.before(r,i);return e.secretbox(t,a,o)},e.box.before=function(e,t){fe(e,t),function(e,t){if(e.length!==le)throw new Error(\"bad public key size\");if(t.length!==me)throw new Error(\"bad secret key size\")}(e,t);var a=new Uint8Array(32);return K(a,e,t),a},e.box.after=e.secretbox,e.box.open=function(t,a,r,i){var o=e.box.before(r,i);return e.secretbox.open(t,a,o)},e.box.open.after=e.secretbox.open,e.box.keyPair=function(){var e=new Uint8Array(le),t=new Uint8Array(me);return M(e,t),{publicKey:e,secretKey:t}},e.box.keyPair.fromSecretKey=function(e){if(fe(e),e.length!==me)throw new Error(\"bad secret key size\");var t=new Uint8Array(le);return $(t,e),{publicKey:t,secretKey:new Uint8Array(e)}},e.box.publicKeyLength=le,e.box.secretKeyLength=me,e.box.sharedKeyLength=32,e.box.nonceLength=he,e.box.overheadLength=e.secretbox.overheadLength,e.sign=function(e,t){if(fe(e,t),64!==t.length)throw new Error(\"bad secret key size\");var a=new Uint8Array(64+e.length);return ne(a,e,e.length,t),a},e.sign.open=function(e,t){if(2!==arguments.length)throw new Error(\"nacl.sign.open accepts 2 arguments; did you mean to use nacl.sign.detached.verify?\");if(fe(e,t),32!==t.length)throw new Error(\"bad public key size\");var a=new Uint8Array(e.length),r=ce(a,e,e.length,t);if(r<0)return null;for(var i=new Uint8Array(r),o=0;o<i.length;o++)i[o]=a[o];return i},e.sign.detached=function(t,a){for(var r=e.sign(t,a),i=new Uint8Array(64),o=0;o<i.length;o++)i[o]=r[o];return i},e.sign.detached.verify=function(e,t,a){if(fe(e,t,a),64!==t.length)throw new Error(\"bad signature size\");if(32!==a.length)throw new Error(\"bad public key size\");var r,i=new Uint8Array(64+e.length),o=new Uint8Array(64+e.length);for(r=0;r<64;r++)i[r]=t[r];for(r=0;r<e.length;r++)i[r+64]=e[r];return ce(o,i,i.length,a)>=0},e.sign.keyPair=function(){var e=new Uint8Array(32),t=new Uint8Array(64);return ae(e,t),{publicKey:e,secretKey:t}},e.sign.keyPair.fromSecretKey=function(e){if(fe(e),64!==e.length)throw new Error(\"bad secret key size\");for(var t=new Uint8Array(32),a=0;a<t.length;a++)t[a]=e[32+a];return{publicKey:t,secretKey:new Uint8Array(e)}},e.sign.keyPair.fromSeed=function(e){if(fe(e),32!==e.length)throw new Error(\"bad seed size\");for(var t=new Uint8Array(32),a=new Uint8Array(64),r=0;r<32;r++)a[r]=e[r];return ae(t,a,!0),{publicKey:t,secretKey:a}},e.sign.publicKeyLength=32,e.sign.secretKeyLength=64,e.sign.seedLength=32,e.sign.signatureLength=64,e.hash=function(e){fe(e);var t=new Uint8Array(64);return Z(t,e,e.length),t},e.hash.hashLength=64,e.verify=function(e,t){return fe(e,t),0!==e.length&&0!==t.length&&(e.length===t.length&&0===f(e,0,t,0,e.length))},e.setPRNG=function(e){r=e},function(){var t=\"undefined\"!=typeof self?self.crypto||self.msCrypto:null;if(t&&t.getRandomValues){e.setPRNG(function(e,a){var r,i=new Uint8Array(a);for(r=0;r<a;r+=65536)t.getRandomValues(i.subarray(r,r+Math.min(a-r,65536)));for(r=0;r<a;r++)e[r]=i[r];ge(i)})}else(t=a(3))&&t.randomBytes&&e.setPRNG(function(e,a){var r,i=t.randomBytes(a);for(r=0;r<a;r++)e[r]=i[r];ge(i)})}()}(e.exports?e.exports:self.nacl=self.nacl||{})},function(e,t,a){e.exports=o;var r=a(0),i=a(2).Buffer;function o(e){r.object(e,\"options\"),void 0!==e.buffer&&r.buffer(e.buffer,\"options.buffer\"),this._size=e.buffer?e.buffer.length:1024,this._buffer=e.buffer||i.alloc(this._size),this._offset=0}o.prototype.toBuffer=function(){return this._buffer.slice(0,this._offset)},o.prototype.atEnd=function(){return this._offset>=this._buffer.length},o.prototype.remainder=function(){return this._buffer.slice(this._offset)},o.prototype.skip=function(e){this._offset+=e},o.prototype.expand=function(){this._size*=2;var e=i.alloc(this._size);this._buffer.copy(e,0),this._buffer=e},o.prototype.readPart=function(){return{data:this.readBuffer()}},o.prototype.readBuffer=function(){var e=this._buffer.readUInt32BE(this._offset);this._offset+=4,r.ok(this._offset+e<=this._buffer.length,\"length out of bounds at +0x\"+this._offset.toString(16)+\" (data truncated?)\");var t=this._buffer.slice(this._offset,this._offset+e);return this._offset+=e,t},o.prototype.readString=function(){return this.readBuffer().toString()},o.prototype.readCString=function(){for(var e=this._offset;e<this._buffer.length&&0!==this._buffer[e];)e++;r.ok(e<this._buffer.length,\"c string does not terminate\");var t=this._buffer.slice(this._offset,e).toString();return this._offset=e+1,t},o.prototype.readInt=function(){var e=this._buffer.readUInt32BE(this._offset);return this._offset+=4,e},o.prototype.readInt64=function(){r.ok(this._offset+8<this._buffer.length,\"buffer not long enough to read Int64\");var e=this._buffer.slice(this._offset,this._offset+8);return this._offset+=8,e},o.prototype.readChar=function(){return this._buffer[this._offset++]},o.prototype.writeBuffer=function(e){for(;this._offset+4+e.length>this._size;)this.expand();this._buffer.writeUInt32BE(e.length,this._offset),this._offset+=4,e.copy(this._buffer,this._offset),this._offset+=e.length},o.prototype.writeString=function(e){this.writeBuffer(i.from(e,\"utf8\"))},o.prototype.writeCString=function(e){for(;this._offset+1+e.length>this._size;)this.expand();this._buffer.write(e,this._offset),this._offset+=e.length,this._buffer[this._offset++]=0},o.prototype.writeInt=function(e){for(;this._offset+4>this._size;)this.expand();this._buffer.writeUInt32BE(e,this._offset),this._offset+=4},o.prototype.writeInt64=function(e){if(r.buffer(e,\"value\"),e.length>8){for(var t=e.slice(0,e.length-8),a=0;a<t.length;++a)r.strictEqual(t[a],0,\"must fit in 64 bits of precision\");e=e.slice(e.length-8,e.length)}for(;this._offset+8>this._size;)this.expand();e.copy(this._buffer,this._offset),this._offset+=8},o.prototype.writeChar=function(e){for(;this._offset+1>this._size;)this.expand();this._buffer[this._offset++]=e},o.prototype.writePart=function(e){this.writeBuffer(e.data)},o.prototype.write=function(e){for(;this._offset+e.length>this._size;)this.expand();e.copy(this._buffer,this._offset),this._offset+=e.length}},function(e,t,a){e.exports={read:function(e,t){return p.read(e,t,\"pkcs8\")},readPkcs8:function(e,t,a){a.peek()===i.Ber.Integer&&(r.strictEqual(t,\"private\",\"unexpected Integer at start of public key\"),a.readString(i.Ber.Integer,!0));a.readSequence();var n=a.offset+a.length,p=a.readOID();switch(p){case\"1.2.840.113549.1.1.1\":return a._offset=n,\"public\"===t?function(e){e.readSequence(i.Ber.BitString),e.readByte(),e.readSequence();var t=l(e,\"modulus\"),a=l(e,\"exponent\"),r={type:\"rsa\",source:e.originalInput,parts:[{name:\"e\",data:a},{name:\"n\",data:t}]};return new c(r)}(a):function(e){e.readSequence(i.Ber.OctetString),e.readSequence();var t=l(e,\"version\");r.equal(t[0],0,\"unknown RSA private key version\");var a=l(e,\"modulus\"),o=l(e,\"public exponent\"),n=l(e,\"private exponent\"),s=l(e,\"prime1\"),c=l(e,\"prime2\"),p=l(e,\"exponent1\"),m=l(e,\"exponent2\"),h=l(e,\"iqmp\");return new u({type:\"rsa\",parts:[{name:\"n\",data:a},{name:\"e\",data:o},{name:\"d\",data:n},{name:\"iqmp\",data:h},{name:\"p\",data:s},{name:\"q\",data:c},{name:\"dmodp\",data:p},{name:\"dmodq\",data:m}]})}(a);case\"1.2.840.10040.4.1\":return\"public\"===t?function(e){e.readSequence();var t=l(e,\"p\"),a=l(e,\"q\"),r=l(e,\"g\");e.readSequence(i.Ber.BitString),e.readByte();var o=l(e,\"y\");return new c({type:\"dsa\",parts:[{name:\"p\",data:t},{name:\"q\",data:a},{name:\"g\",data:r},{name:\"y\",data:o}]})}(a):function(e){e.readSequence();var t=l(e,\"p\"),a=l(e,\"q\"),r=l(e,\"g\");e.readSequence(i.Ber.OctetString);var o=l(e,\"x\"),n=s.calculateDSAPublic(r,t,o);return new u({type:\"dsa\",parts:[{name:\"p\",data:t},{name:\"q\",data:a},{name:\"g\",data:r},{name:\"y\",data:n},{name:\"x\",data:o}]})}(a);case\"1.2.840.10045.2.1\":return\"public\"===t?function(e){var t=m(e);r.string(t,\"a known elliptic curve\");var a=e.readString(i.Ber.BitString,!0);a=s.ecNormalize(a);var n={type:\"ecdsa\",parts:[{name:\"curve\",data:o.from(t)},{name:\"Q\",data:a}]};return new c(n)}(a):function(e){var t=m(e);r.string(t,\"a known elliptic curve\"),e.readSequence(i.Ber.OctetString),e.readSequence();var a=l(e,\"version\");r.equal(a[0],1,\"unknown version of ECDSA key\");var n,c=e.readString(i.Ber.OctetString,!0);160==e.peek()&&(e.readSequence(160),e._offset+=e.length);161==e.peek()&&(e.readSequence(161),n=e.readString(i.Ber.BitString,!0),n=s.ecNormalize(n));if(void 0===n){var p=s.publicFromPrivateECDSA(t,c);n=p.part.Q.data}var h={type:\"ecdsa\",parts:[{name:\"curve\",data:o.from(t)},{name:\"Q\",data:n},{name:\"d\",data:c}]};return new u(h)}(a);case\"1.3.101.112\":return\"public\"===t?function(e){0===e.peek()&&e.readByte();var t=s.readBitString(e),a={type:\"ed25519\",parts:[{name:\"A\",data:s.zeroPadToLength(t,32)}]};return new c(a)}(a):function(e){0===e.peek()&&e.readByte();e.readSequence(i.Ber.OctetString);var t,a=e.readString(i.Ber.OctetString,!0);a=s.zeroPadToLength(a,32),e.peek()===i.Ber.BitString?(t=s.readBitString(e),t=s.zeroPadToLength(t,32)):t=s.calculateED25519Public(a);var r={type:\"ed25519\",parts:[{name:\"A\",data:s.zeroPadToLength(t,32)},{name:\"k\",data:s.zeroPadToLength(a,32)}]};return new u(r)}(a);case\"1.3.101.110\":return\"public\"===t?function(e){var t=s.readBitString(e),a={type:\"curve25519\",parts:[{name:\"A\",data:s.zeroPadToLength(t,32)}]};return new c(a)}(a):function(e){0===e.peek()&&e.readByte();e.readSequence(i.Ber.OctetString);var t=e.readString(i.Ber.OctetString,!0);t=s.zeroPadToLength(t,32);var a=s.calculateX25519Public(t),r={type:\"curve25519\",parts:[{name:\"A\",data:s.zeroPadToLength(a,32)},{name:\"k\",data:s.zeroPadToLength(t,32)}]};return new u(r)}(a);default:throw new Error(\"Unknown key type OID \"+p)}},write:function(e,t){return p.write(e,t,\"pkcs8\")},writePkcs8:h,pkcs8ToBuffer:function(e){var t=new i.BerWriter;return h(t,e),t.buffer},readECDSACurve:m,writeECDSACurve:d};var r=a(0),i=a(11),o=a(2).Buffer,n=a(8),s=a(6),c=a(5),u=a(7),p=a(14);function l(e,t){return r.strictEqual(e.peek(),i.Ber.Integer,t+\" is not an Integer\"),s.mpNormalize(e.readString(i.Ber.Integer,!0))}function m(e){var t,a,c,u,p;if(e.peek()===i.Ber.OID){var l=e.readOID();for(a=Object.keys(n.curves),c=0;c<a.length;++c)if(u=a[c],(p=n.curves[u]).pkcs8oid===l){t=u;break}}else{e.readSequence();var m=e.readString(i.Ber.Integer,!0);r.strictEqual(m[0],1,\"ECDSA key not version 1\");var h={};e.readSequence();var d=e.readOID();r.strictEqual(d,\"1.2.840.10045.1.1\",\"ECDSA key is not from a prime-field\");var f=h.p=s.mpNormalize(e.readString(i.Ber.Integer,!0));h.size=8*f.length-s.countZeros(f),e.readSequence(),h.a=s.mpNormalize(e.readString(i.Ber.OctetString,!0)),h.b=s.mpNormalize(e.readString(i.Ber.OctetString,!0)),e.peek()===i.Ber.BitString&&(h.s=e.readString(i.Ber.BitString,!0)),h.G=e.readString(i.Ber.OctetString,!0),r.strictEqual(h.G[0],4,\"uncompressed G is required\"),h.n=s.mpNormalize(e.readString(i.Ber.Integer,!0)),h.h=s.mpNormalize(e.readString(i.Ber.Integer,!0)),r.strictEqual(h.h[0],1,\"a cofactor=1 curve is required\"),a=Object.keys(n.curves);var g=Object.keys(h);for(c=0;c<a.length;++c){u=a[c],p=n.curves[u];for(var v=!0,y=0;y<g.length;++y){var b=g[y];if(void 0!==p[b])if(\"object\"==typeof p[b]&&void 0!==p[b].equals){if(!p[b].equals(h[b])){v=!1;break}}else if(o.isBuffer(p[b])){if(p[b].toString(\"binary\")!==h[b].toString(\"binary\")){v=!1;break}}else if(p[b]!==h[b]){v=!1;break}}if(v){t=u;break}}}return t}function h(e,t){if(e.startSequence(),u.isPrivateKey(t)){var a=o.from([0]);e.writeBuffer(a,i.Ber.Integer)}switch(e.startSequence(),t.type){case\"rsa\":e.writeOID(\"1.2.840.113549.1.1.1\"),u.isPrivateKey(t)?function(e,t){t.writeNull(),t.endSequence(),t.startSequence(i.Ber.OctetString),t.startSequence();var a=o.from([0]);t.writeBuffer(a,i.Ber.Integer),t.writeBuffer(e.part.n.data,i.Ber.Integer),t.writeBuffer(e.part.e.data,i.Ber.Integer),t.writeBuffer(e.part.d.data,i.Ber.Integer),t.writeBuffer(e.part.p.data,i.Ber.Integer),t.writeBuffer(e.part.q.data,i.Ber.Integer),e.part.dmodp&&e.part.dmodq||s.addRSAMissing(e);t.writeBuffer(e.part.dmodp.data,i.Ber.Integer),t.writeBuffer(e.part.dmodq.data,i.Ber.Integer),t.writeBuffer(e.part.iqmp.data,i.Ber.Integer),t.endSequence(),t.endSequence()}(t,e):function(e,t){t.writeNull(),t.endSequence(),t.startSequence(i.Ber.BitString),t.writeByte(0),t.startSequence(),t.writeBuffer(e.part.n.data,i.Ber.Integer),t.writeBuffer(e.part.e.data,i.Ber.Integer),t.endSequence(),t.endSequence()}(t,e);break;case\"dsa\":e.writeOID(\"1.2.840.10040.4.1\"),u.isPrivateKey(t)?function(e,t){t.startSequence(),t.writeBuffer(e.part.p.data,i.Ber.Integer),t.writeBuffer(e.part.q.data,i.Ber.Integer),t.writeBuffer(e.part.g.data,i.Ber.Integer),t.endSequence(),t.endSequence(),t.startSequence(i.Ber.OctetString),t.writeBuffer(e.part.x.data,i.Ber.Integer),t.endSequence()}(t,e):function(e,t){t.startSequence(),t.writeBuffer(e.part.p.data,i.Ber.Integer),t.writeBuffer(e.part.q.data,i.Ber.Integer),t.writeBuffer(e.part.g.data,i.Ber.Integer),t.endSequence(),t.endSequence(),t.startSequence(i.Ber.BitString),t.writeByte(0),t.writeBuffer(e.part.y.data,i.Ber.Integer),t.endSequence()}(t,e);break;case\"ecdsa\":e.writeOID(\"1.2.840.10045.2.1\"),u.isPrivateKey(t)?function(e,t){d(e,t),t.endSequence(),t.startSequence(i.Ber.OctetString),t.startSequence();var a=o.from([1]);t.writeBuffer(a,i.Ber.Integer),t.writeBuffer(e.part.d.data,i.Ber.OctetString),t.startSequence(161);var r=s.ecNormalize(e.part.Q.data,!0);t.writeBuffer(r,i.Ber.BitString),t.endSequence(),t.endSequence(),t.endSequence()}(t,e):function(e,t){d(e,t),t.endSequence();var a=s.ecNormalize(e.part.Q.data,!0);t.writeBuffer(a,i.Ber.BitString)}(t,e);break;case\"ed25519\":if(e.writeOID(\"1.3.101.112\"),u.isPrivateKey(t))throw new Error(\"Ed25519 private keys in pkcs8 format are not supported\");!function(e,t){t.endSequence(),s.writeBitString(t,e.part.A.data)}(t,e);break;default:throw new Error(\"Unsupported key type: \"+t.type)}e.endSequence()}function d(e,t){var a=n.curves[e.curve];if(a.pkcs8oid)t.writeOID(a.pkcs8oid);else{t.startSequence();var r=o.from([1]);t.writeBuffer(r,i.Ber.Integer),t.startSequence(),t.writeOID(\"1.2.840.10045.1.1\"),t.writeBuffer(a.p,i.Ber.Integer),t.endSequence(),t.startSequence();var s=a.p;0===s[0]&&(s=s.slice(1)),t.writeBuffer(s,i.Ber.OctetString),t.writeBuffer(a.b,i.Ber.OctetString),t.writeBuffer(a.s,i.Ber.BitString),t.endSequence(),t.writeBuffer(a.G,i.Ber.OctetString),t.writeBuffer(a.n,i.Ber.Integer);var c=a.h;c||(c=o.from([1])),t.writeBuffer(c,i.Ber.Integer),t.endSequence()}}},function(e,t,a){e.exports=g;var r=a(0),i=a(2).Buffer,o=a(8),n=a(3),s=a(22),c=(a(10),a(9)),u=(a(4),a(6)),p=a(5),l=a(7),m=a(28),h={};h.openssh=a(155),h.x509=a(68),h.pem=a(156);var d=c.CertificateParseError,f=c.InvalidAlgorithmError;function g(e){r.object(e,\"options\"),r.arrayOfObject(e.subjects,\"options.subjects\"),u.assertCompatible(e.subjects[0],m,[1,0],\"options.subjects\"),u.assertCompatible(e.subjectKey,p,[1,0],\"options.subjectKey\"),u.assertCompatible(e.issuer,m,[1,0],\"options.issuer\"),void 0!==e.issuerKey&&u.assertCompatible(e.issuerKey,p,[1,0],\"options.issuerKey\"),r.object(e.signatures,\"options.signatures\"),r.buffer(e.serial,\"options.serial\"),r.date(e.validFrom,\"options.validFrom\"),r.date(e.validUntil,\"optons.validUntil\"),r.optionalArrayOfString(e.purposes,\"options.purposes\"),this._hashCache={},this.subjects=e.subjects,this.issuer=e.issuer,this.subjectKey=e.subjectKey,this.issuerKey=e.issuerKey,this.signatures=e.signatures,this.serial=e.serial,this.validFrom=e.validFrom,this.validUntil=e.validUntil,this.purposes=e.purposes}g.formats=h,g.prototype.toBuffer=function(e,t){return void 0===e&&(e=\"x509\"),r.string(e,\"format\"),r.object(h[e],\"formats[format]\"),r.optionalObject(t,\"options\"),h[e].write(this,t)},g.prototype.toString=function(e,t){return void 0===e&&(e=\"pem\"),this.toBuffer(e,t).toString()},g.prototype.fingerprint=function(e){void 0===e&&(e=\"sha256\"),r.string(e,\"algorithm\");var t={type:\"certificate\",hash:this.hash(e),algorithm:e};return new s(t)},g.prototype.hash=function(e){if(r.string(e,\"algorithm\"),e=e.toLowerCase(),void 0===o.hashAlgs[e])throw new f(e);if(this._hashCache[e])return this._hashCache[e];var t=n.createHash(e).update(this.toBuffer(\"x509\")).digest();return this._hashCache[e]=t,t},g.prototype.isExpired=function(e){return void 0===e&&(e=new Date),!(e.getTime()>=this.validFrom.getTime()&&e.getTime()<this.validUntil.getTime())},g.prototype.isSignedBy=function(e){return u.assertCompatible(e,g,[1,0],\"issuer\"),!!this.issuer.equals(e.subjects[0])&&(!(this.issuer.purposes&&this.issuer.purposes.length>0&&-1===this.issuer.purposes.indexOf(\"ca\"))&&this.isSignedByKey(e.subjectKey))},g.prototype.getExtension=function(e){return r.string(e,\"keyOrOid\"),this.getExtensions().filter(function(t){return\"x509\"===t.format?t.oid===e:\"openssh\"===t.format&&t.name===e})[0]},g.prototype.getExtensions=function(){var e=[],t=this.signatures.x509;t&&t.extras&&t.extras.exts&&t.extras.exts.forEach(function(t){t.format=\"x509\",e.push(t)});var a=this.signatures.openssh;return a&&a.exts&&a.exts.forEach(function(t){t.format=\"openssh\",e.push(t)}),e},g.prototype.isSignedByKey=function(e){if(u.assertCompatible(e,p,[1,2],\"issuerKey\"),void 0!==this.issuerKey)return this.issuerKey.fingerprint(\"sha512\").matches(e);var t=Object.keys(this.signatures)[0],a=h[t].verify(this,e);return a&&(this.issuerKey=e),a},g.prototype.signWith=function(e){u.assertCompatible(e,l,[1,2],\"key\");for(var t=Object.keys(h),a=!1,r=0;r<t.length;++r){if(\"pem\"!==t[r])!0===h[t[r]].sign(this,e)&&(a=!0)}if(!a)throw new Error(\"Failed to sign the certificate for any available certificate formats\")},g.createSelfSigned=function(e,t,a){var o;o=Array.isArray(e)?e:[e],r.arrayOfObject(o),o.forEach(function(e){u.assertCompatible(e,m,[1,0],\"subject\")}),u.assertCompatible(t,l,[1,2],\"private key\"),r.optionalObject(a,\"options\"),void 0===a&&(a={}),r.optionalObject(a.validFrom,\"options.validFrom\"),r.optionalObject(a.validUntil,\"options.validUntil\");var n=a.validFrom,s=a.validUntil;if(void 0===n&&(n=new Date),void 0===s){r.optionalNumber(a.lifetime,\"options.lifetime\");var c=a.lifetime;void 0===c&&(c=31536e4),(s=new Date).setTime(s.getTime()+1e3*c)}r.optionalBuffer(a.serial,\"options.serial\");var p=a.serial;void 0===p&&(p=i.from(\"0000000000000001\",\"hex\"));var h=a.purposes;if(void 0===h&&(h=[]),-1===h.indexOf(\"signature\")&&h.push(\"signature\"),-1===h.indexOf(\"ca\")&&h.push(\"ca\"),-1===h.indexOf(\"crl\")&&h.push(\"crl\"),h.length<=3){var d=o.filter(function(e){return\"host\"===e.type}),f=o.filter(function(e){return\"user\"===e.type});d.length>0&&-1===h.indexOf(\"serverAuth\")&&h.push(\"serverAuth\"),f.length>0&&-1===h.indexOf(\"clientAuth\")&&h.push(\"clientAuth\"),(f.length>0||d.length>0)&&(-1===h.indexOf(\"keyAgreement\")&&h.push(\"keyAgreement\"),\"rsa\"===t.type&&-1===h.indexOf(\"encryption\")&&h.push(\"encryption\"))}var v=new g({subjects:o,issuer:o[0],subjectKey:t.toPublic(),issuerKey:t.toPublic(),signatures:{},serial:p,validFrom:n,validUntil:s,purposes:h});return v.signWith(t),v},g.create=function(e,t,a,o,n){var s;s=Array.isArray(e)?e:[e],r.arrayOfObject(s),s.forEach(function(e){u.assertCompatible(e,m,[1,0],\"subject\")}),u.assertCompatible(t,p,[1,0],\"key\"),l.isPrivateKey(t)&&(t=t.toPublic()),u.assertCompatible(a,m,[1,0],\"issuer\"),u.assertCompatible(o,l,[1,2],\"issuer key\"),r.optionalObject(n,\"options\"),void 0===n&&(n={}),r.optionalObject(n.validFrom,\"options.validFrom\"),r.optionalObject(n.validUntil,\"options.validUntil\");var c=n.validFrom,h=n.validUntil;if(void 0===c&&(c=new Date),void 0===h){r.optionalNumber(n.lifetime,\"options.lifetime\");var d=n.lifetime;void 0===d&&(d=31536e4),(h=new Date).setTime(h.getTime()+1e3*d)}r.optionalBuffer(n.serial,\"options.serial\");var f=n.serial;void 0===f&&(f=i.from(\"0000000000000001\",\"hex\"));var v=n.purposes;void 0===v&&(v=[]),-1===v.indexOf(\"signature\")&&v.push(\"signature\"),!0===n.ca&&(-1===v.indexOf(\"ca\")&&v.push(\"ca\"),-1===v.indexOf(\"crl\")&&v.push(\"crl\"));var y=s.filter(function(e){return\"host\"===e.type}),b=s.filter(function(e){return\"user\"===e.type});y.length>0&&-1===v.indexOf(\"serverAuth\")&&v.push(\"serverAuth\"),b.length>0&&-1===v.indexOf(\"clientAuth\")&&v.push(\"clientAuth\"),(b.length>0||y.length>0)&&(-1===v.indexOf(\"keyAgreement\")&&v.push(\"keyAgreement\"),\"rsa\"===t.type&&-1===v.indexOf(\"encryption\")&&v.push(\"encryption\"));var k=new g({subjects:s,issuer:a,subjectKey:t,issuerKey:o.toPublic(),signatures:{},serial:f,validFrom:c,validUntil:h,purposes:v});return k.signWith(o),k},g.parse=function(e,t,a){\"string\"!=typeof e&&r.buffer(e,\"data\"),void 0===t&&(t=\"auto\"),r.string(t,\"format\"),\"string\"==typeof a&&(a={filename:a}),r.optionalObject(a,\"options\"),void 0===a&&(a={}),r.optionalString(a.filename,\"options.filename\"),void 0===a.filename&&(a.filename=\"(unnamed)\"),r.object(h[t],\"formats[format]\");try{return h[t].read(e,a)}catch(e){throw new d(a.filename,t,e)}},g.isCertificate=function(e,t){return u.isCompatible(e,g,t)},g.prototype._sshpkApiVersion=[1,1],g._oldVersionDetect=function(e){return[1,0]}},function(e,t,a){e.exports=p;var r=a(0),i=(a(8),a(3),a(22),a(10),a(9),a(4),a(6)),o=a(11),n=a(2).Buffer,s=/^([*]|[a-z0-9][a-z0-9\\-]{0,62})(?:\\.([*]|[a-z0-9][a-z0-9\\-]{0,62}))*$/i,c={cn:\"2.5.4.3\",o:\"2.5.4.10\",ou:\"2.5.4.11\",l:\"2.5.4.7\",s:\"2.5.4.8\",c:\"2.5.4.6\",sn:\"2.5.4.4\",postalCode:\"2.5.4.17\",serialNumber:\"2.5.4.5\",street:\"2.5.4.9\",x500UniqueIdentifier:\"2.5.4.45\",role:\"2.5.4.72\",telephoneNumber:\"2.5.4.20\",description:\"2.5.4.13\",dc:\"0.9.2342.19200300.100.1.25\",uid:\"0.9.2342.19200300.100.1.1\",mail:\"0.9.2342.19200300.100.1.3\",title:\"2.5.4.12\",gn:\"2.5.4.42\",initials:\"2.5.4.43\",pseudonym:\"2.5.4.65\",emailAddress:\"1.2.840.113549.1.9.1\"},u={};function p(e){var t=this;if(r.object(e,\"options\"),r.arrayOfObject(e.components,\"options.components\"),this.components=e.components,this.componentLookup={},this.components.forEach(function(e){e.name&&!e.oid&&(e.oid=c[e.name]),e.oid&&!e.name&&(e.name=u[e.oid]),void 0===t.componentLookup[e.name]&&(t.componentLookup[e.name]=[]),t.componentLookup[e.name].push(e)}),this.componentLookup.cn&&this.componentLookup.cn.length>0&&(this.cn=this.componentLookup.cn[0].value),r.optionalString(e.type,\"options.type\"),void 0===e.type)1===this.components.length&&this.componentLookup.cn&&1===this.componentLookup.cn.length&&this.componentLookup.cn[0].value.match(s)?(this.type=\"host\",this.hostname=this.componentLookup.cn[0].value):this.componentLookup.dc&&this.components.length===this.componentLookup.dc.length?(this.type=\"host\",this.hostname=this.componentLookup.dc.map(function(e){return e.value}).join(\".\")):this.componentLookup.uid&&this.components.length===this.componentLookup.uid.length?(this.type=\"user\",this.uid=this.componentLookup.uid[0].value):this.componentLookup.cn&&1===this.componentLookup.cn.length&&this.componentLookup.cn[0].value.match(s)?(this.type=\"host\",this.hostname=this.componentLookup.cn[0].value):this.componentLookup.uid&&1===this.componentLookup.uid.length?(this.type=\"user\",this.uid=this.componentLookup.uid[0].value):this.componentLookup.mail&&1===this.componentLookup.mail.length?(this.type=\"email\",this.email=this.componentLookup.mail[0].value):this.componentLookup.cn&&1===this.componentLookup.cn.length?(this.type=\"user\",this.uid=this.componentLookup.cn[0].value):this.type=\"unknown\";else if(this.type=e.type,\"host\"===this.type)this.hostname=e.hostname;else if(\"user\"===this.type)this.uid=e.uid;else{if(\"email\"!==this.type)throw new Error(\"Unknown type \"+this.type);this.email=e.email}}Object.keys(c).forEach(function(e){u[c[e]]=e}),p.prototype.toString=function(){return this.components.map(function(e){var t=e.name.toUpperCase();t=t.replace(/=/g,\"\\\\=\");var a=e.value;return t+\"=\"+(a=a.replace(/,/g,\"\\\\,\"))}).join(\", \")},p.prototype.get=function(e,t){r.string(e,\"name\");var a=this.componentLookup[e];if(void 0!==a&&0!==a.length){if(!t&&a.length>1)throw new Error(\"Multiple values for attribute \"+e);return t?a.map(function(e){return e.value}):a[0].value}},p.prototype.toArray=function(e){return this.components.map(function(e){return{name:e.name,value:e.value}})};var l=/[^a-zA-Z0-9 '(),+.\\/:=?-]/,m=/[^\\x00-\\x7f]/;function h(e,t){if(\"**\"===e||\"**\"===t)return!0;var a=e.split(\".\"),r=t.split(\".\");if(a.length!==r.length)return!1;for(var i=0;i<a.length;++i)if(\"*\"!==a[i]&&\"*\"!==r[i]&&a[i]!==r[i])return!1;return!0}p.prototype.toAsn1=function(e,t){e.startSequence(t),this.components.forEach(function(t){if(e.startSequence(o.Ber.Constructor|o.Ber.Set),e.startSequence(),e.writeOID(t.oid),t.asn1type===o.Ber.Utf8String||t.value.match(m)){var a=n.from(t.value,\"utf8\");e.writeBuffer(a,o.Ber.Utf8String)}else if(t.asn1type===o.Ber.IA5String||t.value.match(l))e.writeString(t.value,o.Ber.IA5String);else{var r=o.Ber.PrintableString;void 0!==t.asn1type&&(r=t.asn1type),e.writeString(t.value,r)}e.endSequence(),e.endSequence()}),e.endSequence()},p.prototype.equals=function(e){if(!p.isIdentity(e,[1,0]))return!1;if(e.components.length!==this.components.length)return!1;for(var t=0;t<this.components.length;++t){if(this.components[t].oid!==e.components[t].oid)return!1;if(!h(this.components[t].value,e.components[t].value))return!1}return!0},p.forHost=function(e){return r.string(e,\"hostname\"),new p({type:\"host\",hostname:e,components:[{name:\"cn\",value:e}]})},p.forUser=function(e){return r.string(e,\"uid\"),new p({type:\"user\",uid:e,components:[{name:\"uid\",value:e}]})},p.forEmail=function(e){return r.string(e,\"email\"),new p({type:\"email\",email:e,components:[{name:\"mail\",value:e}]})},p.parseDN=function(e){r.string(e,\"dn\");for(var t=[\"\"],a=0,i=e;i.length>0;){var o;if(null!==(o=/^,/.exec(i)))t[++a]=\"\",i=i.slice(o[0].length);else if(null!==(o=/^\\\\,/.exec(i)))t[a]+=\",\",i=i.slice(o[0].length);else if(null!==(o=/^\\\\./.exec(i)))t[a]+=o[0],i=i.slice(o[0].length);else{if(null===(o=/^[^\\\\,]+/.exec(i)))throw new Error(\"Failed to parse DN\");t[a]+=o[0],i=i.slice(o[0].length)}}return new p({components:t.map(function(e){for(var t=(e=e.trim()).indexOf(\"=\");t>0&&\"\\\\\"===e.charAt(t-1);)t=e.indexOf(\"=\",t+1);if(-1===t)throw new Error(\"Failed to parse DN\");return{name:e.slice(0,t).toLowerCase().replace(/\\\\=/g,\"=\"),value:e.slice(t+1)}})})},p.fromArray=function(e){return r.arrayOfObject(e,\"components\"),e.forEach(function(e){if(r.object(e,\"component\"),r.string(e.name,\"component.name\"),!n.isBuffer(e.value)&&\"string\"!=typeof e.value)throw new Error(\"Invalid component value\")}),new p({components:e})},p.parseAsn1=function(e,t){var a=[];e.readSequence(t);for(var r=e.offset+e.length;e.offset<r;){e.readSequence(o.Ber.Constructor|o.Ber.Set);var i=e.offset+e.length;e.readSequence();var n,s=e.readOID(),c=e.peek();switch(c){case o.Ber.PrintableString:case o.Ber.IA5String:case o.Ber.OctetString:case o.Ber.T61String:n=e.readString(c);break;case o.Ber.Utf8String:n=(n=e.readString(c,!0)).toString(\"utf8\");break;case o.Ber.CharacterString:case o.Ber.BMPString:n=(n=e.readString(c,!0)).toString(\"utf16le\");break;default:throw new Error(\"Unknown asn1 type \"+c)}a.push({oid:s,asn1type:c,value:n}),e._offset=i}return e._offset=r,new p({components:a})},p.isIdentity=function(e,t){return i.isCompatible(e,p,t)},p.prototype._sshpkApiVersion=[1,0],p._oldVersionDetect=function(e){return[1,0]}},function(e,t){e.exports=require(\"https\")},function(e,t,a){var r=a(0),i=a(38),o=a(4),n={sha1:!0,sha256:!0,sha512:!0},s={rsa:!0,dsa:!0,ecdsa:!0};function c(e,t){Error.captureStackTrace&&Error.captureStackTrace(this,t||c),this.message=e,this.name=t.name}function u(e){c.call(this,e,u)}o.inherits(c,Error),o.inherits(u,c),e.exports={HASH_ALGOS:n,PK_ALGOS:s,HttpSignatureError:c,InvalidAlgorithmError:u,validateAlgorithm:function(e){var t=e.toLowerCase().split(\"-\");if(2!==t.length)throw new u(t[0].toUpperCase()+\" is not a valid algorithm\");if(\"hmac\"!==t[0]&&!s[t[0]])throw new u(t[0].toUpperCase()+\" type keys are not supported\");if(!n[t[1]])throw new u(t[1].toUpperCase()+\" is not a supported hash algorithm\");return t},sshKeyToPEM:function(e){return r.string(e,\"ssh_key\"),i.parseKey(e,\"ssh\").toString(\"pem\")},fingerprint:function(e){return r.string(e,\"ssh_key\"),i.parseKey(e,\"ssh\").fingerprint(\"md5\").toString(\"hex\")},pemToRsaSSHKey:function(e,t){r.equal(\"string\",typeof e,\"typeof pem\");var a=i.parseKey(e,\"pem\");return a.comment=t,a.toString(\"ssh\")}}},function(e,t,a){var r=a(23).BigInteger,i=r.prototype.Barrett;function o(e,t){this.x=t,this.q=e}function n(e,t,a,i){this.curve=e,this.x=t,this.y=a,this.z=null==i?r.ONE:i,this.zinv=null}function s(e,t,a){this.q=e,this.a=this.fromBigInteger(t),this.b=this.fromBigInteger(a),this.infinity=new n(this,null,null),this.reducer=new i(this.q)}o.prototype.equals=function(e){return e==this||this.q.equals(e.q)&&this.x.equals(e.x)},o.prototype.toBigInteger=function(){return this.x},o.prototype.negate=function(){return new o(this.q,this.x.negate().mod(this.q))},o.prototype.add=function(e){return new o(this.q,this.x.add(e.toBigInteger()).mod(this.q))},o.prototype.subtract=function(e){return new o(this.q,this.x.subtract(e.toBigInteger()).mod(this.q))},o.prototype.multiply=function(e){return new o(this.q,this.x.multiply(e.toBigInteger()).mod(this.q))},o.prototype.square=function(){return new o(this.q,this.x.square().mod(this.q))},o.prototype.divide=function(e){return new o(this.q,this.x.multiply(e.toBigInteger().modInverse(this.q)).mod(this.q))},n.prototype.getX=function(){null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q));var e=this.x.toBigInteger().multiply(this.zinv);return this.curve.reduce(e),this.curve.fromBigInteger(e)},n.prototype.getY=function(){null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q));var e=this.y.toBigInteger().multiply(this.zinv);return this.curve.reduce(e),this.curve.fromBigInteger(e)},n.prototype.equals=function(e){return e==this||(this.isInfinity()?e.isInfinity():e.isInfinity()?this.isInfinity():!!e.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(e.z)).mod(this.curve.q).equals(r.ZERO)&&e.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(e.z)).mod(this.curve.q).equals(r.ZERO))},n.prototype.isInfinity=function(){return null==this.x&&null==this.y||this.z.equals(r.ZERO)&&!this.y.toBigInteger().equals(r.ZERO)},n.prototype.negate=function(){return new n(this.curve,this.x,this.y.negate(),this.z)},n.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(e.z)).mod(this.curve.q),a=e.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(e.z)).mod(this.curve.q);if(r.ZERO.equals(a))return r.ZERO.equals(t)?this.twice():this.curve.getInfinity();var i=new r(\"3\"),o=this.x.toBigInteger(),s=this.y.toBigInteger(),c=(e.x.toBigInteger(),e.y.toBigInteger(),a.square()),u=c.multiply(a),p=o.multiply(c),l=t.square().multiply(this.z),m=l.subtract(p.shiftLeft(1)).multiply(e.z).subtract(u).multiply(a).mod(this.curve.q),h=p.multiply(i).multiply(t).subtract(s.multiply(u)).subtract(l.multiply(t)).multiply(e.z).add(t.multiply(u)).mod(this.curve.q),d=u.multiply(this.z).multiply(e.z).mod(this.curve.q);return new n(this.curve,this.curve.fromBigInteger(m),this.curve.fromBigInteger(h),d)},n.prototype.twice=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var e=new r(\"3\"),t=this.x.toBigInteger(),a=this.y.toBigInteger(),i=a.multiply(this.z),o=i.multiply(a).mod(this.curve.q),s=this.curve.a.toBigInteger(),c=t.square().multiply(e);r.ZERO.equals(s)||(c=c.add(this.z.square().multiply(s)));var u=(c=c.mod(this.curve.q)).square().subtract(t.shiftLeft(3).multiply(o)).shiftLeft(1).multiply(i).mod(this.curve.q),p=c.multiply(e).multiply(t).subtract(o.shiftLeft(1)).shiftLeft(2).multiply(o).subtract(c.square().multiply(c)).mod(this.curve.q),l=i.square().multiply(i).shiftLeft(3).mod(this.curve.q);return new n(this.curve,this.curve.fromBigInteger(u),this.curve.fromBigInteger(p),l)},n.prototype.multiply=function(e){if(this.isInfinity())return this;if(0==e.signum())return this.curve.getInfinity();var t,a=e,i=a.multiply(new r(\"3\")),o=this.negate(),n=this;for(t=i.bitLength()-2;t>0;--t){n=n.twice();var s=i.testBit(t);s!=a.testBit(t)&&(n=n.add(s?this:o))}return n},n.prototype.multiplyTwo=function(e,t,a){var r;r=e.bitLength()>a.bitLength()?e.bitLength()-1:a.bitLength()-1;for(var i=this.curve.getInfinity(),o=this.add(t);r>=0;)i=i.twice(),e.testBit(r)?i=a.testBit(r)?i.add(o):i.add(this):a.testBit(r)&&(i=i.add(t)),--r;return i},s.prototype.getQ=function(){return this.q},s.prototype.getA=function(){return this.a},s.prototype.getB=function(){return this.b},s.prototype.equals=function(e){return e==this||this.q.equals(e.q)&&this.a.equals(e.a)&&this.b.equals(e.b)},s.prototype.getInfinity=function(){return this.infinity},s.prototype.fromBigInteger=function(e){return new o(this.q,e)},s.prototype.reduce=function(e){this.reducer.reduce(e)},s.prototype.encodePointHex=function(e){if(e.isInfinity())return\"00\";var t=e.getX().toBigInteger().toString(16),a=e.getY().toBigInteger().toString(16),r=this.getQ().toString(16).length;for(r%2!=0&&r++;t.length<r;)t=\"0\"+t;for(;a.length<r;)a=\"0\"+a;return\"04\"+t+a},s.prototype.decodePointHex=function(e){var t;switch(parseInt(e.substr(0,2),16)){case 0:return this.infinity;case 2:t=!1;case 3:null==t&&(t=!0);var a=e.length-2,i=e.substr(2,a),o=this.fromBigInteger(new r(i,16)),s=o.multiply(o.square().add(this.getA())).add(this.getB()).sqrt();if(null==s)throw\"Invalid point compression\";var c=s.toBigInteger();return c.testBit(0)!=t&&(s=this.fromBigInteger(this.getQ().subtract(c))),new n(this,o,s);case 4:case 6:case 7:a=(e.length-2)/2,i=e.substr(2,a);var u=e.substr(a+2,a);return new n(this,this.fromBigInteger(new r(i,16)),this.fromBigInteger(new r(u,16)));default:return null}},s.prototype.encodeCompressedPointHex=function(e){if(e.isInfinity())return\"00\";var t=e.getX().toBigInteger().toString(16),a=this.getQ().toString(16).length;for(a%2!=0&&a++;t.length<a;)t=\"0\"+t;return(e.getY().toBigInteger().isEven()?\"02\":\"03\")+t},o.prototype.getR=function(){if(null!=this.r)return this.r;this.r=null;var e=this.q.bitLength();e>128&&(-1==this.q.shiftRight(e-64).intValue()&&(this.r=r.ONE.shiftLeft(e).subtract(this.q)));return this.r},o.prototype.modMult=function(e,t){return this.modReduce(e.multiply(t))},o.prototype.modReduce=function(e){if(null!=this.getR()){for(var t=q.bitLength();e.bitLength()>t+1;){var a=e.shiftRight(t),i=e.subtract(a.shiftLeft(t));this.getR().equals(r.ONE)||(a=a.multiply(this.getR())),e=a.add(i)}for(;e.compareTo(q)>=0;)e=e.subtract(q)}else e=e.mod(q);return e},o.prototype.sqrt=function(){if(!this.q.testBit(0))throw\"unsupported\";if(this.q.testBit(1)){var e=new o(this.q,this.x.modPow(this.q.shiftRight(2).add(r.ONE),this.q));return e.square().equals(this)?e:null}var t=this.q.subtract(r.ONE),a=t.shiftRight(1);if(!this.x.modPow(a,this.q).equals(r.ONE))return null;var i,n,s=t.shiftRight(2).shiftLeft(1).add(r.ONE),c=this.x,u=modDouble(modDouble(c));do{var p;do{p=new r(this.q.bitLength(),new SecureRandom)}while(p.compareTo(this.q)>=0||!p.multiply(p).subtract(u).modPow(a,this.q).equals(t));var l=this.lucasSequence(p,c,s);if(i=l[0],n=l[1],this.modMult(n,n).equals(u))return n.testBit(0)&&(n=n.add(q)),n=n.shiftRight(1),new o(q,n)}while(i.equals(r.ONE)||i.equals(t));return null},o.prototype.lucasSequence=function(e,t,a){for(var i=a.bitLength(),o=a.getLowestSetBit(),n=r.ONE,s=r.TWO,c=e,u=r.ONE,p=r.ONE,l=i-1;l>=o+1;--l)u=this.modMult(u,p),a.testBit(l)?(p=this.modMult(u,t),n=this.modMult(n,c),s=this.modReduce(c.multiply(s).subtract(e.multiply(u))),c=this.modReduce(c.multiply(c).subtract(p.shiftLeft(1)))):(p=u,n=this.modReduce(n.multiply(s).subtract(u)),c=this.modReduce(c.multiply(s).subtract(e.multiply(u))),s=this.modReduce(s.multiply(s).subtract(u.shiftLeft(1))));u=this.modMult(u,p),p=this.modMult(u,t),n=this.modReduce(n.multiply(s).subtract(u)),s=this.modReduce(c.multiply(s).subtract(e.multiply(u))),u=this.modMult(u,p);for(l=1;l<=o;++l)n=this.modMult(n,s),s=this.modReduce(s.multiply(s).subtract(u.shiftLeft(1))),u=this.modMult(u,u);return[n,s]};t={ECCurveFp:s,ECPointFp:n,ECFieldElementFp:o};e.exports=t},function(e,t,a){e.exports={read:function(e,t){return u.read(e,t)},readSSHPrivate:function(e,t,c){var u=(t=new l({buffer:t})).readCString();i.strictEqual(u,h,\"bad magic string\");var d=t.readString(),f=t.readString(),g=t.readBuffer();if(1!==t.readInt())throw new Error(\"OpenSSH-format key file contains multiple keys: this is unsupported.\");var v=t.readBuffer();if(\"public\"===e)return i.ok(t.atEnd(),\"excess bytes left after key\"),p.read(v);var y=t.readBuffer();i.ok(t.atEnd(),\"excess bytes left after key\");var b=new l({buffer:g});switch(f){case\"none\":if(\"none\"!==d)throw new Error('OpenSSH-format key uses KDF \"none\" but specifies a cipher other than \"none\"');break;case\"bcrypt\":var k=b.readBuffer(),x=b.readInt(),w=n.opensshCipherInfo(d);if(void 0===r&&(r=a(65)),\"string\"==typeof c.passphrase&&(c.passphrase=o.from(c.passphrase,\"utf-8\")),!o.isBuffer(c.passphrase))throw new m.KeyEncryptedError(c.filename,\"OpenSSH\");var j=new Uint8Array(c.passphrase),_=new Uint8Array(k),S=new Uint8Array(w.keySize+w.blockSize),E=r.pbkdf(j,j.length,_,_.length,S,S.length,x);if(0!==E)throw new Error(\"bcrypt_pbkdf function returned failure, parameters invalid\");var F=(S=o.from(S)).slice(0,w.keySize),P=S.slice(w.keySize,w.keySize+w.blockSize),z=s.createDecipheriv(w.opensslName,F,P);z.setAutoPadding(!1);var C,A=[];for(z.once(\"error\",function(e){if(-1!==e.toString().indexOf(\"bad decrypt\"))throw new Error(\"Incorrect passphrase supplied, could not decrypt key\");throw e}),z.write(y),z.end();null!==(C=z.read());)A.push(C);y=o.concat(A);break;default:throw new Error('OpenSSH-format key uses unknown KDF \"'+f+'\"')}var O=(t=new l({buffer:y})).readInt(),q=t.readInt();if(O!==q)throw new Error(\"Incorrect passphrase supplied, could not decrypt key\");var T={},B=p.readInternal(T,\"private\",t.remainder());t.skip(T.consumed);var D=t.readString();return B.comment=D,B},write:function(e,t){var u;u=c.isPrivateKey(e)?e.toPublic():e;var p,m,d=\"none\",f=\"none\",g=o.alloc(0),v={blockSize:8};void 0!==t&&(\"string\"==typeof(p=t.passphrase)&&(p=o.from(p,\"utf-8\")),void 0!==p&&(i.buffer(p,\"options.passphrase\"),i.optionalString(t.cipher,\"options.cipher\"),void 0===(d=t.cipher)&&(d=\"aes128-ctr\"),v=n.opensshCipherInfo(d),f=\"bcrypt\"));if(c.isPrivateKey(e)){m=new l({});var y=s.randomBytes(4).readUInt32BE(0);m.writeInt(y),m.writeInt(y),m.write(e.toBuffer(\"rfc4253\")),m.writeString(e.comment||\"\");for(var b=1;m._offset%v.blockSize!=0;)m.writeChar(b++);m=m.toBuffer()}switch(f){case\"none\":break;case\"bcrypt\":var k=s.randomBytes(16),x=new l({});x.writeBuffer(k),x.writeInt(16),g=x.toBuffer(),void 0===r&&(r=a(65));var w=new Uint8Array(p),j=new Uint8Array(k),_=new Uint8Array(v.keySize+v.blockSize),S=r.pbkdf(w,w.length,j,j.length,_,_.length,16);if(0!==S)throw new Error(\"bcrypt_pbkdf function returned failure, parameters invalid\");var E=(_=o.from(_)).slice(0,v.keySize),F=_.slice(v.keySize,v.keySize+v.blockSize),P=s.createCipheriv(v.opensslName,E,F);P.setAutoPadding(!1);var z,C=[];for(P.once(\"error\",function(e){throw e}),P.write(m),P.end();null!==(z=P.read());)C.push(z);m=o.concat(C);break;default:throw new Error(\"Unsupported kdf \"+f)}var A,O=new l({});O.writeCString(h),O.writeString(d),O.writeString(f),O.writeBuffer(g),O.writeInt(1),O.writeBuffer(u.toBuffer(\"rfc4253\")),m&&O.writeBuffer(m);O=O.toBuffer(),A=c.isPrivateKey(e)?\"OPENSSH PRIVATE KEY\":\"OPENSSH PUBLIC KEY\";var q=O.toString(\"base64\"),T=q.length+q.length/70+18+16+2*A.length+10;O=o.alloc(T);var B=0;B+=O.write(\"-----BEGIN \"+A+\"-----\\n\",B);for(var D=0;D<q.length;){var I=D+70;I>q.length&&(I=q.length),B+=O.write(q.slice(D,I),B),O[B++]=10,D=I}return B+=O.write(\"-----END \"+A+\"-----\\n\",B),O.slice(0,B)}};var r,i=a(0),o=(a(11),a(2).Buffer),n=(a(8),a(6)),s=a(3),c=(a(5),a(7)),u=a(14),p=a(15),l=a(25),m=a(9);var h=\"openssh-key-v1\"},function(e,t){e.exports=function(e){return null!=e&&\"object\"==typeof e}},function(e,t,a){\"use strict\";var r=Object.prototype.hasOwnProperty,i=Object.prototype.toString,o=Object.defineProperty,n=Object.getOwnPropertyDescriptor,s=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===i.call(e)},c=function(e){if(!e||\"[object Object]\"!==i.call(e))return!1;var t,a=r.call(e,\"constructor\"),o=e.constructor&&e.constructor.prototype&&r.call(e.constructor.prototype,\"isPrototypeOf\");if(e.constructor&&!a&&!o)return!1;for(t in e);return void 0===t||r.call(e,t)},u=function(e,t){o&&\"__proto__\"===t.name?o(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},p=function(e,t){if(\"__proto__\"===t){if(!r.call(e,t))return;if(n)return n(e,t).value}return e[t]};e.exports=function e(){var t,a,r,i,o,n,l=arguments[0],m=1,h=arguments.length,d=!1;for(\"boolean\"==typeof l&&(d=l,l=arguments[1]||{},m=2),(null==l||\"object\"!=typeof l&&\"function\"!=typeof l)&&(l={});m<h;++m)if(null!=(t=arguments[m]))for(a in t)r=p(l,a),l!==(i=p(t,a))&&(d&&i&&(c(i)||(o=s(i)))?(o?(o=!1,n=r&&s(r)?r:[]):n=r&&c(r)?r:{},u(l,{name:a,newValue:e(d,n,i)})):void 0!==i&&u(l,{name:a,newValue:i}));return l}},function(e,t){e.exports=require(\"net\")},function(e,t,a){\"use strict\";var r=a(142),i=a(3),o=a(19).Buffer,n=\"undefined\"==typeof setImmediate?process.nextTick:setImmediate;t.paramsHaveRequestBody=function(e){return e.body||e.requestBodyStream||e.json&&\"boolean\"!=typeof e.json||e.multipart},t.safeStringify=function(e,t){var a;try{a=JSON.stringify(e,t)}catch(i){a=r(e,t)}return a},t.md5=function(e){return i.createHash(\"md5\").update(e).digest(\"hex\")},t.isReadStream=function(e){return e.readable&&e.path&&e.mode},t.toBase64=function(e){return o.from(e||\"\",\"utf8\").toString(\"base64\")},t.copy=function(e){var t={};return Object.keys(e).forEach(function(a){t[a]=e[a]}),t},t.version=function(){var e=process.version.replace(\"v\",\"\").split(\".\");return{major:parseInt(e[0],10),minor:parseInt(e[1],10),patch:parseInt(e[2],10)}},t.defer=n},function(e,t){e.exports=require(\"querystring\")},function(e,t,a){var r=a(5),i=a(22),o=a(10),n=a(7),s=a(27),c=a(28),u=a(9);e.exports={Key:r,parseKey:r.parse,Fingerprint:i,parseFingerprint:i.parse,Signature:o,parseSignature:o.parse,PrivateKey:n,parsePrivateKey:n.parse,generatePrivateKey:n.generate,Certificate:s,parseCertificate:s.parse,createSelfSignedCertificate:s.createSelfSigned,createCertificate:s.create,Identity:c,identityFromDN:c.parseDN,identityForHost:c.forHost,identityForUser:c.forUser,identityForEmail:c.forEmail,identityFromArray:c.fromArray,FingerprintFormatError:u.FingerprintFormatError,InvalidAlgorithmError:u.InvalidAlgorithmError,KeyParseError:u.KeyParseError,SignatureParseError:u.SignatureParseError,KeyEncryptedError:u.KeyEncryptedError,CertificateParseError:u.CertificateParseError}},function(e,t){e.exports={newInvalidAsn1Error:function(e){var t=new Error;return t.name=\"InvalidAsn1Error\",t.message=e||\"\",t}}},function(e,t){e.exports={EOC:0,Boolean:1,Integer:2,BitString:3,OctetString:4,Null:5,OID:6,ObjectDescriptor:7,External:8,Real:9,Enumeration:10,PDV:11,Utf8String:12,RelativeOID:13,Sequence:16,Set:17,NumericString:18,PrintableString:19,T61String:20,VideotexString:21,IA5String:22,UTCTime:23,GeneralizedTime:24,GraphicString:25,VisibleString:26,GeneralString:28,UniversalString:29,CharacterString:30,BMPString:31,Constructor:32,Context:128}},function(e,t,a){e.exports={DiffieHellman:d,generateECDSA:function(e){var t=[];if(l){var a={nistp256:\"prime256v1\",nistp384:\"secp384r1\",nistp521:\"secp521r1\"}[e],r=i.createECDH(a);return r.generateKeys(),t.push({name:\"curve\",data:o.from(e)}),t.push({name:\"Q\",data:r.getPublicKey()}),t.push({name:\"d\",data:r.getPrivateKey()}),new p({type:\"ecdsa\",curve:e,parts:t})}var n=new f(e),s=n.getN(),c=Math.ceil((s.bitLength()+64)/8),u=new h(i.randomBytes(c)),m=s.subtract(h.ONE),d=u.mod(m).add(h.ONE),g=n.getG().multiply(d);return d=o.from(d.toByteArray()),g=o.from(n.getCurve().encodePointHex(g),\"hex\"),t.push({name:\"curve\",data:o.from(e)}),t.push({name:\"Q\",data:g}),t.push({name:\"d\",data:d}),new p({type:\"ecdsa\",curve:e,parts:t})},generateED25519:function(){var e=c.sign.keyPair(),t=o.from(e.secretKey),a=o.from(e.publicKey);r.strictEqual(t.length,64),r.strictEqual(a.length,32);var i=[];return i.push({name:\"A\",data:a}),i.push({name:\"k\",data:t.slice(0,32)}),new p({type:\"ed25519\",parts:i})}};var r=a(0),i=a(3),o=a(2).Buffer,n=a(8),s=a(6),c=a(24),u=a(5),p=a(7),l=void 0!==i.createECDH,m=(a(153),a(31)),h=a(23).BigInteger;function d(e){if(s.assertCompatible(e,u,[1,4],\"key\"),this._isPriv=p.isPrivateKey(e,[1,3]),this._algo=e.type,this._curve=e.curve,this._key=e,\"dsa\"===e.type){if(!l)throw new Error(\"Due to bugs in the node 0.10 crypto API, node 0.12.x or later is required to use DH\");this._dh=i.createDiffieHellman(e.part.p.data,void 0,e.part.g.data,void 0),this._p=e.part.p,this._g=e.part.g,this._isPriv&&this._dh.setPrivateKey(e.part.x.data),this._dh.setPublicKey(e.part.y.data)}else if(\"ecdsa\"===e.type){if(!l)return this._ecParams=new f(this._curve),void(this._isPriv&&(this._priv=new v(this._ecParams,e.part.d.data)));var t={nistp256:\"prime256v1\",nistp384:\"secp384r1\",nistp521:\"secp521r1\"}[e.curve];if(this._dh=i.createECDH(t),\"object\"!=typeof this._dh||\"function\"!=typeof this._dh.setPrivateKey)return l=!1,void d.call(this,e);this._isPriv&&this._dh.setPrivateKey(e.part.d.data),this._dh.setPublicKey(e.part.Q.data)}else{if(\"curve25519\"!==e.type)throw new Error(\"DH not supported for \"+e.type+\" keys\");this._isPriv&&(s.assertCompatible(e,p,[1,5],\"key\"),this._priv=e.part.k.data)}}function f(e){var t=n.curves[e];r.object(t);var a=new h(t.p),i=new h(t.a),o=new h(t.b),s=new h(t.n),c=h.ONE,u=new m.ECCurveFp(a,i,o),p=u.decodePointHex(t.G.toString(\"hex\"));this.curve=u,this.g=p,this.n=s,this.h=c}function g(e,t){this._params=e,0===t[0]&&(t=t.slice(1)),this._pub=e.getCurve().decodePointHex(t.toString(\"hex\"))}function v(e,t){this._params=e,this._priv=new h(s.mpNormalize(t))}d.prototype.getPublicKey=function(){return this._isPriv?this._key.toPublic():this._key},d.prototype.getPrivateKey=function(){return this._isPriv?this._key:void 0},d.prototype.getKey=d.prototype.getPrivateKey,d.prototype._keyCheck=function(e,t){if(r.object(e,\"key\"),t||s.assertCompatible(e,p,[1,3],\"key\"),s.assertCompatible(e,u,[1,4],\"key\"),e.type!==this._algo)throw new Error(\"A \"+e.type+\" key cannot be used in \"+this._algo+\" Diffie-Hellman\");if(e.curve!==this._curve)throw new Error(\"A key from the \"+e.curve+\" curve cannot be used with a \"+this._curve+\" Diffie-Hellman\");\"dsa\"===e.type&&(r.deepEqual(e.part.p,this._p,\"DSA key prime does not match\"),r.deepEqual(e.part.g,this._g,\"DSA key generator does not match\"))},d.prototype.setKey=function(e){if(this._keyCheck(e),\"dsa\"===e.type)this._dh.setPrivateKey(e.part.x.data),this._dh.setPublicKey(e.part.y.data);else if(\"ecdsa\"===e.type)l?(this._dh.setPrivateKey(e.part.d.data),this._dh.setPublicKey(e.part.Q.data)):this._priv=new v(this._ecParams,e.part.d.data);else if(\"curve25519\"===e.type){var t=e.part.k;e.part.k||(t=e.part.r),this._priv=t.data,0===this._priv[0]&&(this._priv=this._priv.slice(1)),this._priv=this._priv.slice(0,32)}this._key=e,this._isPriv=!0},d.prototype.setPrivateKey=d.prototype.setKey,d.prototype.computeSecret=function(e){if(this._keyCheck(e,!0),!this._isPriv)throw new Error(\"DH exchange has not been initialized with a private key yet\");var t;if(\"dsa\"===this._algo)return this._dh.computeSecret(e.part.y.data);if(\"ecdsa\"===this._algo)return l?this._dh.computeSecret(e.part.Q.data):(t=new g(this._ecParams,e.part.Q.data),this._priv.deriveSharedSecret(t));if(\"curve25519\"===this._algo){for(t=e.part.A.data;0===t[0]&&t.length>32;)t=t.slice(1);var a=this._priv;r.strictEqual(t.length,32),r.strictEqual(a.length,32);var i=c.box.before(new Uint8Array(t),new Uint8Array(a));return o.from(i)}throw new Error(\"Invalid algorithm: \"+this._algo)},d.prototype.generateKey=function(){var e,t,a=[];if(\"dsa\"===this._algo)return this._dh.generateKeys(),a.push({name:\"p\",data:this._p.data}),a.push({name:\"q\",data:this._key.part.q.data}),a.push({name:\"g\",data:this._g.data}),a.push({name:\"y\",data:this._dh.getPublicKey()}),a.push({name:\"x\",data:this._dh.getPrivateKey()}),this._key=new p({type:\"dsa\",parts:a}),this._isPriv=!0,this._key;if(\"ecdsa\"===this._algo){if(l)return this._dh.generateKeys(),a.push({name:\"curve\",data:o.from(this._curve)}),a.push({name:\"Q\",data:this._dh.getPublicKey()}),a.push({name:\"d\",data:this._dh.getPrivateKey()}),this._key=new p({type:\"ecdsa\",curve:this._curve,parts:a}),this._isPriv=!0,this._key;var n=this._ecParams.getN(),s=new h(i.randomBytes(n.bitLength())),u=n.subtract(h.ONE);return e=s.mod(u).add(h.ONE),t=this._ecParams.getG().multiply(e),e=o.from(e.toByteArray()),t=o.from(this._ecParams.getCurve().encodePointHex(t),\"hex\"),this._priv=new v(this._ecParams,e),a.push({name:\"curve\",data:o.from(this._curve)}),a.push({name:\"Q\",data:t}),a.push({name:\"d\",data:e}),this._key=new p({type:\"ecdsa\",curve:this._curve,parts:a}),this._isPriv=!0,this._key}if(\"curve25519\"===this._algo){var m=c.box.keyPair();return e=o.from(m.secretKey),t=o.from(m.publicKey),e=o.concat([e,t]),r.strictEqual(e.length,64),r.strictEqual(t.length,32),a.push({name:\"A\",data:t}),a.push({name:\"k\",data:e}),this._key=new p({type:\"curve25519\",parts:a}),this._isPriv=!0,this._key}throw new Error(\"Invalid algorithm: \"+this._algo)},d.prototype.generateKeys=d.prototype.generateKey,f.prototype.getCurve=function(){return this.curve},f.prototype.getG=function(){return this.g},f.prototype.getN=function(){return this.n},f.prototype.getH=function(){return this.h},v.prototype.deriveSharedSecret=function(e){r.ok(e instanceof g);var t=e._pub.multiply(this._priv);return o.from(t.getX().toBigInteger().toByteArray())}},function(e,t,a){e.exports={read:function(e,t){return p.read(e,t,\"pkcs1\")},readPkcs1:function(e,t,a){switch(e){case\"RSA\":if(\"public\"===t)return function(e){var t=m(e,\"modulus\"),a=m(e,\"exponent\");return new c({type:\"rsa\",parts:[{name:\"e\",data:a},{name:\"n\",data:t}]})}(a);if(\"private\"===t)return function(e){var t=m(e,\"version\");r.strictEqual(t[0],0);var a=m(e,\"modulus\"),i=m(e,\"public exponent\"),o=m(e,\"private exponent\"),n=m(e,\"prime1\"),s=m(e,\"prime2\"),c=m(e,\"exponent1\"),p=m(e,\"exponent2\"),l=m(e,\"iqmp\");return new u({type:\"rsa\",parts:[{name:\"n\",data:a},{name:\"e\",data:i},{name:\"d\",data:o},{name:\"iqmp\",data:l},{name:\"p\",data:n},{name:\"q\",data:s},{name:\"dmodp\",data:c},{name:\"dmodq\",data:p}]})}(a);throw new Error(\"Unknown key type: \"+t);case\"DSA\":if(\"public\"===t)return function(e){var t=m(e,\"y\"),a=m(e,\"p\"),r=m(e,\"q\"),i=m(e,\"g\");return new c({type:\"dsa\",parts:[{name:\"y\",data:t},{name:\"p\",data:a},{name:\"q\",data:r},{name:\"g\",data:i}]})}(a);if(\"private\"===t)return function(e){var t=m(e,\"version\");r.strictEqual(t.readUInt8(0),0);var a=m(e,\"p\"),i=m(e,\"q\"),o=m(e,\"g\"),n=m(e,\"y\"),s=m(e,\"x\");return new u({type:\"dsa\",parts:[{name:\"p\",data:a},{name:\"q\",data:i},{name:\"g\",data:o},{name:\"y\",data:n},{name:\"x\",data:s}]})}(a);throw new Error(\"Unknown key type: \"+t);case\"EC\":case\"ECDSA\":if(\"private\"===t)return function(e){var t=m(e,\"version\");r.strictEqual(t.readUInt8(0),1);var a=e.readString(i.Ber.OctetString,!0);e.readSequence(160);var n=l(e);r.string(n,\"a known elliptic curve\"),e.readSequence(161);var c=e.readString(i.Ber.BitString,!0);c=s.ecNormalize(c);var p={type:\"ecdsa\",parts:[{name:\"curve\",data:o.from(n)},{name:\"Q\",data:c},{name:\"d\",data:a}]};return new u(p)}(a);if(\"public\"===t)return function(e){e.readSequence();var t=e.readOID();r.strictEqual(t,\"1.2.840.10045.2.1\",\"must be ecPublicKey\");for(var a,u=e.readOID(),p=Object.keys(n.curves),l=0;l<p.length;++l){var m=p[l],h=n.curves[m];if(h.pkcs8oid===u){a=m;break}}r.string(a,\"a known ECDSA named curve\");var d=e.readString(i.Ber.BitString,!0);d=s.ecNormalize(d);var f={type:\"ecdsa\",parts:[{name:\"curve\",data:o.from(a)},{name:\"Q\",data:d}]};return new c(f)}(a);throw new Error(\"Unknown key type: \"+t);case\"EDDSA\":case\"EdDSA\":if(\"private\"===t)return function(e){var t=m(e,\"version\");r.strictEqual(t.readUInt8(0),1);var a=e.readString(i.Ber.OctetString,!0);e.readSequence(160);var o=e.readOID();r.strictEqual(o,\"1.3.101.112\",\"the ed25519 curve identifier\"),e.readSequence(161);var n=s.readBitString(e),c={type:\"ed25519\",parts:[{name:\"A\",data:s.zeroPadToLength(n,32)},{name:\"k\",data:a}]};return new u(c)}(a);throw new Error(t+\" keys not supported with EdDSA\");default:throw new Error(\"Unknown key algo: \"+e)}},write:function(e,t){return p.write(e,t,\"pkcs1\")},writePkcs1:function(e,t){switch(e.startSequence(),t.type){case\"rsa\":u.isPrivateKey(t)?function(e,t){var a=o.from([0]);e.writeBuffer(a,i.Ber.Integer),e.writeBuffer(t.part.n.data,i.Ber.Integer),e.writeBuffer(t.part.e.data,i.Ber.Integer),e.writeBuffer(t.part.d.data,i.Ber.Integer),e.writeBuffer(t.part.p.data,i.Ber.Integer),e.writeBuffer(t.part.q.data,i.Ber.Integer),t.part.dmodp&&t.part.dmodq||s.addRSAMissing(t);e.writeBuffer(t.part.dmodp.data,i.Ber.Integer),e.writeBuffer(t.part.dmodq.data,i.Ber.Integer),e.writeBuffer(t.part.iqmp.data,i.Ber.Integer)}(e,t):function(e,t){e.writeBuffer(t.part.n.data,i.Ber.Integer),e.writeBuffer(t.part.e.data,i.Ber.Integer)}(e,t);break;case\"dsa\":u.isPrivateKey(t)?function(e,t){var a=o.from([0]);e.writeBuffer(a,i.Ber.Integer),e.writeBuffer(t.part.p.data,i.Ber.Integer),e.writeBuffer(t.part.q.data,i.Ber.Integer),e.writeBuffer(t.part.g.data,i.Ber.Integer),e.writeBuffer(t.part.y.data,i.Ber.Integer),e.writeBuffer(t.part.x.data,i.Ber.Integer)}(e,t):function(e,t){e.writeBuffer(t.part.y.data,i.Ber.Integer),e.writeBuffer(t.part.p.data,i.Ber.Integer),e.writeBuffer(t.part.q.data,i.Ber.Integer),e.writeBuffer(t.part.g.data,i.Ber.Integer)}(e,t);break;case\"ecdsa\":u.isPrivateKey(t)?function(e,t){var a=o.from([1]);e.writeBuffer(a,i.Ber.Integer),e.writeBuffer(t.part.d.data,i.Ber.OctetString),e.startSequence(160);var c=t.part.curve.data.toString(),u=n.curves[c].pkcs8oid;r.string(u,\"a known ECDSA named curve\"),e.writeOID(u),e.endSequence(),e.startSequence(161);var p=s.ecNormalize(t.part.Q.data,!0);e.writeBuffer(p,i.Ber.BitString),e.endSequence()}(e,t):function(e,t){e.startSequence(),e.writeOID(\"1.2.840.10045.2.1\");var a=t.part.curve.data.toString(),o=n.curves[a].pkcs8oid;r.string(o,\"a known ECDSA named curve\"),e.writeOID(o),e.endSequence();var c=s.ecNormalize(t.part.Q.data,!0);e.writeBuffer(c,i.Ber.BitString)}(e,t);break;case\"ed25519\":u.isPrivateKey(t)?function(e,t){var a=o.from([1]);e.writeBuffer(a,i.Ber.Integer),e.writeBuffer(t.part.k.data,i.Ber.OctetString),e.startSequence(160),e.writeOID(\"1.3.101.112\"),e.endSequence(),e.startSequence(161),s.writeBitString(e,t.part.A.data),e.endSequence()}(e,t):function(e,t){throw new Error(\"Public keys are not supported for EdDSA PKCS#1\")}();break;default:throw new Error(\"Unknown key algo: \"+t.type)}e.endSequence()}};var r=a(0),i=a(11),o=a(2).Buffer,n=a(8),s=a(6),c=a(5),u=a(7),p=a(14),l=a(26).readECDSACurve;function m(e,t){return r.strictEqual(e.peek(),i.Ber.Integer,t+\" is not an Integer\"),s.mpNormalize(e.readString(i.Ber.Integer,!0))}},function(e,t,a){e.exports={read:function(e,t){\"string\"!=typeof e&&(r.buffer(e,\"buf\"),e=e.toString(\"ascii\"));var a=e.split(\"\\n\");if(a[0].match(/^Private-key-format\\: v1/)){var c=a[1].split(\" \"),l=parseInt(c[1],10),m=c[2];if(!u[l])throw new Error(\"Unsupported algorithm: \"+m);return function(e,t){if(u[e].match(/^RSA-/))return function(e){var t={};e.forEach(function(e){\"Modulus:\"===e.split(\" \")[0]?t.n=p(e):\"PublicExponent:\"===e.split(\" \")[0]?t.e=p(e):\"PrivateExponent:\"===e.split(\" \")[0]?t.d=p(e):\"Prime1:\"===e.split(\" \")[0]?t.p=p(e):\"Prime2:\"===e.split(\" \")[0]?t.q=p(e):\"Exponent1:\"===e.split(\" \")[0]?t.dmodp=p(e):\"Exponent2:\"===e.split(\" \")[0]?t.dmodq=p(e):\"Coefficient:\"===e.split(\" \")[0]&&(t.iqmp=p(e))});var a={type:\"rsa\",parts:[{name:\"e\",data:s.mpNormalize(t.e)},{name:\"n\",data:s.mpNormalize(t.n)},{name:\"d\",data:s.mpNormalize(t.d)},{name:\"p\",data:s.mpNormalize(t.p)},{name:\"q\",data:s.mpNormalize(t.q)},{name:\"dmodp\",data:s.mpNormalize(t.dmodp)},{name:\"dmodq\",data:s.mpNormalize(t.dmodq)},{name:\"iqmp\",data:s.mpNormalize(t.iqmp)}]};return new n(a)}(t);if(\"ECDSA-P384-SHA384\"===u[e]||\"ECDSA-P256-SHA256\"===u[e]){var a=i.from(t[0].split(\" \")[1],\"base64\"),r=\"nistp384\",o=384;\"ECDSA-P256-SHA256\"===u[e]&&(r=\"nistp256\",o=256);var c=s.publicFromPrivateECDSA(r,a),l=c.part.Q.data,m={type:\"ecdsa\",curve:r,size:o,parts:[{name:\"curve\",data:i.from(r)},{name:\"d\",data:a},{name:\"Q\",data:l}]};return new n(m)}throw new Error(\"Unsupported algorithm: \"+u[e])}(l,a.slice(2))}var h=0;for(;a[h].match(/^\\;/);)h++;if((a[h].match(/\\. IN KEY /)||a[h].match(/\\. IN DNSKEY /))&&0===a[h+1].length)return function(e){var t=e.split(\" \"),a=parseInt(t[5],10);if(!u[a])throw new Error(\"Unsupported algorithm: \"+a);var r=t.slice(6,t.length).join(),n=i.from(r,\"base64\");if(u[a].match(/^RSA-/)){var c=n.readUInt8(0);if(3!=c&&1!=c)throw new Error(\"Cannot parse dnssec key: unsupported exponent length\");var p=n.slice(1,c+1);p=s.mpNormalize(p);var l=n.slice(1+c);l=s.mpNormalize(l);var m={type:\"rsa\",parts:[]};return m.parts.push({name:\"e\",data:p}),m.parts.push({name:\"n\",data:l}),new o(m)}if(\"ECDSA-P384-SHA384\"===u[a]||\"ECDSA-P256-SHA256\"===u[a]){var h=\"nistp384\",d=384;u[a].match(/^ECDSA-P256-SHA256/)&&(h=\"nistp256\",d=256);var f={type:\"ecdsa\",curve:h,size:d,parts:[{name:\"curve\",data:i.from(h)},{name:\"Q\",data:s.ecNormalize(n)}]};return new o(f)}throw new Error(\"Unsupported algorithm: \"+u[a])}(a[h]);throw new Error(\"Cannot parse dnssec key\")},write:function(e,t){if(n.isPrivateKey(e)){if(\"rsa\"===e.type)return function(e,t){e.part.dmodp&&e.part.dmodq||s.addRSAMissing(e);var a=\"\";a+=\"Private-key-format: v1.3\\n\",a+=\"Algorithm: \"+function(e){if(e&&e.hashAlgo&&\"sha1\"!==e.hashAlgo){if(\"sha256\"===e.hashAlgo)return\"8 (RSASHA256)\";if(\"sha512\"===e.hashAlgo)return\"10 (RSASHA512)\";throw new Error(\"Unknown or unsupported hash: \"+e.hashAlgo)}return\"5 (RSASHA1)\"}(t)+\"\\n\";var r=s.mpDenormalize(e.part.n.data);a+=\"Modulus: \"+r.toString(\"base64\")+\"\\n\";var o=s.mpDenormalize(e.part.e.data);a+=\"PublicExponent: \"+o.toString(\"base64\")+\"\\n\";var n=s.mpDenormalize(e.part.d.data);a+=\"PrivateExponent: \"+n.toString(\"base64\")+\"\\n\";var c=s.mpDenormalize(e.part.p.data);a+=\"Prime1: \"+c.toString(\"base64\")+\"\\n\";var u=s.mpDenormalize(e.part.q.data);a+=\"Prime2: \"+u.toString(\"base64\")+\"\\n\";var p=s.mpDenormalize(e.part.dmodp.data);a+=\"Exponent1: \"+p.toString(\"base64\")+\"\\n\";var m=s.mpDenormalize(e.part.dmodq.data);a+=\"Exponent2: \"+m.toString(\"base64\")+\"\\n\";var h=s.mpDenormalize(e.part.iqmp.data);a+=\"Coefficient: \"+h.toString(\"base64\")+\"\\n\";var d=new Date;return a+=\"Created: \"+l(d)+\"\\n\",a+=\"Publish: \"+l(d)+\"\\n\",a+=\"Activate: \"+l(d)+\"\\n\",i.from(a,\"ascii\")}(e,t);if(\"ecdsa\"===e.type)return function(e,t){var a=\"\";if(a+=\"Private-key-format: v1.3\\n\",\"nistp256\"===e.curve)a+=\"Algorithm: 13 (ECDSAP256SHA256)\\n\";else{if(\"nistp384\"!==e.curve)throw new Error(\"Unsupported curve\");a+=\"Algorithm: 14 (ECDSAP384SHA384)\\n\"}var r=e.part.d.data.toString(\"base64\");a+=\"PrivateKey: \"+r+\"\\n\";var o=new Date;return a+=\"Created: \"+l(o)+\"\\n\",a+=\"Publish: \"+l(o)+\"\\n\",a+=\"Activate: \"+l(o)+\"\\n\",i.from(a,\"ascii\")}(e);throw new Error(\"Unsupported algorithm: \"+e.type)}throw o.isKey(e)?new Error('Format \"dnssec\" only supports writing private keys'):new Error(\"key is not a Key or PrivateKey\")}};var r=a(0),i=a(2).Buffer,o=a(5),n=a(7),s=a(6),c=(a(25),a(41),{\"rsa-sha1\":5,\"rsa-sha256\":8,\"rsa-sha512\":10,\"ecdsa-p256-sha256\":13,\"ecdsa-p384-sha384\":14}),u={};function p(e){return i.from(e.split(\" \")[1],\"base64\")}function l(e){var t=e.getFullYear()+\"\"+(e.getMonth()+1)+e.getUTCDate();return t+=\"\"+e.getUTCHours()+e.getUTCMinutes(),t+=e.getUTCSeconds()}Object.keys(c).forEach(function(e){u[c[e]]=e.toUpperCase()})},function(e,t){function a(e){this.dict=e||{}}a.prototype.set=function(e,t,a){if(\"object\"!=typeof e){void 0===a&&(a=!0);var r=this.has(e);return!a&&r?this.dict[r]=this.dict[r]+\",\"+t:this.dict[r||e]=t,r}for(var i in e)this.set(i,e[i],t)},a.prototype.has=function(e){for(var t=Object.keys(this.dict),a=(e=e.toLowerCase(),0);a<t.length;a++)if(t[a].toLowerCase()===e)return t[a];return!1},a.prototype.get=function(e){var t,a;e=e.toLowerCase();var r=this.dict;return Object.keys(r).forEach(function(i){a=i.toLowerCase(),e===a&&(t=r[i])}),t},a.prototype.swap=function(e){var t=this.has(e);if(t!==e){if(!t)throw new Error('There is no header than matches \"'+e+'\"');this.dict[e]=this.dict[t],delete this.dict[t]}},a.prototype.del=function(e){var t=this.has(e);return delete this.dict[t||e]},e.exports=function(e){return new a(e)},e.exports.httpify=function(e,t){var r=new a(t);return e.setHeader=function(e,t,a){if(void 0!==t)return r.set(e,t,a)},e.hasHeader=function(e){return r.has(e)},e.getHeader=function(e){return r.get(e)},e.removeHeader=function(e){return r.del(e)},e.headers=r.dict,r}},function(e,t,a){\"use strict\";var r=a(183),i=a(46),o=a(18),n=a(85),s=a(185);function c(e,t,a){var r=this._refs[a];if(\"string\"==typeof r){if(!this._refs[r])return c.call(this,e,t,r);r=this._refs[r]}if((r=r||this._schemas[a])instanceof n)return h(r.schema,this._opts.inlineRefs)?r.schema:r.validate||this._compile(r);var i,o,s,p=u.call(this,t,a);return p&&(i=p.schema,t=p.root,s=p.baseId),i instanceof n?o=i.validate||e.call(this,i.schema,t,void 0,s):void 0!==i&&(o=h(i,this._opts.inlineRefs)?i:e.call(this,i,t,void 0,s)),o}function u(e,t){var a=r.parse(t),i=f(a),o=d(this._getId(e.schema));if(0===Object.keys(e.schema).length||i!==o){var s=v(i),c=this._refs[s];if(\"string\"==typeof c)return function(e,t,a){var r=u.call(this,e,t);if(r){var i=r.schema,o=r.baseId;e=r.root;var n=this._getId(i);return n&&(o=y(o,n)),l.call(this,a,o,i,e)}}.call(this,e,c,a);if(c instanceof n)c.validate||this._compile(c),e=c;else{if(!((c=this._schemas[s])instanceof n))return;if(c.validate||this._compile(c),s==v(t))return{schema:c,root:e,baseId:o};e=c}if(!e.schema)return;o=d(this._getId(e.schema))}return l.call(this,a,o,e.schema,e)}e.exports=c,c.normalizeId=v,c.fullPath=d,c.url=y,c.ids=function(e){var t=v(this._getId(e)),a={\"\":t},n={\"\":d(t,!1)},c={},u=this;return s(e,{allKeys:!0},function(e,t,s,p,l,m,h){if(\"\"!==t){var d=u._getId(e),f=a[p],g=n[p]+\"/\"+l;if(void 0!==h&&(g+=\"/\"+(\"number\"==typeof h?h:o.escapeFragment(h))),\"string\"==typeof d){d=f=v(f?r.resolve(f,d):d);var y=u._refs[d];if(\"string\"==typeof y&&(y=u._refs[y]),y&&y.schema){if(!i(e,y.schema))throw new Error('id \"'+d+'\" resolves to more than one schema')}else if(d!=v(g))if(\"#\"==d[0]){if(c[d]&&!i(e,c[d]))throw new Error('id \"'+d+'\" resolves to more than one schema');c[d]=e}else u._refs[d]=g}a[t]=f,n[t]=g}}),c},c.inlineRef=h,c.schema=u;var p=o.toHash([\"properties\",\"patternProperties\",\"enum\",\"dependencies\",\"definitions\"]);function l(e,t,a,r){if(e.fragment=e.fragment||\"\",\"/\"==e.fragment.slice(0,1)){for(var i=e.fragment.split(\"/\"),n=1;n<i.length;n++){var s=i[n];if(s){if(void 0===(a=a[s=o.unescapeFragment(s)]))break;var c;if(!p[s]&&((c=this._getId(a))&&(t=y(t,c)),a.$ref)){var l=y(t,a.$ref),m=u.call(this,r,l);m&&(a=m.schema,r=m.root,t=m.baseId)}}}return void 0!==a&&a!==r.schema?{schema:a,root:r,baseId:t}:void 0}}var m=o.toHash([\"type\",\"format\",\"pattern\",\"maxLength\",\"minLength\",\"maxProperties\",\"minProperties\",\"maxItems\",\"minItems\",\"maximum\",\"minimum\",\"uniqueItems\",\"multipleOf\",\"required\",\"enum\"]);function h(e,t){return!1!==t&&(void 0===t||!0===t?function e(t){var a;if(Array.isArray(t)){for(var r=0;r<t.length;r++)if(\"object\"==typeof(a=t[r])&&!e(a))return!1}else for(var i in t){if(\"$ref\"==i)return!1;if(\"object\"==typeof(a=t[i])&&!e(a))return!1}return!0}(e):t?function e(t){var a,r=0;if(Array.isArray(t)){for(var i=0;i<t.length;i++)if(\"object\"==typeof(a=t[i])&&(r+=e(a)),r==1/0)return 1/0}else for(var o in t){if(\"$ref\"==o)return 1/0;if(m[o])r++;else if(\"object\"==typeof(a=t[o])&&(r+=e(a)+1),r==1/0)return 1/0}return r}(e)<=t:void 0)}function d(e,t){return!1!==t&&(e=v(e)),f(r.parse(e))}function f(e){return r.serialize(e).split(\"#\")[0]+\"#\"}var g=/#\\/?$/;function v(e){return e?e.replace(g,\"\"):\"\"}function y(e,t){return t=v(t),r.resolve(e,t)}},function(e,t,a){\"use strict\";var r=Array.isArray,i=Object.keys,o=Object.prototype.hasOwnProperty;e.exports=function e(t,a){if(t===a)return!0;if(t&&a&&\"object\"==typeof t&&\"object\"==typeof a){var n,s,c,u=r(t),p=r(a);if(u&&p){if((s=t.length)!=a.length)return!1;for(n=s;0!=n--;)if(!e(t[n],a[n]))return!1;return!0}if(u!=p)return!1;var l=t instanceof Date,m=a instanceof Date;if(l!=m)return!1;if(l&&m)return t.getTime()==a.getTime();var h=t instanceof RegExp,d=a instanceof RegExp;if(h!=d)return!1;if(h&&d)return t.toString()==a.toString();var f=i(t);if((s=f.length)!==i(a).length)return!1;for(n=s;0!=n--;)if(!o.call(a,f[n]))return!1;for(n=s;0!=n--;)if(!e(t[c=f[n]],a[c]))return!1;return!0}return t!=t&&a!=a}},function(e,t,a){\"use strict\";var r=a(45);function i(e,t,a){this.message=a||i.message(e,t),this.missingRef=r.url(e,t),this.missingSchema=r.normalizeId(r.fullPath(this.missingRef))}function o(e){return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}e.exports={Validation:o(function(e){this.message=\"validation failed\",this.errors=e,this.ajv=this.validation=!0}),MissingRef:o(i)},i.message=function(e,t){return\"can't resolve reference \"+t+\" from id \"+e}},function(e,t,a){var r=a(237),i=a(238);e.exports=function(e,t,a){var o=t&&a||0;\"string\"==typeof e&&(t=\"binary\"===e?new Array(16):null,e=null);var n=(e=e||{}).random||(e.rng||r)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t)for(var s=0;s<16;++s)t[o+s]=n[s];return t||i(n)}},function(e,t,a){\"use strict\";e.exports=function(e){var t=a(1),r=a(16).keys,i=t.tryCatch,o=t.errorObj;return function(a,n,s){return function(c){var u=s._boundValue();e:for(var p=0;p<a.length;++p){var l=a[p];if(l===Error||null!=l&&l.prototype instanceof Error){if(c instanceof l)return i(n).call(u,c)}else if(\"function\"==typeof l){var m=i(l).call(u,c);if(m===o)return m;if(m)return i(n).call(u,c)}else if(t.isObject(c)){for(var h=r(l),d=0;d<h.length;++d){var f=h[d];if(l[f]!=c[f])continue e}return i(n).call(u,c)}}return e}}}},function(e,t,a){\"use strict\";var r=a(1),i=r.maybeWrapAsError,o=a(12).OperationalError,n=a(16);var s=/^(?:name|message|stack|cause)$/;function c(e){var t;if(function(e){return e instanceof Error&&n.getPrototypeOf(e)===Error.prototype}(e)){(t=new o(e)).name=e.name,t.message=e.message,t.stack=e.stack;for(var a=n.keys(e),i=0;i<a.length;++i){var c=a[i];s.test(c)||(t[c]=e[c])}return t}return r.markAsOriginatingFromRejection(e),e}e.exports=function(e,t){return function(a,r){if(null!==e){if(a){var o=c(i(a));e._attachExtraTrace(o),e._reject(o)}else if(t){for(var n=arguments.length,s=new Array(Math.max(n-1,0)),u=1;u<n;++u)s[u-1]=arguments[u];e._fulfill(s)}else e._fulfill(r);e=null}}}},function(e,t,a){var r=a(52),i=a(133),o=\"[object AsyncFunction]\",n=\"[object Function]\",s=\"[object GeneratorFunction]\",c=\"[object Proxy]\";e.exports=function(e){if(!i(e))return!1;var t=r(e);return t==n||t==s||t==o||t==c}},function(e,t,a){var r=a(53),i=a(131),o=a(132),n=\"[object Null]\",s=\"[object Undefined]\",c=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?s:n:c&&c in Object(e)?i(e):o(e)}},function(e,t,a){var r=a(129).Symbol;e.exports=r},function(e,t){var a=Array.isArray;e.exports=a},function(e,t,a){\"use strict\";var r=a(56),i=r.Cookie,o=r.CookieJar;function n(e){this._jar=new o(e,{looseMode:!0})}t.parse=function(e){if(e&&e.uri&&(e=e.uri),\"string\"!=typeof e)throw new Error(\"The cookie function only accepts STRING as param\");return i.parse(e,{loose:!0})},n.prototype.setCookie=function(e,t,a){return this._jar.setCookieSync(e,t,a||{})},n.prototype.getCookieString=function(e){return this._jar.getCookieStringSync(e)},n.prototype.getCookies=function(e){return this._jar.getCookiesSync(e)},t.jar=function(e){return new n(e)}},function(e,t,a){\"use strict\";\n/*!\n * Copyright (c) 2015, Salesforce.com, Inc.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n * this list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. Neither the name of Salesforce.com nor the names of its contributors may\n * be used to endorse or promote products derived from this software without\n * specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n * POSSIBILITY OF SUCH DAMAGE.\n */var r,i=a(35),o=a(13).parse,n=a(4),s=a(57),c=a(59).Store,u=a(140).MemoryCookieStore,p=a(61).pathMatch,l=a(141).version;try{r=a(58)}catch(e){console.warn(\"tough-cookie: can't load punycode; won't use punycode for domain normalization\")}var m=/^[\\x21\\x23-\\x2B\\x2D-\\x3A\\x3C-\\x5B\\x5D-\\x7E]+$/,h=/[\\x00-\\x1F]/,d=[\"\\n\",\"\\r\",\"\\0\"],f=/[\\x20-\\x3A\\x3C-\\x7E]+/,g=/[\\x09\\x20-\\x2F\\x3B-\\x40\\x5B-\\x60\\x7B-\\x7E]/,v={jan:0,feb:1,mar:2,apr:3,may:4,jun:5,jul:6,aug:7,sep:8,oct:9,nov:10,dec:11},y=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],b=[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],k=2147483647e3;function x(e,t,a,r){for(var i=0;i<e.length;){var o=e.charCodeAt(i);if(o<=47||o>=58)break;i++}return i<t||i>a?null:r||i==e.length?parseInt(e.substr(0,i),10):null}function w(e){var t=e.split(\":\"),a=[0,0,0];if(3!==t.length)return null;for(var r=0;r<3;r++){var i=2==r,o=x(t[r],1,2,i);if(null===o)return null;a[r]=o}return a}function j(e){e=String(e).substr(0,3).toLowerCase();var t=v[e];return t>=0?t:null}function _(e){if(e){var t=e.split(g);if(t){for(var a=null,r=null,i=null,o=null,n=null,s=null,c=0;c<t.length;c++){var u,p=t[c].trim();if(p.length)null===i&&(u=w(p))?(a=u[0],r=u[1],i=u[2]):null!==o||null===(u=x(p,1,2,!0))?null!==n||null===(u=j(p))?null===s&&null!==(u=x(p,2,4,!0))&&((s=u)>=70&&s<=99?s+=1900:s>=0&&s<=69&&(s+=2e3)):n=u:o=u}if(!(null===o||null===n||null===s||null===i||o<1||o>31||s<1601||a>23||r>59||i>59))return new Date(Date.UTC(s,n,o,a,r,i))}}}function S(e){var t=e.getUTCDate();t=t>=10?t:\"0\"+t;var a=e.getUTCHours();a=a>=10?a:\"0\"+a;var r=e.getUTCMinutes();r=r>=10?r:\"0\"+r;var i=e.getUTCSeconds();return i=i>=10?i:\"0\"+i,b[e.getUTCDay()]+\", \"+t+\" \"+y[e.getUTCMonth()]+\" \"+e.getUTCFullYear()+\" \"+a+\":\"+r+\":\"+i+\" GMT\"}function E(e){return null==e?null:(e=e.trim().replace(/^\\./,\"\"),r&&/[^\\u0001-\\u007f]/.test(e)&&(e=r.toASCII(e)),e.toLowerCase())}function F(e,t,a){if(null==e||null==t)return null;if(!1!==a&&(e=E(e),t=E(t)),e==t)return!0;if(i.isIP(e))return!1;var r=e.indexOf(t);return!(r<=0)&&(e.length===t.length+r&&\".\"===e.substr(r-1,1))}function P(e){if(!e||\"/\"!==e.substr(0,1))return\"/\";if(\"/\"===e)return e;var t=e.lastIndexOf(\"/\");return 0===t?\"/\":e.slice(0,t)}function z(e,t){var a,r,i=(e=function(e){for(var t=0;t<d.length;t++){var a=e.indexOf(d[t]);-1!==a&&(e=e.substr(0,a))}return e}(e)).indexOf(\"=\");if(t)0===i&&(i=(e=e.substr(1)).indexOf(\"=\"));else if(i<=0)return;if(i<=0?(a=\"\",r=e.trim()):(a=e.substr(0,i).trim(),r=e.substr(i+1).trim()),!h.test(a)&&!h.test(r)){var o=new B;return o.key=a,o.value=r,o}}function C(e,t){t&&\"object\"==typeof t||(t={});var a=(e=e.trim()).indexOf(\";\"),r=z(-1===a?e:e.substr(0,a),!!t.loose);if(r){if(-1===a)return r;var i=e.slice(a+1).trim();if(0===i.length)return r;for(var o=i.split(\";\");o.length;){var n=o.shift().trim();if(0!==n.length){var s,c,u=n.indexOf(\"=\");switch(-1===u?(s=n,c=null):(s=n.substr(0,u),c=n.substr(u+1)),s=s.trim().toLowerCase(),c&&(c=c.trim()),s){case\"expires\":if(c){var p=_(c);p&&(r.expires=p)}break;case\"max-age\":if(c&&/^-?[0-9]+$/.test(c)){var l=parseInt(c,10);r.setMaxAge(l)}break;case\"domain\":if(c){var m=c.trim().replace(/^\\./,\"\");m&&(r.domain=m.toLowerCase())}break;case\"path\":r.path=c&&\"/\"===c[0]?c:null;break;case\"secure\":r.secure=!0;break;case\"httponly\":r.httpOnly=!0;break;default:r.extensions=r.extensions||[],r.extensions.push(n)}}}return r}}function A(e){var t;try{t=JSON.parse(e)}catch(e){return e}return t}function O(e){if(!e)return null;var t;if(\"string\"==typeof e){if((t=A(e))instanceof Error)return null}else t=e;for(var a=new B,r=0;r<B.serializableProperties.length;r++){var i=B.serializableProperties[r];void 0!==t[i]&&t[i]!==B.prototype[i]&&(\"expires\"===i||\"creation\"===i||\"lastAccessed\"===i?null===t[i]?a[i]=null:a[i]=\"Infinity\"==t[i]?\"Infinity\":new Date(t[i]):a[i]=t[i])}return a}function q(e,t){var a=0,r=e.path?e.path.length:0;return 0!==(a=(t.path?t.path.length:0)-r)?a:0!==(a=(e.creation?e.creation.getTime():k)-(t.creation?t.creation.getTime():k))?a:a=e.creationIndex-t.creationIndex}function T(e){if(e instanceof Object)return e;try{e=decodeURI(e)}catch(e){}return o(e)}function B(e){e=e||{},Object.keys(e).forEach(function(t){B.prototype.hasOwnProperty(t)&&B.prototype[t]!==e[t]&&\"_\"!==t.substr(0,1)&&(this[t]=e[t])},this),this.creation=this.creation||new Date,Object.defineProperty(this,\"creationIndex\",{configurable:!1,enumerable:!1,writable:!0,value:++B.cookiesCreated})}function D(e,t){\"boolean\"==typeof t?t={rejectPublicSuffixes:t}:null==t&&(t={}),null!=t.rejectPublicSuffixes&&(this.rejectPublicSuffixes=t.rejectPublicSuffixes),null!=t.looseMode&&(this.enableLooseMode=t.looseMode),e||(e=new u),this.store=e}B.cookiesCreated=0,B.parse=C,B.fromJSON=O,B.prototype.key=\"\",B.prototype.value=\"\",B.prototype.expires=\"Infinity\",B.prototype.maxAge=null,B.prototype.domain=null,B.prototype.path=null,B.prototype.secure=!1,B.prototype.httpOnly=!1,B.prototype.extensions=null,B.prototype.hostOnly=null,B.prototype.pathIsDefault=null,B.prototype.creation=null,B.prototype.lastAccessed=null,Object.defineProperty(B.prototype,\"creationIndex\",{configurable:!0,enumerable:!1,writable:!0,value:0}),B.serializableProperties=Object.keys(B.prototype).filter(function(e){return!(B.prototype[e]instanceof Function||\"creationIndex\"===e||\"_\"===e.substr(0,1))}),B.prototype.inspect=function(){var e=Date.now();return'Cookie=\"'+this.toString()+\"; hostOnly=\"+(null!=this.hostOnly?this.hostOnly:\"?\")+\"; aAge=\"+(this.lastAccessed?e-this.lastAccessed.getTime()+\"ms\":\"?\")+\"; cAge=\"+(this.creation?e-this.creation.getTime()+\"ms\":\"?\")+'\"'},n.inspect.custom&&(B.prototype[n.inspect.custom]=B.prototype.inspect),B.prototype.toJSON=function(){for(var e={},t=B.serializableProperties,a=0;a<t.length;a++){var r=t[a];this[r]!==B.prototype[r]&&(\"expires\"===r||\"creation\"===r||\"lastAccessed\"===r?null===this[r]?e[r]=null:e[r]=\"Infinity\"==this[r]?\"Infinity\":this[r].toISOString():\"maxAge\"===r?null!==this[r]&&(e[r]=this[r]==1/0||this[r]==-1/0?this[r].toString():this[r]):this[r]!==B.prototype[r]&&(e[r]=this[r]))}return e},B.prototype.clone=function(){return O(this.toJSON())},B.prototype.validate=function(){if(!m.test(this.value))return!1;if(!(this.expires==1/0||this.expires instanceof Date||_(this.expires)))return!1;if(null!=this.maxAge&&this.maxAge<=0)return!1;if(null!=this.path&&!f.test(this.path))return!1;var e=this.cdomain();if(e){if(e.match(/\\.$/))return!1;if(null==s.getPublicSuffix(e))return!1}return!0},B.prototype.setExpires=function(e){e instanceof Date?this.expires=e:this.expires=_(e)||\"Infinity\"},B.prototype.setMaxAge=function(e){this.maxAge=e===1/0||e===-1/0?e.toString():e},B.prototype.cookieString=function(){var e=this.value;return null==e&&(e=\"\"),\"\"===this.key?e:this.key+\"=\"+e},B.prototype.toString=function(){var e=this.cookieString();return this.expires!=1/0&&(this.expires instanceof Date?e+=\"; Expires=\"+S(this.expires):e+=\"; Expires=\"+this.expires),null!=this.maxAge&&this.maxAge!=1/0&&(e+=\"; Max-Age=\"+this.maxAge),this.domain&&!this.hostOnly&&(e+=\"; Domain=\"+this.domain),this.path&&(e+=\"; Path=\"+this.path),this.secure&&(e+=\"; Secure\"),this.httpOnly&&(e+=\"; HttpOnly\"),this.extensions&&this.extensions.forEach(function(t){e+=\"; \"+t}),e},B.prototype.TTL=function(e){if(null!=this.maxAge)return this.maxAge<=0?0:1e3*this.maxAge;var t=this.expires;return t!=1/0?(t instanceof Date||(t=_(t)||1/0),t==1/0?1/0:t.getTime()-(e||Date.now())):1/0},B.prototype.expiryTime=function(e){if(null!=this.maxAge){var t=e||this.creation||new Date,a=this.maxAge<=0?-1/0:1e3*this.maxAge;return t.getTime()+a}return this.expires==1/0?1/0:this.expires.getTime()},B.prototype.expiryDate=function(e){var t=this.expiryTime(e);return t==1/0?new Date(k):t==-1/0?new Date(0):new Date(t)},B.prototype.isPersistent=function(){return null!=this.maxAge||this.expires!=1/0},B.prototype.cdomain=B.prototype.canonicalizedDomain=function(){return null==this.domain?null:E(this.domain)},D.prototype.store=null,D.prototype.rejectPublicSuffixes=!0,D.prototype.enableLooseMode=!1;var I=[];I.push(\"setCookie\"),D.prototype.setCookie=function(e,t,a,r){var i,o=T(t);a instanceof Function&&(r=a,a={});var n=E(o.hostname),c=this.enableLooseMode;if(null!=a.loose&&(c=a.loose),e instanceof B||(e=B.parse(e,{loose:c})),!e)return i=new Error(\"Cookie failed to parse\"),r(a.ignoreError?null:i);var u=a.now||new Date;if(this.rejectPublicSuffixes&&e.domain&&null==s.getPublicSuffix(e.cdomain()))return i=new Error(\"Cookie has domain set to a public suffix\"),r(a.ignoreError?null:i);if(e.domain){if(!F(n,e.cdomain(),!1))return i=new Error(\"Cookie not in this host's domain. Cookie:\"+e.cdomain()+\" Request:\"+n),r(a.ignoreError?null:i);null==e.hostOnly&&(e.hostOnly=!1)}else e.hostOnly=!0,e.domain=n;if(e.path&&\"/\"===e.path[0]||(e.path=P(o.pathname),e.pathIsDefault=!0),!1===a.http&&e.httpOnly)return i=new Error(\"Cookie is HttpOnly and this isn't an HTTP API\"),r(a.ignoreError?null:i);var p=this.store;p.updateCookie||(p.updateCookie=function(e,t,a){this.putCookie(t,a)}),p.findCookie(e.domain,e.path,e.key,function(t,i){if(t)return r(t);var o=function(t){if(t)return r(t);r(null,e)};if(i){if(!1===a.http&&i.httpOnly)return t=new Error(\"old Cookie is HttpOnly and this isn't an HTTP API\"),r(a.ignoreError?null:t);e.creation=i.creation,e.creationIndex=i.creationIndex,e.lastAccessed=u,p.updateCookie(i,e,o)}else e.creation=e.lastAccessed=u,p.putCookie(e,o)})},I.push(\"getCookies\"),D.prototype.getCookies=function(e,t,a){var r=T(e);t instanceof Function&&(a=t,t={});var i=E(r.hostname),o=r.pathname||\"/\",n=t.secure;null!=n||!r.protocol||\"https:\"!=r.protocol&&\"wss:\"!=r.protocol||(n=!0);var s=t.http;null==s&&(s=!0);var c=t.now||Date.now(),u=!1!==t.expire,l=!!t.allPaths,m=this.store;function h(e){if(e.hostOnly){if(e.domain!=i)return!1}else if(!F(i,e.domain,!1))return!1;return!(!l&&!p(o,e.path))&&(!(e.secure&&!n)&&(!(e.httpOnly&&!s)&&(!(u&&e.expiryTime()<=c)||(m.removeCookie(e.domain,e.path,e.key,function(){}),!1))))}m.findCookies(i,l?null:o,function(e,r){if(e)return a(e);r=r.filter(h),!1!==t.sort&&(r=r.sort(q));var i=new Date;r.forEach(function(e){e.lastAccessed=i}),a(null,r)})},I.push(\"getCookieString\"),D.prototype.getCookieString=function(){var e=Array.prototype.slice.call(arguments,0),t=e.pop();e.push(function(e,a){e?t(e):t(null,a.sort(q).map(function(e){return e.cookieString()}).join(\"; \"))}),this.getCookies.apply(this,e)},I.push(\"getSetCookieStrings\"),D.prototype.getSetCookieStrings=function(){var e=Array.prototype.slice.call(arguments,0),t=e.pop();e.push(function(e,a){e?t(e):t(null,a.map(function(e){return e.toString()}))}),this.getCookies.apply(this,e)},I.push(\"serialize\"),D.prototype.serialize=function(e){var t=this.store.constructor.name;\"Object\"===t&&(t=null);var a={version:\"tough-cookie@\"+l,storeType:t,rejectPublicSuffixes:!!this.rejectPublicSuffixes,cookies:[]};if(!this.store.getAllCookies||\"function\"!=typeof this.store.getAllCookies)return e(new Error(\"store does not support getAllCookies and cannot be serialized\"));this.store.getAllCookies(function(t,r){return t?e(t):(a.cookies=r.map(function(e){return delete(e=e instanceof B?e.toJSON():e).creationIndex,e}),e(null,a))})},D.prototype.toJSON=function(){return this.serializeSync()},I.push(\"_importCookies\"),D.prototype._importCookies=function(e,t){var a=this,r=e.cookies;if(!r||!Array.isArray(r))return t(new Error(\"serialized jar has no cookies array\"));r=r.slice(),function e(i){if(i)return t(i);if(!r.length)return t(i,a);var o;try{o=O(r.shift())}catch(e){return t(e)}if(null===o)return e(null);a.store.putCookie(o,e)}()},D.deserialize=function(e,t,a){var r;if(3!==arguments.length&&(a=t,t=null),\"string\"==typeof e){if((r=A(e))instanceof Error)return a(r)}else r=e;var i=new D(t,r.rejectPublicSuffixes);i._importCookies(r,function(e){if(e)return a(e);a(null,i)})},D.deserializeSync=function(e,t){var a=\"string\"==typeof e?JSON.parse(e):e,r=new D(t,a.rejectPublicSuffixes);if(!r.store.synchronous)throw new Error(\"CookieJar store is not synchronous; use async API instead.\");return r._importCookiesSync(a),r},D.fromJSON=D.deserializeSync,I.push(\"clone\"),D.prototype.clone=function(e,t){1===arguments.length&&(t=e,e=null),this.serialize(function(a,r){if(a)return t(a);D.deserialize(e,r,t)})},I.forEach(function(e){D.prototype[e+\"Sync\"]=function(e){return function(){if(!this.store.synchronous)throw new Error(\"CookieJar store is not synchronous; use async API instead.\");var t,a,r=Array.prototype.slice.call(arguments);if(r.push(function(e,r){t=e,a=r}),this[e].apply(this,r),t)throw t;return a}}(e)}),t.CookieJar=D,t.Cookie=B,t.Store=c,t.MemoryCookieStore=u,t.parseDate=_,t.formatDate=S,t.parse=C,t.fromJSON=O,t.domainMatch=F,t.defaultPath=P,t.pathMatch=p,t.getPublicSuffix=s.getPublicSuffix,t.cookieCompare=q,t.permuteDomain=a(60).permuteDomain,t.permutePath=function(e){if(\"/\"===e)return[\"/\"];e.lastIndexOf(\"/\")===e.length-1&&(e=e.substr(0,e.length-1));for(var t=[e];e.length>1;){var a=e.lastIndexOf(\"/\");if(0===a)break;e=e.substr(0,a),t.push(e)}return t.push(\"/\"),t},t.canonicalDomain=E},function(e,t,a){\"use strict\";\n/*!\n * Copyright (c) 2018, Salesforce.com, Inc.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n * this list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. Neither the name of Salesforce.com nor the names of its contributors may\n * be used to endorse or promote products derived from this software without\n * specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n * POSSIBILITY OF SUCH DAMAGE.\n */var r=a(138);t.getPublicSuffix=function(e){return r.get(e)}},function(e,t){e.exports=require(\"punycode\")},function(e,t,a){\"use strict\";\n/*!\n * Copyright (c) 2015, Salesforce.com, Inc.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n * this list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. Neither the name of Salesforce.com nor the names of its contributors may\n * be used to endorse or promote products derived from this software without\n * specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n * POSSIBILITY OF SUCH DAMAGE.\n */function r(){}t.Store=r,r.prototype.synchronous=!1,r.prototype.findCookie=function(e,t,a,r){throw new Error(\"findCookie is not implemented\")},r.prototype.findCookies=function(e,t,a){throw new Error(\"findCookies is not implemented\")},r.prototype.putCookie=function(e,t){throw new Error(\"putCookie is not implemented\")},r.prototype.updateCookie=function(e,t,a){throw new Error(\"updateCookie is not implemented\")},r.prototype.removeCookie=function(e,t,a,r){throw new Error(\"removeCookie is not implemented\")},r.prototype.removeCookies=function(e,t,a){throw new Error(\"removeCookies is not implemented\")},r.prototype.getAllCookies=function(e){throw new Error(\"getAllCookies is not implemented (therefore jar cannot be serialized)\")}},function(e,t,a){\"use strict\";\n/*!\n * Copyright (c) 2015, Salesforce.com, Inc.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n * this list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. Neither the name of Salesforce.com nor the names of its contributors may\n * be used to endorse or promote products derived from this software without\n * specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n * POSSIBILITY OF SUCH DAMAGE.\n */var r=a(57);t.permuteDomain=function(e){var t=r.getPublicSuffix(e);if(!t)return null;if(t==e)return[e];for(var a=e.slice(0,-(t.length+1)).split(\".\").reverse(),i=t,o=[i];a.length;)i=a.shift()+\".\"+i,o.push(i);return o}},function(e,t,a){\"use strict\";\n/*!\n * Copyright (c) 2015, Salesforce.com, Inc.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n * this list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. Neither the name of Salesforce.com nor the names of its contributors may\n * be used to endorse or promote products derived from this software without\n * specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n * POSSIBILITY OF SUCH DAMAGE.\n */t.pathMatch=function(e,t){if(t===e)return!0;if(0===e.indexOf(t)){if(\"/\"===t.substr(-1))return!0;if(\"/\"===e.substr(t.length,1))return!0}return!1}},function(e,t){e.exports=require(\"buffer\")},function(e,t,a){e.exports={Verifier:u,Signer:p};var r=a(24),i=a(17),o=a(4),n=a(0),s=a(2).Buffer,c=a(10);function u(e,t){if(\"sha512\"!==t.toLowerCase())throw new Error(\"ED25519 only supports the use of SHA-512 hashes\");this.key=e,this.chunks=[],i.Writable.call(this,{})}function p(e,t){if(\"sha512\"!==t.toLowerCase())throw new Error(\"ED25519 only supports the use of SHA-512 hashes\");this.key=e,this.chunks=[],i.Writable.call(this,{})}o.inherits(u,i.Writable),u.prototype._write=function(e,t,a){this.chunks.push(e),a()},u.prototype.update=function(e){\"string\"==typeof e&&(e=s.from(e,\"binary\")),this.chunks.push(e)},u.prototype.verify=function(e,t){var a;if(c.isSignature(e,[2,0])){if(\"ed25519\"!==e.type)return!1;a=e.toBuffer(\"raw\")}else if(\"string\"==typeof e)a=s.from(e,\"base64\");else if(c.isSignature(e,[1,0]))throw new Error(\"signature was created by too old a version of sshpk and cannot be verified\");return n.buffer(a),r.sign.detached.verify(new Uint8Array(s.concat(this.chunks)),new Uint8Array(a),new Uint8Array(this.key.part.A.data))},o.inherits(p,i.Writable),p.prototype._write=function(e,t,a){this.chunks.push(e),a()},p.prototype.update=function(e){\"string\"==typeof e&&(e=s.from(e,\"binary\")),this.chunks.push(e)},p.prototype.sign=function(){var e=r.sign.detached(new Uint8Array(s.concat(this.chunks)),new Uint8Array(s.concat([this.key.part.k.data,this.key.part.A.data]))),t=s.from(e),a=c.parse(t,\"ed25519\",\"raw\");return a.hashAlgorithm=\"sha512\",a}},function(e,t,a){e.exports={read:function(e,t){if(\"string\"==typeof e){if(e.trim().match(/^[-]+[ ]*BEGIN/))return o.read(e,t);if(e.match(/^\\s*ssh-[a-z]/))return n.read(e,t);if(e.match(/^\\s*ecdsa-/))return n.read(e,t);if(e.match(/^putty-user-key-file-2:/i))return u.read(e,t);if(l(e))return c.read(e,t);e=i.from(e,\"binary\")}else{if(r.buffer(e),function(e){var t=0;for(;t<e.length&&(32===e[t]||10===e[t]);)++t;if(45!==e[t])return!1;for(;t<e.length&&45===e[t];)++t;for(;t<e.length&&32===e[t];)++t;return!(t+5>e.length||\"BEGIN\"!==e.slice(t,t+5).toString(\"ascii\"))}(e))return o.read(e,t);if(function(e){var t=0;for(;t<e.length&&(32===e[t]||10===e[t]||9===e[t]);)++t;return t+4<=e.length&&\"ssh-\"===e.slice(t,t+4).toString(\"ascii\")||t+6<=e.length&&\"ecdsa-\"===e.slice(t,t+6).toString(\"ascii\")}(e))return n.read(e,t);if(function(e){var t=0;for(;t<e.length&&(32===e[t]||10===e[t]||9===e[t]);)++t;return t+22<=e.length&&\"putty-user-key-file-2:\"===e.slice(t,t+22).toString(\"ascii\").toLowerCase()}(e))return u.read(e,t);if(l(e))return c.read(e,t)}if(e.readUInt32BE(0)<e.length)return s.read(e,t);throw new Error(\"Failed to auto-detect format of key\")},write:function(e,t){throw new Error('\"auto\" format cannot be used for writing')}};var r=a(0),i=a(2).Buffer,o=(a(6),a(5),a(7),a(14)),n=a(66),s=a(15),c=a(43),u=a(67),p=\"Private-key-format: v1\";function l(e){if(e.length<=p.length)return!1;if(e.slice(0,p.length).toString(\"ascii\")===p)return!0;\"string\"!=typeof e&&(e=e.toString(\"ascii\"));for(var t=e.split(\"\\n\"),a=0;t[a].match(/^\\;/);)a++;return!!t[a].toString(\"ascii\").match(/\\. IN KEY /)||!!t[a].toString(\"ascii\").match(/\\. IN DNSKEY /)}},function(e,t,a){\"use strict\";var r=a(24).lowlevel.crypto_hash,i=0,o=function(){this.S=[new Uint32Array([3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946]),new Uint32Array([1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055]),new Uint32Array([3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504]),new Uint32Array([976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462])],this.P=new Uint32Array([608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731])};function n(e,t,a){return(e[0][t[a+3]]+e[1][t[a+2]]^e[2][t[a+1]])+e[3][t[a]]}function s(e,t){var a,r=0;for(a=0;a<4;a++,i++)i>=t&&(i=0),r=r<<8|e[i];return r}o.prototype.encipher=function(e,t){void 0===t&&(t=new Uint8Array(e.buffer),0!==e.byteOffset&&(t=t.subarray(e.byteOffset))),e[0]^=this.P[0];for(var a=1;a<16;a+=2)e[1]^=n(this.S,t,0)^this.P[a],e[0]^=n(this.S,t,4)^this.P[a+1];var r=e[0];e[0]=e[1]^this.P[17],e[1]=r},o.prototype.decipher=function(e){var t=new Uint8Array(e.buffer);0!==e.byteOffset&&(t=t.subarray(e.byteOffset)),e[0]^=this.P[17];for(var a=16;a>0;a-=2)e[1]^=n(this.S,t,0)^this.P[a],e[0]^=n(this.S,t,4)^this.P[a-1];var r=e[0];e[0]=e[1]^this.P[0],e[1]=r},o.prototype.expand0state=function(e,t){var a,r,o=new Uint32Array(2),n=new Uint8Array(o.buffer);for(a=0,i=0;a<18;a++)this.P[a]^=s(e,t);for(i=0,a=0;a<18;a+=2)this.encipher(o,n),this.P[a]=o[0],this.P[a+1]=o[1];for(a=0;a<4;a++)for(r=0;r<256;r+=2)this.encipher(o,n),this.S[a][r]=o[0],this.S[a][r+1]=o[1]},o.prototype.expandstate=function(e,t,a,r){var o,n,c=new Uint32Array(2);for(o=0,i=0;o<18;o++)this.P[o]^=s(a,r);for(o=0,i=0;o<18;o+=2)c[0]^=s(e,t),c[1]^=s(e,t),this.encipher(c),this.P[o]=c[0],this.P[o+1]=c[1];for(o=0;o<4;o++)for(n=0;n<256;n+=2)c[0]^=s(e,t),c[1]^=s(e,t),this.encipher(c),this.S[o][n]=c[0],this.S[o][n+1]=c[1];i=0},o.prototype.enc=function(e,t){for(var a=0;a<t;a++)this.encipher(e.subarray(2*a))},o.prototype.dec=function(e,t){for(var a=0;a<t;a++)this.decipher(e.subarray(2*a))};var c=8,u=32;function p(e,t,a){var r,i=new o,n=new Uint32Array(c),u=new Uint8Array([79,120,121,99,104,114,111,109,97,116,105,99,66,108,111,119,102,105,115,104,83,119,97,116,68,121,110,97,109,105,116,101]);for(i.expandstate(t,64,e,64),r=0;r<64;r++)i.expand0state(t,64),i.expand0state(e,64);for(r=0;r<c;r++)n[r]=s(u,u.byteLength);for(r=0;r<64;r++)i.enc(n,n.byteLength/8);for(r=0;r<c;r++)a[4*r+3]=n[r]>>>24,a[4*r+2]=n[r]>>>16,a[4*r+1]=n[r]>>>8,a[4*r+0]=n[r]}e.exports={BLOCKS:c,HASHSIZE:u,hash:p,pbkdf:function(e,t,a,i,o,n,s){var c,l,m,h,d,f,g=new Uint8Array(64),v=new Uint8Array(64),y=new Uint8Array(u),b=new Uint8Array(u),k=new Uint8Array(i+4),x=n;if(s<1)return-1;if(0===t||0===i||0===n||n>y.byteLength*y.byteLength||i>1<<20)return-1;for(h=Math.floor((n+y.byteLength-1)/y.byteLength),m=Math.floor((n+h-1)/h),c=0;c<i;c++)k[c]=a[c];for(r(g,e,t),f=1;n>0;f++){for(k[i+0]=f>>>24,k[i+1]=f>>>16,k[i+2]=f>>>8,k[i+3]=f,r(v,k,i+4),p(g,v,b),c=y.byteLength;c--;)y[c]=b[c];for(c=1;c<s;c++)for(r(v,b,b.byteLength),p(g,v,b),l=0;l<y.byteLength;l++)y[l]^=b[l];for(m=Math.min(m,n),c=0;c<m&&!((d=c*h+(f-1))>=x);c++)o[d]=y[c];n-=c}return 0}}},function(e,t,a){e.exports={read:function(e,t){\"string\"!=typeof e&&(r.buffer(e,\"buf\"),e=e.toString(\"ascii\"));var a=e.trim().replace(/[\\\\\\r]/g,\"\"),n=a.match(s);n||(n=a.match(c));r.ok(n,\"key must match regex\");var u,p=o.algToKeyType(n[1]),l=i.from(n[2],\"base64\"),m={};if(n[4])try{u=o.read(l)}catch(e){n=a.match(c),r.ok(n,\"key must match regex\"),l=i.from(n[2],\"base64\"),u=o.readInternal(m,\"public\",l)}else u=o.readInternal(m,\"public\",l);if(r.strictEqual(p,u.type),n[4]&&n[4].length>0)u.comment=n[4];else if(m.consumed){var h=n[2]+(n[3]?n[3]:\"\"),d=4*Math.ceil(m.consumed/3);h=h.slice(0,d-2).replace(/[^a-zA-Z0-9+\\/=]/g,\"\")+h.slice(d-2);var f=m.consumed%3;for(f>0&&\"=\"!==h.slice(d-1,d)&&d--;\"=\"===h.slice(d,d+1);)d++;var g=h.slice(d);(g=g.replace(/[\\r\\n]/g,\" \").replace(/^\\s+/,\"\")).match(/^[a-zA-Z0-9]/)&&(u.comment=g)}return u},write:function(e,t){if(r.object(e),!n.isKey(e))throw new Error(\"Must be a public key\");var a=[],s=o.keyTypeToAlg(e);a.push(s);var c=o.write(e);a.push(c.toString(\"base64\")),e.comment&&a.push(e.comment);return i.from(a.join(\" \"))}};var r=a(0),i=a(2).Buffer,o=a(15),n=(a(6),a(5)),s=(a(7),a(32),/^([a-z0-9-]+)[ \\t]+([a-zA-Z0-9+\\/]+[=]*)([ \\t]+([^ \\t][^\\n]*[\\n]*)?)?$/),c=/^([a-z0-9-]+)[ \\t\\n]+([a-zA-Z0-9+\\/][a-zA-Z0-9+\\/ \\t\\n=]*)([^a-zA-Z0-9+\\/ \\t\\n=].*)?$/},function(e,t,a){e.exports={read:function(e,t){var a,n=e.toString(\"ascii\").split(/[\\r\\n]+/),c=!1,u=0;for(;u<n.length;)if((a=s(n[u++]))&&\"putty-user-key-file-2\"===a[0].toLowerCase()){c=!0;break}if(!c)throw new Error(\"No PuTTY format first line found\");var p=a[1];a=s(n[u++]),r.equal(a[0].toLowerCase(),\"encryption\"),a=s(n[u++]),r.equal(a[0].toLowerCase(),\"comment\");var l=a[1];a=s(n[u++]),r.equal(a[0].toLowerCase(),\"public-lines\");var m=parseInt(a[1],10);if(!isFinite(m)||m<0||m>n.length)throw new Error(\"Invalid public-lines count\");var h=i.from(n.slice(u,u+m).join(\"\"),\"base64\"),d=o.algToKeyType(p),f=o.read(h);if(f.type!==d)throw new Error(\"Outer key algorithm mismatch\");return f.comment=l,f},write:function(e,t){if(r.object(e),!n.isKey(e))throw new Error(\"Must be a public key\");var a=o.keyTypeToAlg(e),s=o.write(e),c=e.comment||\"\",u=function(e,t){var a=[],r=0;for(;r<e.length;)a.push(e.slice(r,r+64)),r+=64;return a}(s.toString(\"base64\"));return u.unshift(\"Public-Lines: \"+u.length),u.unshift(\"Comment: \"+c),u.unshift(\"Encryption: none\"),u.unshift(\"PuTTY-User-Key-File-2: \"+a),i.from(u.join(\"\\n\")+\"\\n\")}};var r=a(0),i=a(2).Buffer,o=a(15),n=a(5);a(9);function s(e){var t=e.indexOf(\":\");if(-1===t)return null;var a=e.slice(0,t);for(++t;\" \"===e[t];)++t;return[a,e.slice(t)]}},function(e,t,a){e.exports={read:function(e,t){\"string\"==typeof e&&(e=o.from(e,\"binary\"));r.buffer(e,\"buf\");var a=new i.BerReader(e);if(a.readSequence(),Math.abs(a.length-a.remain)>1)throw new Error(\"DER sequence does not contain whole byte stream\");var m=a.offset;a.readSequence();var d=a.offset+a.length,g=d;if(a.peek()===l(0)){a.readSequence(l(0));var v=a.readInt();r.ok(v<=3,\"only x.509 versions up to v3 supported\")}var y={signatures:{}},b=y.signatures.x509={};b.extras={},y.serial=function(e,t){return r.strictEqual(e.peek(),i.Ber.Integer,t+\" is not an Integer\"),n.mpNormalize(e.readString(i.Ber.Integer,!0))}(a,\"serial\"),a.readSequence();var k=a.offset+a.length,w=a.readOID();if(void 0===h[w])throw new Error(\"unknown signature algorithm \"+w);a._offset=k,y.issuer=s.parseAsn1(a),a.readSequence(),y.validFrom=f(a),y.validUntil=f(a),y.subjects=[s.parseAsn1(a)],a.readSequence(),k=a.offset+a.length,y.subjectKey=p.readPkcs8(void 0,\"public\",a),a._offset=k,a.peek()===l(1)&&(a.readSequence(l(1)),b.extras.issuerUniqueID=e.slice(a.offset,a.offset+a.length),a._offset+=a.length);a.peek()===l(2)&&(a.readSequence(l(2)),b.extras.subjectUniqueID=e.slice(a.offset,a.offset+a.length),a._offset+=a.length);if(a.peek()===l(3)){a.readSequence(l(3));var j=a.offset+a.length;for(a.readSequence();a.offset<j;)x(y,e,a);r.strictEqual(a.offset,j)}r.strictEqual(a.offset,d),a.readSequence(),k=a.offset+a.length;var _=a.readOID(),S=h[_];if(void 0===S)throw new Error(\"unknown signature algorithm \"+_);a._offset=k;var E=a.readString(i.Ber.BitString,!0);0===E[0]&&(E=E.slice(1));var F=S.split(\"-\");return b.signature=c.parse(E,F[0],\"asn1\"),b.signature.hashAlgorithm=F[1],b.algo=S,b.cache=e.slice(m,g),new u(y)},verify:function(e,t){var a=e.signatures.x509;r.object(a,\"x509 signature\");var o=a.algo.split(\"-\");if(o[0]!==t.type)return!1;var n=a.cache;if(void 0===n){var s=new i.BerWriter;S(e,s),n=s.buffer}var c=t.createVerify(o[1]);return c.write(n),c.verify(a.signature)},sign:function(e,t){void 0===e.signatures.x509&&(e.signatures.x509={});var a=e.signatures.x509;if(a.algo=t.type+\"-\"+t.defaultHashAlgorithm(),void 0===h[a.algo])return!1;var r=new i.BerWriter;S(e,r);var o=r.buffer;a.cache=o;var n=t.createSign();return n.write(o),e.signatures.x509.signature=n.sign(),!0},signAsync:function(e,t,a){void 0===e.signatures.x509&&(e.signatures.x509={});var r=e.signatures.x509,o=new i.BerWriter;S(e,o);var n=o.buffer;r.cache=n,t(n,function(e,t){e?a(e):(r.algo=t.type+\"-\"+t.hashAlgorithm,void 0!==h[r.algo]?(r.signature=t,a()):a(new Error('Invalid signing algorithm \"'+r.algo+'\"')))})},write:function(e,t){var a=e.signatures.x509;r.object(a,\"x509 signature\");var n=new i.BerWriter;n.startSequence(),a.cache?(n._ensure(a.cache.length),a.cache.copy(n._buf,n._offset),n._offset+=a.cache.length):S(e,n);n.startSequence(),n.writeOID(h[a.algo]),a.algo.match(/^rsa-/)&&n.writeNull();n.endSequence();var s=a.signature.toBuffer(\"asn1\"),c=o.alloc(s.length+1);return c[0]=0,s.copy(c,1),n.writeBuffer(c,i.Ber.BitString),n.endSequence(),n.buffer}};var r=a(0),i=a(11),o=a(2).Buffer,n=(a(8),a(6)),s=(a(5),a(7),a(14),a(28)),c=a(10),u=a(27),p=a(26);function l(e){return i.Ber.Context|i.Ber.Constructor|e}function m(e){return i.Ber.Context|e}var h={\"rsa-md5\":\"1.2.840.113549.1.1.4\",\"rsa-sha1\":\"1.2.840.113549.1.1.5\",\"rsa-sha256\":\"1.2.840.113549.1.1.11\",\"rsa-sha384\":\"1.2.840.113549.1.1.12\",\"rsa-sha512\":\"1.2.840.113549.1.1.13\",\"dsa-sha1\":\"1.2.840.10040.4.3\",\"dsa-sha256\":\"2.16.840.1.101.3.4.3.2\",\"ecdsa-sha1\":\"1.2.840.10045.4.1\",\"ecdsa-sha256\":\"1.2.840.10045.4.3.2\",\"ecdsa-sha384\":\"1.2.840.10045.4.3.3\",\"ecdsa-sha512\":\"1.2.840.10045.4.3.4\",\"ed25519-sha512\":\"1.3.101.112\"};Object.keys(h).forEach(function(e){h[h[e]]=e}),h[\"1.3.14.3.2.3\"]=\"rsa-md5\",h[\"1.3.14.3.2.29\"]=\"rsa-sha1\";var d={issuerKeyId:\"2.5.29.35\",altName:\"2.5.29.17\",basicConstraints:\"2.5.29.19\",keyUsage:\"2.5.29.15\",extKeyUsage:\"2.5.29.37\"};function f(e){if(e.peek()===i.Ber.UTCTime)return function(e){var t=e.match(w);r.ok(t,\"timestamps must be in UTC\");var a=new Date,i=a.getUTCFullYear(),o=100*Math.floor(i/100),n=parseInt(t[1],10);n+=i%100<50&&n>=60?o-1:o;a.setUTCFullYear(n,parseInt(t[2],10)-1,parseInt(t[3],10)),a.setUTCHours(parseInt(t[4],10),parseInt(t[5],10)),t[6]&&t[6].length>0&&a.setUTCSeconds(parseInt(t[6],10));return a}(e.readString(i.Ber.UTCTime));if(e.peek()===i.Ber.GeneralizedTime)return function(e){var t=e.match(j);r.ok(t);var a=new Date;a.setUTCFullYear(parseInt(t[1],10),parseInt(t[2],10)-1,parseInt(t[3],10)),a.setUTCHours(parseInt(t[4],10),parseInt(t[5],10)),t[6]&&t[6].length>0&&a.setUTCSeconds(parseInt(t[6],10));return a}(e.readString(i.Ber.GeneralizedTime));throw new Error(\"Unsupported date format\")}function g(e,t){var a,r;t.getUTCFullYear()>=2050||t.getUTCFullYear()<1950?e.writeString((r=\"\",r+=_((a=t).getUTCFullYear(),4),r+=_(a.getUTCMonth()+1),r+=_(a.getUTCDate()),r+=_(a.getUTCHours()),r+=_(a.getUTCMinutes()),r+=_(a.getUTCSeconds()),r+=\"Z\"),i.Ber.GeneralizedTime):e.writeString(function(e){var t=\"\";return t+=_(e.getUTCFullYear()%100),t+=_(e.getUTCMonth()+1),t+=_(e.getUTCDate()),t+=_(e.getUTCHours()),t+=_(e.getUTCMinutes()),t+=_(e.getUTCSeconds()),t+=\"Z\"}(t),i.Ber.UTCTime)}var v={OtherName:l(0),RFC822Name:m(1),DNSName:m(2),X400Address:l(3),DirectoryName:l(4),EDIPartyName:l(5),URI:m(6),IPAddress:m(7),OID:m(8)},y={serverAuth:\"1.3.6.1.5.5.7.3.1\",clientAuth:\"1.3.6.1.5.5.7.3.2\",codeSigning:\"1.3.6.1.5.5.7.3.3\",joyentDocker:\"1.3.6.1.4.1.38678.1.4.1\",joyentCmon:\"1.3.6.1.4.1.38678.1.4.2\"},b={};Object.keys(y).forEach(function(e){b[y[e]]=e});var k=[\"signature\",\"identity\",\"keyEncryption\",\"encryption\",\"keyAgreement\",\"ca\",\"crl\"];function x(e,t,a){a.readSequence();var r,o,n=a.offset+a.length,c=a.readOID(),u=e.signatures.x509;switch(u.extras.exts||(u.extras.exts=[]),a.peek()===i.Ber.Boolean&&(o=a.readBoolean()),c){case d.basicConstraints:a.readSequence(i.Ber.OctetString),a.readSequence();var p=a.offset+a.length,l=!1;a.peek()===i.Ber.Boolean&&(l=a.readBoolean()),void 0===e.purposes&&(e.purposes=[]),!0===l&&e.purposes.push(\"ca\");var m={oid:c,critical:o};a.offset<p&&a.peek()===i.Ber.Integer&&(m.pathLen=a.readInt()),u.extras.exts.push(m);break;case d.extKeyUsage:a.readSequence(i.Ber.OctetString),a.readSequence(),void 0===e.purposes&&(e.purposes=[]);for(var h=a.offset+a.length;a.offset<h;){var f=a.readOID();e.purposes.push(b[f]||f)}-1!==e.purposes.indexOf(\"serverAuth\")&&-1===e.purposes.indexOf(\"clientAuth\")?e.subjects.forEach(function(e){\"host\"!==e.type&&(e.type=\"host\",e.hostname=e.uid||e.email||e.components[0].value)}):-1!==e.purposes.indexOf(\"clientAuth\")&&-1===e.purposes.indexOf(\"serverAuth\")&&e.subjects.forEach(function(e){\"user\"!==e.type&&(e.type=\"user\",e.uid=e.hostname||e.email||e.components[0].value)}),u.extras.exts.push({oid:c,critical:o});break;case d.keyUsage:a.readSequence(i.Ber.OctetString);var g=a.readString(i.Ber.BitString,!0);(function(e,t){for(var a=8*(e.length-1)-e[0],r={},i=0;i<a;++i){var o=1+Math.floor(i/8),n=7-i%8,s=1<<n,c=0!=(e[o]&s),u=t[i];c&&\"string\"==typeof u&&(r[u]=!0)}return Object.keys(r)})(g,k).forEach(function(t){void 0===e.purposes&&(e.purposes=[]),-1===e.purposes.indexOf(t)&&e.purposes.push(t)}),u.extras.exts.push({oid:c,critical:o,bits:g});break;case d.altName:a.readSequence(i.Ber.OctetString),a.readSequence();for(var y=a.offset+a.length;a.offset<y;)switch(a.peek()){case v.OtherName:case v.EDIPartyName:a.readSequence(),a._offset+=a.length;break;case v.OID:a.readOID(v.OID);break;case v.RFC822Name:var x=a.readString(v.RFC822Name);r=s.forEmail(x),e.subjects[0].equals(r)||e.subjects.push(r);break;case v.DirectoryName:a.readSequence(v.DirectoryName),r=s.parseAsn1(a),e.subjects[0].equals(r)||e.subjects.push(r);break;case v.DNSName:var w=a.readString(v.DNSName);r=s.forHost(w),e.subjects[0].equals(r)||e.subjects.push(r);break;default:a.readString(a.peek())}u.extras.exts.push({oid:c,critical:o});break;default:u.extras.exts.push({oid:c,critical:o,data:a.readString(i.Ber.OctetString,!0)})}a._offset=n}var w=/^([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})?Z$/;var j=/^([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})?Z$/;function _(e,t){void 0===t&&(t=2);for(var a=\"\"+e;a.length<t;)a=\"0\"+a;return a}function S(e,t){var a=e.signatures.x509;r.object(a,\"x509 signature\"),t.startSequence(),t.startSequence(l(0)),t.writeInt(2),t.endSequence(),t.writeBuffer(n.mpNormalize(e.serial),i.Ber.Integer),t.startSequence(),t.writeOID(h[a.algo]),a.algo.match(/^rsa-/)&&t.writeNull(),t.endSequence(),e.issuer.toAsn1(t),t.startSequence(),g(t,e.validFrom),g(t,e.validUntil),t.endSequence();var o=e.subjects[0],s=e.subjects.slice(1);if(o.toAsn1(t),p.writePkcs8(t,e.subjectKey),a.extras&&a.extras.issuerUniqueID&&t.writeBuffer(a.extras.issuerUniqueID,l(1)),a.extras&&a.extras.subjectUniqueID&&t.writeBuffer(a.extras.subjectUniqueID,l(2)),s.length>0||\"host\"===o.type||void 0!==e.purposes&&e.purposes.length>0||a.extras&&a.extras.exts){t.startSequence(l(3)),t.startSequence();var c=[];void 0!==e.purposes&&e.purposes.length>0&&(c.push({oid:d.basicConstraints,critical:!0}),c.push({oid:d.keyUsage,critical:!0}),c.push({oid:d.extKeyUsage,critical:!0})),c.push({oid:d.altName}),a.extras&&a.extras.exts&&(c=a.extras.exts);for(var u=0;u<c.length;++u){if(t.startSequence(),t.writeOID(c[u].oid),void 0!==c[u].critical&&t.writeBoolean(c[u].critical),c[u].oid===d.altName){t.startSequence(i.Ber.OctetString),t.startSequence(),\"host\"===o.type&&t.writeString(o.hostname,m(2));for(var f=0;f<s.length;++f)\"host\"===s[f].type?t.writeString(s[f].hostname,v.DNSName):\"email\"===s[f].type?t.writeString(s[f].email,v.RFC822Name):(t.startSequence(v.DirectoryName),s[f].toAsn1(t),t.endSequence());t.endSequence(),t.endSequence()}else if(c[u].oid===d.basicConstraints){t.startSequence(i.Ber.OctetString),t.startSequence();var b=-1!==e.purposes.indexOf(\"ca\"),x=c[u].pathLen;t.writeBoolean(b),void 0!==x&&t.writeInt(x),t.endSequence(),t.endSequence()}else if(c[u].oid===d.extKeyUsage)t.startSequence(i.Ber.OctetString),t.startSequence(),e.purposes.forEach(function(e){if(\"ca\"!==e&&-1===k.indexOf(e)){var a=e;void 0!==y[e]&&(a=y[e]),t.writeOID(a)}}),t.endSequence(),t.endSequence();else if(c[u].oid===d.keyUsage){if(t.startSequence(i.Ber.OctetString),void 0!==c[u].bits)t.writeBuffer(c[u].bits,i.Ber.BitString);else{var w=E(e.purposes,k);t.writeBuffer(w,i.Ber.BitString)}t.endSequence()}else t.writeBuffer(c[u].data,i.Ber.OctetString);t.endSequence()}t.endSequence(),t.endSequence()}t.endSequence()}function E(e,t){var a=t.length,r=Math.ceil(a/8),i=8*r-a,n=o.alloc(1+r);n[0]=i;for(var s=0;s<a;++s){var c=1+Math.floor(s/8),u=1<<7-s%8,p=t[s];if(void 0!==p)-1!==e.indexOf(p)&&(n[c]|=u)}return n}},function(e,t,a){var r=a(21),i=a(4);function o(e){var t,a,o,n,u,p,l,m,h,d=[\"([^%]*)\",\"%\",\"(['\\\\-+ #0]*?)\",\"([1-9]\\\\d*)?\",\"(\\\\.([1-9]\\\\d*))?\",\"[lhjztL]*?\",\"([diouxXfFeEgGaAcCsSp%jr])\"].join(\"\"),f=new RegExp(d),g=Array.prototype.slice.call(arguments,1),v=\"\",y=1;for(r.equal(\"string\",typeof e);null!==(h=f.exec(e));)if(v+=h[1],e=e.substring(h[0].length),t=h[2]||\"\",a=h[3]||0,o=h[4]||\"\",u=!1,l=!1,p=\" \",\"%\"!=(n=h[6])){if(0===g.length)throw new Error(\"too few args to sprintf\");if(m=g.shift(),y++,t.match(/[\\' #]/))throw new Error(\"unsupported flags: \"+t);if(o.length>0)throw new Error(\"non-zero precision not supported\");switch(t.match(/-/)&&(u=!0),t.match(/0/)&&(p=\"0\"),t.match(/\\+/)&&(l=!0),n){case\"s\":if(null==m)throw new Error(\"argument \"+y+\": attempted to print undefined or null as a string\");v+=s(p,a,u,m.toString());break;case\"d\":m=Math.floor(m);case\"f\":v+=(l=l&&m>0?\"+\":\"\")+s(p,a,u,m.toString());break;case\"x\":v+=s(p,a,u,m.toString(16));break;case\"j\":0===a&&(a=10),v+=i.inspect(m,!1,a);break;case\"r\":v+=c(m);break;default:throw new Error(\"unsupported conversion: \"+n)}}else v+=\"%\";return v+=e}function n(e){var t=Array.prototype.slice.call(arguments,1);return e.write(o.apply(this,t))}function s(e,t,a,r){for(var i=r;i.length<t;)a?i+=e:i=e+i;return i}function c(e){var t;if(!(e instanceof Error))throw new Error(o(\"invalid type for %%r: %j\",e));if(t=\"EXCEPTION: \"+e.constructor.name+\": \"+e.stack,e.cause&&\"function\"==typeof e.cause){var a=e.cause();a&&(t+=\"\\nCaused by: \"+c(a))}return t}t.sprintf=o,t.printf=function(){var e=Array.prototype.slice.call(arguments);e.unshift(process.stdout),n.apply(null,e)},t.fprintf=n},function(e,t,a){\"use strict\";\n/*!\n * mime-types\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */var r,i,o,n=a(163),s=a(71).extname,c=/^\\s*([^;\\s]*)(?:;|\\s|$)/,u=/^text\\//i;function p(e){if(!e||\"string\"!=typeof e)return!1;var t=c.exec(e),a=t&&n[t[1].toLowerCase()];return a&&a.charset?a.charset:!(!t||!u.test(t[1]))&&\"UTF-8\"}t.charset=p,t.charsets={lookup:p},t.contentType=function(e){if(!e||\"string\"!=typeof e)return!1;var a=-1===e.indexOf(\"/\")?t.lookup(e):e;if(!a)return!1;if(-1===a.indexOf(\"charset\")){var r=t.charset(a);r&&(a+=\"; charset=\"+r.toLowerCase())}return a},t.extension=function(e){if(!e||\"string\"!=typeof e)return!1;var a=c.exec(e),r=a&&t.extensions[a[1].toLowerCase()];if(!r||!r.length)return!1;return r[0]},t.extensions=Object.create(null),t.lookup=function(e){if(!e||\"string\"!=typeof e)return!1;var a=s(\"x.\"+e).toLowerCase().substr(1);if(!a)return!1;return t.types[a]||!1},t.types=Object.create(null),r=t.extensions,i=t.types,o=[\"nginx\",\"apache\",void 0,\"iana\"],Object.keys(n).forEach(function(e){var t=n[e],a=t.extensions;if(a&&a.length){r[e]=a;for(var s=0;s<a.length;s++){var c=a[s];if(i[c]){var u=o.indexOf(n[i[c]].source),p=o.indexOf(t.source);if(\"application/octet-stream\"!==i[c]&&(u>p||u===p&&\"application/\"===i[c].substr(0,12)))continue}i[c]=e}}})},function(e,t){e.exports=require(\"path\")},function(e,t){e.exports=require(\"tls\")},function(e,t,a){var r=a(4),i=a(17).Stream,o=a(167),n=a(168);function s(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2097152,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null}e.exports=s,r.inherits(s,i),s.create=function(e){var t=new this;for(var a in e=e||{})t[a]=e[a];return t},s.isStreamLike=function(e){return\"function\"!=typeof e&&\"string\"!=typeof e&&\"boolean\"!=typeof e&&\"number\"!=typeof e&&!Buffer.isBuffer(e)},s.prototype.append=function(e){if(s.isStreamLike(e)){if(!(e instanceof o)){var t=o.create(e,{maxDataSize:1/0,pauseStream:this.pauseStreams});e.on(\"data\",this._checkDataSize.bind(this)),e=t}this._handleErrors(e),this.pauseStreams&&e.pause()}return this._streams.push(e),this},s.prototype.pipe=function(e,t){return i.prototype.pipe.call(this,e,t),this.resume(),e},s.prototype._getNext=function(){this._currentStream=null;var e=this._streams.shift();void 0!==e?\"function\"==typeof e?e(function(e){s.isStreamLike(e)&&(e.on(\"data\",this._checkDataSize.bind(this)),this._handleErrors(e)),n(this._pipeNext.bind(this,e))}.bind(this)):this._pipeNext(e):this.end()},s.prototype._pipeNext=function(e){if(this._currentStream=e,s.isStreamLike(e))return e.on(\"end\",this._getNext.bind(this)),void e.pipe(this,{end:!1});var t=e;this.write(t),this._getNext()},s.prototype._handleErrors=function(e){var t=this;e.on(\"error\",function(e){t._emitError(e)})},s.prototype.write=function(e){this.emit(\"data\",e)},s.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&\"function\"==typeof this._currentStream.pause&&this._currentStream.pause(),this.emit(\"pause\"))},s.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&\"function\"==typeof this._currentStream.resume&&this._currentStream.resume(),this.emit(\"resume\")},s.prototype.end=function(){this._reset(),this.emit(\"end\")},s.prototype.destroy=function(){this._reset(),this.emit(\"close\")},s.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null},s.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var e=\"DelayedStream#maxDataSize of \"+this.maxDataSize+\" bytes exceeded.\";this._emitError(new Error(e))}},s.prototype._updateDataSize=function(){this.dataSize=0;var e=this;this._streams.forEach(function(t){t.dataSize&&(e.dataSize+=t.dataSize)}),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)},s.prototype._emitError=function(e){this._reset(),this.emit(\"error\",e)}},function(e,t){e.exports=require(\"fs\")},function(e,t,a){var r=a(76),i=a(77);e.exports=function(e,t,a,o){var n=a.keyedList?a.keyedList[a.index]:a.index;a.jobs[n]=function(e,t,a,i){var o;o=2==e.length?e(a,r(i)):e(a,t,r(i));return o}(t,n,e[n],function(e,t){n in a.jobs&&(delete a.jobs[n],e?i(a):a.results[n]=t,o(e,a.results))})}},function(e,t,a){var r=a(171);e.exports=function(e){var t=!1;return r(function(){t=!0}),function(a,i){t?e(a,i):r(function(){e(a,i)})}}},function(e,t){e.exports=function(e){Object.keys(e.jobs).forEach(function(e){\"function\"==typeof this.jobs[e]&&this.jobs[e]()}.bind(e)),e.jobs={}}},function(e,t){e.exports=function(e,t){var a=!Array.isArray(e),r={index:0,keyedList:a||t?Object.keys(e):null,jobs:{},results:a?{}:[],size:a?Object.keys(e).length:e.length};t&&r.keyedList.sort(a?t:function(a,r){return t(e[a],e[r])});return r}},function(e,t,a){var r=a(77),i=a(76);e.exports=function(e){if(!Object.keys(this.jobs).length)return;this.index=this.size,r(this),i(e)(null,this.results)}},function(e,t,a){var r=a(75),i=a(78),o=a(79);function n(e,t){return e<t?-1:e>t?1:0}e.exports=function(e,t,a,n){var s=i(e,a);return r(e,t,s,function a(i,o){i?n(i,o):(s.index++,s.index<(s.keyedList||e).length?r(e,t,s,a):n(null,s.results))}),o.bind(s,n)},e.exports.ascending=n,e.exports.descending=function(e,t){return-1*n(e,t)}},function(e,t,a){var r=a(17);function i(e){return e instanceof r.Stream}function o(e){return i(e)&&\"function\"==typeof e._read&&\"object\"==typeof e._readableState}function n(e){return i(e)&&\"function\"==typeof e._write&&\"object\"==typeof e._writableState}e.exports=i,e.exports.isReadable=o,e.exports.isWritable=n,e.exports.isDuplex=function(e){return o(e)&&n(e)}},function(e,t,a){\"use strict\";var r=a(177),i=a(178),o=a(84);e.exports={formats:o,parse:i,stringify:r}},function(e,t,a){\"use strict\";var r=Object.prototype.hasOwnProperty,i=function(){for(var e=[],t=0;t<256;++t)e.push(\"%\"+((t<16?\"0\":\"\")+t.toString(16)).toUpperCase());return e}(),o=function(e,t){for(var a=t&&t.plainObjects?Object.create(null):{},r=0;r<e.length;++r)void 0!==e[r]&&(a[r]=e[r]);return a};e.exports={arrayToObject:o,assign:function(e,t){return Object.keys(t).reduce(function(e,a){return e[a]=t[a],e},e)},compact:function(e){for(var t=[{obj:{o:e},prop:\"o\"}],a=[],r=0;r<t.length;++r)for(var i=t[r],o=i.obj[i.prop],n=Object.keys(o),s=0;s<n.length;++s){var c=n[s],u=o[c];\"object\"==typeof u&&null!==u&&-1===a.indexOf(u)&&(t.push({obj:o,prop:c}),a.push(u))}return function(e){for(var t;e.length;){var a=e.pop();if(t=a.obj[a.prop],Array.isArray(t)){for(var r=[],i=0;i<t.length;++i)void 0!==t[i]&&r.push(t[i]);a.obj[a.prop]=r}}return t}(t)},decode:function(e){try{return decodeURIComponent(e.replace(/\\+/g,\" \"))}catch(t){return e}},encode:function(e){if(0===e.length)return e;for(var t=\"string\"==typeof e?e:String(e),a=\"\",r=0;r<t.length;++r){var o=t.charCodeAt(r);45===o||46===o||95===o||126===o||o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122?a+=t.charAt(r):o<128?a+=i[o]:o<2048?a+=i[192|o>>6]+i[128|63&o]:o<55296||o>=57344?a+=i[224|o>>12]+i[128|o>>6&63]+i[128|63&o]:(r+=1,o=65536+((1023&o)<<10|1023&t.charCodeAt(r)),a+=i[240|o>>18]+i[128|o>>12&63]+i[128|o>>6&63]+i[128|63&o])}return a},isBuffer:function(e){return null!=e&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return\"[object RegExp]\"===Object.prototype.toString.call(e)},merge:function e(t,a,i){if(!a)return t;if(\"object\"!=typeof a){if(Array.isArray(t))t.push(a);else{if(\"object\"!=typeof t)return[t,a];(i.plainObjects||i.allowPrototypes||!r.call(Object.prototype,a))&&(t[a]=!0)}return t}if(\"object\"!=typeof t)return[t].concat(a);var n=t;return Array.isArray(t)&&!Array.isArray(a)&&(n=o(t,i)),Array.isArray(t)&&Array.isArray(a)?(a.forEach(function(a,o){r.call(t,o)?t[o]&&\"object\"==typeof t[o]?t[o]=e(t[o],a,i):t.push(a):t[o]=a}),t):Object.keys(a).reduce(function(t,o){var n=a[o];return r.call(t,o)?t[o]=e(t[o],n,i):t[o]=n,t},n)}}},function(e,t,a){\"use strict\";var r=String.prototype.replace,i=/%20/g;e.exports={default:\"RFC3986\",formatters:{RFC1738:function(e){return r.call(e,i,\"+\")},RFC3986:function(e){return e}},RFC1738:\"RFC1738\",RFC3986:\"RFC3986\"}},function(e,t,a){\"use strict\";var r=a(18);e.exports=function(e){r.copy(e,this)}},function(e,t,a){\"use strict\";e.exports=function(e,t){t||(t={}),\"function\"==typeof t&&(t={cmp:t});var a,r=\"boolean\"==typeof t.cycles&&t.cycles,i=t.cmp&&(a=t.cmp,function(e){return function(t,r){var i={key:t,value:e[t]},o={key:r,value:e[r]};return a(i,o)}}),o=[];return function e(t){if(t&&t.toJSON&&\"function\"==typeof t.toJSON&&(t=t.toJSON()),void 0!==t){if(\"number\"==typeof t)return isFinite(t)?\"\"+t:\"null\";if(\"object\"!=typeof t)return JSON.stringify(t);var a,n;if(Array.isArray(t)){for(n=\"[\",a=0;a<t.length;a++)a&&(n+=\",\"),n+=e(t[a])||\"null\";return n+\"]\"}if(null===t)return\"null\";if(-1!==o.indexOf(t)){if(r)return JSON.stringify(\"__cycle__\");throw new TypeError(\"Converting circular structure to JSON\")}var s=o.push(t)-1,c=Object.keys(t).sort(i&&i(t));for(n=\"\",a=0;a<c.length;a++){var u=c[a],p=e(t[u]);p&&(n&&(n+=\",\"),n+=JSON.stringify(u)+\":\"+p)}return o.splice(s,1),\"{\"+n+\"}\"}}(e)}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r=\"\",i=!0===e.schema.$async,o=e.util.schemaHasRulesExcept(e.schema,e.RULES.all,\"$ref\"),n=e.self._getId(e.schema);if(e.isTop&&(r+=\" var validate = \",i&&(e.async=!0,r+=\"async \"),r+=\"function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; \",n&&(e.opts.sourceCode||e.opts.processCode)&&(r+=\" /*# sourceURL=\"+n+\" */ \")),\"boolean\"==typeof e.schema||!o&&!e.schema.$ref){var s=e.level,c=e.dataLevel,u=e.schema[\"false schema\"],p=e.schemaPath+e.util.getProperty(\"false schema\"),l=e.errSchemaPath+\"/false schema\",m=!e.opts.allErrors,h=\"data\"+(c||\"\"),d=\"valid\"+s;if(!1===e.schema){e.isTop?m=!0:r+=\" var \"+d+\" = false; \",(G=G||[]).push(r),r=\"\",!1!==e.createErrors?(r+=\" { keyword: 'false schema' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(l)+\" , params: {} \",!1!==e.opts.messages&&(r+=\" , message: 'boolean schema is false' \"),e.opts.verbose&&(r+=\" , schema: false , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+h+\" \"),r+=\" } \"):r+=\" {} \";var f=r;r=G.pop(),!e.compositeRule&&m?e.async?r+=\" throw new ValidationError([\"+f+\"]); \":r+=\" validate.errors = [\"+f+\"]; return false; \":r+=\" var err = \"+f+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \"}else e.isTop?r+=i?\" return data; \":\" validate.errors = null; return true; \":r+=\" var \"+d+\" = true; \";return e.isTop&&(r+=\" }; return validate; \"),r}if(e.isTop){var g=e.isTop;s=e.level=0,c=e.dataLevel=0,h=\"data\";e.rootId=e.resolve.fullPath(e.self._getId(e.root.schema)),e.baseId=e.baseId||e.rootId,delete e.isTop,e.dataPathArr=[void 0],r+=\" var vErrors = null; \",r+=\" var errors = 0;     \",r+=\" if (rootData === undefined) rootData = data; \"}else{s=e.level,h=\"data\"+((c=e.dataLevel)||\"\");if(n&&(e.baseId=e.resolve.url(e.baseId,n)),i&&!e.async)throw new Error(\"async schema in sync schema\");r+=\" var errs_\"+s+\" = errors;\"}d=\"valid\"+s,m=!e.opts.allErrors;var v=\"\",y=\"\",b=e.schema.type,k=Array.isArray(b);if(b&&e.opts.nullable&&!0===e.schema.nullable&&(k?-1==b.indexOf(\"null\")&&(b=b.concat(\"null\")):\"null\"!=b&&(b=[b,\"null\"],k=!0)),k&&1==b.length&&(b=b[0],k=!1),e.schema.$ref&&o){if(\"fail\"==e.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path \"'+e.errSchemaPath+'\" (see option extendRefs)');!0!==e.opts.extendRefs&&(o=!1,e.logger.warn('$ref: keywords ignored in schema at path \"'+e.errSchemaPath+'\"'))}if(e.schema.$comment&&e.opts.$comment&&(r+=\" \"+e.RULES.all.$comment.code(e,\"$comment\")),b){if(e.opts.coerceTypes)var x=e.util.coerceToTypes(e.opts.coerceTypes,b);var w=e.RULES.types[b];if(x||k||!0===w||w&&!W(w)){p=e.schemaPath+\".type\",l=e.errSchemaPath+\"/type\",p=e.schemaPath+\".type\",l=e.errSchemaPath+\"/type\";var j=k?\"checkDataTypes\":\"checkDataType\";if(r+=\" if (\"+e.util[j](b,h,!0)+\") { \",x){var _=\"dataType\"+s,S=\"coerced\"+s;r+=\" var \"+_+\" = typeof \"+h+\"; \",\"array\"==e.opts.coerceTypes&&(r+=\" if (\"+_+\" == 'object' && Array.isArray(\"+h+\")) \"+_+\" = 'array'; \"),r+=\" var \"+S+\" = undefined; \";var E=\"\",F=x;if(F)for(var P,z=-1,C=F.length-1;z<C;)P=F[z+=1],z&&(r+=\" if (\"+S+\" === undefined) { \",E+=\"}\"),\"array\"==e.opts.coerceTypes&&\"array\"!=P&&(r+=\" if (\"+_+\" == 'array' && \"+h+\".length == 1) { \"+S+\" = \"+h+\" = \"+h+\"[0]; \"+_+\" = typeof \"+h+\";  } \"),\"string\"==P?r+=\" if (\"+_+\" == 'number' || \"+_+\" == 'boolean') \"+S+\" = '' + \"+h+\"; else if (\"+h+\" === null) \"+S+\" = ''; \":\"number\"==P||\"integer\"==P?(r+=\" if (\"+_+\" == 'boolean' || \"+h+\" === null || (\"+_+\" == 'string' && \"+h+\" && \"+h+\" == +\"+h+\" \",\"integer\"==P&&(r+=\" && !(\"+h+\" % 1)\"),r+=\")) \"+S+\" = +\"+h+\"; \"):\"boolean\"==P?r+=\" if (\"+h+\" === 'false' || \"+h+\" === 0 || \"+h+\" === null) \"+S+\" = false; else if (\"+h+\" === 'true' || \"+h+\" === 1) \"+S+\" = true; \":\"null\"==P?r+=\" if (\"+h+\" === '' || \"+h+\" === 0 || \"+h+\" === false) \"+S+\" = null; \":\"array\"==e.opts.coerceTypes&&\"array\"==P&&(r+=\" if (\"+_+\" == 'string' || \"+_+\" == 'number' || \"+_+\" == 'boolean' || \"+h+\" == null) \"+S+\" = [\"+h+\"]; \");r+=\" \"+E+\" if (\"+S+\" === undefined) {   \",(G=G||[]).push(r),r=\"\",!1!==e.createErrors?(r+=\" { keyword: 'type' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(l)+\" , params: { type: '\",r+=k?\"\"+b.join(\",\"):\"\"+b,r+=\"' } \",!1!==e.opts.messages&&(r+=\" , message: 'should be \",r+=k?\"\"+b.join(\",\"):\"\"+b,r+=\"' \"),e.opts.verbose&&(r+=\" , schema: validate.schema\"+p+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+h+\" \"),r+=\" } \"):r+=\" {} \";f=r;r=G.pop(),!e.compositeRule&&m?e.async?r+=\" throw new ValidationError([\"+f+\"]); \":r+=\" validate.errors = [\"+f+\"]; return false; \":r+=\" var err = \"+f+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",r+=\" } else {  \";var A=c?\"data\"+(c-1||\"\"):\"parentData\";r+=\" \"+h+\" = \"+S+\"; \",c||(r+=\"if (\"+A+\" !== undefined)\"),r+=\" \"+A+\"[\"+(c?e.dataPathArr[c]:\"parentDataProperty\")+\"] = \"+S+\"; } \"}else{(G=G||[]).push(r),r=\"\",!1!==e.createErrors?(r+=\" { keyword: 'type' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(l)+\" , params: { type: '\",r+=k?\"\"+b.join(\",\"):\"\"+b,r+=\"' } \",!1!==e.opts.messages&&(r+=\" , message: 'should be \",r+=k?\"\"+b.join(\",\"):\"\"+b,r+=\"' \"),e.opts.verbose&&(r+=\" , schema: validate.schema\"+p+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+h+\" \"),r+=\" } \"):r+=\" {} \";f=r;r=G.pop(),!e.compositeRule&&m?e.async?r+=\" throw new ValidationError([\"+f+\"]); \":r+=\" validate.errors = [\"+f+\"]; return false; \":r+=\" var err = \"+f+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \"}r+=\" } \"}}if(e.schema.$ref&&!o)r+=\" \"+e.RULES.all.$ref.code(e,\"$ref\")+\" \",m&&(r+=\" } if (errors === \",r+=g?\"0\":\"errs_\"+s,r+=\") { \",y+=\"}\");else{var O=e.RULES;if(O)for(var q=-1,T=O.length-1;q<T;)if(W(w=O[q+=1])){if(w.type&&(r+=\" if (\"+e.util.checkDataType(w.type,h)+\") { \"),e.opts.useDefaults&&!e.compositeRule)if(\"object\"==w.type&&e.schema.properties){u=e.schema.properties;var B=Object.keys(u);if(B)for(var D,I=-1,R=B.length-1;I<R;){if(void 0!==(L=u[D=B[I+=1]]).default)r+=\"  if (\"+(H=h+e.util.getProperty(D))+\" === undefined \",\"empty\"==e.opts.useDefaults&&(r+=\" || \"+H+\" === null || \"+H+\" === '' \"),r+=\" ) \"+H+\" = \",\"shared\"==e.opts.useDefaults?r+=\" \"+e.useDefault(L.default)+\" \":r+=\" \"+JSON.stringify(L.default)+\" \",r+=\"; \"}}else if(\"array\"==w.type&&Array.isArray(e.schema.items)){var N=e.schema.items;if(N){z=-1;for(var L,U=N.length-1;z<U;){var H;if(void 0!==(L=N[z+=1]).default)r+=\"  if (\"+(H=h+\"[\"+z+\"]\")+\" === undefined \",\"empty\"==e.opts.useDefaults&&(r+=\" || \"+H+\" === null || \"+H+\" === '' \"),r+=\" ) \"+H+\" = \",\"shared\"==e.opts.useDefaults?r+=\" \"+e.useDefault(L.default)+\" \":r+=\" \"+JSON.stringify(L.default)+\" \",r+=\"; \"}}}var $=w.rules;if($)for(var M,K=-1,V=$.length-1;K<V;)if(Z(M=$[K+=1])){var Q=M.code(e,M.keyword,w.type);Q&&(r+=\" \"+Q+\" \",m&&(v+=\"}\"))}if(m&&(r+=\" \"+v+\" \",v=\"\"),w.type&&(r+=\" } \",b&&b===w.type&&!x)){r+=\" else { \";var G;p=e.schemaPath+\".type\",l=e.errSchemaPath+\"/type\";(G=G||[]).push(r),r=\"\",!1!==e.createErrors?(r+=\" { keyword: 'type' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(l)+\" , params: { type: '\",r+=k?\"\"+b.join(\",\"):\"\"+b,r+=\"' } \",!1!==e.opts.messages&&(r+=\" , message: 'should be \",r+=k?\"\"+b.join(\",\"):\"\"+b,r+=\"' \"),e.opts.verbose&&(r+=\" , schema: validate.schema\"+p+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+h+\" \"),r+=\" } \"):r+=\" {} \";f=r;r=G.pop(),!e.compositeRule&&m?e.async?r+=\" throw new ValidationError([\"+f+\"]); \":r+=\" validate.errors = [\"+f+\"]; return false; \":r+=\" var err = \"+f+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",r+=\" } \"}m&&(r+=\" if (errors === \",r+=g?\"0\":\"errs_\"+s,r+=\") { \",y+=\"}\")}}function W(e){for(var t=e.rules,a=0;a<t.length;a++)if(Z(t[a]))return!0}function Z(t){return void 0!==e.schema[t.keyword]||t.implements&&function(t){for(var a=t.implements,r=0;r<a.length;r++)if(void 0!==e.schema[a[r]])return!0}(t)}return m&&(r+=\" \"+y+\" \"),g?(i?(r+=\" if (errors === 0) return data;           \",r+=\" else throw new ValidationError(vErrors); \"):(r+=\" validate.errors = vErrors; \",r+=\" return errors === 0;       \"),r+=\" }; return validate;\"):r+=\" var \"+d+\" = errors === errs_\"+s+\";\",r=e.util.cleanUpCode(r),g&&(r=e.util.finalCleanUpCode(r,i)),r}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r,i=\" \",o=e.level,n=e.dataLevel,s=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+\"/\"+t,p=!e.opts.allErrors,l=\"data\"+(n||\"\"),m=e.opts.$data&&s&&s.$data;m?(i+=\" var schema\"+o+\" = \"+e.util.getData(s.$data,n,e.dataPathArr)+\"; \",r=\"schema\"+o):r=s;var h=\"maximum\"==t,d=h?\"exclusiveMaximum\":\"exclusiveMinimum\",f=e.schema[d],g=e.opts.$data&&f&&f.$data,v=h?\"<\":\">\",y=h?\">\":\"<\",b=void 0;if(g){var k=e.util.getData(f.$data,n,e.dataPathArr),x=\"exclusive\"+o,w=\"exclType\"+o,j=\"exclIsNumber\"+o,_=\"' + \"+(F=\"op\"+o)+\" + '\";i+=\" var schemaExcl\"+o+\" = \"+k+\"; \",i+=\" var \"+x+\"; var \"+w+\" = typeof \"+(k=\"schemaExcl\"+o)+\"; if (\"+w+\" != 'boolean' && \"+w+\" != 'undefined' && \"+w+\" != 'number') { \";var S;b=d;(S=S||[]).push(i),i=\"\",!1!==e.createErrors?(i+=\" { keyword: '\"+(b||\"_exclusiveLimit\")+\"' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(u)+\" , params: {} \",!1!==e.opts.messages&&(i+=\" , message: '\"+d+\" should be boolean' \"),e.opts.verbose&&(i+=\" , schema: validate.schema\"+c+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+l+\" \"),i+=\" } \"):i+=\" {} \";var E=i;i=S.pop(),!e.compositeRule&&p?e.async?i+=\" throw new ValidationError([\"+E+\"]); \":i+=\" validate.errors = [\"+E+\"]; return false; \":i+=\" var err = \"+E+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",i+=\" } else if ( \",m&&(i+=\" (\"+r+\" !== undefined && typeof \"+r+\" != 'number') || \"),i+=\" \"+w+\" == 'number' ? ( (\"+x+\" = \"+r+\" === undefined || \"+k+\" \"+v+\"= \"+r+\") ? \"+l+\" \"+y+\"= \"+k+\" : \"+l+\" \"+y+\" \"+r+\" ) : ( (\"+x+\" = \"+k+\" === true) ? \"+l+\" \"+y+\"= \"+r+\" : \"+l+\" \"+y+\" \"+r+\" ) || \"+l+\" !== \"+l+\") { var op\"+o+\" = \"+x+\" ? '\"+v+\"' : '\"+v+\"='; \",void 0===s&&(b=d,u=e.errSchemaPath+\"/\"+d,r=k,m=g)}else{_=v;if((j=\"number\"==typeof f)&&m){var F=\"'\"+_+\"'\";i+=\" if ( \",m&&(i+=\" (\"+r+\" !== undefined && typeof \"+r+\" != 'number') || \"),i+=\" ( \"+r+\" === undefined || \"+f+\" \"+v+\"= \"+r+\" ? \"+l+\" \"+y+\"= \"+f+\" : \"+l+\" \"+y+\" \"+r+\" ) || \"+l+\" !== \"+l+\") { \"}else{j&&void 0===s?(x=!0,b=d,u=e.errSchemaPath+\"/\"+d,r=f,y+=\"=\"):(j&&(r=Math[h?\"min\":\"max\"](f,s)),f===(!j||r)?(x=!0,b=d,u=e.errSchemaPath+\"/\"+d,y+=\"=\"):(x=!1,_+=\"=\"));F=\"'\"+_+\"'\";i+=\" if ( \",m&&(i+=\" (\"+r+\" !== undefined && typeof \"+r+\" != 'number') || \"),i+=\" \"+l+\" \"+y+\" \"+r+\" || \"+l+\" !== \"+l+\") { \"}}b=b||t,(S=S||[]).push(i),i=\"\",!1!==e.createErrors?(i+=\" { keyword: '\"+(b||\"_limit\")+\"' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(u)+\" , params: { comparison: \"+F+\", limit: \"+r+\", exclusive: \"+x+\" } \",!1!==e.opts.messages&&(i+=\" , message: 'should be \"+_+\" \",i+=m?\"' + \"+r:r+\"'\"),e.opts.verbose&&(i+=\" , schema:  \",i+=m?\"validate.schema\"+c:\"\"+s,i+=\"         , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+l+\" \"),i+=\" } \"):i+=\" {} \";E=i;return i=S.pop(),!e.compositeRule&&p?e.async?i+=\" throw new ValidationError([\"+E+\"]); \":i+=\" validate.errors = [\"+E+\"]; return false; \":i+=\" var err = \"+E+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",i+=\" } \",p&&(i+=\" else { \"),i}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r,i=\" \",o=e.level,n=e.dataLevel,s=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+\"/\"+t,p=!e.opts.allErrors,l=\"data\"+(n||\"\"),m=e.opts.$data&&s&&s.$data;m?(i+=\" var schema\"+o+\" = \"+e.util.getData(s.$data,n,e.dataPathArr)+\"; \",r=\"schema\"+o):r=s,i+=\"if ( \",m&&(i+=\" (\"+r+\" !== undefined && typeof \"+r+\" != 'number') || \"),i+=\" \"+l+\".length \"+(\"maxItems\"==t?\">\":\"<\")+\" \"+r+\") { \";var h=t,d=d||[];d.push(i),i=\"\",!1!==e.createErrors?(i+=\" { keyword: '\"+(h||\"_limitItems\")+\"' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(u)+\" , params: { limit: \"+r+\" } \",!1!==e.opts.messages&&(i+=\" , message: 'should NOT have \",i+=\"maxItems\"==t?\"more\":\"fewer\",i+=\" than \",i+=m?\"' + \"+r+\" + '\":\"\"+s,i+=\" items' \"),e.opts.verbose&&(i+=\" , schema:  \",i+=m?\"validate.schema\"+c:\"\"+s,i+=\"         , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+l+\" \"),i+=\" } \"):i+=\" {} \";var f=i;return i=d.pop(),!e.compositeRule&&p?e.async?i+=\" throw new ValidationError([\"+f+\"]); \":i+=\" validate.errors = [\"+f+\"]; return false; \":i+=\" var err = \"+f+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",i+=\"} \",p&&(i+=\" else { \"),i}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r,i=\" \",o=e.level,n=e.dataLevel,s=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+\"/\"+t,p=!e.opts.allErrors,l=\"data\"+(n||\"\"),m=e.opts.$data&&s&&s.$data;m?(i+=\" var schema\"+o+\" = \"+e.util.getData(s.$data,n,e.dataPathArr)+\"; \",r=\"schema\"+o):r=s;var h=\"maxLength\"==t?\">\":\"<\";i+=\"if ( \",m&&(i+=\" (\"+r+\" !== undefined && typeof \"+r+\" != 'number') || \"),!1===e.opts.unicode?i+=\" \"+l+\".length \":i+=\" ucs2length(\"+l+\") \",i+=\" \"+h+\" \"+r+\") { \";var d=t,f=f||[];f.push(i),i=\"\",!1!==e.createErrors?(i+=\" { keyword: '\"+(d||\"_limitLength\")+\"' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(u)+\" , params: { limit: \"+r+\" } \",!1!==e.opts.messages&&(i+=\" , message: 'should NOT be \",i+=\"maxLength\"==t?\"longer\":\"shorter\",i+=\" than \",i+=m?\"' + \"+r+\" + '\":\"\"+s,i+=\" characters' \"),e.opts.verbose&&(i+=\" , schema:  \",i+=m?\"validate.schema\"+c:\"\"+s,i+=\"         , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+l+\" \"),i+=\" } \"):i+=\" {} \";var g=i;return i=f.pop(),!e.compositeRule&&p?e.async?i+=\" throw new ValidationError([\"+g+\"]); \":i+=\" validate.errors = [\"+g+\"]; return false; \":i+=\" var err = \"+g+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",i+=\"} \",p&&(i+=\" else { \"),i}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r,i=\" \",o=e.level,n=e.dataLevel,s=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+\"/\"+t,p=!e.opts.allErrors,l=\"data\"+(n||\"\"),m=e.opts.$data&&s&&s.$data;m?(i+=\" var schema\"+o+\" = \"+e.util.getData(s.$data,n,e.dataPathArr)+\"; \",r=\"schema\"+o):r=s,i+=\"if ( \",m&&(i+=\" (\"+r+\" !== undefined && typeof \"+r+\" != 'number') || \"),i+=\" Object.keys(\"+l+\").length \"+(\"maxProperties\"==t?\">\":\"<\")+\" \"+r+\") { \";var h=t,d=d||[];d.push(i),i=\"\",!1!==e.createErrors?(i+=\" { keyword: '\"+(h||\"_limitProperties\")+\"' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(u)+\" , params: { limit: \"+r+\" } \",!1!==e.opts.messages&&(i+=\" , message: 'should NOT have \",i+=\"maxProperties\"==t?\"more\":\"fewer\",i+=\" than \",i+=m?\"' + \"+r+\" + '\":\"\"+s,i+=\" properties' \"),e.opts.verbose&&(i+=\" , schema:  \",i+=m?\"validate.schema\"+c:\"\"+s,i+=\"         , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+l+\" \"),i+=\" } \"):i+=\" {} \";var f=i;return i=d.pop(),!e.compositeRule&&p?e.async?i+=\" throw new ValidationError([\"+f+\"]); \":i+=\" validate.errors = [\"+f+\"]; return false; \":i+=\" var err = \"+f+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",i+=\"} \",p&&(i+=\" else { \"),i}},function(e,t,a){\"use strict\";const r=a(93),i=a(249),o=a(250);t.handler=async function(e,t,a){try{const{queryStringParameters:{url:t}={}}=e;if(!t)return{statusCode:400,body:\"Please provide a valid url in the query string\"};const a=t.split(\"github.com\"),n=i(\"https://api.github.com/repos\",a[1]),s=await r({url:n,headers:{\"user-agent\":\"github-actions-things\",Authorization:`token ${process.env.GITHUB_TOKEN}`},json:!0}),c=await(async e=>{try{const t=await r({url:i(e,\"/topics\"),headers:{\"user-agent\":\"github-actions-things\",Accept:\"application/vnd.github.mercy-preview+json\",Authorization:`token ${process.env.GITHUB_TOKEN}`},json:!0}),{names:a=[]}=t||{};return a}catch(e){return console.log(e),Promise.resolve([])}})(n),u=await(async e=>{try{const t=await r({url:i(e,\"/readme\"),headers:{\"user-agent\":\"github-actions-things\",Authorization:`token ${process.env.GITHUB_TOKEN}`},json:!0}),{content:a=\"\"}=t||{};return Buffer.from(a,\"base64\")}catch(e){return console.log(e),Promise.resolve(\"\")}})(n),{name:p,html_url:l,description:m,homepage:h,language:d,license:f,owner:{login:g}={}}=s;return{statusCode:200,body:await o.default({frontmatter:[{path:`/${p}`,title:p,github_url:t,author:g,subtitle:m,tags:c}],body:u})}}catch(e){return console.log(e),{statusCode:500,body:\"Please provide a valid github url\"}}}},function(e,t,a){\"use strict\";(function(e){var t=a(95).getNewLibraryCopy(),r=a(126),i=a(136);try{var o=i(a.c,function(){return a(137)},function(){a(56)},e)}catch(e){var n=a(248).EOL;throw console.error(n+\"###\"+n+'### The \"request\" library is not installed automatically anymore.'+n+'### But required by \"request-promise\".'+n+\"###\"+n+\"### npm install request --save\"+n+\"###\"+n),e}t.config({cancellation:!0}),r({request:o,PromiseImpl:t,expose:[\"then\",\"catch\",\"finally\",\"cancel\",\"promise\"],constructorMixin:function(e,t,a){var r=this;a(function(){r.abort()})}}),o.bindCLS=function(){throw new Error(\"CLS support was dropped. To get it back read: https://github.com/request/request-promise/wiki/Getting-Back-Support-for-Continuation-Local-Storage\")},e.exports=o}).call(this,a(94)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,\"loaded\",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,\"id\",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,a){\"use strict\";var r;\"undefined\"!=typeof Promise&&(r=Promise);var i=a(96)();i.noConflict=function(){try{Promise===i&&(Promise=r)}catch(e){}return i},e.exports=i},function(e,t,a){\"use strict\";e.exports=function(){var t=function(){return new h(\"circular promise resolution chain\\n\\n    See http://goo.gl/MqrFmX\\n\")},r=function(){return new P.PromiseInspection(this._target())},i=function(e){return P.reject(new h(e))};function o(){}var n,s={},c=a(1);n=c.isNode?function(){var e=process.domain;return void 0===e&&(e=null),e}:function(){return null},c.notEnumerableProp(P,\"_getDomain\",n);var u=a(16),p=a(97),l=new p;u.defineProperty(P,\"_async\",{value:l});var m=a(12),h=P.TypeError=m.TypeError;P.RangeError=m.RangeError;var d=P.CancellationError=m.CancellationError;P.TimeoutError=m.TimeoutError,P.OperationalError=m.OperationalError,P.RejectionError=m.OperationalError,P.AggregateError=m.AggregateError;var f=function(){},g={},v={},y=a(100)(P,f),b=a(101)(P,f,y,i,o),k=a(102)(P),x=k.create,w=a(103)(P,k),j=(w.CapturedTrace,a(104)(P,y,v)),_=a(49)(v),S=a(50),E=c.errorObj,F=c.tryCatch;function P(e){e!==f&&function(e,t){if(null==e||e.constructor!==P)throw new h(\"the promise constructor cannot be invoked directly\\n\\n    See http://goo.gl/MqrFmX\\n\");if(\"function\"!=typeof t)throw new h(\"expecting a function but got \"+c.classString(t))}(this,e),this._bitField=0,this._fulfillmentHandler0=void 0,this._rejectionHandler0=void 0,this._promise0=void 0,this._receiver0=void 0,this._resolveFromExecutor(e),this._promiseCreated(),this._fireEvent(\"promiseCreated\",this)}function z(e){this.promise._resolveCallback(e)}function C(e){this.promise._rejectCallback(e,!1)}function A(e){var t=new P(f);t._fulfillmentHandler0=e,t._rejectionHandler0=e,t._promise0=e,t._receiver0=e}return P.prototype.toString=function(){return\"[object Promise]\"},P.prototype.caught=P.prototype.catch=function(e){var t=arguments.length;if(t>1){var a,r=new Array(t-1),o=0;for(a=0;a<t-1;++a){var n=arguments[a];if(!c.isObject(n))return i(\"Catch statement predicate: expecting an object but got \"+c.classString(n));r[o++]=n}return r.length=o,e=arguments[a],this.then(void 0,_(r,e,this))}return this.then(void 0,e)},P.prototype.reflect=function(){return this._then(r,r,void 0,this,void 0)},P.prototype.then=function(e,t){if(w.warnings()&&arguments.length>0&&\"function\"!=typeof e&&\"function\"!=typeof t){var a=\".then() only accepts functions but was passed: \"+c.classString(e);arguments.length>1&&(a+=\", \"+c.classString(t)),this._warn(a)}return this._then(e,t,void 0,void 0,void 0)},P.prototype.done=function(e,t){this._then(e,t,void 0,void 0,void 0)._setIsFinal()},P.prototype.spread=function(e){return\"function\"!=typeof e?i(\"expecting a function but got \"+c.classString(e)):this.all()._then(e,void 0,void 0,g,void 0)},P.prototype.toJSON=function(){var e={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(e.fulfillmentValue=this.value(),e.isFulfilled=!0):this.isRejected()&&(e.rejectionReason=this.reason(),e.isRejected=!0),e},P.prototype.all=function(){return arguments.length>0&&this._warn(\".all() was passed arguments but it does not take any\"),new b(this).promise()},P.prototype.error=function(e){return this.caught(c.originatesFromRejection,e)},P.getNewLibraryCopy=e.exports,P.is=function(e){return e instanceof P},P.fromNode=P.fromCallback=function(e){var t=new P(f);t._captureStackTrace();var a=arguments.length>1&&!!Object(arguments[1]).multiArgs,r=F(e)(S(t,a));return r===E&&t._rejectCallback(r.e,!0),t._isFateSealed()||t._setAsyncGuaranteed(),t},P.all=function(e){return new b(e).promise()},P.cast=function(e){var t=y(e);return t instanceof P||((t=new P(f))._captureStackTrace(),t._setFulfilled(),t._rejectionHandler0=e),t},P.resolve=P.fulfilled=P.cast,P.reject=P.rejected=function(e){var t=new P(f);return t._captureStackTrace(),t._rejectCallback(e,!0),t},P.setScheduler=function(e){if(\"function\"!=typeof e)throw new h(\"expecting a function but got \"+c.classString(e));return l.setScheduler(e)},P.prototype._then=function(e,t,a,r,i){var o=void 0!==i,s=o?i:new P(f),u=this._target(),p=u._bitField;o||(s._propagateFrom(this,3),s._captureStackTrace(),void 0===r&&0!=(2097152&this._bitField)&&(r=0!=(50397184&p)?this._boundValue():u===this?void 0:this._boundTo),this._fireEvent(\"promiseChained\",this,s));var m=n();if(0!=(50397184&p)){var h,g,v=u._settlePromiseCtx;0!=(33554432&p)?(g=u._rejectionHandler0,h=e):0!=(16777216&p)?(g=u._fulfillmentHandler0,h=t,u._unsetRejectionIsUnhandled()):(v=u._settlePromiseLateCancellationObserver,g=new d(\"late cancellation observer\"),u._attachExtraTrace(g),h=t),l.invoke(v,u,{handler:null===m?h:\"function\"==typeof h&&c.domainBind(m,h),promise:s,receiver:r,value:g})}else u._addCallbacks(e,t,s,r,m);return s},P.prototype._length=function(){return 65535&this._bitField},P.prototype._isFateSealed=function(){return 0!=(117506048&this._bitField)},P.prototype._isFollowing=function(){return 67108864==(67108864&this._bitField)},P.prototype._setLength=function(e){this._bitField=-65536&this._bitField|65535&e},P.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent(\"promiseFulfilled\",this)},P.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent(\"promiseRejected\",this)},P.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent(\"promiseResolved\",this)},P.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},P.prototype._isFinal=function(){return(4194304&this._bitField)>0},P.prototype._unsetCancelled=function(){this._bitField=-65537&this._bitField},P.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent(\"promiseCancelled\",this)},P.prototype._setWillBeCancelled=function(){this._bitField=8388608|this._bitField},P.prototype._setAsyncGuaranteed=function(){l.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},P.prototype._receiverAt=function(e){var t=0===e?this._receiver0:this[4*e-4+3];if(t!==s)return void 0===t&&this._isBound()?this._boundValue():t},P.prototype._promiseAt=function(e){return this[4*e-4+2]},P.prototype._fulfillmentHandlerAt=function(e){return this[4*e-4+0]},P.prototype._rejectionHandlerAt=function(e){return this[4*e-4+1]},P.prototype._boundValue=function(){},P.prototype._migrateCallback0=function(e){e._bitField;var t=e._fulfillmentHandler0,a=e._rejectionHandler0,r=e._promise0,i=e._receiverAt(0);void 0===i&&(i=s),this._addCallbacks(t,a,r,i,null)},P.prototype._migrateCallbackAt=function(e,t){var a=e._fulfillmentHandlerAt(t),r=e._rejectionHandlerAt(t),i=e._promiseAt(t),o=e._receiverAt(t);void 0===o&&(o=s),this._addCallbacks(a,r,i,o,null)},P.prototype._addCallbacks=function(e,t,a,r,i){var o=this._length();if(o>=65531&&(o=0,this._setLength(0)),0===o)this._promise0=a,this._receiver0=r,\"function\"==typeof e&&(this._fulfillmentHandler0=null===i?e:c.domainBind(i,e)),\"function\"==typeof t&&(this._rejectionHandler0=null===i?t:c.domainBind(i,t));else{var n=4*o-4;this[n+2]=a,this[n+3]=r,\"function\"==typeof e&&(this[n+0]=null===i?e:c.domainBind(i,e)),\"function\"==typeof t&&(this[n+1]=null===i?t:c.domainBind(i,t))}return this._setLength(o+1),o},P.prototype._proxy=function(e,t){this._addCallbacks(void 0,void 0,t,e,null)},P.prototype._resolveCallback=function(e,a){if(0==(117506048&this._bitField)){if(e===this)return this._rejectCallback(t(),!1);var r=y(e,this);if(!(r instanceof P))return this._fulfill(e);a&&this._propagateFrom(r,2);var i=r._target();if(i!==this){var o=i._bitField;if(0==(50397184&o)){var n=this._length();n>0&&i._migrateCallback0(this);for(var s=1;s<n;++s)i._migrateCallbackAt(this,s);this._setFollowing(),this._setLength(0),this._setFollowee(i)}else if(0!=(33554432&o))this._fulfill(i._value());else if(0!=(16777216&o))this._reject(i._reason());else{var c=new d(\"late cancellation observer\");i._attachExtraTrace(c),this._reject(c)}}else this._reject(t())}},P.prototype._rejectCallback=function(e,t,a){var r=c.ensureErrorObject(e),i=r===e;if(!i&&!a&&w.warnings()){var o=\"a promise was rejected with a non-error: \"+c.classString(e);this._warn(o,!0)}this._attachExtraTrace(r,!!t&&i),this._reject(e)},P.prototype._resolveFromExecutor=function(e){if(e!==f){var t=this;this._captureStackTrace(),this._pushContext();var a=!0,r=this._execute(e,function(e){t._resolveCallback(e)},function(e){t._rejectCallback(e,a)});a=!1,this._popContext(),void 0!==r&&t._rejectCallback(r,!0)}},P.prototype._settlePromiseFromHandler=function(e,t,a,r){var i=r._bitField;if(0==(65536&i)){var o;r._pushContext(),t===g?a&&\"number\"==typeof a.length?o=F(e).apply(this._boundValue(),a):(o=E).e=new h(\"cannot .spread() a non-array: \"+c.classString(a)):o=F(e).call(t,a);var n=r._popContext();0==(65536&(i=r._bitField))&&(o===v?r._reject(a):o===E?r._rejectCallback(o.e,!1):(w.checkForgottenReturns(o,n,\"\",r,this),r._resolveCallback(o)))}},P.prototype._target=function(){for(var e=this;e._isFollowing();)e=e._followee();return e},P.prototype._followee=function(){return this._rejectionHandler0},P.prototype._setFollowee=function(e){this._rejectionHandler0=e},P.prototype._settlePromise=function(e,t,a,i){var n=e instanceof P,s=this._bitField,c=0!=(134217728&s);0!=(65536&s)?(n&&e._invokeInternalOnCancel(),a instanceof j&&a.isFinallyHandler()?(a.cancelPromise=e,F(t).call(a,i)===E&&e._reject(E.e)):t===r?e._fulfill(r.call(a)):a instanceof o?a._promiseCancelled(e):n||e instanceof b?e._cancel():a.cancel()):\"function\"==typeof t?n?(c&&e._setAsyncGuaranteed(),this._settlePromiseFromHandler(t,a,i,e)):t.call(a,i,e):a instanceof o?a._isResolved()||(0!=(33554432&s)?a._promiseFulfilled(i,e):a._promiseRejected(i,e)):n&&(c&&e._setAsyncGuaranteed(),0!=(33554432&s)?e._fulfill(i):e._reject(i))},P.prototype._settlePromiseLateCancellationObserver=function(e){var t=e.handler,a=e.promise,r=e.receiver,i=e.value;\"function\"==typeof t?a instanceof P?this._settlePromiseFromHandler(t,r,i,a):t.call(r,i,a):a instanceof P&&a._reject(i)},P.prototype._settlePromiseCtx=function(e){this._settlePromise(e.promise,e.handler,e.receiver,e.value)},P.prototype._settlePromise0=function(e,t,a){var r=this._promise0,i=this._receiverAt(0);this._promise0=void 0,this._receiver0=void 0,this._settlePromise(r,e,i,t)},P.prototype._clearCallbackDataAtIndex=function(e){var t=4*e-4;this[t+2]=this[t+3]=this[t+0]=this[t+1]=void 0},P.prototype._fulfill=function(e){var a=this._bitField;if(!((117506048&a)>>>16)){if(e===this){var r=t();return this._attachExtraTrace(r),this._reject(r)}this._setFulfilled(),this._rejectionHandler0=e,(65535&a)>0&&(0!=(134217728&a)?this._settlePromises():l.settlePromises(this),this._dereferenceTrace())}},P.prototype._reject=function(e){var t=this._bitField;if(!((117506048&t)>>>16)){if(this._setRejected(),this._fulfillmentHandler0=e,this._isFinal())return l.fatalError(e,c.isNode);(65535&t)>0?l.settlePromises(this):this._ensurePossibleRejectionHandled()}},P.prototype._fulfillPromises=function(e,t){for(var a=1;a<e;a++){var r=this._fulfillmentHandlerAt(a),i=this._promiseAt(a),o=this._receiverAt(a);this._clearCallbackDataAtIndex(a),this._settlePromise(i,r,o,t)}},P.prototype._rejectPromises=function(e,t){for(var a=1;a<e;a++){var r=this._rejectionHandlerAt(a),i=this._promiseAt(a),o=this._receiverAt(a);this._clearCallbackDataAtIndex(a),this._settlePromise(i,r,o,t)}},P.prototype._settlePromises=function(){var e=this._bitField,t=65535&e;if(t>0){if(0!=(16842752&e)){var a=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,a,e),this._rejectPromises(t,a)}else{var r=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,r,e),this._fulfillPromises(t,r)}this._setLength(0)}this._clearCancellationData()},P.prototype._settledValue=function(){var e=this._bitField;return 0!=(33554432&e)?this._rejectionHandler0:0!=(16777216&e)?this._fulfillmentHandler0:void 0},P.defer=P.pending=function(){return w.deprecated(\"Promise.defer\",\"new Promise\"),{promise:new P(f),resolve:z,reject:C}},c.notEnumerableProp(P,\"_makeSelfResolutionError\",t),a(105)(P,f,y,i,w),a(106)(P,f,y,w),a(107)(P,b,i,w),a(108)(P),a(109)(P),a(110)(P,b,y,f,l,n),P.Promise=P,P.version=\"3.5.3\",a(111)(P,b,i,y,f,w),a(112)(P),a(113)(P,i,y,x,f,w),a(114)(P,f,w),a(115)(P,i,f,y,o,w),a(116)(P),a(117)(P,f),a(118)(P,b,y,i),a(119)(P,f,y,i),a(120)(P,b,i,y,f,w),a(121)(P,b,w),a(122)(P,b,i),a(123)(P,f),a(124)(P,f),a(125)(P),c.toFastProperties(P),c.toFastProperties(P.prototype),A({a:1}),A({b:2}),A({c:3}),A(1),A(function(){}),A(void 0),A(!1),A(new P(f)),w.setBounds(p.firstLineError,c.lastLineError),P}},function(e,t,a){\"use strict\";var r;try{throw new Error}catch(e){r=e}var i=a(98),o=a(99),n=a(1);function s(){this._customScheduler=!1,this._isTickUsed=!1,this._lateQueue=new o(16),this._normalQueue=new o(16),this._haveDrainedQueues=!1,this._trampolineEnabled=!0;var e=this;this.drainQueues=function(){e._drainQueues()},this._schedule=i}function c(e,t,a){this._lateQueue.push(e,t,a),this._queueTick()}function u(e,t,a){this._normalQueue.push(e,t,a),this._queueTick()}function p(e){this._normalQueue._pushOne(e),this._queueTick()}function l(e){for(;e.length()>0;)m(e)}function m(e){var t=e.shift();if(\"function\"!=typeof t)t._settlePromises();else{var a=e.shift(),r=e.shift();t.call(a,r)}}s.prototype.setScheduler=function(e){var t=this._schedule;return this._schedule=e,this._customScheduler=!0,t},s.prototype.hasCustomScheduler=function(){return this._customScheduler},s.prototype.enableTrampoline=function(){this._trampolineEnabled=!0},s.prototype.disableTrampolineIfNecessary=function(){n.hasDevTools&&(this._trampolineEnabled=!1)},s.prototype.haveItemsQueued=function(){return this._isTickUsed||this._haveDrainedQueues},s.prototype.fatalError=function(e,t){t?(process.stderr.write(\"Fatal \"+(e instanceof Error?e.stack:e)+\"\\n\"),process.exit(2)):this.throwLater(e)},s.prototype.throwLater=function(e,t){if(1===arguments.length&&(t=e,e=function(){throw t}),\"undefined\"!=typeof setTimeout)setTimeout(function(){e(t)},0);else try{this._schedule(function(){e(t)})}catch(e){throw new Error(\"No async scheduler available\\n\\n    See http://goo.gl/MqrFmX\\n\")}},n.hasDevTools?(s.prototype.invokeLater=function(e,t,a){this._trampolineEnabled?c.call(this,e,t,a):this._schedule(function(){setTimeout(function(){e.call(t,a)},100)})},s.prototype.invoke=function(e,t,a){this._trampolineEnabled?u.call(this,e,t,a):this._schedule(function(){e.call(t,a)})},s.prototype.settlePromises=function(e){this._trampolineEnabled?p.call(this,e):this._schedule(function(){e._settlePromises()})}):(s.prototype.invokeLater=c,s.prototype.invoke=u,s.prototype.settlePromises=p),s.prototype._drainQueues=function(){l(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,l(this._lateQueue)},s.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},s.prototype._reset=function(){this._isTickUsed=!1},e.exports=s,e.exports.firstLineError=r},function(e,t,a){\"use strict\";var r,i=a(1),o=i.getNativePromise();if(i.isNode&&\"undefined\"==typeof MutationObserver){var n=global.setImmediate,s=process.nextTick;r=i.isRecentNode?function(e){n.call(global,e)}:function(e){s.call(process,e)}}else if(\"function\"==typeof o&&\"function\"==typeof o.resolve){var c=o.resolve();r=function(e){c.then(e)}}else r=\"undefined\"==typeof MutationObserver||\"undefined\"!=typeof window&&window.navigator&&(window.navigator.standalone||window.cordova)?\"undefined\"!=typeof setImmediate?function(e){setImmediate(e)}:\"undefined\"!=typeof setTimeout?function(e){setTimeout(e,0)}:function(){throw new Error(\"No async scheduler available\\n\\n    See http://goo.gl/MqrFmX\\n\")}:function(){var e=document.createElement(\"div\"),t={attributes:!0},a=!1,r=document.createElement(\"div\");new MutationObserver(function(){e.classList.toggle(\"foo\"),a=!1}).observe(r,t);return function(i){var o=new MutationObserver(function(){o.disconnect(),i()});o.observe(e,t),a||(a=!0,r.classList.toggle(\"foo\"))}}();e.exports=r},function(e,t,a){\"use strict\";function r(e){this._capacity=e,this._length=0,this._front=0}r.prototype._willBeOverCapacity=function(e){return this._capacity<e},r.prototype._pushOne=function(e){var t=this.length();this._checkCapacity(t+1),this[this._front+t&this._capacity-1]=e,this._length=t+1},r.prototype.push=function(e,t,a){var r=this.length()+3;if(this._willBeOverCapacity(r))return this._pushOne(e),this._pushOne(t),void this._pushOne(a);var i=this._front+r-3;this._checkCapacity(r);var o=this._capacity-1;this[i+0&o]=e,this[i+1&o]=t,this[i+2&o]=a,this._length=r},r.prototype.shift=function(){var e=this._front,t=this[e];return this[e]=void 0,this._front=e+1&this._capacity-1,this._length--,t},r.prototype.length=function(){return this._length},r.prototype._checkCapacity=function(e){this._capacity<e&&this._resizeTo(this._capacity<<1)},r.prototype._resizeTo=function(e){var t=this._capacity;this._capacity=e,function(e,t,a,r,i){for(var o=0;o<i;++o)a[o+r]=e[o+t],e[o+t]=void 0}(this,0,this,t,this._front+this._length&t-1)},e.exports=r},function(e,t,a){\"use strict\";e.exports=function(e,t){var r=a(1),i=r.errorObj,o=r.isObject;var n={}.hasOwnProperty;return function(a,s){if(o(a)){if(a instanceof e)return a;var c=function(e){try{return function(e){return e.then}(e)}catch(e){return i.e=e,i}}(a);if(c===i){s&&s._pushContext();var u=e.reject(c.e);return s&&s._popContext(),u}if(\"function\"==typeof c)return function(e){try{return n.call(e,\"_promise0\")}catch(e){return!1}}(a)?(u=new e(t),a._then(u._fulfill,u._reject,void 0,u,null),u):function(a,o,n){var s=new e(t),c=s;n&&n._pushContext(),s._captureStackTrace(),n&&n._popContext();var u=!0,p=r.tryCatch(o).call(a,function(e){s&&(s._resolveCallback(e),s=null)},function(e){s&&(s._rejectCallback(e,u,!0),s=null)});return u=!1,s&&p===i&&(s._rejectCallback(p.e,!0,!0),s=null),c}(a,c,s)}return a}}},function(e,t,a){\"use strict\";e.exports=function(e,t,r,i,o){var n=a(1);n.isArray;function s(a){var r=this._promise=new e(t);a instanceof e&&r._propagateFrom(a,3),r._setOnCancel(this),this._values=a,this._length=0,this._totalResolved=0,this._init(void 0,-2)}return n.inherits(s,o),s.prototype.length=function(){return this._length},s.prototype.promise=function(){return this._promise},s.prototype._init=function t(a,o){var s=r(this._values,this._promise);if(s instanceof e){var c=(s=s._target())._bitField;if(this._values=s,0==(50397184&c))return this._promise._setAsyncGuaranteed(),s._then(t,this._reject,void 0,this,o);if(0==(33554432&c))return 0!=(16777216&c)?this._reject(s._reason()):this._cancel();s=s._value()}if(null!==(s=n.asArray(s)))0!==s.length?this._iterate(s):-5===o?this._resolveEmptyArray():this._resolve(function(e){switch(e){case-2:return[];case-3:return{};case-6:return new Map}}(o));else{var u=i(\"expecting an array or an iterable object but got \"+n.classString(s)).reason();this._promise._rejectCallback(u,!1)}},s.prototype._iterate=function(t){var a=this.getActualLength(t.length);this._length=a,this._values=this.shouldCopyValues()?new Array(a):this._values;for(var i=this._promise,o=!1,n=null,s=0;s<a;++s){var c=r(t[s],i);n=c instanceof e?(c=c._target())._bitField:null,o?null!==n&&c.suppressUnhandledRejections():null!==n?0==(50397184&n)?(c._proxy(this,s),this._values[s]=c):o=0!=(33554432&n)?this._promiseFulfilled(c._value(),s):0!=(16777216&n)?this._promiseRejected(c._reason(),s):this._promiseCancelled(s):o=this._promiseFulfilled(c,s)}o||i._setAsyncGuaranteed()},s.prototype._isResolved=function(){return null===this._values},s.prototype._resolve=function(e){this._values=null,this._promise._fulfill(e)},s.prototype._cancel=function(){!this._isResolved()&&this._promise._isCancellable()&&(this._values=null,this._promise._cancel())},s.prototype._reject=function(e){this._values=null,this._promise._rejectCallback(e,!1)},s.prototype._promiseFulfilled=function(e,t){return this._values[t]=e,++this._totalResolved>=this._length&&(this._resolve(this._values),!0)},s.prototype._promiseCancelled=function(){return this._cancel(),!0},s.prototype._promiseRejected=function(e){return this._totalResolved++,this._reject(e),!0},s.prototype._resultCancelled=function(){if(!this._isResolved()){var t=this._values;if(this._cancel(),t instanceof e)t.cancel();else for(var a=0;a<t.length;++a)t[a]instanceof e&&t[a].cancel()}},s.prototype.shouldCopyValues=function(){return!0},s.prototype.getActualLength=function(e){return e},s}},function(e,t,a){\"use strict\";e.exports=function(e){var t=!1,a=[];function r(){this._trace=new r.CapturedTrace(i())}function i(){var e=a.length-1;if(e>=0)return a[e]}return e.prototype._promiseCreated=function(){},e.prototype._pushContext=function(){},e.prototype._popContext=function(){return null},e._peekContext=e.prototype._peekContext=function(){},r.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,a.push(this._trace))},r.prototype._popContext=function(){if(void 0!==this._trace){var e=a.pop(),t=e._promiseCreated;return e._promiseCreated=null,t}return null},r.CapturedTrace=null,r.create=function(){if(t)return new r},r.deactivateLongStackTraces=function(){},r.activateLongStackTraces=function(){var a=e.prototype._pushContext,o=e.prototype._popContext,n=e._peekContext,s=e.prototype._peekContext,c=e.prototype._promiseCreated;r.deactivateLongStackTraces=function(){e.prototype._pushContext=a,e.prototype._popContext=o,e._peekContext=n,e.prototype._peekContext=s,e.prototype._promiseCreated=c,t=!1},t=!0,e.prototype._pushContext=r.prototype._pushContext,e.prototype._popContext=r.prototype._popContext,e._peekContext=e.prototype._peekContext=i,e.prototype._promiseCreated=function(){var e=this._peekContext();e&&null==e._promiseCreated&&(e._promiseCreated=this)}},r}},function(e,t,a){\"use strict\";e.exports=function(e,t){var r,i,o,n=e._getDomain,s=e._async,c=a(12).Warning,u=a(1),p=a(16),l=u.canAttachTrace,m=/[\\\\\\/]bluebird[\\\\\\/]js[\\\\\\/](release|debug|instrumented)/,h=/\\((?:timers\\.js):\\d+:\\d+\\)/,d=/[\\/<\\(](.+?):(\\d+):(\\d+)\\)?\\s*$/,f=null,g=null,v=!1,y=!(0==u.env(\"BLUEBIRD_DEBUG\")||!u.env(\"BLUEBIRD_DEBUG\")&&\"development\"!==u.env(\"NODE_ENV\")),b=!(0==u.env(\"BLUEBIRD_WARNINGS\")||!y&&!u.env(\"BLUEBIRD_WARNINGS\")),k=!(0==u.env(\"BLUEBIRD_LONG_STACK_TRACES\")||!y&&!u.env(\"BLUEBIRD_LONG_STACK_TRACES\")),x=0!=u.env(\"BLUEBIRD_W_FORGOTTEN_RETURN\")&&(b||!!u.env(\"BLUEBIRD_W_FORGOTTEN_RETURN\"));e.prototype.suppressUnhandledRejections=function(){var e=this._target();e._bitField=-1048577&e._bitField|524288},e.prototype._ensurePossibleRejectionHandled=function(){if(0==(524288&this._bitField)){this._setRejectionIsUnhandled();var e=this;setTimeout(function(){e._notifyUnhandledRejection()},1)}},e.prototype._notifyUnhandledRejectionIsHandled=function(){M(\"rejectionHandled\",r,void 0,this)},e.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},e.prototype._returnedNonUndefined=function(){return 0!=(268435456&this._bitField)},e.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var e=this._settledValue();this._setUnhandledRejectionIsNotified(),M(\"unhandledRejection\",i,e,this)}},e.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},e.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&this._bitField},e.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},e.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},e.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},e.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},e.prototype._warn=function(e,t,a){return L(e,t,a||this)},e.onPossiblyUnhandledRejection=function(e){var t=n();i=\"function\"==typeof e?null===t?e:u.domainBind(t,e):void 0},e.onUnhandledRejectionHandled=function(e){var t=n();r=\"function\"==typeof e?null===t?e:u.domainBind(t,e):void 0};var w=function(){};e.longStackTraces=function(){if(s.haveItemsQueued()&&!J.longStackTraces)throw new Error(\"cannot enable long stack traces after promises have been created\\n\\n    See http://goo.gl/MqrFmX\\n\");if(!J.longStackTraces&&V()){var a=e.prototype._captureStackTrace,r=e.prototype._attachExtraTrace,i=e.prototype._dereferenceTrace;J.longStackTraces=!0,w=function(){if(s.haveItemsQueued()&&!J.longStackTraces)throw new Error(\"cannot enable long stack traces after promises have been created\\n\\n    See http://goo.gl/MqrFmX\\n\");e.prototype._captureStackTrace=a,e.prototype._attachExtraTrace=r,e.prototype._dereferenceTrace=i,t.deactivateLongStackTraces(),s.enableTrampoline(),J.longStackTraces=!1},e.prototype._captureStackTrace=I,e.prototype._attachExtraTrace=R,e.prototype._dereferenceTrace=N,t.activateLongStackTraces(),s.disableTrampolineIfNecessary()}},e.hasLongStackTraces=function(){return J.longStackTraces&&V()};var j=function(){try{if(\"function\"==typeof CustomEvent){var e=new CustomEvent(\"CustomEvent\");return u.global.dispatchEvent(e),function(e,t){var a={detail:t,cancelable:!0};p.defineProperty(a,\"promise\",{value:t.promise}),p.defineProperty(a,\"reason\",{value:t.reason});var r=new CustomEvent(e.toLowerCase(),a);return!u.global.dispatchEvent(r)}}if(\"function\"==typeof Event){e=new Event(\"CustomEvent\");return u.global.dispatchEvent(e),function(e,t){var a=new Event(e.toLowerCase(),{cancelable:!0});return a.detail=t,p.defineProperty(a,\"promise\",{value:t.promise}),p.defineProperty(a,\"reason\",{value:t.reason}),!u.global.dispatchEvent(a)}}return(e=document.createEvent(\"CustomEvent\")).initCustomEvent(\"testingtheevent\",!1,!0,{}),u.global.dispatchEvent(e),function(e,t){var a=document.createEvent(\"CustomEvent\");return a.initCustomEvent(e.toLowerCase(),!1,!0,t),!u.global.dispatchEvent(a)}}catch(e){}return function(){return!1}}(),_=u.isNode?function(){return process.emit.apply(process,arguments)}:u.global?function(e){var t=\"on\"+e.toLowerCase(),a=u.global[t];return!!a&&(a.apply(u.global,[].slice.call(arguments,1)),!0)}:function(){return!1};function S(e,t){return{promise:t}}var E={promiseCreated:S,promiseFulfilled:S,promiseRejected:S,promiseResolved:S,promiseCancelled:S,promiseChained:function(e,t,a){return{promise:t,child:a}},warning:function(e,t){return{warning:t}},unhandledRejection:function(e,t,a){return{reason:t,promise:a}},rejectionHandled:S},F=function(e){var t=!1;try{t=_.apply(null,arguments)}catch(e){s.throwLater(e),t=!0}var a=!1;try{a=j(e,E[e].apply(null,arguments))}catch(e){s.throwLater(e),a=!0}return a||t};function P(){return!1}function z(e,t,a){var r=this;try{e(t,a,function(e){if(\"function\"!=typeof e)throw new TypeError(\"onCancel must be a function, got: \"+u.toString(e));r._attachCancellationCallback(e)})}catch(e){return e}}function C(e){if(!this._isCancellable())return this;var t=this._onCancel();void 0!==t?u.isArray(t)?t.push(e):this._setOnCancel([t,e]):this._setOnCancel(e)}function A(){return this._onCancelField}function O(e){this._onCancelField=e}function q(){this._cancellationParent=void 0,this._onCancelField=void 0}function T(e,t){if(0!=(1&t)){this._cancellationParent=e;var a=e._branchesRemainingToCancel;void 0===a&&(a=0),e._branchesRemainingToCancel=a+1}0!=(2&t)&&e._isBound()&&this._setBoundTo(e._boundTo)}e.config=function(t){if(\"longStackTraces\"in(t=Object(t))&&(t.longStackTraces?e.longStackTraces():!t.longStackTraces&&e.hasLongStackTraces()&&w()),\"warnings\"in t){var a=t.warnings;J.warnings=!!a,x=J.warnings,u.isObject(a)&&\"wForgottenReturn\"in a&&(x=!!a.wForgottenReturn)}if(\"cancellation\"in t&&t.cancellation&&!J.cancellation){if(s.haveItemsQueued())throw new Error(\"cannot enable cancellation after promises are in use\");e.prototype._clearCancellationData=q,e.prototype._propagateFrom=T,e.prototype._onCancel=A,e.prototype._setOnCancel=O,e.prototype._attachCancellationCallback=C,e.prototype._execute=z,B=T,J.cancellation=!0}return\"monitoring\"in t&&(t.monitoring&&!J.monitoring?(J.monitoring=!0,e.prototype._fireEvent=F):!t.monitoring&&J.monitoring&&(J.monitoring=!1,e.prototype._fireEvent=P)),e},e.prototype._fireEvent=P,e.prototype._execute=function(e,t,a){try{e(t,a)}catch(e){return e}},e.prototype._onCancel=function(){},e.prototype._setOnCancel=function(e){},e.prototype._attachCancellationCallback=function(e){},e.prototype._captureStackTrace=function(){},e.prototype._attachExtraTrace=function(){},e.prototype._dereferenceTrace=function(){},e.prototype._clearCancellationData=function(){},e.prototype._propagateFrom=function(e,t){};var B=function(e,t){0!=(2&t)&&e._isBound()&&this._setBoundTo(e._boundTo)};function D(){var t=this._boundTo;return void 0!==t&&t instanceof e?t.isFulfilled()?t.value():void 0:t}function I(){this._trace=new Z(this._peekContext())}function R(e,t){if(l(e)){var a=this._trace;if(void 0!==a&&t&&(a=a._parent),void 0!==a)a.attachExtraTrace(e);else if(!e.__stackCleaned__){var r=H(e);u.notEnumerableProp(e,\"stack\",r.message+\"\\n\"+r.stack.join(\"\\n\")),u.notEnumerableProp(e,\"__stackCleaned__\",!0)}}}function N(){this._trace=void 0}function L(t,a,r){if(J.warnings){var i,o=new c(t);if(a)r._attachExtraTrace(o);else if(J.longStackTraces&&(i=e._peekContext()))i.attachExtraTrace(o);else{var n=H(o);o.stack=n.message+\"\\n\"+n.stack.join(\"\\n\")}F(\"warning\",o)||$(o,\"\",!0)}}function U(e){for(var t=[],a=0;a<e.length;++a){var r=e[a],i=\"    (No stack trace)\"===r||f.test(r),o=i&&Q(r);i&&!o&&(v&&\" \"!==r.charAt(0)&&(r=\"    \"+r),t.push(r))}return t}function H(e){var t=e.stack,a=e.toString();return t=\"string\"==typeof t&&t.length>0?function(e){for(var t=e.stack.replace(/\\s+$/g,\"\").split(\"\\n\"),a=0;a<t.length;++a){var r=t[a];if(\"    (No stack trace)\"===r||f.test(r))break}return a>0&&\"SyntaxError\"!=e.name&&(t=t.slice(a)),t}(e):[\"    (No stack trace)\"],{message:a,stack:\"SyntaxError\"==e.name?t:U(t)}}function $(e,t,a){if(\"undefined\"!=typeof console){var r;if(u.isObject(e)){var i=e.stack;r=t+g(i,e)}else r=t+String(e);\"function\"==typeof o?o(r,a):\"function\"!=typeof console.log&&\"object\"!=typeof console.log||console.log(r)}}function M(e,t,a,r){var i=!1;try{\"function\"==typeof t&&(i=!0,\"rejectionHandled\"===e?t(r):t(a,r))}catch(e){s.throwLater(e)}\"unhandledRejection\"===e?F(e,a,r)||i||$(a,\"Unhandled rejection \"):F(e,r)}function K(e){var t;if(\"function\"==typeof e)t=\"[function \"+(e.name||\"anonymous\")+\"]\";else{t=e&&\"function\"==typeof e.toString?e.toString():u.toString(e);if(/\\[object [a-zA-Z0-9$_]+\\]/.test(t))try{t=JSON.stringify(e)}catch(e){}0===t.length&&(t=\"(empty array)\")}return\"(<\"+function(e){if(e.length<41)return e;return e.substr(0,38)+\"...\"}(t)+\">, no stack trace)\"}function V(){return\"function\"==typeof Y}var Q=function(){return!1},G=/[\\/<\\(]([^:\\/]+):(\\d+):(?:\\d+)\\)?\\s*$/;function W(e){var t=e.match(G);if(t)return{fileName:t[1],line:parseInt(t[2],10)}}function Z(e){this._parent=e,this._promisesCreated=0;var t=this._length=1+(void 0===e?0:e._length);Y(this,Z),t>32&&this.uncycle()}u.inherits(Z,Error),t.CapturedTrace=Z,Z.prototype.uncycle=function(){var e=this._length;if(!(e<2)){for(var t=[],a={},r=0,i=this;void 0!==i;++r)t.push(i),i=i._parent;for(r=(e=this._length=r)-1;r>=0;--r){var o=t[r].stack;void 0===a[o]&&(a[o]=r)}for(r=0;r<e;++r){var n=a[t[r].stack];if(void 0!==n&&n!==r){n>0&&(t[n-1]._parent=void 0,t[n-1]._length=1),t[r]._parent=void 0,t[r]._length=1;var s=r>0?t[r-1]:this;n<e-1?(s._parent=t[n+1],s._parent.uncycle(),s._length=s._parent._length+1):(s._parent=void 0,s._length=1);for(var c=s._length+1,u=r-2;u>=0;--u)t[u]._length=c,c++;return}}}},Z.prototype.attachExtraTrace=function(e){if(!e.__stackCleaned__){this.uncycle();for(var t=H(e),a=t.message,r=[t.stack],i=this;void 0!==i;)r.push(U(i.stack.split(\"\\n\"))),i=i._parent;!function(e){for(var t=e[0],a=1;a<e.length;++a){for(var r=e[a],i=t.length-1,o=t[i],n=-1,s=r.length-1;s>=0;--s)if(r[s]===o){n=s;break}for(s=n;s>=0;--s){var c=r[s];if(t[i]!==c)break;t.pop(),i--}t=r}}(r),function(e){for(var t=0;t<e.length;++t)(0===e[t].length||t+1<e.length&&e[t][0]===e[t+1][0])&&(e.splice(t,1),t--)}(r),u.notEnumerableProp(e,\"stack\",function(e,t){for(var a=0;a<t.length-1;++a)t[a].push(\"From previous event:\"),t[a]=t[a].join(\"\\n\");return a<t.length&&(t[a]=t[a].join(\"\\n\")),e+\"\\n\"+t.join(\"\\n\")}(a,r)),u.notEnumerableProp(e,\"__stackCleaned__\",!0)}};var Y=function(){var e=/^\\s*at\\s*/,t=function(e,t){return\"string\"==typeof e?e:void 0!==t.name&&void 0!==t.message?t.toString():K(t)};if(\"number\"==typeof Error.stackTraceLimit&&\"function\"==typeof Error.captureStackTrace){Error.stackTraceLimit+=6,f=e,g=t;var a=Error.captureStackTrace;return Q=function(e){return m.test(e)},function(e,t){Error.stackTraceLimit+=6,a(e,t),Error.stackTraceLimit-=6}}var r,i=new Error;if(\"string\"==typeof i.stack&&i.stack.split(\"\\n\")[0].indexOf(\"stackDetection@\")>=0)return f=/@/,g=t,v=!0,function(e){e.stack=(new Error).stack};try{throw new Error}catch(e){r=\"stack\"in e}return\"stack\"in i||!r||\"number\"!=typeof Error.stackTraceLimit?(g=function(e,t){return\"string\"==typeof e?e:\"object\"!=typeof t&&\"function\"!=typeof t||void 0===t.name||void 0===t.message?K(t):t.toString()},null):(f=e,g=t,function(e){Error.stackTraceLimit+=6;try{throw new Error}catch(t){e.stack=t.stack}Error.stackTraceLimit-=6})}();\"undefined\"!=typeof console&&void 0!==console.warn&&(o=function(e){console.warn(e)},u.isNode&&process.stderr.isTTY?o=function(e,t){var a=t?\"\u001b[33m\":\"\u001b[31m\";console.warn(a+e+\"\u001b[0m\\n\")}:u.isNode||\"string\"!=typeof(new Error).stack||(o=function(e,t){console.warn(\"%c\"+e,t?\"color: darkorange\":\"color: red\")}));var J={warnings:b,longStackTraces:!1,cancellation:!1,monitoring:!1};return k&&e.longStackTraces(),{longStackTraces:function(){return J.longStackTraces},warnings:function(){return J.warnings},cancellation:function(){return J.cancellation},monitoring:function(){return J.monitoring},propagateFromFunction:function(){return B},boundValueFunction:function(){return D},checkForgottenReturns:function(e,t,a,r,i){if(void 0===e&&null!==t&&x){if(void 0!==i&&i._returnedNonUndefined())return;if(0==(65535&r._bitField))return;a&&(a+=\" \");var o=\"\",n=\"\";if(t._trace){for(var s=t._trace.stack.split(\"\\n\"),c=U(s),u=c.length-1;u>=0;--u){var p=c[u];if(!h.test(p)){var l=p.match(d);l&&(o=\"at \"+l[1]+\":\"+l[2]+\":\"+l[3]+\" \");break}}if(c.length>0){var m=c[0];for(u=0;u<s.length;++u)if(s[u]===m){u>0&&(n=\"\\n\"+s[u-1]);break}}}var f=\"a promise was created in a \"+a+\"handler \"+o+\"but was not returned from it, see http://goo.gl/rRqMUw\"+n;r._warn(f,!0,t)}},setBounds:function(e,t){if(V()){for(var a,r,i=e.stack.split(\"\\n\"),o=t.stack.split(\"\\n\"),n=-1,s=-1,c=0;c<i.length;++c)if(u=W(i[c])){a=u.fileName,n=u.line;break}for(c=0;c<o.length;++c){var u;if(u=W(o[c])){r=u.fileName,s=u.line;break}}n<0||s<0||!a||!r||a!==r||n>=s||(Q=function(e){if(m.test(e))return!0;var t=W(e);return!!(t&&t.fileName===a&&n<=t.line&&t.line<=s)})}},warn:L,deprecated:function(e,t){var a=e+\" is deprecated and will be removed in a future version.\";return t&&(a+=\" Use \"+t+\" instead.\"),L(a)},CapturedTrace:Z,fireDomEvent:j,fireGlobalEvent:_}}},function(e,t,a){\"use strict\";e.exports=function(e,t,r){var i=a(1),o=e.CancellationError,n=i.errorObj,s=a(49)(r);function c(e,t,a){this.promise=e,this.type=t,this.handler=a,this.called=!1,this.cancelPromise=null}function u(e){this.finallyHandler=e}function p(e,t){return null!=e.cancelPromise&&(arguments.length>1?e.cancelPromise._reject(t):e.cancelPromise._cancel(),e.cancelPromise=null,!0)}function l(){return h.call(this,this.promise._target()._settledValue())}function m(e){if(!p(this,e))return n.e=e,n}function h(a){var i=this.promise,s=this.handler;if(!this.called){this.called=!0;var c=this.isFinallyHandler()?s.call(i._boundValue()):s.call(i._boundValue(),a);if(c===r)return c;if(void 0!==c){i._setReturnedNonUndefined();var h=t(c,i);if(h instanceof e){if(null!=this.cancelPromise){if(h._isCancelled()){var d=new o(\"late cancellation observer\");return i._attachExtraTrace(d),n.e=d,n}h.isPending()&&h._attachCancellationCallback(new u(this))}return h._then(l,m,void 0,this,void 0)}}}return i.isRejected()?(p(this),n.e=a,n):(p(this),a)}return c.prototype.isFinallyHandler=function(){return 0===this.type},u.prototype._resultCancelled=function(){p(this.finallyHandler)},e.prototype._passThrough=function(e,t,a,r){return\"function\"!=typeof e?this.then():this._then(a,r,void 0,new c(this,t,e),void 0)},e.prototype.lastly=e.prototype.finally=function(e){return this._passThrough(e,0,h,h)},e.prototype.tap=function(e){return this._passThrough(e,1,h)},e.prototype.tapCatch=function(t){var a=arguments.length;if(1===a)return this._passThrough(t,1,void 0,h);var r,o=new Array(a-1),n=0;for(r=0;r<a-1;++r){var c=arguments[r];if(!i.isObject(c))return e.reject(new TypeError(\"tapCatch statement predicate: expecting an object but got \"+i.classString(c)));o[n++]=c}o.length=n;var u=arguments[r];return this._passThrough(s(o,u,this),1,void 0,h)},c}},function(e,t,a){\"use strict\";e.exports=function(e,t,r,i,o){var n=a(1),s=n.tryCatch;e.method=function(a){if(\"function\"!=typeof a)throw new e.TypeError(\"expecting a function but got \"+n.classString(a));return function(){var r=new e(t);r._captureStackTrace(),r._pushContext();var i=s(a).apply(this,arguments),n=r._popContext();return o.checkForgottenReturns(i,n,\"Promise.method\",r),r._resolveFromSyncValue(i),r}},e.attempt=e.try=function(a){if(\"function\"!=typeof a)return i(\"expecting a function but got \"+n.classString(a));var r,c=new e(t);if(c._captureStackTrace(),c._pushContext(),arguments.length>1){o.deprecated(\"calling Promise.try with more than 1 argument\");var u=arguments[1],p=arguments[2];r=n.isArray(u)?s(a).apply(p,u):s(a).call(p,u)}else r=s(a)();var l=c._popContext();return o.checkForgottenReturns(r,l,\"Promise.try\",c),c._resolveFromSyncValue(r),c},e.prototype._resolveFromSyncValue=function(e){e===n.errorObj?this._rejectCallback(e.e,!1):this._resolveCallback(e,!0)}}},function(e,t,a){\"use strict\";e.exports=function(e,t,a,r){var i=!1,o=function(e,t){this._reject(t)},n=function(e,t){t.promiseRejectionQueued=!0,t.bindingPromise._then(o,o,null,this,e)},s=function(e,t){0==(50397184&this._bitField)&&this._resolveCallback(t.target)},c=function(e,t){t.promiseRejectionQueued||this._reject(e)};e.prototype.bind=function(o){i||(i=!0,e.prototype._propagateFrom=r.propagateFromFunction(),e.prototype._boundValue=r.boundValueFunction());var u=a(o),p=new e(t);p._propagateFrom(this,1);var l=this._target();if(p._setBoundTo(u),u instanceof e){var m={promiseRejectionQueued:!1,promise:p,target:l,bindingPromise:u};l._then(t,n,void 0,p,m),u._then(s,c,void 0,p,m),p._setOnCancel(u)}else p._resolveCallback(l);return p},e.prototype._setBoundTo=function(e){void 0!==e?(this._bitField=2097152|this._bitField,this._boundTo=e):this._bitField=-2097153&this._bitField},e.prototype._isBound=function(){return 2097152==(2097152&this._bitField)},e.bind=function(t,a){return e.resolve(a).bind(t)}}},function(e,t,a){\"use strict\";e.exports=function(e,t,r,i){var o=a(1),n=o.tryCatch,s=o.errorObj,c=e._async;e.prototype.break=e.prototype.cancel=function(){if(!i.cancellation())return this._warn(\"cancellation is disabled\");for(var e=this,t=e;e._isCancellable();){if(!e._cancelBy(t)){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}var a=e._cancellationParent;if(null==a||!a._isCancellable()){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}e._isFollowing()&&e._followee().cancel(),e._setWillBeCancelled(),t=e,e=a}},e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},e.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},e.prototype._cancelBy=function(e){return e===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),!!this._enoughBranchesHaveCancelled()&&(this._invokeOnCancel(),!0))},e.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},e.prototype._cancel=function(){this._isCancellable()&&(this._setCancelled(),c.invoke(this._cancelPromises,this,void 0))},e.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},e.prototype._unsetOnCancel=function(){this._onCancelField=void 0},e.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()},e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},e.prototype._doInvokeOnCancel=function(e,t){if(o.isArray(e))for(var a=0;a<e.length;++a)this._doInvokeOnCancel(e[a],t);else if(void 0!==e)if(\"function\"==typeof e){if(!t){var r=n(e).call(this._boundValue());r===s&&(this._attachExtraTrace(r.e),c.throwLater(r.e))}}else e._resultCancelled(this)},e.prototype._invokeOnCancel=function(){var e=this._onCancel();this._unsetOnCancel(),c.invoke(this._doInvokeOnCancel,this,e)},e.prototype._invokeInternalOnCancel=function(){this._isCancellable()&&(this._doInvokeOnCancel(this._onCancel(),!0),this._unsetOnCancel())},e.prototype._resultCancelled=function(){this.cancel()}}},function(e,t,a){\"use strict\";e.exports=function(e){function t(){return this.value}function a(){throw this.reason}e.prototype.return=e.prototype.thenReturn=function(a){return a instanceof e&&a.suppressUnhandledRejections(),this._then(t,void 0,void 0,{value:a},void 0)},e.prototype.throw=e.prototype.thenThrow=function(e){return this._then(a,void 0,void 0,{reason:e},void 0)},e.prototype.catchThrow=function(e){if(arguments.length<=1)return this._then(void 0,a,void 0,{reason:e},void 0);var t=arguments[1];return this.caught(e,function(){throw t})},e.prototype.catchReturn=function(a){if(arguments.length<=1)return a instanceof e&&a.suppressUnhandledRejections(),this._then(void 0,t,void 0,{value:a},void 0);var r=arguments[1];r instanceof e&&r.suppressUnhandledRejections();return this.caught(a,function(){return r})}}},function(e,t,a){\"use strict\";e.exports=function(e){function t(e){void 0!==e?(e=e._target(),this._bitField=e._bitField,this._settledValueField=e._isFateSealed()?e._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}t.prototype._settledValue=function(){return this._settledValueField};var a=t.prototype.value=function(){if(!this.isFulfilled())throw new TypeError(\"cannot get fulfillment value of a non-fulfilled promise\\n\\n    See http://goo.gl/MqrFmX\\n\");return this._settledValue()},r=t.prototype.error=t.prototype.reason=function(){if(!this.isRejected())throw new TypeError(\"cannot get rejection reason of a non-rejected promise\\n\\n    See http://goo.gl/MqrFmX\\n\");return this._settledValue()},i=t.prototype.isFulfilled=function(){return 0!=(33554432&this._bitField)},o=t.prototype.isRejected=function(){return 0!=(16777216&this._bitField)},n=t.prototype.isPending=function(){return 0==(50397184&this._bitField)},s=t.prototype.isResolved=function(){return 0!=(50331648&this._bitField)};t.prototype.isCancelled=function(){return 0!=(8454144&this._bitField)},e.prototype.__isCancelled=function(){return 65536==(65536&this._bitField)},e.prototype._isCancelled=function(){return this._target().__isCancelled()},e.prototype.isCancelled=function(){return 0!=(8454144&this._target()._bitField)},e.prototype.isPending=function(){return n.call(this._target())},e.prototype.isRejected=function(){return o.call(this._target())},e.prototype.isFulfilled=function(){return i.call(this._target())},e.prototype.isResolved=function(){return s.call(this._target())},e.prototype.value=function(){return a.call(this._target())},e.prototype.reason=function(){var e=this._target();return e._unsetRejectionIsUnhandled(),r.call(e)},e.prototype._value=function(){return this._settledValue()},e.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},e.PromiseInspection=t}},function(e,t,a){\"use strict\";e.exports=function(e,t,r,i,o,n){var s,c=a(1),u=c.canEvaluate,p=c.tryCatch,l=c.errorObj;if(u){for(var m=function(e){return new Function(\"value\",\"holder\",\"                             \\n            'use strict';                                                    \\n            holder.pIndex = value;                                           \\n            holder.checkFulfillment(this);                                   \\n            \".replace(/Index/g,e))},h=function(e){return new Function(\"promise\",\"holder\",\"                           \\n            'use strict';                                                    \\n            holder.pIndex = promise;                                         \\n            \".replace(/Index/g,e))},d=function(t){for(var a=new Array(t),r=0;r<a.length;++r)a[r]=\"this.p\"+(r+1);var i=a.join(\" = \")+\" = null;\",n=\"var promise;\\n\"+a.map(function(e){return\"                                                         \\n                promise = \"+e+\";                                      \\n                if (promise instanceof Promise) {                            \\n                    promise.cancel();                                        \\n                }                                                            \\n            \"}).join(\"\\n\"),s=a.join(\", \"),c=\"Holder$\"+t,u=\"return function(tryCatch, errorObj, Promise, async) {    \\n            'use strict';                                                    \\n            function [TheName](fn) {                                         \\n                [TheProperties]                                              \\n                this.fn = fn;                                                \\n                this.asyncNeeded = true;                                     \\n                this.now = 0;                                                \\n            }                                                                \\n                                                                             \\n            [TheName].prototype._callFunction = function(promise) {          \\n                promise._pushContext();                                      \\n                var ret = tryCatch(this.fn)([ThePassedArguments]);           \\n                promise._popContext();                                       \\n                if (ret === errorObj) {                                      \\n                    promise._rejectCallback(ret.e, false);                   \\n                } else {                                                     \\n                    promise._resolveCallback(ret);                           \\n                }                                                            \\n            };                                                               \\n                                                                             \\n            [TheName].prototype.checkFulfillment = function(promise) {       \\n                var now = ++this.now;                                        \\n                if (now === [TheTotal]) {                                    \\n                    if (this.asyncNeeded) {                                  \\n                        async.invoke(this._callFunction, this, promise);     \\n                    } else {                                                 \\n                        this._callFunction(promise);                         \\n                    }                                                        \\n                                                                             \\n                }                                                            \\n            };                                                               \\n                                                                             \\n            [TheName].prototype._resultCancelled = function() {              \\n                [CancellationCode]                                           \\n            };                                                               \\n                                                                             \\n            return [TheName];                                                \\n        }(tryCatch, errorObj, Promise, async);                               \\n        \";return u=u.replace(/\\[TheName\\]/g,c).replace(/\\[TheTotal\\]/g,t).replace(/\\[ThePassedArguments\\]/g,s).replace(/\\[TheProperties\\]/g,i).replace(/\\[CancellationCode\\]/g,n),new Function(\"tryCatch\",\"errorObj\",\"Promise\",\"async\",u)(p,l,e,o)},f=[],g=[],v=[],y=0;y<8;++y)f.push(d(y+1)),g.push(m(y+1)),v.push(h(y+1));s=function(e){this._reject(e)}}e.join=function(){var a,o=arguments.length-1;if(o>0&&\"function\"==typeof arguments[o]&&(a=arguments[o],o<=8&&u)){(w=new e(i))._captureStackTrace();for(var p=new(0,f[o-1])(a),l=g,m=0;m<o;++m){var h=r(arguments[m],w);if(h instanceof e){var d=(h=h._target())._bitField;0==(50397184&d)?(h._then(l[m],s,void 0,w,p),v[m](h,p),p.asyncNeeded=!1):0!=(33554432&d)?l[m].call(w,h._value(),p):0!=(16777216&d)?w._reject(h._reason()):w._cancel()}else l[m].call(w,h,p)}if(!w._isFateSealed()){if(p.asyncNeeded){var y=n();null!==y&&(p.fn=c.domainBind(y,p.fn))}w._setAsyncGuaranteed(),w._setOnCancel(p)}return w}for(var b=arguments.length,k=new Array(b),x=0;x<b;++x)k[x]=arguments[x];a&&k.pop();var w=new t(k).promise();return void 0!==a?w.spread(a):w}}},function(e,t,a){\"use strict\";e.exports=function(e,t,r,i,o,n){var s=e._getDomain,c=a(1),u=c.tryCatch,p=c.errorObj,l=e._async;function m(e,t,a,r){this.constructor$(e),this._promise._captureStackTrace();var i=s();this._callback=null===i?t:c.domainBind(i,t),this._preservedValues=r===o?new Array(this.length()):null,this._limit=a,this._inFlight=0,this._queue=[],l.invoke(this._asyncInit,this,void 0)}function h(t,a,i,o){if(\"function\"!=typeof a)return r(\"expecting a function but got \"+c.classString(a));var n=0;if(void 0!==i){if(\"object\"!=typeof i||null===i)return e.reject(new TypeError(\"options argument must be an object but it is \"+c.classString(i)));if(\"number\"!=typeof i.concurrency)return e.reject(new TypeError(\"'concurrency' must be a number but it is \"+c.classString(i.concurrency)));n=i.concurrency}return new m(t,a,n=\"number\"==typeof n&&isFinite(n)&&n>=1?n:0,o).promise()}c.inherits(m,t),m.prototype._asyncInit=function(){this._init$(void 0,-2)},m.prototype._init=function(){},m.prototype._promiseFulfilled=function(t,a){var r=this._values,o=this.length(),s=this._preservedValues,c=this._limit;if(a<0){if(r[a=-1*a-1]=t,c>=1&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(c>=1&&this._inFlight>=c)return r[a]=t,this._queue.push(a),!1;null!==s&&(s[a]=t);var l=this._promise,m=this._callback,h=l._boundValue();l._pushContext();var d=u(m).call(h,t,a,o),f=l._popContext();if(n.checkForgottenReturns(d,f,null!==s?\"Promise.filter\":\"Promise.map\",l),d===p)return this._reject(d.e),!0;var g=i(d,this._promise);if(g instanceof e){var v=(g=g._target())._bitField;if(0==(50397184&v))return c>=1&&this._inFlight++,r[a]=g,g._proxy(this,-1*(a+1)),!1;if(0==(33554432&v))return 0!=(16777216&v)?(this._reject(g._reason()),!0):(this._cancel(),!0);d=g._value()}r[a]=d}return++this._totalResolved>=o&&(null!==s?this._filter(r,s):this._resolve(r),!0)},m.prototype._drainQueue=function(){for(var e=this._queue,t=this._limit,a=this._values;e.length>0&&this._inFlight<t;){if(this._isResolved())return;var r=e.pop();this._promiseFulfilled(a[r],r)}},m.prototype._filter=function(e,t){for(var a=t.length,r=new Array(a),i=0,o=0;o<a;++o)e[o]&&(r[i++]=t[o]);r.length=i,this._resolve(r)},m.prototype.preservedValues=function(){return this._preservedValues},e.prototype.map=function(e,t){return h(this,e,t,null)},e.map=function(e,t,a,r){return h(e,t,a,r)}}},function(e,t,a){\"use strict\";var r=Object.create;if(r){var i=r(null),o=r(null);i[\" size\"]=o[\" size\"]=0}e.exports=function(e){var t,r,n=a(1),s=n.canEvaluate,c=n.isIdentifier,u=function(e){return new Function(\"ensureMethod\",\"                                    \\n        return function(obj) {                                               \\n            'use strict'                                                     \\n            var len = this.length;                                           \\n            ensureMethod(obj, 'methodName');                                 \\n            switch(len) {                                                    \\n                case 1: return obj.methodName(this[0]);                      \\n                case 2: return obj.methodName(this[0], this[1]);             \\n                case 3: return obj.methodName(this[0], this[1], this[2]);    \\n                case 0: return obj.methodName();                             \\n                default:                                                     \\n                    return obj.methodName.apply(obj, this);                  \\n            }                                                                \\n        };                                                                   \\n        \".replace(/methodName/g,e))(m)},p=function(e){return new Function(\"obj\",\"                                             \\n        'use strict';                                                        \\n        return obj.propertyName;                                             \\n        \".replace(\"propertyName\",e))},l=function(e,t,a){var r=a[e];if(\"function\"!=typeof r){if(!c(e))return null;if(r=t(e),a[e]=r,a[\" size\"]++,a[\" size\"]>512){for(var i=Object.keys(a),o=0;o<256;++o)delete a[i[o]];a[\" size\"]=i.length-256}}return r};function m(t,a){var r;if(null!=t&&(r=t[a]),\"function\"!=typeof r){var i=\"Object \"+n.classString(t)+\" has no method '\"+n.toString(a)+\"'\";throw new e.TypeError(i)}return r}function h(e){return m(e,this.pop()).apply(e,this)}function d(e){return e[this]}function f(e){var t=+this;return t<0&&(t=Math.max(0,t+e.length)),e[t]}t=function(e){return l(e,u,i)},r=function(e){return l(e,p,o)},e.prototype.call=function(e){for(var a=arguments.length,r=new Array(Math.max(a-1,0)),i=1;i<a;++i)r[i-1]=arguments[i];if(s){var o=t(e);if(null!==o)return this._then(o,void 0,void 0,r,void 0)}return r.push(e),this._then(h,void 0,void 0,r,void 0)},e.prototype.get=function(e){var t;if(\"number\"==typeof e)t=f;else if(s){var a=r(e);t=null!==a?a:d}else t=d;return this._then(t,void 0,void 0,e,void 0)}}},function(e,t,a){\"use strict\";e.exports=function(e,t,r,i,o,n){var s=a(1),c=a(12).TypeError,u=a(1).inherits,p=s.errorObj,l=s.tryCatch,m={};function h(e){setTimeout(function(){throw e},0)}function d(t,a){var i=0,n=t.length,s=new e(o);return function o(){if(i>=n)return s._fulfill();var c=function(e){var t=r(e);return t!==e&&\"function\"==typeof e._isDisposable&&\"function\"==typeof e._getDisposer&&e._isDisposable()&&t._setDisposable(e._getDisposer()),t}(t[i++]);if(c instanceof e&&c._isDisposable()){try{c=r(c._getDisposer().tryDispose(a),t.promise)}catch(e){return h(e)}if(c instanceof e)return c._then(o,h,null,null,null)}o()}(),s}function f(e,t,a){this._data=e,this._promise=t,this._context=a}function g(e,t,a){this.constructor$(e,t,a)}function v(e){return f.isDisposer(e)?(this.resources[this.index]._setDisposable(e),e.promise()):e}function y(e){this.length=e,this.promise=null,this[e-1]=null}f.prototype.data=function(){return this._data},f.prototype.promise=function(){return this._promise},f.prototype.resource=function(){return this.promise().isFulfilled()?this.promise().value():m},f.prototype.tryDispose=function(e){var t=this.resource(),a=this._context;void 0!==a&&a._pushContext();var r=t!==m?this.doDispose(t,e):null;return void 0!==a&&a._popContext(),this._promise._unsetDisposable(),this._data=null,r},f.isDisposer=function(e){return null!=e&&\"function\"==typeof e.resource&&\"function\"==typeof e.tryDispose},u(g,f),g.prototype.doDispose=function(e,t){return this.data().call(e,e,t)},y.prototype._resultCancelled=function(){for(var t=this.length,a=0;a<t;++a){var r=this[a];r instanceof e&&r.cancel()}},e.using=function(){var a=arguments.length;if(a<2)return t(\"you must pass at least 2 arguments to Promise.using\");var i,o=arguments[a-1];if(\"function\"!=typeof o)return t(\"expecting a function but got \"+s.classString(o));var c=!0;2===a&&Array.isArray(arguments[0])?(a=(i=arguments[0]).length,c=!1):(i=arguments,a--);for(var u=new y(a),m=0;m<a;++m){var h=i[m];if(f.isDisposer(h)){var g=h;(h=h.promise())._setDisposable(g)}else{var b=r(h);b instanceof e&&(h=b._then(v,null,null,{resources:u,index:m},void 0))}u[m]=h}var k=new Array(u.length);for(m=0;m<k.length;++m)k[m]=e.resolve(u[m]).reflect();var x=e.all(k).then(function(e){for(var t=0;t<e.length;++t){var a=e[t];if(a.isRejected())return p.e=a.error(),p;if(!a.isFulfilled())return void x.cancel();e[t]=a.value()}w._pushContext(),o=l(o);var r=c?o.apply(void 0,e):o(e),i=w._popContext();return n.checkForgottenReturns(r,i,\"Promise.using\",w),r}),w=x.lastly(function(){var t=new e.PromiseInspection(x);return d(u,t)});return u.promise=w,w._setOnCancel(u),w},e.prototype._setDisposable=function(e){this._bitField=131072|this._bitField,this._disposer=e},e.prototype._isDisposable=function(){return(131072&this._bitField)>0},e.prototype._getDisposer=function(){return this._disposer},e.prototype._unsetDisposable=function(){this._bitField=-131073&this._bitField,this._disposer=void 0},e.prototype.disposer=function(e){if(\"function\"==typeof e)return new g(e,this,i());throw new c}}},function(e,t,a){\"use strict\";e.exports=function(e,t,r){var i=a(1),o=e.TimeoutError;function n(e){this.handle=e}n.prototype._resultCancelled=function(){clearTimeout(this.handle)};var s=function(e){return c(+this).thenReturn(e)},c=e.delay=function(a,i){var o,c;return void 0!==i?(o=e.resolve(i)._then(s,null,null,a,void 0),r.cancellation()&&i instanceof e&&o._setOnCancel(i)):(o=new e(t),c=setTimeout(function(){o._fulfill()},+a),r.cancellation()&&o._setOnCancel(new n(c)),o._captureStackTrace()),o._setAsyncGuaranteed(),o};e.prototype.delay=function(e){return c(e,this)};function u(e){return clearTimeout(this.handle),e}function p(e){throw clearTimeout(this.handle),e}e.prototype.timeout=function(e,t){var a,s;e=+e;var c=new n(setTimeout(function(){a.isPending()&&function(e,t,a){var r;r=\"string\"!=typeof t?t instanceof Error?t:new o(\"operation timed out\"):new o(t),i.markAsOriginatingFromRejection(r),e._attachExtraTrace(r),e._reject(r),null!=a&&a.cancel()}(a,t,s)},e));return r.cancellation()?(s=this.then(),(a=s._then(u,p,void 0,c,void 0))._setOnCancel(c)):a=this._then(u,p,void 0,c,void 0),a}}},function(e,t,a){\"use strict\";e.exports=function(e,t,r,i,o,n){var s=a(12).TypeError,c=a(1),u=c.errorObj,p=c.tryCatch,l=[];function m(t,a,i,o){if(n.cancellation()){var s=new e(r),c=this._finallyPromise=new e(r);this._promise=s.lastly(function(){return c}),s._captureStackTrace(),s._setOnCancel(this)}else{(this._promise=new e(r))._captureStackTrace()}this._stack=o,this._generatorFunction=t,this._receiver=a,this._generator=void 0,this._yieldHandlers=\"function\"==typeof i?[i].concat(l):l,this._yieldedPromise=null,this._cancellationPhase=!1}c.inherits(m,o),m.prototype._isResolved=function(){return null===this._promise},m.prototype._cleanup=function(){this._promise=this._generator=null,n.cancellation()&&null!==this._finallyPromise&&(this._finallyPromise._fulfill(),this._finallyPromise=null)},m.prototype._promiseCancelled=function(){if(!this._isResolved()){var t;if(void 0!==this._generator.return)this._promise._pushContext(),t=p(this._generator.return).call(this._generator,void 0),this._promise._popContext();else{var a=new e.CancellationError(\"generator .return() sentinel\");e.coroutine.returnSentinel=a,this._promise._attachExtraTrace(a),this._promise._pushContext(),t=p(this._generator.throw).call(this._generator,a),this._promise._popContext()}this._cancellationPhase=!0,this._yieldedPromise=null,this._continue(t)}},m.prototype._promiseFulfilled=function(e){this._yieldedPromise=null,this._promise._pushContext();var t=p(this._generator.next).call(this._generator,e);this._promise._popContext(),this._continue(t)},m.prototype._promiseRejected=function(e){this._yieldedPromise=null,this._promise._attachExtraTrace(e),this._promise._pushContext();var t=p(this._generator.throw).call(this._generator,e);this._promise._popContext(),this._continue(t)},m.prototype._resultCancelled=function(){if(this._yieldedPromise instanceof e){var t=this._yieldedPromise;this._yieldedPromise=null,t.cancel()}},m.prototype.promise=function(){return this._promise},m.prototype._run=function(){this._generator=this._generatorFunction.call(this._receiver),this._receiver=this._generatorFunction=void 0,this._promiseFulfilled(void 0)},m.prototype._continue=function(t){var a=this._promise;if(t===u)return this._cleanup(),this._cancellationPhase?a.cancel():a._rejectCallback(t.e,!1);var r=t.value;if(!0===t.done)return this._cleanup(),this._cancellationPhase?a.cancel():a._resolveCallback(r);var o=i(r,this._promise);if(o instanceof e||null!==(o=function(t,a,r){for(var o=0;o<a.length;++o){r._pushContext();var n=p(a[o])(t);if(r._popContext(),n===u){r._pushContext();var s=e.reject(u.e);return r._popContext(),s}var c=i(n,r);if(c instanceof e)return c}return null}(o,this._yieldHandlers,this._promise))){var n=(o=o._target())._bitField;0==(50397184&n)?(this._yieldedPromise=o,o._proxy(this,null)):0!=(33554432&n)?e._async.invoke(this._promiseFulfilled,this,o._value()):0!=(16777216&n)?e._async.invoke(this._promiseRejected,this,o._reason()):this._promiseCancelled()}else this._promiseRejected(new s(\"A value %s was yielded that could not be treated as a promise\\n\\n    See http://goo.gl/MqrFmX\\n\\n\".replace(\"%s\",String(r))+\"From coroutine:\\n\"+this._stack.split(\"\\n\").slice(1,-7).join(\"\\n\")))},e.coroutine=function(e,t){if(\"function\"!=typeof e)throw new s(\"generatorFunction must be a function\\n\\n    See http://goo.gl/MqrFmX\\n\");var a=Object(t).yieldHandler,r=m,i=(new Error).stack;return function(){var t=e.apply(this,arguments),o=new r(void 0,void 0,a,i),n=o.promise();return o._generator=t,o._promiseFulfilled(void 0),n}},e.coroutine.addYieldHandler=function(e){if(\"function\"!=typeof e)throw new s(\"expecting a function but got \"+c.classString(e));l.push(e)},e.spawn=function(a){if(n.deprecated(\"Promise.spawn()\",\"Promise.coroutine()\"),\"function\"!=typeof a)return t(\"generatorFunction must be a function\\n\\n    See http://goo.gl/MqrFmX\\n\");var r=new m(a,this),i=r.promise();return r._run(e.spawn),i}}},function(e,t,a){\"use strict\";e.exports=function(e){var t=a(1),r=e._async,i=t.tryCatch,o=t.errorObj;function n(e,a){if(!t.isArray(e))return s.call(this,e,a);var n=i(a).apply(this._boundValue(),[null].concat(e));n===o&&r.throwLater(n.e)}function s(e,t){var a=this._boundValue(),n=void 0===e?i(t).call(a,null):i(t).call(a,null,e);n===o&&r.throwLater(n.e)}function c(e,t){if(!e){var a=new Error(e+\"\");a.cause=e,e=a}var n=i(t).call(this._boundValue(),e);n===o&&r.throwLater(n.e)}e.prototype.asCallback=e.prototype.nodeify=function(e,t){if(\"function\"==typeof e){var a=s;void 0!==t&&Object(t).spread&&(a=n),this._then(a,c,void 0,this,e)}return this}}},function(e,t,a){\"use strict\";e.exports=function(e,t){var r={},i=a(1),o=a(50),n=i.withAppended,s=i.maybeWrapAsError,c=i.canEvaluate,u=a(12).TypeError,p={__isPromisified__:!0},l=new RegExp(\"^(?:\"+[\"arity\",\"length\",\"name\",\"arguments\",\"caller\",\"callee\",\"prototype\",\"__isPromisified__\"].join(\"|\")+\")$\"),m=function(e){return i.isIdentifier(e)&&\"_\"!==e.charAt(0)&&\"constructor\"!==e};function h(e){return!l.test(e)}function d(e){try{return!0===e.__isPromisified__}catch(e){return!1}}function f(e,t,a){var r=i.getDataPropertyOrDefault(e,t+a,p);return!!r&&d(r)}function g(e,t,a,r){for(var o=i.inheritedDataKeys(e),n=[],s=0;s<o.length;++s){var c=o[s],p=e[c],l=r===m||m(c,p,e);\"function\"!=typeof p||d(p)||f(e,c,t)||!r(c,p,e,l)||n.push(c,p)}return function(e,t,a){for(var r=0;r<e.length;r+=2){var i=e[r];if(a.test(i))for(var o=i.replace(a,\"\"),n=0;n<e.length;n+=2)if(e[n]===o)throw new u(\"Cannot promisify an API that has normal methods with '%s'-suffix\\n\\n    See http://goo.gl/MqrFmX\\n\".replace(\"%s\",t))}}(n,t,a),n}var v=function(e){return e.replace(/([$])/,\"\\\\$\")},y=function(e){return i.filledRange(e,\"_arg\",\"\")};var b=c?function(a,c,u,p,l,m){var h=Math.max(0,function(e){return\"number\"==typeof e.length?Math.max(Math.min(e.length,1024),0):0}(p)-1),d=function(e){for(var t=[e],a=Math.max(0,e-1-3),r=e-1;r>=a;--r)t.push(r);for(r=e+1;r<=3;++r)t.push(r);return t}(h),f=\"string\"==typeof a||c===r;var g=\"string\"==typeof a?\"this != null ? this['\"+a+\"'] : fn\":\"fn\",v=\"'use strict';                                                \\n        var ret = function (Parameters) {                                    \\n            'use strict';                                                    \\n            var len = arguments.length;                                      \\n            var promise = new Promise(INTERNAL);                             \\n            promise._captureStackTrace();                                    \\n            var nodeback = nodebackForPromise(promise, \"+m+\");   \\n            var ret;                                                         \\n            var callback = tryCatch([GetFunctionCode]);                      \\n            switch(len) {                                                    \\n                [CodeForSwitchCase]                                          \\n            }                                                                \\n            if (ret === errorObj) {                                          \\n                promise._rejectCallback(maybeWrapAsError(ret.e), true, true);\\n            }                                                                \\n            if (!promise._isFateSealed()) promise._setAsyncGuaranteed();     \\n            return promise;                                                  \\n        };                                                                   \\n        notEnumerableProp(ret, '__isPromisified__', true);                   \\n        return ret;                                                          \\n    \".replace(\"[CodeForSwitchCase]\",function(){for(var e,t,a,r=\"\",i=0;i<d.length;++i)r+=\"case \"+d[i]+\":\"+(e=d[i],t=void 0,a=void 0,t=y(e).join(\", \"),a=e>0?\", \":\"\",(f?\"ret = callback.call(this, {{args}}, nodeback); break;\\n\":void 0===c?\"ret = callback({{args}}, nodeback); break;\\n\":\"ret = callback.call(receiver, {{args}}, nodeback); break;\\n\").replace(\"{{args}}\",t).replace(\", \",a));return r+=\"                                                             \\n        default:                                                             \\n            var args = new Array(len + 1);                                   \\n            var i = 0;                                                       \\n            for (var i = 0; i < len; ++i) {                                  \\n               args[i] = arguments[i];                                       \\n            }                                                                \\n            args[i] = nodeback;                                              \\n            [CodeForCall]                                                    \\n            break;                                                           \\n        \".replace(\"[CodeForCall]\",f?\"ret = callback.apply(this, args);\\n\":\"ret = callback.apply(receiver, args);\\n\")}()).replace(\"[GetFunctionCode]\",g);return v=v.replace(\"Parameters\",function(e){return i.filledRange(Math.max(e,3),\"_arg\",\"\")}(h)),new Function(\"Promise\",\"fn\",\"receiver\",\"withAppended\",\"maybeWrapAsError\",\"nodebackForPromise\",\"tryCatch\",\"errorObj\",\"notEnumerableProp\",\"INTERNAL\",v)(e,p,c,n,s,o,i.tryCatch,i.errorObj,i.notEnumerableProp,t)}:function(a,c,u,p,l,m){var h=function(){return this}(),d=a;function f(){var i=c;c===r&&(i=this);var u=new e(t);u._captureStackTrace();var p=\"string\"==typeof d&&this!==h?this[d]:a,l=o(u,m);try{p.apply(i,n(arguments,l))}catch(e){u._rejectCallback(s(e),!0,!0)}return u._isFateSealed()||u._setAsyncGuaranteed(),u}return\"string\"==typeof d&&(a=p),i.notEnumerableProp(f,\"__isPromisified__\",!0),f};function k(e,t,a,o,n){for(var s=new RegExp(v(t)+\"$\"),c=g(e,t,s,a),u=0,p=c.length;u<p;u+=2){var l=c[u],m=c[u+1],h=l+t;if(o===b)e[h]=b(l,r,l,m,t,n);else{var d=o(m,function(){return b(l,r,l,m,t,n)});i.notEnumerableProp(d,\"__isPromisified__\",!0),e[h]=d}}return i.toFastProperties(e),e}e.promisify=function(e,t){if(\"function\"!=typeof e)throw new u(\"expecting a function but got \"+i.classString(e));if(d(e))return e;var a=function(e,t,a){return b(e,t,void 0,e,null,a)}(e,void 0===(t=Object(t)).context?r:t.context,!!t.multiArgs);return i.copyDescriptors(e,a,h),a},e.promisifyAll=function(e,t){if(\"function\"!=typeof e&&\"object\"!=typeof e)throw new u(\"the target of promisifyAll must be an object or a function\\n\\n    See http://goo.gl/MqrFmX\\n\");var a=!!(t=Object(t)).multiArgs,r=t.suffix;\"string\"!=typeof r&&(r=\"Async\");var o=t.filter;\"function\"!=typeof o&&(o=m);var n=t.promisifier;if(\"function\"!=typeof n&&(n=b),!i.isIdentifier(r))throw new RangeError(\"suffix must be a valid identifier\\n\\n    See http://goo.gl/MqrFmX\\n\");for(var s=i.inheritedDataKeys(e),c=0;c<s.length;++c){var p=e[s[c]];\"constructor\"!==s[c]&&i.isClass(p)&&(k(p.prototype,r,o,n,a),k(p,r,o,n,a))}return k(e,r,o,n,a)}}},function(e,t,a){\"use strict\";e.exports=function(e,t,r,i){var o,n=a(1),s=n.isObject,c=a(16);\"function\"==typeof Map&&(o=Map);var u=function(){var e=0,t=0;function a(a,r){this[e]=a,this[e+t]=r,e++}return function(r){t=r.size,e=0;var i=new Array(2*r.size);return r.forEach(a,i),i}}();function p(e){var t,a=!1;if(void 0!==o&&e instanceof o)t=u(e),a=!0;else{var r=c.keys(e),i=r.length;t=new Array(2*i);for(var n=0;n<i;++n){var s=r[n];t[n]=e[s],t[n+i]=s}}this.constructor$(t),this._isMap=a,this._init$(void 0,a?-6:-3)}function l(t){var a,o=r(t);return s(o)?(a=o instanceof e?o._then(e.props,void 0,void 0,void 0,void 0):new p(o).promise(),o instanceof e&&a._propagateFrom(o,2),a):i(\"cannot await properties of a non-object\\n\\n    See http://goo.gl/MqrFmX\\n\")}n.inherits(p,t),p.prototype._init=function(){},p.prototype._promiseFulfilled=function(e,t){if(this._values[t]=e,++this._totalResolved>=this._length){var a;if(this._isMap)a=function(e){for(var t=new o,a=e.length/2|0,r=0;r<a;++r){var i=e[a+r],n=e[r];t.set(i,n)}return t}(this._values);else{a={};for(var r=this.length(),i=0,n=this.length();i<n;++i)a[this._values[i+r]]=this._values[i]}return this._resolve(a),!0}return!1},p.prototype.shouldCopyValues=function(){return!1},p.prototype.getActualLength=function(e){return e>>1},e.prototype.props=function(){return l(this)},e.props=function(e){return l(e)}}},function(e,t,a){\"use strict\";e.exports=function(e,t,r,i){var o=a(1),n=function(e){return e.then(function(t){return s(t,e)})};function s(a,s){var c=r(a);if(c instanceof e)return n(c);if(null===(a=o.asArray(a)))return i(\"expecting an array or an iterable object but got \"+o.classString(a));var u=new e(t);void 0!==s&&u._propagateFrom(s,3);for(var p=u._fulfill,l=u._reject,m=0,h=a.length;m<h;++m){var d=a[m];(void 0!==d||m in a)&&e.cast(d)._then(p,l,void 0,u,null)}return u}e.race=function(e){return s(e,void 0)},e.prototype.race=function(){return s(this,void 0)}}},function(e,t,a){\"use strict\";e.exports=function(e,t,r,i,o,n){var s=e._getDomain,c=a(1),u=c.tryCatch;function p(t,a,r,i){this.constructor$(t);var n=s();this._fn=null===n?a:c.domainBind(n,a),void 0!==r&&(r=e.resolve(r))._attachCancellationCallback(this),this._initialValue=r,this._currentCancellable=null,this._eachValues=i===o?Array(this._length):0===i?null:void 0,this._promise._captureStackTrace(),this._init$(void 0,-5)}function l(e,t){this.isFulfilled()?t._resolve(e):t._reject(e)}function m(e,t,a,i){return\"function\"!=typeof t?r(\"expecting a function but got \"+c.classString(t)):new p(e,t,a,i).promise()}function h(t){this.accum=t,this.array._gotAccum(t);var a=i(this.value,this.array._promise);return a instanceof e?(this.array._currentCancellable=a,a._then(d,void 0,void 0,this,void 0)):d.call(this,a)}function d(t){var a,r=this.array,i=r._promise,o=u(r._fn);i._pushContext(),(a=void 0!==r._eachValues?o.call(i._boundValue(),t,this.index,this.length):o.call(i._boundValue(),this.accum,t,this.index,this.length))instanceof e&&(r._currentCancellable=a);var s=i._popContext();return n.checkForgottenReturns(a,s,void 0!==r._eachValues?\"Promise.each\":\"Promise.reduce\",i),a}c.inherits(p,t),p.prototype._gotAccum=function(e){void 0!==this._eachValues&&null!==this._eachValues&&e!==o&&this._eachValues.push(e)},p.prototype._eachComplete=function(e){return null!==this._eachValues&&this._eachValues.push(e),this._eachValues},p.prototype._init=function(){},p.prototype._resolveEmptyArray=function(){this._resolve(void 0!==this._eachValues?this._eachValues:this._initialValue)},p.prototype.shouldCopyValues=function(){return!1},p.prototype._resolve=function(e){this._promise._resolveCallback(e),this._values=null},p.prototype._resultCancelled=function(t){if(t===this._initialValue)return this._cancel();this._isResolved()||(this._resultCancelled$(),this._currentCancellable instanceof e&&this._currentCancellable.cancel(),this._initialValue instanceof e&&this._initialValue.cancel())},p.prototype._iterate=function(t){var a,r;this._values=t;var i=t.length;if(void 0!==this._initialValue?(a=this._initialValue,r=0):(a=e.resolve(t[0]),r=1),this._currentCancellable=a,!a.isRejected())for(;r<i;++r){var o={accum:null,value:t[r],index:r,length:i,array:this};a=a._then(h,void 0,void 0,o,void 0)}void 0!==this._eachValues&&(a=a._then(this._eachComplete,void 0,void 0,this,void 0)),a._then(l,l,void 0,a,this)},e.prototype.reduce=function(e,t){return m(this,e,t,null)},e.reduce=function(e,t,a,r){return m(e,t,a,r)}}},function(e,t,a){\"use strict\";e.exports=function(e,t,r){var i=e.PromiseInspection;function o(e){this.constructor$(e)}a(1).inherits(o,t),o.prototype._promiseResolved=function(e,t){return this._values[e]=t,++this._totalResolved>=this._length&&(this._resolve(this._values),!0)},o.prototype._promiseFulfilled=function(e,t){var a=new i;return a._bitField=33554432,a._settledValueField=e,this._promiseResolved(t,a)},o.prototype._promiseRejected=function(e,t){var a=new i;return a._bitField=16777216,a._settledValueField=e,this._promiseResolved(t,a)},e.settle=function(e){return r.deprecated(\".settle()\",\".reflect()\"),new o(e).promise()},e.prototype.settle=function(){return e.settle(this)}}},function(e,t,a){\"use strict\";e.exports=function(e,t,r){var i=a(1),o=a(12).RangeError,n=a(12).AggregateError,s=i.isArray,c={};function u(e){this.constructor$(e),this._howMany=0,this._unwrap=!1,this._initialized=!1}function p(e,t){if((0|t)!==t||t<0)return r(\"expecting a positive integer\\n\\n    See http://goo.gl/MqrFmX\\n\");var a=new u(e),i=a.promise();return a.setHowMany(t),a.init(),i}i.inherits(u,t),u.prototype._init=function(){if(this._initialized)if(0!==this._howMany){this._init$(void 0,-5);var e=s(this._values);!this._isResolved()&&e&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))}else this._resolve([])},u.prototype.init=function(){this._initialized=!0,this._init()},u.prototype.setUnwrap=function(){this._unwrap=!0},u.prototype.howMany=function(){return this._howMany},u.prototype.setHowMany=function(e){this._howMany=e},u.prototype._promiseFulfilled=function(e){return this._addFulfilled(e),this._fulfilled()===this.howMany()&&(this._values.length=this.howMany(),1===this.howMany()&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0)},u.prototype._promiseRejected=function(e){return this._addRejected(e),this._checkOutcome()},u.prototype._promiseCancelled=function(){return this._values instanceof e||null==this._values?this._cancel():(this._addRejected(c),this._checkOutcome())},u.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var e=new n,t=this.length();t<this._values.length;++t)this._values[t]!==c&&e.push(this._values[t]);return e.length>0?this._reject(e):this._cancel(),!0}return!1},u.prototype._fulfilled=function(){return this._totalResolved},u.prototype._rejected=function(){return this._values.length-this.length()},u.prototype._addRejected=function(e){this._values.push(e)},u.prototype._addFulfilled=function(e){this._values[this._totalResolved++]=e},u.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},u.prototype._getRangeError=function(e){var t=\"Input array must contain at least \"+this._howMany+\" items but contains only \"+e+\" items\";return new o(t)},u.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},e.some=function(e,t){return p(e,t)},e.prototype.some=function(e){return p(this,e)},e._SomePromiseArray=u}},function(e,t,a){\"use strict\";e.exports=function(e,t){var a=e.map;e.prototype.filter=function(e,r){return a(this,e,r,t)},e.filter=function(e,r,i){return a(e,r,i,t)}}},function(e,t,a){\"use strict\";e.exports=function(e,t){var a=e.reduce,r=e.all;function i(){return r(this)}e.prototype.each=function(e){return a(this,e,t,0)._then(i,void 0,void 0,this,void 0)},e.prototype.mapSeries=function(e){return a(this,e,t,t)},e.each=function(e,r){return a(e,r,t,0)._then(i,void 0,void 0,e,void 0)},e.mapSeries=function(e,r){return a(e,r,t,t)}}},function(e,t,a){\"use strict\";e.exports=function(e){var t=e._SomePromiseArray;function a(e){var a=new t(e),r=a.promise();return a.setHowMany(1),a.setUnwrap(),a.init(),r}e.any=function(e){return a(e)},e.prototype.any=function(){return a(this)}}},function(e,t,a){\"use strict\";var r=a(127),i=a(54),o=a(51),n=a(33);e.exports=function(e){var t=\"Please verify options\";if(!n(e))throw new TypeError(t);if(!o(e.request))throw new TypeError(t+\".request\");if(!i(e.expose)||0===e.expose.length)throw new TypeError(t+\".expose\");var a=r({PromiseImpl:e.PromiseImpl,constructorMixin:e.constructorMixin}),s=e.request.Request.prototype.init;e.request.Request.prototype.init=function(e){return!n(e)||this._callback||this._rp_promise||a.init.call(this,e),s.apply(this,arguments)};for(var c=!1,u=0;u<e.expose.length;u+=1){var p=e.expose[u];a[\"promise\"===p?\"exposePromise\":\"exposePromiseMethod\"](e.request.Request.prototype,null,\"_rp_promise\",p),\"then\"===p&&(c=!0)}if(!c)throw new Error('Please expose \"then\"')}},function(e,t,a){\"use strict\";var r=a(128),i=a(51),o=a(33),n=a(134),s=a(135);e.exports=function(e){var t=\"Please verify options\";if(!o(e))throw new TypeError(t);if(!i(e.PromiseImpl))throw new TypeError(t+\".PromiseImpl\");if(!s(e.constructorMixin)&&!i(e.constructorMixin))throw new TypeError(t+\".PromiseImpl\");var a=e.PromiseImpl,c=e.constructorMixin,u={init:function(e){var t=this;t._rp_promise=new a(function(e,a){t._rp_resolve=e,t._rp_reject=a,c&&c.apply(t,arguments)}),t._rp_callbackOrig=e.callback,e.callback=t.callback=function(e,a,r){u.callback.call(t,e,a,r)},n(e.method)&&(e.method=e.method.toUpperCase()),e.transform=e.transform||u.defaultTransformations[e.method],t._rp_options=e,t._rp_options.simple=!1!==e.simple,t._rp_options.resolveWithFullResponse=!0===e.resolveWithFullResponse,t._rp_options.transform2xxOnly=!0===e.transform2xxOnly},defaultTransformations:{HEAD:function(e,t,a){return a?t:t.headers}},callback:function(e,t,o){var n=this,s=!1,c=null;if(i(n._rp_callbackOrig))try{n._rp_callbackOrig.apply(n,arguments)}catch(e){s=!0,c=e}var u=!e&&/^2/.test(\"\"+t.statusCode);if(e?n._rp_reject(new r.RequestError(e,n._rp_options,t)):n._rp_options.simple&&!u?i(n._rp_options.transform)&&!1===n._rp_options.transform2xxOnly?new a(function(e){e(n._rp_options.transform(o,t,n._rp_options.resolveWithFullResponse))}).then(function(e){n._rp_reject(new r.StatusCodeError(t.statusCode,o,n._rp_options,e))}).catch(function(e){n._rp_reject(new r.TransformError(e,n._rp_options,t))}):n._rp_reject(new r.StatusCodeError(t.statusCode,o,n._rp_options,t)):i(n._rp_options.transform)&&(u||!1===n._rp_options.transform2xxOnly)?new a(function(e){e(n._rp_options.transform(o,t,n._rp_options.resolveWithFullResponse))}).then(function(e){n._rp_resolve(e)}).catch(function(e){n._rp_reject(new r.TransformError(e,n._rp_options,t))}):n._rp_options.resolveWithFullResponse?n._rp_resolve(t):n._rp_resolve(o),s)throw c},exposePromiseMethod:function(e,t,a,r,i){if((i=i||r)in e)throw new Error('Unable to expose method \"'+i+'\"');e[i]=function(){var e=t||this;return e[a][r].apply(e[a],arguments)}},exposePromise:function(e,t,a,r){if((r=r||\"promise\")in e)throw new Error('Unable to expose method \"'+r+'\"');e[r]=function(){return(t||this)[a]}}};return u}},function(e,t,a){\"use strict\";function r(e,t,a){this.name=\"RequestError\",this.message=String(e),this.cause=e,this.error=e,this.options=t,this.response=a,Error.captureStackTrace&&Error.captureStackTrace(this)}function i(e,t,a,r){this.name=\"StatusCodeError\",this.statusCode=e,this.message=e+\" - \"+(JSON&&JSON.stringify?JSON.stringify(t):t),this.error=t,this.options=a,this.response=r,Error.captureStackTrace&&Error.captureStackTrace(this)}function o(e,t,a){this.name=\"TransformError\",this.message=String(e),this.cause=e,this.error=e,this.options=t,this.response=a,Error.captureStackTrace&&Error.captureStackTrace(this)}r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,o.prototype=Object.create(Error.prototype),o.prototype.constructor=o,e.exports={RequestError:r,StatusCodeError:i,TransformError:o}},function(e,t,a){var r=a(130),i=\"object\"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function(\"return this\")();e.exports=o},function(e,t){var a=\"object\"==typeof global&&global&&global.Object===Object&&global;e.exports=a},function(e,t,a){var r=a(53),i=Object.prototype,o=i.hasOwnProperty,n=i.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=o.call(e,s),a=e[s];try{e[s]=void 0;var r=!0}catch(e){}var i=n.call(e);return r&&(t?e[s]=a:delete e[s]),i}},function(e,t){var a=Object.prototype.toString;e.exports=function(e){return a.call(e)}},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}},function(e,t,a){var r=a(52),i=a(54),o=a(33),n=\"[object String]\";e.exports=function(e){return\"string\"==typeof e||!i(e)&&o(e)&&r(e)==n}},function(e,t){e.exports=function(e){return void 0===e}},function(e,t,a){\"use strict\";var r=/\\.node$/;function i(e,t){for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t(a)}function o(e,t){return i(t,function(a){e[a]=t[a]}),e}function n(e){i(e,function(t){r.test(t)||delete e[t]})}e.exports=function(e,t,a,r){var s=o({},e);if(n(e),a){var c=!!r.children&&r.children.slice();a();var u=[];i(e,function(e){u.push(e)}),n(e),r.children&&(r.children=c);for(var p=0;p<u.length;p+=1)s[u[p]]&&(e[u[p]]=s[u[p]])}var l=t(),m=!!a&&o({},e);if(n(e),a)for(var h=0;h<u.length;h+=1)m[u[h]]&&(e[u[h]]=m[u[h]]);return o(e,s),l}},function(e,t,a){\"use strict\";var r=a(34),i=a(55),o=a(36).paramsHaveRequestBody;function n(e,t,a){\"function\"==typeof t&&(a=t);var i={};return\"object\"==typeof t?r(i,t,{uri:e}):r(i,\"string\"==typeof e?{uri:e}:e),i.callback=a||i.callback,i}function s(e,t,a){if(void 0===e)throw new Error(\"undefined is not a valid uri or options object.\");var r=n(e,t,a);if(\"HEAD\"===r.method&&o(r))throw new Error(\"HTTP HEAD requests MUST NOT include a request body.\");return new s.Request(r)}function c(e){var t=e.toUpperCase();return function(e,a,r){var i=n(e,a,r);return i.method=t,s(i,i.callback)}}function u(e,t,a,i){return function(o,s,c){var u=n(o,s,c),p={};return r(!0,p,t,u),p.pool=u.pool||t.pool,i&&(p.method=i.toUpperCase()),\"function\"==typeof a&&(e=a),e(p,p.callback)}}s.get=c(\"get\"),s.head=c(\"head\"),s.options=c(\"options\"),s.post=c(\"post\"),s.put=c(\"put\"),s.patch=c(\"patch\"),s.del=c(\"delete\"),s.delete=c(\"delete\"),s.jar=function(e){return i.jar(e)},s.cookie=function(e){return i.parse(e)},s.defaults=function(e,t){var a=this;\"function\"==typeof(e=e||{})&&(t=e,e={});var r=u(a,e,t);return[\"get\",\"head\",\"post\",\"put\",\"patch\",\"del\",\"delete\"].forEach(function(i){r[i]=u(a[i],e,t,i)}),r.cookie=u(a.cookie,e,t),r.jar=a.jar,r.defaults=a.defaults,r},s.forever=function(e,t){var a={};return t&&r(a,t),e&&(a.agentOptions=e),a.forever=!0,s.defaults(a)},e.exports=s,s.Request=a(143),s.initParams=n,Object.defineProperty(s,\"debug\",{enumerable:!0,get:function(){return s.Request.debug},set:function(e){s.Request.debug=e}})},function(e,t,a){\"use strict\";var r=a(58),i={};i.rules=a(139).map(function(e){return{rule:e,suffix:e.replace(/^(\\*\\.|\\!)/,\"\"),punySuffix:-1,wildcard:\"*\"===e.charAt(0),exception:\"!\"===e.charAt(0)}}),i.endsWith=function(e,t){return-1!==e.indexOf(t,e.length-t.length)},i.findRule=function(e){var t=r.toASCII(e);return i.rules.reduce(function(e,a){return-1===a.punySuffix&&(a.punySuffix=r.toASCII(a.suffix)),i.endsWith(t,\".\"+a.punySuffix)||t===a.punySuffix?a:e},null)},t.errorCodes={DOMAIN_TOO_SHORT:\"Domain name too short.\",DOMAIN_TOO_LONG:\"Domain name too long. It should be no more than 255 chars.\",LABEL_STARTS_WITH_DASH:\"Domain name label can not start with a dash.\",LABEL_ENDS_WITH_DASH:\"Domain name label can not end with a dash.\",LABEL_TOO_LONG:\"Domain name label should be at most 63 chars long.\",LABEL_TOO_SHORT:\"Domain name label should be at least 1 character long.\",LABEL_INVALID_CHARS:\"Domain name label can only contain alphanumeric characters or dashes.\"},i.validate=function(e){var t=r.toASCII(e);if(t.length<1)return\"DOMAIN_TOO_SHORT\";if(t.length>255)return\"DOMAIN_TOO_LONG\";for(var a,i=t.split(\".\"),o=0;o<i.length;++o){if(!(a=i[o]).length)return\"LABEL_TOO_SHORT\";if(a.length>63)return\"LABEL_TOO_LONG\";if(\"-\"===a.charAt(0))return\"LABEL_STARTS_WITH_DASH\";if(\"-\"===a.charAt(a.length-1))return\"LABEL_ENDS_WITH_DASH\";if(!/^[a-z0-9\\-]+$/.test(a))return\"LABEL_INVALID_CHARS\"}},t.parse=function(e){if(\"string\"!=typeof e)throw new TypeError(\"Domain name must be a string.\");var a=e.slice(0).toLowerCase();\".\"===a.charAt(a.length-1)&&(a=a.slice(0,a.length-1));var o=i.validate(a);if(o)return{input:e,error:{message:t.errorCodes[o],code:o}};var n={input:e,tld:null,sld:null,domain:null,subdomain:null,listed:!1},s=a.split(\".\");if(\"local\"===s[s.length-1])return n;var c=function(){return/xn--/.test(a)?(n.domain&&(n.domain=r.toASCII(n.domain)),n.subdomain&&(n.subdomain=r.toASCII(n.subdomain)),n):n},u=i.findRule(a);if(!u)return s.length<2?n:(n.tld=s.pop(),n.sld=s.pop(),n.domain=[n.sld,n.tld].join(\".\"),s.length&&(n.subdomain=s.pop()),c());n.listed=!0;var p=u.suffix.split(\".\"),l=s.slice(0,s.length-p.length);return u.exception&&l.push(p.shift()),n.tld=p.join(\".\"),l.length?(u.wildcard&&(p.unshift(l.pop()),n.tld=p.join(\".\")),l.length?(n.sld=l.pop(),n.domain=[n.sld,n.tld].join(\".\"),l.length&&(n.subdomain=l.join(\".\")),c()):c()):c()},t.get=function(e){return e&&t.parse(e).domain||null},t.isValid=function(e){var a=t.parse(e);return Boolean(a.domain&&a.listed)}},function(e){e.exports=[\"ac\",\"com.ac\",\"edu.ac\",\"gov.ac\",\"net.ac\",\"mil.ac\",\"org.ac\",\"ad\",\"nom.ad\",\"ae\",\"co.ae\",\"net.ae\",\"org.ae\",\"sch.ae\",\"ac.ae\",\"gov.ae\",\"mil.ae\",\"aero\",\"accident-investigation.aero\",\"accident-prevention.aero\",\"aerobatic.aero\",\"aeroclub.aero\",\"aerodrome.aero\",\"agents.aero\",\"aircraft.aero\",\"airline.aero\",\"airport.aero\",\"air-surveillance.aero\",\"airtraffic.aero\",\"air-traffic-control.aero\",\"ambulance.aero\",\"amusement.aero\",\"association.aero\",\"author.aero\",\"ballooning.aero\",\"broker.aero\",\"caa.aero\",\"cargo.aero\",\"catering.aero\",\"certification.aero\",\"championship.aero\",\"charter.aero\",\"civilaviation.aero\",\"club.aero\",\"conference.aero\",\"consultant.aero\",\"consulting.aero\",\"control.aero\",\"council.aero\",\"crew.aero\",\"design.aero\",\"dgca.aero\",\"educator.aero\",\"emergency.aero\",\"engine.aero\",\"engineer.aero\",\"entertainment.aero\",\"equipment.aero\",\"exchange.aero\",\"express.aero\",\"federation.aero\",\"flight.aero\",\"freight.aero\",\"fuel.aero\",\"gliding.aero\",\"government.aero\",\"groundhandling.aero\",\"group.aero\",\"hanggliding.aero\",\"homebuilt.aero\",\"insurance.aero\",\"journal.aero\",\"journalist.aero\",\"leasing.aero\",\"logistics.aero\",\"magazine.aero\",\"maintenance.aero\",\"media.aero\",\"microlight.aero\",\"modelling.aero\",\"navigation.aero\",\"parachuting.aero\",\"paragliding.aero\",\"passenger-association.aero\",\"pilot.aero\",\"press.aero\",\"production.aero\",\"recreation.aero\",\"repbody.aero\",\"res.aero\",\"research.aero\",\"rotorcraft.aero\",\"safety.aero\",\"scientist.aero\",\"services.aero\",\"show.aero\",\"skydiving.aero\",\"software.aero\",\"student.aero\",\"trader.aero\",\"trading.aero\",\"trainer.aero\",\"union.aero\",\"workinggroup.aero\",\"works.aero\",\"af\",\"gov.af\",\"com.af\",\"org.af\",\"net.af\",\"edu.af\",\"ag\",\"com.ag\",\"org.ag\",\"net.ag\",\"co.ag\",\"nom.ag\",\"ai\",\"off.ai\",\"com.ai\",\"net.ai\",\"org.ai\",\"al\",\"com.al\",\"edu.al\",\"gov.al\",\"mil.al\",\"net.al\",\"org.al\",\"am\",\"ao\",\"ed.ao\",\"gv.ao\",\"og.ao\",\"co.ao\",\"pb.ao\",\"it.ao\",\"aq\",\"ar\",\"com.ar\",\"edu.ar\",\"gob.ar\",\"gov.ar\",\"int.ar\",\"mil.ar\",\"musica.ar\",\"net.ar\",\"org.ar\",\"tur.ar\",\"arpa\",\"e164.arpa\",\"in-addr.arpa\",\"ip6.arpa\",\"iris.arpa\",\"uri.arpa\",\"urn.arpa\",\"as\",\"gov.as\",\"asia\",\"at\",\"ac.at\",\"co.at\",\"gv.at\",\"or.at\",\"au\",\"com.au\",\"net.au\",\"org.au\",\"edu.au\",\"gov.au\",\"asn.au\",\"id.au\",\"info.au\",\"conf.au\",\"oz.au\",\"act.au\",\"nsw.au\",\"nt.au\",\"qld.au\",\"sa.au\",\"tas.au\",\"vic.au\",\"wa.au\",\"act.edu.au\",\"nsw.edu.au\",\"nt.edu.au\",\"qld.edu.au\",\"sa.edu.au\",\"tas.edu.au\",\"vic.edu.au\",\"wa.edu.au\",\"qld.gov.au\",\"sa.gov.au\",\"tas.gov.au\",\"vic.gov.au\",\"wa.gov.au\",\"aw\",\"com.aw\",\"ax\",\"az\",\"com.az\",\"net.az\",\"int.az\",\"gov.az\",\"org.az\",\"edu.az\",\"info.az\",\"pp.az\",\"mil.az\",\"name.az\",\"pro.az\",\"biz.az\",\"ba\",\"com.ba\",\"edu.ba\",\"gov.ba\",\"mil.ba\",\"net.ba\",\"org.ba\",\"bb\",\"biz.bb\",\"co.bb\",\"com.bb\",\"edu.bb\",\"gov.bb\",\"info.bb\",\"net.bb\",\"org.bb\",\"store.bb\",\"tv.bb\",\"*.bd\",\"be\",\"ac.be\",\"bf\",\"gov.bf\",\"bg\",\"a.bg\",\"b.bg\",\"c.bg\",\"d.bg\",\"e.bg\",\"f.bg\",\"g.bg\",\"h.bg\",\"i.bg\",\"j.bg\",\"k.bg\",\"l.bg\",\"m.bg\",\"n.bg\",\"o.bg\",\"p.bg\",\"q.bg\",\"r.bg\",\"s.bg\",\"t.bg\",\"u.bg\",\"v.bg\",\"w.bg\",\"x.bg\",\"y.bg\",\"z.bg\",\"0.bg\",\"1.bg\",\"2.bg\",\"3.bg\",\"4.bg\",\"5.bg\",\"6.bg\",\"7.bg\",\"8.bg\",\"9.bg\",\"bh\",\"com.bh\",\"edu.bh\",\"net.bh\",\"org.bh\",\"gov.bh\",\"bi\",\"co.bi\",\"com.bi\",\"edu.bi\",\"or.bi\",\"org.bi\",\"biz\",\"bj\",\"asso.bj\",\"barreau.bj\",\"gouv.bj\",\"bm\",\"com.bm\",\"edu.bm\",\"gov.bm\",\"net.bm\",\"org.bm\",\"bn\",\"com.bn\",\"edu.bn\",\"gov.bn\",\"net.bn\",\"org.bn\",\"bo\",\"com.bo\",\"edu.bo\",\"gob.bo\",\"int.bo\",\"org.bo\",\"net.bo\",\"mil.bo\",\"tv.bo\",\"web.bo\",\"academia.bo\",\"agro.bo\",\"arte.bo\",\"blog.bo\",\"bolivia.bo\",\"ciencia.bo\",\"cooperativa.bo\",\"democracia.bo\",\"deporte.bo\",\"ecologia.bo\",\"economia.bo\",\"empresa.bo\",\"indigena.bo\",\"industria.bo\",\"info.bo\",\"medicina.bo\",\"movimiento.bo\",\"musica.bo\",\"natural.bo\",\"nombre.bo\",\"noticias.bo\",\"patria.bo\",\"politica.bo\",\"profesional.bo\",\"plurinacional.bo\",\"pueblo.bo\",\"revista.bo\",\"salud.bo\",\"tecnologia.bo\",\"tksat.bo\",\"transporte.bo\",\"wiki.bo\",\"br\",\"9guacu.br\",\"abc.br\",\"adm.br\",\"adv.br\",\"agr.br\",\"aju.br\",\"am.br\",\"anani.br\",\"aparecida.br\",\"arq.br\",\"art.br\",\"ato.br\",\"b.br\",\"barueri.br\",\"belem.br\",\"bhz.br\",\"bio.br\",\"blog.br\",\"bmd.br\",\"boavista.br\",\"bsb.br\",\"campinagrande.br\",\"campinas.br\",\"caxias.br\",\"cim.br\",\"cng.br\",\"cnt.br\",\"com.br\",\"contagem.br\",\"coop.br\",\"cri.br\",\"cuiaba.br\",\"curitiba.br\",\"def.br\",\"ecn.br\",\"eco.br\",\"edu.br\",\"emp.br\",\"eng.br\",\"esp.br\",\"etc.br\",\"eti.br\",\"far.br\",\"feira.br\",\"flog.br\",\"floripa.br\",\"fm.br\",\"fnd.br\",\"fortal.br\",\"fot.br\",\"foz.br\",\"fst.br\",\"g12.br\",\"ggf.br\",\"goiania.br\",\"gov.br\",\"ac.gov.br\",\"al.gov.br\",\"am.gov.br\",\"ap.gov.br\",\"ba.gov.br\",\"ce.gov.br\",\"df.gov.br\",\"es.gov.br\",\"go.gov.br\",\"ma.gov.br\",\"mg.gov.br\",\"ms.gov.br\",\"mt.gov.br\",\"pa.gov.br\",\"pb.gov.br\",\"pe.gov.br\",\"pi.gov.br\",\"pr.gov.br\",\"rj.gov.br\",\"rn.gov.br\",\"ro.gov.br\",\"rr.gov.br\",\"rs.gov.br\",\"sc.gov.br\",\"se.gov.br\",\"sp.gov.br\",\"to.gov.br\",\"gru.br\",\"imb.br\",\"ind.br\",\"inf.br\",\"jab.br\",\"jampa.br\",\"jdf.br\",\"joinville.br\",\"jor.br\",\"jus.br\",\"leg.br\",\"lel.br\",\"londrina.br\",\"macapa.br\",\"maceio.br\",\"manaus.br\",\"maringa.br\",\"mat.br\",\"med.br\",\"mil.br\",\"morena.br\",\"mp.br\",\"mus.br\",\"natal.br\",\"net.br\",\"niteroi.br\",\"*.nom.br\",\"not.br\",\"ntr.br\",\"odo.br\",\"ong.br\",\"org.br\",\"osasco.br\",\"palmas.br\",\"poa.br\",\"ppg.br\",\"pro.br\",\"psc.br\",\"psi.br\",\"pvh.br\",\"qsl.br\",\"radio.br\",\"rec.br\",\"recife.br\",\"ribeirao.br\",\"rio.br\",\"riobranco.br\",\"riopreto.br\",\"salvador.br\",\"sampa.br\",\"santamaria.br\",\"santoandre.br\",\"saobernardo.br\",\"saogonca.br\",\"sjc.br\",\"slg.br\",\"slz.br\",\"sorocaba.br\",\"srv.br\",\"taxi.br\",\"teo.br\",\"the.br\",\"tmp.br\",\"trd.br\",\"tur.br\",\"tv.br\",\"udi.br\",\"vet.br\",\"vix.br\",\"vlog.br\",\"wiki.br\",\"zlg.br\",\"bs\",\"com.bs\",\"net.bs\",\"org.bs\",\"edu.bs\",\"gov.bs\",\"bt\",\"com.bt\",\"edu.bt\",\"gov.bt\",\"net.bt\",\"org.bt\",\"bv\",\"bw\",\"co.bw\",\"org.bw\",\"by\",\"gov.by\",\"mil.by\",\"com.by\",\"of.by\",\"bz\",\"com.bz\",\"net.bz\",\"org.bz\",\"edu.bz\",\"gov.bz\",\"ca\",\"ab.ca\",\"bc.ca\",\"mb.ca\",\"nb.ca\",\"nf.ca\",\"nl.ca\",\"ns.ca\",\"nt.ca\",\"nu.ca\",\"on.ca\",\"pe.ca\",\"qc.ca\",\"sk.ca\",\"yk.ca\",\"gc.ca\",\"cat\",\"cc\",\"cd\",\"gov.cd\",\"cf\",\"cg\",\"ch\",\"ci\",\"org.ci\",\"or.ci\",\"com.ci\",\"co.ci\",\"edu.ci\",\"ed.ci\",\"ac.ci\",\"net.ci\",\"go.ci\",\"asso.ci\",\"aéroport.ci\",\"int.ci\",\"presse.ci\",\"md.ci\",\"gouv.ci\",\"*.ck\",\"!www.ck\",\"cl\",\"gov.cl\",\"gob.cl\",\"co.cl\",\"mil.cl\",\"cm\",\"co.cm\",\"com.cm\",\"gov.cm\",\"net.cm\",\"cn\",\"ac.cn\",\"com.cn\",\"edu.cn\",\"gov.cn\",\"net.cn\",\"org.cn\",\"mil.cn\",\"公司.cn\",\"网络.cn\",\"網絡.cn\",\"ah.cn\",\"bj.cn\",\"cq.cn\",\"fj.cn\",\"gd.cn\",\"gs.cn\",\"gz.cn\",\"gx.cn\",\"ha.cn\",\"hb.cn\",\"he.cn\",\"hi.cn\",\"hl.cn\",\"hn.cn\",\"jl.cn\",\"js.cn\",\"jx.cn\",\"ln.cn\",\"nm.cn\",\"nx.cn\",\"qh.cn\",\"sc.cn\",\"sd.cn\",\"sh.cn\",\"sn.cn\",\"sx.cn\",\"tj.cn\",\"xj.cn\",\"xz.cn\",\"yn.cn\",\"zj.cn\",\"hk.cn\",\"mo.cn\",\"tw.cn\",\"co\",\"arts.co\",\"com.co\",\"edu.co\",\"firm.co\",\"gov.co\",\"info.co\",\"int.co\",\"mil.co\",\"net.co\",\"nom.co\",\"org.co\",\"rec.co\",\"web.co\",\"com\",\"coop\",\"cr\",\"ac.cr\",\"co.cr\",\"ed.cr\",\"fi.cr\",\"go.cr\",\"or.cr\",\"sa.cr\",\"cu\",\"com.cu\",\"edu.cu\",\"org.cu\",\"net.cu\",\"gov.cu\",\"inf.cu\",\"cv\",\"cw\",\"com.cw\",\"edu.cw\",\"net.cw\",\"org.cw\",\"cx\",\"gov.cx\",\"cy\",\"ac.cy\",\"biz.cy\",\"com.cy\",\"ekloges.cy\",\"gov.cy\",\"ltd.cy\",\"name.cy\",\"net.cy\",\"org.cy\",\"parliament.cy\",\"press.cy\",\"pro.cy\",\"tm.cy\",\"cz\",\"de\",\"dj\",\"dk\",\"dm\",\"com.dm\",\"net.dm\",\"org.dm\",\"edu.dm\",\"gov.dm\",\"do\",\"art.do\",\"com.do\",\"edu.do\",\"gob.do\",\"gov.do\",\"mil.do\",\"net.do\",\"org.do\",\"sld.do\",\"web.do\",\"dz\",\"com.dz\",\"org.dz\",\"net.dz\",\"gov.dz\",\"edu.dz\",\"asso.dz\",\"pol.dz\",\"art.dz\",\"ec\",\"com.ec\",\"info.ec\",\"net.ec\",\"fin.ec\",\"k12.ec\",\"med.ec\",\"pro.ec\",\"org.ec\",\"edu.ec\",\"gov.ec\",\"gob.ec\",\"mil.ec\",\"edu\",\"ee\",\"edu.ee\",\"gov.ee\",\"riik.ee\",\"lib.ee\",\"med.ee\",\"com.ee\",\"pri.ee\",\"aip.ee\",\"org.ee\",\"fie.ee\",\"eg\",\"com.eg\",\"edu.eg\",\"eun.eg\",\"gov.eg\",\"mil.eg\",\"name.eg\",\"net.eg\",\"org.eg\",\"sci.eg\",\"*.er\",\"es\",\"com.es\",\"nom.es\",\"org.es\",\"gob.es\",\"edu.es\",\"et\",\"com.et\",\"gov.et\",\"org.et\",\"edu.et\",\"biz.et\",\"name.et\",\"info.et\",\"net.et\",\"eu\",\"fi\",\"aland.fi\",\"*.fj\",\"*.fk\",\"fm\",\"fo\",\"fr\",\"com.fr\",\"asso.fr\",\"nom.fr\",\"prd.fr\",\"presse.fr\",\"tm.fr\",\"aeroport.fr\",\"assedic.fr\",\"avocat.fr\",\"avoues.fr\",\"cci.fr\",\"chambagri.fr\",\"chirurgiens-dentistes.fr\",\"experts-comptables.fr\",\"geometre-expert.fr\",\"gouv.fr\",\"greta.fr\",\"huissier-justice.fr\",\"medecin.fr\",\"notaires.fr\",\"pharmacien.fr\",\"port.fr\",\"veterinaire.fr\",\"ga\",\"gb\",\"gd\",\"ge\",\"com.ge\",\"edu.ge\",\"gov.ge\",\"org.ge\",\"mil.ge\",\"net.ge\",\"pvt.ge\",\"gf\",\"gg\",\"co.gg\",\"net.gg\",\"org.gg\",\"gh\",\"com.gh\",\"edu.gh\",\"gov.gh\",\"org.gh\",\"mil.gh\",\"gi\",\"com.gi\",\"ltd.gi\",\"gov.gi\",\"mod.gi\",\"edu.gi\",\"org.gi\",\"gl\",\"co.gl\",\"com.gl\",\"edu.gl\",\"net.gl\",\"org.gl\",\"gm\",\"gn\",\"ac.gn\",\"com.gn\",\"edu.gn\",\"gov.gn\",\"org.gn\",\"net.gn\",\"gov\",\"gp\",\"com.gp\",\"net.gp\",\"mobi.gp\",\"edu.gp\",\"org.gp\",\"asso.gp\",\"gq\",\"gr\",\"com.gr\",\"edu.gr\",\"net.gr\",\"org.gr\",\"gov.gr\",\"gs\",\"gt\",\"com.gt\",\"edu.gt\",\"gob.gt\",\"ind.gt\",\"mil.gt\",\"net.gt\",\"org.gt\",\"gu\",\"com.gu\",\"edu.gu\",\"gov.gu\",\"guam.gu\",\"info.gu\",\"net.gu\",\"org.gu\",\"web.gu\",\"gw\",\"gy\",\"co.gy\",\"com.gy\",\"edu.gy\",\"gov.gy\",\"net.gy\",\"org.gy\",\"hk\",\"com.hk\",\"edu.hk\",\"gov.hk\",\"idv.hk\",\"net.hk\",\"org.hk\",\"公司.hk\",\"教育.hk\",\"敎育.hk\",\"政府.hk\",\"個人.hk\",\"个人.hk\",\"箇人.hk\",\"網络.hk\",\"网络.hk\",\"组織.hk\",\"網絡.hk\",\"网絡.hk\",\"组织.hk\",\"組織.hk\",\"組织.hk\",\"hm\",\"hn\",\"com.hn\",\"edu.hn\",\"org.hn\",\"net.hn\",\"mil.hn\",\"gob.hn\",\"hr\",\"iz.hr\",\"from.hr\",\"name.hr\",\"com.hr\",\"ht\",\"com.ht\",\"shop.ht\",\"firm.ht\",\"info.ht\",\"adult.ht\",\"net.ht\",\"pro.ht\",\"org.ht\",\"med.ht\",\"art.ht\",\"coop.ht\",\"pol.ht\",\"asso.ht\",\"edu.ht\",\"rel.ht\",\"gouv.ht\",\"perso.ht\",\"hu\",\"co.hu\",\"info.hu\",\"org.hu\",\"priv.hu\",\"sport.hu\",\"tm.hu\",\"2000.hu\",\"agrar.hu\",\"bolt.hu\",\"casino.hu\",\"city.hu\",\"erotica.hu\",\"erotika.hu\",\"film.hu\",\"forum.hu\",\"games.hu\",\"hotel.hu\",\"ingatlan.hu\",\"jogasz.hu\",\"konyvelo.hu\",\"lakas.hu\",\"media.hu\",\"news.hu\",\"reklam.hu\",\"sex.hu\",\"shop.hu\",\"suli.hu\",\"szex.hu\",\"tozsde.hu\",\"utazas.hu\",\"video.hu\",\"id\",\"ac.id\",\"biz.id\",\"co.id\",\"desa.id\",\"go.id\",\"mil.id\",\"my.id\",\"net.id\",\"or.id\",\"ponpes.id\",\"sch.id\",\"web.id\",\"ie\",\"gov.ie\",\"il\",\"ac.il\",\"co.il\",\"gov.il\",\"idf.il\",\"k12.il\",\"muni.il\",\"net.il\",\"org.il\",\"im\",\"ac.im\",\"co.im\",\"com.im\",\"ltd.co.im\",\"net.im\",\"org.im\",\"plc.co.im\",\"tt.im\",\"tv.im\",\"in\",\"co.in\",\"firm.in\",\"net.in\",\"org.in\",\"gen.in\",\"ind.in\",\"nic.in\",\"ac.in\",\"edu.in\",\"res.in\",\"gov.in\",\"mil.in\",\"info\",\"int\",\"eu.int\",\"io\",\"com.io\",\"iq\",\"gov.iq\",\"edu.iq\",\"mil.iq\",\"com.iq\",\"org.iq\",\"net.iq\",\"ir\",\"ac.ir\",\"co.ir\",\"gov.ir\",\"id.ir\",\"net.ir\",\"org.ir\",\"sch.ir\",\"ایران.ir\",\"ايران.ir\",\"is\",\"net.is\",\"com.is\",\"edu.is\",\"gov.is\",\"org.is\",\"int.is\",\"it\",\"gov.it\",\"edu.it\",\"abr.it\",\"abruzzo.it\",\"aosta-valley.it\",\"aostavalley.it\",\"bas.it\",\"basilicata.it\",\"cal.it\",\"calabria.it\",\"cam.it\",\"campania.it\",\"emilia-romagna.it\",\"emiliaromagna.it\",\"emr.it\",\"friuli-v-giulia.it\",\"friuli-ve-giulia.it\",\"friuli-vegiulia.it\",\"friuli-venezia-giulia.it\",\"friuli-veneziagiulia.it\",\"friuli-vgiulia.it\",\"friuliv-giulia.it\",\"friulive-giulia.it\",\"friulivegiulia.it\",\"friulivenezia-giulia.it\",\"friuliveneziagiulia.it\",\"friulivgiulia.it\",\"fvg.it\",\"laz.it\",\"lazio.it\",\"lig.it\",\"liguria.it\",\"lom.it\",\"lombardia.it\",\"lombardy.it\",\"lucania.it\",\"mar.it\",\"marche.it\",\"mol.it\",\"molise.it\",\"piedmont.it\",\"piemonte.it\",\"pmn.it\",\"pug.it\",\"puglia.it\",\"sar.it\",\"sardegna.it\",\"sardinia.it\",\"sic.it\",\"sicilia.it\",\"sicily.it\",\"taa.it\",\"tos.it\",\"toscana.it\",\"trentin-sud-tirol.it\",\"trentin-süd-tirol.it\",\"trentin-sudtirol.it\",\"trentin-südtirol.it\",\"trentin-sued-tirol.it\",\"trentin-suedtirol.it\",\"trentino-a-adige.it\",\"trentino-aadige.it\",\"trentino-alto-adige.it\",\"trentino-altoadige.it\",\"trentino-s-tirol.it\",\"trentino-stirol.it\",\"trentino-sud-tirol.it\",\"trentino-süd-tirol.it\",\"trentino-sudtirol.it\",\"trentino-südtirol.it\",\"trentino-sued-tirol.it\",\"trentino-suedtirol.it\",\"trentino.it\",\"trentinoa-adige.it\",\"trentinoaadige.it\",\"trentinoalto-adige.it\",\"trentinoaltoadige.it\",\"trentinos-tirol.it\",\"trentinostirol.it\",\"trentinosud-tirol.it\",\"trentinosüd-tirol.it\",\"trentinosudtirol.it\",\"trentinosüdtirol.it\",\"trentinosued-tirol.it\",\"trentinosuedtirol.it\",\"trentinsud-tirol.it\",\"trentinsüd-tirol.it\",\"trentinsudtirol.it\",\"trentinsüdtirol.it\",\"trentinsued-tirol.it\",\"trentinsuedtirol.it\",\"tuscany.it\",\"umb.it\",\"umbria.it\",\"val-d-aosta.it\",\"val-daosta.it\",\"vald-aosta.it\",\"valdaosta.it\",\"valle-aosta.it\",\"valle-d-aosta.it\",\"valle-daosta.it\",\"valleaosta.it\",\"valled-aosta.it\",\"valledaosta.it\",\"vallee-aoste.it\",\"vallée-aoste.it\",\"vallee-d-aoste.it\",\"vallée-d-aoste.it\",\"valleeaoste.it\",\"valléeaoste.it\",\"valleedaoste.it\",\"valléedaoste.it\",\"vao.it\",\"vda.it\",\"ven.it\",\"veneto.it\",\"ag.it\",\"agrigento.it\",\"al.it\",\"alessandria.it\",\"alto-adige.it\",\"altoadige.it\",\"an.it\",\"ancona.it\",\"andria-barletta-trani.it\",\"andria-trani-barletta.it\",\"andriabarlettatrani.it\",\"andriatranibarletta.it\",\"ao.it\",\"aosta.it\",\"aoste.it\",\"ap.it\",\"aq.it\",\"aquila.it\",\"ar.it\",\"arezzo.it\",\"ascoli-piceno.it\",\"ascolipiceno.it\",\"asti.it\",\"at.it\",\"av.it\",\"avellino.it\",\"ba.it\",\"balsan-sudtirol.it\",\"balsan-südtirol.it\",\"balsan-suedtirol.it\",\"balsan.it\",\"bari.it\",\"barletta-trani-andria.it\",\"barlettatraniandria.it\",\"belluno.it\",\"benevento.it\",\"bergamo.it\",\"bg.it\",\"bi.it\",\"biella.it\",\"bl.it\",\"bn.it\",\"bo.it\",\"bologna.it\",\"bolzano-altoadige.it\",\"bolzano.it\",\"bozen-sudtirol.it\",\"bozen-südtirol.it\",\"bozen-suedtirol.it\",\"bozen.it\",\"br.it\",\"brescia.it\",\"brindisi.it\",\"bs.it\",\"bt.it\",\"bulsan-sudtirol.it\",\"bulsan-südtirol.it\",\"bulsan-suedtirol.it\",\"bulsan.it\",\"bz.it\",\"ca.it\",\"cagliari.it\",\"caltanissetta.it\",\"campidano-medio.it\",\"campidanomedio.it\",\"campobasso.it\",\"carbonia-iglesias.it\",\"carboniaiglesias.it\",\"carrara-massa.it\",\"carraramassa.it\",\"caserta.it\",\"catania.it\",\"catanzaro.it\",\"cb.it\",\"ce.it\",\"cesena-forli.it\",\"cesena-forlì.it\",\"cesenaforli.it\",\"cesenaforlì.it\",\"ch.it\",\"chieti.it\",\"ci.it\",\"cl.it\",\"cn.it\",\"co.it\",\"como.it\",\"cosenza.it\",\"cr.it\",\"cremona.it\",\"crotone.it\",\"cs.it\",\"ct.it\",\"cuneo.it\",\"cz.it\",\"dell-ogliastra.it\",\"dellogliastra.it\",\"en.it\",\"enna.it\",\"fc.it\",\"fe.it\",\"fermo.it\",\"ferrara.it\",\"fg.it\",\"fi.it\",\"firenze.it\",\"florence.it\",\"fm.it\",\"foggia.it\",\"forli-cesena.it\",\"forlì-cesena.it\",\"forlicesena.it\",\"forlìcesena.it\",\"fr.it\",\"frosinone.it\",\"ge.it\",\"genoa.it\",\"genova.it\",\"go.it\",\"gorizia.it\",\"gr.it\",\"grosseto.it\",\"iglesias-carbonia.it\",\"iglesiascarbonia.it\",\"im.it\",\"imperia.it\",\"is.it\",\"isernia.it\",\"kr.it\",\"la-spezia.it\",\"laquila.it\",\"laspezia.it\",\"latina.it\",\"lc.it\",\"le.it\",\"lecce.it\",\"lecco.it\",\"li.it\",\"livorno.it\",\"lo.it\",\"lodi.it\",\"lt.it\",\"lu.it\",\"lucca.it\",\"macerata.it\",\"mantova.it\",\"massa-carrara.it\",\"massacarrara.it\",\"matera.it\",\"mb.it\",\"mc.it\",\"me.it\",\"medio-campidano.it\",\"mediocampidano.it\",\"messina.it\",\"mi.it\",\"milan.it\",\"milano.it\",\"mn.it\",\"mo.it\",\"modena.it\",\"monza-brianza.it\",\"monza-e-della-brianza.it\",\"monza.it\",\"monzabrianza.it\",\"monzaebrianza.it\",\"monzaedellabrianza.it\",\"ms.it\",\"mt.it\",\"na.it\",\"naples.it\",\"napoli.it\",\"no.it\",\"novara.it\",\"nu.it\",\"nuoro.it\",\"og.it\",\"ogliastra.it\",\"olbia-tempio.it\",\"olbiatempio.it\",\"or.it\",\"oristano.it\",\"ot.it\",\"pa.it\",\"padova.it\",\"padua.it\",\"palermo.it\",\"parma.it\",\"pavia.it\",\"pc.it\",\"pd.it\",\"pe.it\",\"perugia.it\",\"pesaro-urbino.it\",\"pesarourbino.it\",\"pescara.it\",\"pg.it\",\"pi.it\",\"piacenza.it\",\"pisa.it\",\"pistoia.it\",\"pn.it\",\"po.it\",\"pordenone.it\",\"potenza.it\",\"pr.it\",\"prato.it\",\"pt.it\",\"pu.it\",\"pv.it\",\"pz.it\",\"ra.it\",\"ragusa.it\",\"ravenna.it\",\"rc.it\",\"re.it\",\"reggio-calabria.it\",\"reggio-emilia.it\",\"reggiocalabria.it\",\"reggioemilia.it\",\"rg.it\",\"ri.it\",\"rieti.it\",\"rimini.it\",\"rm.it\",\"rn.it\",\"ro.it\",\"roma.it\",\"rome.it\",\"rovigo.it\",\"sa.it\",\"salerno.it\",\"sassari.it\",\"savona.it\",\"si.it\",\"siena.it\",\"siracusa.it\",\"so.it\",\"sondrio.it\",\"sp.it\",\"sr.it\",\"ss.it\",\"suedtirol.it\",\"südtirol.it\",\"sv.it\",\"ta.it\",\"taranto.it\",\"te.it\",\"tempio-olbia.it\",\"tempioolbia.it\",\"teramo.it\",\"terni.it\",\"tn.it\",\"to.it\",\"torino.it\",\"tp.it\",\"tr.it\",\"trani-andria-barletta.it\",\"trani-barletta-andria.it\",\"traniandriabarletta.it\",\"tranibarlettaandria.it\",\"trapani.it\",\"trento.it\",\"treviso.it\",\"trieste.it\",\"ts.it\",\"turin.it\",\"tv.it\",\"ud.it\",\"udine.it\",\"urbino-pesaro.it\",\"urbinopesaro.it\",\"va.it\",\"varese.it\",\"vb.it\",\"vc.it\",\"ve.it\",\"venezia.it\",\"venice.it\",\"verbania.it\",\"vercelli.it\",\"verona.it\",\"vi.it\",\"vibo-valentia.it\",\"vibovalentia.it\",\"vicenza.it\",\"viterbo.it\",\"vr.it\",\"vs.it\",\"vt.it\",\"vv.it\",\"je\",\"co.je\",\"net.je\",\"org.je\",\"*.jm\",\"jo\",\"com.jo\",\"org.jo\",\"net.jo\",\"edu.jo\",\"sch.jo\",\"gov.jo\",\"mil.jo\",\"name.jo\",\"jobs\",\"jp\",\"ac.jp\",\"ad.jp\",\"co.jp\",\"ed.jp\",\"go.jp\",\"gr.jp\",\"lg.jp\",\"ne.jp\",\"or.jp\",\"aichi.jp\",\"akita.jp\",\"aomori.jp\",\"chiba.jp\",\"ehime.jp\",\"fukui.jp\",\"fukuoka.jp\",\"fukushima.jp\",\"gifu.jp\",\"gunma.jp\",\"hiroshima.jp\",\"hokkaido.jp\",\"hyogo.jp\",\"ibaraki.jp\",\"ishikawa.jp\",\"iwate.jp\",\"kagawa.jp\",\"kagoshima.jp\",\"kanagawa.jp\",\"kochi.jp\",\"kumamoto.jp\",\"kyoto.jp\",\"mie.jp\",\"miyagi.jp\",\"miyazaki.jp\",\"nagano.jp\",\"nagasaki.jp\",\"nara.jp\",\"niigata.jp\",\"oita.jp\",\"okayama.jp\",\"okinawa.jp\",\"osaka.jp\",\"saga.jp\",\"saitama.jp\",\"shiga.jp\",\"shimane.jp\",\"shizuoka.jp\",\"tochigi.jp\",\"tokushima.jp\",\"tokyo.jp\",\"tottori.jp\",\"toyama.jp\",\"wakayama.jp\",\"yamagata.jp\",\"yamaguchi.jp\",\"yamanashi.jp\",\"栃木.jp\",\"愛知.jp\",\"愛媛.jp\",\"兵庫.jp\",\"熊本.jp\",\"茨城.jp\",\"北海道.jp\",\"千葉.jp\",\"和歌山.jp\",\"長崎.jp\",\"長野.jp\",\"新潟.jp\",\"青森.jp\",\"静岡.jp\",\"東京.jp\",\"石川.jp\",\"埼玉.jp\",\"三重.jp\",\"京都.jp\",\"佐賀.jp\",\"大分.jp\",\"大阪.jp\",\"奈良.jp\",\"宮城.jp\",\"宮崎.jp\",\"富山.jp\",\"山口.jp\",\"山形.jp\",\"山梨.jp\",\"岩手.jp\",\"岐阜.jp\",\"岡山.jp\",\"島根.jp\",\"広島.jp\",\"徳島.jp\",\"沖縄.jp\",\"滋賀.jp\",\"神奈川.jp\",\"福井.jp\",\"福岡.jp\",\"福島.jp\",\"秋田.jp\",\"群馬.jp\",\"香川.jp\",\"高知.jp\",\"鳥取.jp\",\"鹿児島.jp\",\"*.kawasaki.jp\",\"*.kitakyushu.jp\",\"*.kobe.jp\",\"*.nagoya.jp\",\"*.sapporo.jp\",\"*.sendai.jp\",\"*.yokohama.jp\",\"!city.kawasaki.jp\",\"!city.kitakyushu.jp\",\"!city.kobe.jp\",\"!city.nagoya.jp\",\"!city.sapporo.jp\",\"!city.sendai.jp\",\"!city.yokohama.jp\",\"aisai.aichi.jp\",\"ama.aichi.jp\",\"anjo.aichi.jp\",\"asuke.aichi.jp\",\"chiryu.aichi.jp\",\"chita.aichi.jp\",\"fuso.aichi.jp\",\"gamagori.aichi.jp\",\"handa.aichi.jp\",\"hazu.aichi.jp\",\"hekinan.aichi.jp\",\"higashiura.aichi.jp\",\"ichinomiya.aichi.jp\",\"inazawa.aichi.jp\",\"inuyama.aichi.jp\",\"isshiki.aichi.jp\",\"iwakura.aichi.jp\",\"kanie.aichi.jp\",\"kariya.aichi.jp\",\"kasugai.aichi.jp\",\"kira.aichi.jp\",\"kiyosu.aichi.jp\",\"komaki.aichi.jp\",\"konan.aichi.jp\",\"kota.aichi.jp\",\"mihama.aichi.jp\",\"miyoshi.aichi.jp\",\"nishio.aichi.jp\",\"nisshin.aichi.jp\",\"obu.aichi.jp\",\"oguchi.aichi.jp\",\"oharu.aichi.jp\",\"okazaki.aichi.jp\",\"owariasahi.aichi.jp\",\"seto.aichi.jp\",\"shikatsu.aichi.jp\",\"shinshiro.aichi.jp\",\"shitara.aichi.jp\",\"tahara.aichi.jp\",\"takahama.aichi.jp\",\"tobishima.aichi.jp\",\"toei.aichi.jp\",\"togo.aichi.jp\",\"tokai.aichi.jp\",\"tokoname.aichi.jp\",\"toyoake.aichi.jp\",\"toyohashi.aichi.jp\",\"toyokawa.aichi.jp\",\"toyone.aichi.jp\",\"toyota.aichi.jp\",\"tsushima.aichi.jp\",\"yatomi.aichi.jp\",\"akita.akita.jp\",\"daisen.akita.jp\",\"fujisato.akita.jp\",\"gojome.akita.jp\",\"hachirogata.akita.jp\",\"happou.akita.jp\",\"higashinaruse.akita.jp\",\"honjo.akita.jp\",\"honjyo.akita.jp\",\"ikawa.akita.jp\",\"kamikoani.akita.jp\",\"kamioka.akita.jp\",\"katagami.akita.jp\",\"kazuno.akita.jp\",\"kitaakita.akita.jp\",\"kosaka.akita.jp\",\"kyowa.akita.jp\",\"misato.akita.jp\",\"mitane.akita.jp\",\"moriyoshi.akita.jp\",\"nikaho.akita.jp\",\"noshiro.akita.jp\",\"odate.akita.jp\",\"oga.akita.jp\",\"ogata.akita.jp\",\"semboku.akita.jp\",\"yokote.akita.jp\",\"yurihonjo.akita.jp\",\"aomori.aomori.jp\",\"gonohe.aomori.jp\",\"hachinohe.aomori.jp\",\"hashikami.aomori.jp\",\"hiranai.aomori.jp\",\"hirosaki.aomori.jp\",\"itayanagi.aomori.jp\",\"kuroishi.aomori.jp\",\"misawa.aomori.jp\",\"mutsu.aomori.jp\",\"nakadomari.aomori.jp\",\"noheji.aomori.jp\",\"oirase.aomori.jp\",\"owani.aomori.jp\",\"rokunohe.aomori.jp\",\"sannohe.aomori.jp\",\"shichinohe.aomori.jp\",\"shingo.aomori.jp\",\"takko.aomori.jp\",\"towada.aomori.jp\",\"tsugaru.aomori.jp\",\"tsuruta.aomori.jp\",\"abiko.chiba.jp\",\"asahi.chiba.jp\",\"chonan.chiba.jp\",\"chosei.chiba.jp\",\"choshi.chiba.jp\",\"chuo.chiba.jp\",\"funabashi.chiba.jp\",\"futtsu.chiba.jp\",\"hanamigawa.chiba.jp\",\"ichihara.chiba.jp\",\"ichikawa.chiba.jp\",\"ichinomiya.chiba.jp\",\"inzai.chiba.jp\",\"isumi.chiba.jp\",\"kamagaya.chiba.jp\",\"kamogawa.chiba.jp\",\"kashiwa.chiba.jp\",\"katori.chiba.jp\",\"katsuura.chiba.jp\",\"kimitsu.chiba.jp\",\"kisarazu.chiba.jp\",\"kozaki.chiba.jp\",\"kujukuri.chiba.jp\",\"kyonan.chiba.jp\",\"matsudo.chiba.jp\",\"midori.chiba.jp\",\"mihama.chiba.jp\",\"minamiboso.chiba.jp\",\"mobara.chiba.jp\",\"mutsuzawa.chiba.jp\",\"nagara.chiba.jp\",\"nagareyama.chiba.jp\",\"narashino.chiba.jp\",\"narita.chiba.jp\",\"noda.chiba.jp\",\"oamishirasato.chiba.jp\",\"omigawa.chiba.jp\",\"onjuku.chiba.jp\",\"otaki.chiba.jp\",\"sakae.chiba.jp\",\"sakura.chiba.jp\",\"shimofusa.chiba.jp\",\"shirako.chiba.jp\",\"shiroi.chiba.jp\",\"shisui.chiba.jp\",\"sodegaura.chiba.jp\",\"sosa.chiba.jp\",\"tako.chiba.jp\",\"tateyama.chiba.jp\",\"togane.chiba.jp\",\"tohnosho.chiba.jp\",\"tomisato.chiba.jp\",\"urayasu.chiba.jp\",\"yachimata.chiba.jp\",\"yachiyo.chiba.jp\",\"yokaichiba.chiba.jp\",\"yokoshibahikari.chiba.jp\",\"yotsukaido.chiba.jp\",\"ainan.ehime.jp\",\"honai.ehime.jp\",\"ikata.ehime.jp\",\"imabari.ehime.jp\",\"iyo.ehime.jp\",\"kamijima.ehime.jp\",\"kihoku.ehime.jp\",\"kumakogen.ehime.jp\",\"masaki.ehime.jp\",\"matsuno.ehime.jp\",\"matsuyama.ehime.jp\",\"namikata.ehime.jp\",\"niihama.ehime.jp\",\"ozu.ehime.jp\",\"saijo.ehime.jp\",\"seiyo.ehime.jp\",\"shikokuchuo.ehime.jp\",\"tobe.ehime.jp\",\"toon.ehime.jp\",\"uchiko.ehime.jp\",\"uwajima.ehime.jp\",\"yawatahama.ehime.jp\",\"echizen.fukui.jp\",\"eiheiji.fukui.jp\",\"fukui.fukui.jp\",\"ikeda.fukui.jp\",\"katsuyama.fukui.jp\",\"mihama.fukui.jp\",\"minamiechizen.fukui.jp\",\"obama.fukui.jp\",\"ohi.fukui.jp\",\"ono.fukui.jp\",\"sabae.fukui.jp\",\"sakai.fukui.jp\",\"takahama.fukui.jp\",\"tsuruga.fukui.jp\",\"wakasa.fukui.jp\",\"ashiya.fukuoka.jp\",\"buzen.fukuoka.jp\",\"chikugo.fukuoka.jp\",\"chikuho.fukuoka.jp\",\"chikujo.fukuoka.jp\",\"chikushino.fukuoka.jp\",\"chikuzen.fukuoka.jp\",\"chuo.fukuoka.jp\",\"dazaifu.fukuoka.jp\",\"fukuchi.fukuoka.jp\",\"hakata.fukuoka.jp\",\"higashi.fukuoka.jp\",\"hirokawa.fukuoka.jp\",\"hisayama.fukuoka.jp\",\"iizuka.fukuoka.jp\",\"inatsuki.fukuoka.jp\",\"kaho.fukuoka.jp\",\"kasuga.fukuoka.jp\",\"kasuya.fukuoka.jp\",\"kawara.fukuoka.jp\",\"keisen.fukuoka.jp\",\"koga.fukuoka.jp\",\"kurate.fukuoka.jp\",\"kurogi.fukuoka.jp\",\"kurume.fukuoka.jp\",\"minami.fukuoka.jp\",\"miyako.fukuoka.jp\",\"miyama.fukuoka.jp\",\"miyawaka.fukuoka.jp\",\"mizumaki.fukuoka.jp\",\"munakata.fukuoka.jp\",\"nakagawa.fukuoka.jp\",\"nakama.fukuoka.jp\",\"nishi.fukuoka.jp\",\"nogata.fukuoka.jp\",\"ogori.fukuoka.jp\",\"okagaki.fukuoka.jp\",\"okawa.fukuoka.jp\",\"oki.fukuoka.jp\",\"omuta.fukuoka.jp\",\"onga.fukuoka.jp\",\"onojo.fukuoka.jp\",\"oto.fukuoka.jp\",\"saigawa.fukuoka.jp\",\"sasaguri.fukuoka.jp\",\"shingu.fukuoka.jp\",\"shinyoshitomi.fukuoka.jp\",\"shonai.fukuoka.jp\",\"soeda.fukuoka.jp\",\"sue.fukuoka.jp\",\"tachiarai.fukuoka.jp\",\"tagawa.fukuoka.jp\",\"takata.fukuoka.jp\",\"toho.fukuoka.jp\",\"toyotsu.fukuoka.jp\",\"tsuiki.fukuoka.jp\",\"ukiha.fukuoka.jp\",\"umi.fukuoka.jp\",\"usui.fukuoka.jp\",\"yamada.fukuoka.jp\",\"yame.fukuoka.jp\",\"yanagawa.fukuoka.jp\",\"yukuhashi.fukuoka.jp\",\"aizubange.fukushima.jp\",\"aizumisato.fukushima.jp\",\"aizuwakamatsu.fukushima.jp\",\"asakawa.fukushima.jp\",\"bandai.fukushima.jp\",\"date.fukushima.jp\",\"fukushima.fukushima.jp\",\"furudono.fukushima.jp\",\"futaba.fukushima.jp\",\"hanawa.fukushima.jp\",\"higashi.fukushima.jp\",\"hirata.fukushima.jp\",\"hirono.fukushima.jp\",\"iitate.fukushima.jp\",\"inawashiro.fukushima.jp\",\"ishikawa.fukushima.jp\",\"iwaki.fukushima.jp\",\"izumizaki.fukushima.jp\",\"kagamiishi.fukushima.jp\",\"kaneyama.fukushima.jp\",\"kawamata.fukushima.jp\",\"kitakata.fukushima.jp\",\"kitashiobara.fukushima.jp\",\"koori.fukushima.jp\",\"koriyama.fukushima.jp\",\"kunimi.fukushima.jp\",\"miharu.fukushima.jp\",\"mishima.fukushima.jp\",\"namie.fukushima.jp\",\"nango.fukushima.jp\",\"nishiaizu.fukushima.jp\",\"nishigo.fukushima.jp\",\"okuma.fukushima.jp\",\"omotego.fukushima.jp\",\"ono.fukushima.jp\",\"otama.fukushima.jp\",\"samegawa.fukushima.jp\",\"shimogo.fukushima.jp\",\"shirakawa.fukushima.jp\",\"showa.fukushima.jp\",\"soma.fukushima.jp\",\"sukagawa.fukushima.jp\",\"taishin.fukushima.jp\",\"tamakawa.fukushima.jp\",\"tanagura.fukushima.jp\",\"tenei.fukushima.jp\",\"yabuki.fukushima.jp\",\"yamato.fukushima.jp\",\"yamatsuri.fukushima.jp\",\"yanaizu.fukushima.jp\",\"yugawa.fukushima.jp\",\"anpachi.gifu.jp\",\"ena.gifu.jp\",\"gifu.gifu.jp\",\"ginan.gifu.jp\",\"godo.gifu.jp\",\"gujo.gifu.jp\",\"hashima.gifu.jp\",\"hichiso.gifu.jp\",\"hida.gifu.jp\",\"higashishirakawa.gifu.jp\",\"ibigawa.gifu.jp\",\"ikeda.gifu.jp\",\"kakamigahara.gifu.jp\",\"kani.gifu.jp\",\"kasahara.gifu.jp\",\"kasamatsu.gifu.jp\",\"kawaue.gifu.jp\",\"kitagata.gifu.jp\",\"mino.gifu.jp\",\"minokamo.gifu.jp\",\"mitake.gifu.jp\",\"mizunami.gifu.jp\",\"motosu.gifu.jp\",\"nakatsugawa.gifu.jp\",\"ogaki.gifu.jp\",\"sakahogi.gifu.jp\",\"seki.gifu.jp\",\"sekigahara.gifu.jp\",\"shirakawa.gifu.jp\",\"tajimi.gifu.jp\",\"takayama.gifu.jp\",\"tarui.gifu.jp\",\"toki.gifu.jp\",\"tomika.gifu.jp\",\"wanouchi.gifu.jp\",\"yamagata.gifu.jp\",\"yaotsu.gifu.jp\",\"yoro.gifu.jp\",\"annaka.gunma.jp\",\"chiyoda.gunma.jp\",\"fujioka.gunma.jp\",\"higashiagatsuma.gunma.jp\",\"isesaki.gunma.jp\",\"itakura.gunma.jp\",\"kanna.gunma.jp\",\"kanra.gunma.jp\",\"katashina.gunma.jp\",\"kawaba.gunma.jp\",\"kiryu.gunma.jp\",\"kusatsu.gunma.jp\",\"maebashi.gunma.jp\",\"meiwa.gunma.jp\",\"midori.gunma.jp\",\"minakami.gunma.jp\",\"naganohara.gunma.jp\",\"nakanojo.gunma.jp\",\"nanmoku.gunma.jp\",\"numata.gunma.jp\",\"oizumi.gunma.jp\",\"ora.gunma.jp\",\"ota.gunma.jp\",\"shibukawa.gunma.jp\",\"shimonita.gunma.jp\",\"shinto.gunma.jp\",\"showa.gunma.jp\",\"takasaki.gunma.jp\",\"takayama.gunma.jp\",\"tamamura.gunma.jp\",\"tatebayashi.gunma.jp\",\"tomioka.gunma.jp\",\"tsukiyono.gunma.jp\",\"tsumagoi.gunma.jp\",\"ueno.gunma.jp\",\"yoshioka.gunma.jp\",\"asaminami.hiroshima.jp\",\"daiwa.hiroshima.jp\",\"etajima.hiroshima.jp\",\"fuchu.hiroshima.jp\",\"fukuyama.hiroshima.jp\",\"hatsukaichi.hiroshima.jp\",\"higashihiroshima.hiroshima.jp\",\"hongo.hiroshima.jp\",\"jinsekikogen.hiroshima.jp\",\"kaita.hiroshima.jp\",\"kui.hiroshima.jp\",\"kumano.hiroshima.jp\",\"kure.hiroshima.jp\",\"mihara.hiroshima.jp\",\"miyoshi.hiroshima.jp\",\"naka.hiroshima.jp\",\"onomichi.hiroshima.jp\",\"osakikamijima.hiroshima.jp\",\"otake.hiroshima.jp\",\"saka.hiroshima.jp\",\"sera.hiroshima.jp\",\"seranishi.hiroshima.jp\",\"shinichi.hiroshima.jp\",\"shobara.hiroshima.jp\",\"takehara.hiroshima.jp\",\"abashiri.hokkaido.jp\",\"abira.hokkaido.jp\",\"aibetsu.hokkaido.jp\",\"akabira.hokkaido.jp\",\"akkeshi.hokkaido.jp\",\"asahikawa.hokkaido.jp\",\"ashibetsu.hokkaido.jp\",\"ashoro.hokkaido.jp\",\"assabu.hokkaido.jp\",\"atsuma.hokkaido.jp\",\"bibai.hokkaido.jp\",\"biei.hokkaido.jp\",\"bifuka.hokkaido.jp\",\"bihoro.hokkaido.jp\",\"biratori.hokkaido.jp\",\"chippubetsu.hokkaido.jp\",\"chitose.hokkaido.jp\",\"date.hokkaido.jp\",\"ebetsu.hokkaido.jp\",\"embetsu.hokkaido.jp\",\"eniwa.hokkaido.jp\",\"erimo.hokkaido.jp\",\"esan.hokkaido.jp\",\"esashi.hokkaido.jp\",\"fukagawa.hokkaido.jp\",\"fukushima.hokkaido.jp\",\"furano.hokkaido.jp\",\"furubira.hokkaido.jp\",\"haboro.hokkaido.jp\",\"hakodate.hokkaido.jp\",\"hamatonbetsu.hokkaido.jp\",\"hidaka.hokkaido.jp\",\"higashikagura.hokkaido.jp\",\"higashikawa.hokkaido.jp\",\"hiroo.hokkaido.jp\",\"hokuryu.hokkaido.jp\",\"hokuto.hokkaido.jp\",\"honbetsu.hokkaido.jp\",\"horokanai.hokkaido.jp\",\"horonobe.hokkaido.jp\",\"ikeda.hokkaido.jp\",\"imakane.hokkaido.jp\",\"ishikari.hokkaido.jp\",\"iwamizawa.hokkaido.jp\",\"iwanai.hokkaido.jp\",\"kamifurano.hokkaido.jp\",\"kamikawa.hokkaido.jp\",\"kamishihoro.hokkaido.jp\",\"kamisunagawa.hokkaido.jp\",\"kamoenai.hokkaido.jp\",\"kayabe.hokkaido.jp\",\"kembuchi.hokkaido.jp\",\"kikonai.hokkaido.jp\",\"kimobetsu.hokkaido.jp\",\"kitahiroshima.hokkaido.jp\",\"kitami.hokkaido.jp\",\"kiyosato.hokkaido.jp\",\"koshimizu.hokkaido.jp\",\"kunneppu.hokkaido.jp\",\"kuriyama.hokkaido.jp\",\"kuromatsunai.hokkaido.jp\",\"kushiro.hokkaido.jp\",\"kutchan.hokkaido.jp\",\"kyowa.hokkaido.jp\",\"mashike.hokkaido.jp\",\"matsumae.hokkaido.jp\",\"mikasa.hokkaido.jp\",\"minamifurano.hokkaido.jp\",\"mombetsu.hokkaido.jp\",\"moseushi.hokkaido.jp\",\"mukawa.hokkaido.jp\",\"muroran.hokkaido.jp\",\"naie.hokkaido.jp\",\"nakagawa.hokkaido.jp\",\"nakasatsunai.hokkaido.jp\",\"nakatombetsu.hokkaido.jp\",\"nanae.hokkaido.jp\",\"nanporo.hokkaido.jp\",\"nayoro.hokkaido.jp\",\"nemuro.hokkaido.jp\",\"niikappu.hokkaido.jp\",\"niki.hokkaido.jp\",\"nishiokoppe.hokkaido.jp\",\"noboribetsu.hokkaido.jp\",\"numata.hokkaido.jp\",\"obihiro.hokkaido.jp\",\"obira.hokkaido.jp\",\"oketo.hokkaido.jp\",\"okoppe.hokkaido.jp\",\"otaru.hokkaido.jp\",\"otobe.hokkaido.jp\",\"otofuke.hokkaido.jp\",\"otoineppu.hokkaido.jp\",\"oumu.hokkaido.jp\",\"ozora.hokkaido.jp\",\"pippu.hokkaido.jp\",\"rankoshi.hokkaido.jp\",\"rebun.hokkaido.jp\",\"rikubetsu.hokkaido.jp\",\"rishiri.hokkaido.jp\",\"rishirifuji.hokkaido.jp\",\"saroma.hokkaido.jp\",\"sarufutsu.hokkaido.jp\",\"shakotan.hokkaido.jp\",\"shari.hokkaido.jp\",\"shibecha.hokkaido.jp\",\"shibetsu.hokkaido.jp\",\"shikabe.hokkaido.jp\",\"shikaoi.hokkaido.jp\",\"shimamaki.hokkaido.jp\",\"shimizu.hokkaido.jp\",\"shimokawa.hokkaido.jp\",\"shinshinotsu.hokkaido.jp\",\"shintoku.hokkaido.jp\",\"shiranuka.hokkaido.jp\",\"shiraoi.hokkaido.jp\",\"shiriuchi.hokkaido.jp\",\"sobetsu.hokkaido.jp\",\"sunagawa.hokkaido.jp\",\"taiki.hokkaido.jp\",\"takasu.hokkaido.jp\",\"takikawa.hokkaido.jp\",\"takinoue.hokkaido.jp\",\"teshikaga.hokkaido.jp\",\"tobetsu.hokkaido.jp\",\"tohma.hokkaido.jp\",\"tomakomai.hokkaido.jp\",\"tomari.hokkaido.jp\",\"toya.hokkaido.jp\",\"toyako.hokkaido.jp\",\"toyotomi.hokkaido.jp\",\"toyoura.hokkaido.jp\",\"tsubetsu.hokkaido.jp\",\"tsukigata.hokkaido.jp\",\"urakawa.hokkaido.jp\",\"urausu.hokkaido.jp\",\"uryu.hokkaido.jp\",\"utashinai.hokkaido.jp\",\"wakkanai.hokkaido.jp\",\"wassamu.hokkaido.jp\",\"yakumo.hokkaido.jp\",\"yoichi.hokkaido.jp\",\"aioi.hyogo.jp\",\"akashi.hyogo.jp\",\"ako.hyogo.jp\",\"amagasaki.hyogo.jp\",\"aogaki.hyogo.jp\",\"asago.hyogo.jp\",\"ashiya.hyogo.jp\",\"awaji.hyogo.jp\",\"fukusaki.hyogo.jp\",\"goshiki.hyogo.jp\",\"harima.hyogo.jp\",\"himeji.hyogo.jp\",\"ichikawa.hyogo.jp\",\"inagawa.hyogo.jp\",\"itami.hyogo.jp\",\"kakogawa.hyogo.jp\",\"kamigori.hyogo.jp\",\"kamikawa.hyogo.jp\",\"kasai.hyogo.jp\",\"kasuga.hyogo.jp\",\"kawanishi.hyogo.jp\",\"miki.hyogo.jp\",\"minamiawaji.hyogo.jp\",\"nishinomiya.hyogo.jp\",\"nishiwaki.hyogo.jp\",\"ono.hyogo.jp\",\"sanda.hyogo.jp\",\"sannan.hyogo.jp\",\"sasayama.hyogo.jp\",\"sayo.hyogo.jp\",\"shingu.hyogo.jp\",\"shinonsen.hyogo.jp\",\"shiso.hyogo.jp\",\"sumoto.hyogo.jp\",\"taishi.hyogo.jp\",\"taka.hyogo.jp\",\"takarazuka.hyogo.jp\",\"takasago.hyogo.jp\",\"takino.hyogo.jp\",\"tamba.hyogo.jp\",\"tatsuno.hyogo.jp\",\"toyooka.hyogo.jp\",\"yabu.hyogo.jp\",\"yashiro.hyogo.jp\",\"yoka.hyogo.jp\",\"yokawa.hyogo.jp\",\"ami.ibaraki.jp\",\"asahi.ibaraki.jp\",\"bando.ibaraki.jp\",\"chikusei.ibaraki.jp\",\"daigo.ibaraki.jp\",\"fujishiro.ibaraki.jp\",\"hitachi.ibaraki.jp\",\"hitachinaka.ibaraki.jp\",\"hitachiomiya.ibaraki.jp\",\"hitachiota.ibaraki.jp\",\"ibaraki.ibaraki.jp\",\"ina.ibaraki.jp\",\"inashiki.ibaraki.jp\",\"itako.ibaraki.jp\",\"iwama.ibaraki.jp\",\"joso.ibaraki.jp\",\"kamisu.ibaraki.jp\",\"kasama.ibaraki.jp\",\"kashima.ibaraki.jp\",\"kasumigaura.ibaraki.jp\",\"koga.ibaraki.jp\",\"miho.ibaraki.jp\",\"mito.ibaraki.jp\",\"moriya.ibaraki.jp\",\"naka.ibaraki.jp\",\"namegata.ibaraki.jp\",\"oarai.ibaraki.jp\",\"ogawa.ibaraki.jp\",\"omitama.ibaraki.jp\",\"ryugasaki.ibaraki.jp\",\"sakai.ibaraki.jp\",\"sakuragawa.ibaraki.jp\",\"shimodate.ibaraki.jp\",\"shimotsuma.ibaraki.jp\",\"shirosato.ibaraki.jp\",\"sowa.ibaraki.jp\",\"suifu.ibaraki.jp\",\"takahagi.ibaraki.jp\",\"tamatsukuri.ibaraki.jp\",\"tokai.ibaraki.jp\",\"tomobe.ibaraki.jp\",\"tone.ibaraki.jp\",\"toride.ibaraki.jp\",\"tsuchiura.ibaraki.jp\",\"tsukuba.ibaraki.jp\",\"uchihara.ibaraki.jp\",\"ushiku.ibaraki.jp\",\"yachiyo.ibaraki.jp\",\"yamagata.ibaraki.jp\",\"yawara.ibaraki.jp\",\"yuki.ibaraki.jp\",\"anamizu.ishikawa.jp\",\"hakui.ishikawa.jp\",\"hakusan.ishikawa.jp\",\"kaga.ishikawa.jp\",\"kahoku.ishikawa.jp\",\"kanazawa.ishikawa.jp\",\"kawakita.ishikawa.jp\",\"komatsu.ishikawa.jp\",\"nakanoto.ishikawa.jp\",\"nanao.ishikawa.jp\",\"nomi.ishikawa.jp\",\"nonoichi.ishikawa.jp\",\"noto.ishikawa.jp\",\"shika.ishikawa.jp\",\"suzu.ishikawa.jp\",\"tsubata.ishikawa.jp\",\"tsurugi.ishikawa.jp\",\"uchinada.ishikawa.jp\",\"wajima.ishikawa.jp\",\"fudai.iwate.jp\",\"fujisawa.iwate.jp\",\"hanamaki.iwate.jp\",\"hiraizumi.iwate.jp\",\"hirono.iwate.jp\",\"ichinohe.iwate.jp\",\"ichinoseki.iwate.jp\",\"iwaizumi.iwate.jp\",\"iwate.iwate.jp\",\"joboji.iwate.jp\",\"kamaishi.iwate.jp\",\"kanegasaki.iwate.jp\",\"karumai.iwate.jp\",\"kawai.iwate.jp\",\"kitakami.iwate.jp\",\"kuji.iwate.jp\",\"kunohe.iwate.jp\",\"kuzumaki.iwate.jp\",\"miyako.iwate.jp\",\"mizusawa.iwate.jp\",\"morioka.iwate.jp\",\"ninohe.iwate.jp\",\"noda.iwate.jp\",\"ofunato.iwate.jp\",\"oshu.iwate.jp\",\"otsuchi.iwate.jp\",\"rikuzentakata.iwate.jp\",\"shiwa.iwate.jp\",\"shizukuishi.iwate.jp\",\"sumita.iwate.jp\",\"tanohata.iwate.jp\",\"tono.iwate.jp\",\"yahaba.iwate.jp\",\"yamada.iwate.jp\",\"ayagawa.kagawa.jp\",\"higashikagawa.kagawa.jp\",\"kanonji.kagawa.jp\",\"kotohira.kagawa.jp\",\"manno.kagawa.jp\",\"marugame.kagawa.jp\",\"mitoyo.kagawa.jp\",\"naoshima.kagawa.jp\",\"sanuki.kagawa.jp\",\"tadotsu.kagawa.jp\",\"takamatsu.kagawa.jp\",\"tonosho.kagawa.jp\",\"uchinomi.kagawa.jp\",\"utazu.kagawa.jp\",\"zentsuji.kagawa.jp\",\"akune.kagoshima.jp\",\"amami.kagoshima.jp\",\"hioki.kagoshima.jp\",\"isa.kagoshima.jp\",\"isen.kagoshima.jp\",\"izumi.kagoshima.jp\",\"kagoshima.kagoshima.jp\",\"kanoya.kagoshima.jp\",\"kawanabe.kagoshima.jp\",\"kinko.kagoshima.jp\",\"kouyama.kagoshima.jp\",\"makurazaki.kagoshima.jp\",\"matsumoto.kagoshima.jp\",\"minamitane.kagoshima.jp\",\"nakatane.kagoshima.jp\",\"nishinoomote.kagoshima.jp\",\"satsumasendai.kagoshima.jp\",\"soo.kagoshima.jp\",\"tarumizu.kagoshima.jp\",\"yusui.kagoshima.jp\",\"aikawa.kanagawa.jp\",\"atsugi.kanagawa.jp\",\"ayase.kanagawa.jp\",\"chigasaki.kanagawa.jp\",\"ebina.kanagawa.jp\",\"fujisawa.kanagawa.jp\",\"hadano.kanagawa.jp\",\"hakone.kanagawa.jp\",\"hiratsuka.kanagawa.jp\",\"isehara.kanagawa.jp\",\"kaisei.kanagawa.jp\",\"kamakura.kanagawa.jp\",\"kiyokawa.kanagawa.jp\",\"matsuda.kanagawa.jp\",\"minamiashigara.kanagawa.jp\",\"miura.kanagawa.jp\",\"nakai.kanagawa.jp\",\"ninomiya.kanagawa.jp\",\"odawara.kanagawa.jp\",\"oi.kanagawa.jp\",\"oiso.kanagawa.jp\",\"sagamihara.kanagawa.jp\",\"samukawa.kanagawa.jp\",\"tsukui.kanagawa.jp\",\"yamakita.kanagawa.jp\",\"yamato.kanagawa.jp\",\"yokosuka.kanagawa.jp\",\"yugawara.kanagawa.jp\",\"zama.kanagawa.jp\",\"zushi.kanagawa.jp\",\"aki.kochi.jp\",\"geisei.kochi.jp\",\"hidaka.kochi.jp\",\"higashitsuno.kochi.jp\",\"ino.kochi.jp\",\"kagami.kochi.jp\",\"kami.kochi.jp\",\"kitagawa.kochi.jp\",\"kochi.kochi.jp\",\"mihara.kochi.jp\",\"motoyama.kochi.jp\",\"muroto.kochi.jp\",\"nahari.kochi.jp\",\"nakamura.kochi.jp\",\"nankoku.kochi.jp\",\"nishitosa.kochi.jp\",\"niyodogawa.kochi.jp\",\"ochi.kochi.jp\",\"okawa.kochi.jp\",\"otoyo.kochi.jp\",\"otsuki.kochi.jp\",\"sakawa.kochi.jp\",\"sukumo.kochi.jp\",\"susaki.kochi.jp\",\"tosa.kochi.jp\",\"tosashimizu.kochi.jp\",\"toyo.kochi.jp\",\"tsuno.kochi.jp\",\"umaji.kochi.jp\",\"yasuda.kochi.jp\",\"yusuhara.kochi.jp\",\"amakusa.kumamoto.jp\",\"arao.kumamoto.jp\",\"aso.kumamoto.jp\",\"choyo.kumamoto.jp\",\"gyokuto.kumamoto.jp\",\"kamiamakusa.kumamoto.jp\",\"kikuchi.kumamoto.jp\",\"kumamoto.kumamoto.jp\",\"mashiki.kumamoto.jp\",\"mifune.kumamoto.jp\",\"minamata.kumamoto.jp\",\"minamioguni.kumamoto.jp\",\"nagasu.kumamoto.jp\",\"nishihara.kumamoto.jp\",\"oguni.kumamoto.jp\",\"ozu.kumamoto.jp\",\"sumoto.kumamoto.jp\",\"takamori.kumamoto.jp\",\"uki.kumamoto.jp\",\"uto.kumamoto.jp\",\"yamaga.kumamoto.jp\",\"yamato.kumamoto.jp\",\"yatsushiro.kumamoto.jp\",\"ayabe.kyoto.jp\",\"fukuchiyama.kyoto.jp\",\"higashiyama.kyoto.jp\",\"ide.kyoto.jp\",\"ine.kyoto.jp\",\"joyo.kyoto.jp\",\"kameoka.kyoto.jp\",\"kamo.kyoto.jp\",\"kita.kyoto.jp\",\"kizu.kyoto.jp\",\"kumiyama.kyoto.jp\",\"kyotamba.kyoto.jp\",\"kyotanabe.kyoto.jp\",\"kyotango.kyoto.jp\",\"maizuru.kyoto.jp\",\"minami.kyoto.jp\",\"minamiyamashiro.kyoto.jp\",\"miyazu.kyoto.jp\",\"muko.kyoto.jp\",\"nagaokakyo.kyoto.jp\",\"nakagyo.kyoto.jp\",\"nantan.kyoto.jp\",\"oyamazaki.kyoto.jp\",\"sakyo.kyoto.jp\",\"seika.kyoto.jp\",\"tanabe.kyoto.jp\",\"uji.kyoto.jp\",\"ujitawara.kyoto.jp\",\"wazuka.kyoto.jp\",\"yamashina.kyoto.jp\",\"yawata.kyoto.jp\",\"asahi.mie.jp\",\"inabe.mie.jp\",\"ise.mie.jp\",\"kameyama.mie.jp\",\"kawagoe.mie.jp\",\"kiho.mie.jp\",\"kisosaki.mie.jp\",\"kiwa.mie.jp\",\"komono.mie.jp\",\"kumano.mie.jp\",\"kuwana.mie.jp\",\"matsusaka.mie.jp\",\"meiwa.mie.jp\",\"mihama.mie.jp\",\"minamiise.mie.jp\",\"misugi.mie.jp\",\"miyama.mie.jp\",\"nabari.mie.jp\",\"shima.mie.jp\",\"suzuka.mie.jp\",\"tado.mie.jp\",\"taiki.mie.jp\",\"taki.mie.jp\",\"tamaki.mie.jp\",\"toba.mie.jp\",\"tsu.mie.jp\",\"udono.mie.jp\",\"ureshino.mie.jp\",\"watarai.mie.jp\",\"yokkaichi.mie.jp\",\"furukawa.miyagi.jp\",\"higashimatsushima.miyagi.jp\",\"ishinomaki.miyagi.jp\",\"iwanuma.miyagi.jp\",\"kakuda.miyagi.jp\",\"kami.miyagi.jp\",\"kawasaki.miyagi.jp\",\"marumori.miyagi.jp\",\"matsushima.miyagi.jp\",\"minamisanriku.miyagi.jp\",\"misato.miyagi.jp\",\"murata.miyagi.jp\",\"natori.miyagi.jp\",\"ogawara.miyagi.jp\",\"ohira.miyagi.jp\",\"onagawa.miyagi.jp\",\"osaki.miyagi.jp\",\"rifu.miyagi.jp\",\"semine.miyagi.jp\",\"shibata.miyagi.jp\",\"shichikashuku.miyagi.jp\",\"shikama.miyagi.jp\",\"shiogama.miyagi.jp\",\"shiroishi.miyagi.jp\",\"tagajo.miyagi.jp\",\"taiwa.miyagi.jp\",\"tome.miyagi.jp\",\"tomiya.miyagi.jp\",\"wakuya.miyagi.jp\",\"watari.miyagi.jp\",\"yamamoto.miyagi.jp\",\"zao.miyagi.jp\",\"aya.miyazaki.jp\",\"ebino.miyazaki.jp\",\"gokase.miyazaki.jp\",\"hyuga.miyazaki.jp\",\"kadogawa.miyazaki.jp\",\"kawaminami.miyazaki.jp\",\"kijo.miyazaki.jp\",\"kitagawa.miyazaki.jp\",\"kitakata.miyazaki.jp\",\"kitaura.miyazaki.jp\",\"kobayashi.miyazaki.jp\",\"kunitomi.miyazaki.jp\",\"kushima.miyazaki.jp\",\"mimata.miyazaki.jp\",\"miyakonojo.miyazaki.jp\",\"miyazaki.miyazaki.jp\",\"morotsuka.miyazaki.jp\",\"nichinan.miyazaki.jp\",\"nishimera.miyazaki.jp\",\"nobeoka.miyazaki.jp\",\"saito.miyazaki.jp\",\"shiiba.miyazaki.jp\",\"shintomi.miyazaki.jp\",\"takaharu.miyazaki.jp\",\"takanabe.miyazaki.jp\",\"takazaki.miyazaki.jp\",\"tsuno.miyazaki.jp\",\"achi.nagano.jp\",\"agematsu.nagano.jp\",\"anan.nagano.jp\",\"aoki.nagano.jp\",\"asahi.nagano.jp\",\"azumino.nagano.jp\",\"chikuhoku.nagano.jp\",\"chikuma.nagano.jp\",\"chino.nagano.jp\",\"fujimi.nagano.jp\",\"hakuba.nagano.jp\",\"hara.nagano.jp\",\"hiraya.nagano.jp\",\"iida.nagano.jp\",\"iijima.nagano.jp\",\"iiyama.nagano.jp\",\"iizuna.nagano.jp\",\"ikeda.nagano.jp\",\"ikusaka.nagano.jp\",\"ina.nagano.jp\",\"karuizawa.nagano.jp\",\"kawakami.nagano.jp\",\"kiso.nagano.jp\",\"kisofukushima.nagano.jp\",\"kitaaiki.nagano.jp\",\"komagane.nagano.jp\",\"komoro.nagano.jp\",\"matsukawa.nagano.jp\",\"matsumoto.nagano.jp\",\"miasa.nagano.jp\",\"minamiaiki.nagano.jp\",\"minamimaki.nagano.jp\",\"minamiminowa.nagano.jp\",\"minowa.nagano.jp\",\"miyada.nagano.jp\",\"miyota.nagano.jp\",\"mochizuki.nagano.jp\",\"nagano.nagano.jp\",\"nagawa.nagano.jp\",\"nagiso.nagano.jp\",\"nakagawa.nagano.jp\",\"nakano.nagano.jp\",\"nozawaonsen.nagano.jp\",\"obuse.nagano.jp\",\"ogawa.nagano.jp\",\"okaya.nagano.jp\",\"omachi.nagano.jp\",\"omi.nagano.jp\",\"ookuwa.nagano.jp\",\"ooshika.nagano.jp\",\"otaki.nagano.jp\",\"otari.nagano.jp\",\"sakae.nagano.jp\",\"sakaki.nagano.jp\",\"saku.nagano.jp\",\"sakuho.nagano.jp\",\"shimosuwa.nagano.jp\",\"shinanomachi.nagano.jp\",\"shiojiri.nagano.jp\",\"suwa.nagano.jp\",\"suzaka.nagano.jp\",\"takagi.nagano.jp\",\"takamori.nagano.jp\",\"takayama.nagano.jp\",\"tateshina.nagano.jp\",\"tatsuno.nagano.jp\",\"togakushi.nagano.jp\",\"togura.nagano.jp\",\"tomi.nagano.jp\",\"ueda.nagano.jp\",\"wada.nagano.jp\",\"yamagata.nagano.jp\",\"yamanouchi.nagano.jp\",\"yasaka.nagano.jp\",\"yasuoka.nagano.jp\",\"chijiwa.nagasaki.jp\",\"futsu.nagasaki.jp\",\"goto.nagasaki.jp\",\"hasami.nagasaki.jp\",\"hirado.nagasaki.jp\",\"iki.nagasaki.jp\",\"isahaya.nagasaki.jp\",\"kawatana.nagasaki.jp\",\"kuchinotsu.nagasaki.jp\",\"matsuura.nagasaki.jp\",\"nagasaki.nagasaki.jp\",\"obama.nagasaki.jp\",\"omura.nagasaki.jp\",\"oseto.nagasaki.jp\",\"saikai.nagasaki.jp\",\"sasebo.nagasaki.jp\",\"seihi.nagasaki.jp\",\"shimabara.nagasaki.jp\",\"shinkamigoto.nagasaki.jp\",\"togitsu.nagasaki.jp\",\"tsushima.nagasaki.jp\",\"unzen.nagasaki.jp\",\"ando.nara.jp\",\"gose.nara.jp\",\"heguri.nara.jp\",\"higashiyoshino.nara.jp\",\"ikaruga.nara.jp\",\"ikoma.nara.jp\",\"kamikitayama.nara.jp\",\"kanmaki.nara.jp\",\"kashiba.nara.jp\",\"kashihara.nara.jp\",\"katsuragi.nara.jp\",\"kawai.nara.jp\",\"kawakami.nara.jp\",\"kawanishi.nara.jp\",\"koryo.nara.jp\",\"kurotaki.nara.jp\",\"mitsue.nara.jp\",\"miyake.nara.jp\",\"nara.nara.jp\",\"nosegawa.nara.jp\",\"oji.nara.jp\",\"ouda.nara.jp\",\"oyodo.nara.jp\",\"sakurai.nara.jp\",\"sango.nara.jp\",\"shimoichi.nara.jp\",\"shimokitayama.nara.jp\",\"shinjo.nara.jp\",\"soni.nara.jp\",\"takatori.nara.jp\",\"tawaramoto.nara.jp\",\"tenkawa.nara.jp\",\"tenri.nara.jp\",\"uda.nara.jp\",\"yamatokoriyama.nara.jp\",\"yamatotakada.nara.jp\",\"yamazoe.nara.jp\",\"yoshino.nara.jp\",\"aga.niigata.jp\",\"agano.niigata.jp\",\"gosen.niigata.jp\",\"itoigawa.niigata.jp\",\"izumozaki.niigata.jp\",\"joetsu.niigata.jp\",\"kamo.niigata.jp\",\"kariwa.niigata.jp\",\"kashiwazaki.niigata.jp\",\"minamiuonuma.niigata.jp\",\"mitsuke.niigata.jp\",\"muika.niigata.jp\",\"murakami.niigata.jp\",\"myoko.niigata.jp\",\"nagaoka.niigata.jp\",\"niigata.niigata.jp\",\"ojiya.niigata.jp\",\"omi.niigata.jp\",\"sado.niigata.jp\",\"sanjo.niigata.jp\",\"seiro.niigata.jp\",\"seirou.niigata.jp\",\"sekikawa.niigata.jp\",\"shibata.niigata.jp\",\"tagami.niigata.jp\",\"tainai.niigata.jp\",\"tochio.niigata.jp\",\"tokamachi.niigata.jp\",\"tsubame.niigata.jp\",\"tsunan.niigata.jp\",\"uonuma.niigata.jp\",\"yahiko.niigata.jp\",\"yoita.niigata.jp\",\"yuzawa.niigata.jp\",\"beppu.oita.jp\",\"bungoono.oita.jp\",\"bungotakada.oita.jp\",\"hasama.oita.jp\",\"hiji.oita.jp\",\"himeshima.oita.jp\",\"hita.oita.jp\",\"kamitsue.oita.jp\",\"kokonoe.oita.jp\",\"kuju.oita.jp\",\"kunisaki.oita.jp\",\"kusu.oita.jp\",\"oita.oita.jp\",\"saiki.oita.jp\",\"taketa.oita.jp\",\"tsukumi.oita.jp\",\"usa.oita.jp\",\"usuki.oita.jp\",\"yufu.oita.jp\",\"akaiwa.okayama.jp\",\"asakuchi.okayama.jp\",\"bizen.okayama.jp\",\"hayashima.okayama.jp\",\"ibara.okayama.jp\",\"kagamino.okayama.jp\",\"kasaoka.okayama.jp\",\"kibichuo.okayama.jp\",\"kumenan.okayama.jp\",\"kurashiki.okayama.jp\",\"maniwa.okayama.jp\",\"misaki.okayama.jp\",\"nagi.okayama.jp\",\"niimi.okayama.jp\",\"nishiawakura.okayama.jp\",\"okayama.okayama.jp\",\"satosho.okayama.jp\",\"setouchi.okayama.jp\",\"shinjo.okayama.jp\",\"shoo.okayama.jp\",\"soja.okayama.jp\",\"takahashi.okayama.jp\",\"tamano.okayama.jp\",\"tsuyama.okayama.jp\",\"wake.okayama.jp\",\"yakage.okayama.jp\",\"aguni.okinawa.jp\",\"ginowan.okinawa.jp\",\"ginoza.okinawa.jp\",\"gushikami.okinawa.jp\",\"haebaru.okinawa.jp\",\"higashi.okinawa.jp\",\"hirara.okinawa.jp\",\"iheya.okinawa.jp\",\"ishigaki.okinawa.jp\",\"ishikawa.okinawa.jp\",\"itoman.okinawa.jp\",\"izena.okinawa.jp\",\"kadena.okinawa.jp\",\"kin.okinawa.jp\",\"kitadaito.okinawa.jp\",\"kitanakagusuku.okinawa.jp\",\"kumejima.okinawa.jp\",\"kunigami.okinawa.jp\",\"minamidaito.okinawa.jp\",\"motobu.okinawa.jp\",\"nago.okinawa.jp\",\"naha.okinawa.jp\",\"nakagusuku.okinawa.jp\",\"nakijin.okinawa.jp\",\"nanjo.okinawa.jp\",\"nishihara.okinawa.jp\",\"ogimi.okinawa.jp\",\"okinawa.okinawa.jp\",\"onna.okinawa.jp\",\"shimoji.okinawa.jp\",\"taketomi.okinawa.jp\",\"tarama.okinawa.jp\",\"tokashiki.okinawa.jp\",\"tomigusuku.okinawa.jp\",\"tonaki.okinawa.jp\",\"urasoe.okinawa.jp\",\"uruma.okinawa.jp\",\"yaese.okinawa.jp\",\"yomitan.okinawa.jp\",\"yonabaru.okinawa.jp\",\"yonaguni.okinawa.jp\",\"zamami.okinawa.jp\",\"abeno.osaka.jp\",\"chihayaakasaka.osaka.jp\",\"chuo.osaka.jp\",\"daito.osaka.jp\",\"fujiidera.osaka.jp\",\"habikino.osaka.jp\",\"hannan.osaka.jp\",\"higashiosaka.osaka.jp\",\"higashisumiyoshi.osaka.jp\",\"higashiyodogawa.osaka.jp\",\"hirakata.osaka.jp\",\"ibaraki.osaka.jp\",\"ikeda.osaka.jp\",\"izumi.osaka.jp\",\"izumiotsu.osaka.jp\",\"izumisano.osaka.jp\",\"kadoma.osaka.jp\",\"kaizuka.osaka.jp\",\"kanan.osaka.jp\",\"kashiwara.osaka.jp\",\"katano.osaka.jp\",\"kawachinagano.osaka.jp\",\"kishiwada.osaka.jp\",\"kita.osaka.jp\",\"kumatori.osaka.jp\",\"matsubara.osaka.jp\",\"minato.osaka.jp\",\"minoh.osaka.jp\",\"misaki.osaka.jp\",\"moriguchi.osaka.jp\",\"neyagawa.osaka.jp\",\"nishi.osaka.jp\",\"nose.osaka.jp\",\"osakasayama.osaka.jp\",\"sakai.osaka.jp\",\"sayama.osaka.jp\",\"sennan.osaka.jp\",\"settsu.osaka.jp\",\"shijonawate.osaka.jp\",\"shimamoto.osaka.jp\",\"suita.osaka.jp\",\"tadaoka.osaka.jp\",\"taishi.osaka.jp\",\"tajiri.osaka.jp\",\"takaishi.osaka.jp\",\"takatsuki.osaka.jp\",\"tondabayashi.osaka.jp\",\"toyonaka.osaka.jp\",\"toyono.osaka.jp\",\"yao.osaka.jp\",\"ariake.saga.jp\",\"arita.saga.jp\",\"fukudomi.saga.jp\",\"genkai.saga.jp\",\"hamatama.saga.jp\",\"hizen.saga.jp\",\"imari.saga.jp\",\"kamimine.saga.jp\",\"kanzaki.saga.jp\",\"karatsu.saga.jp\",\"kashima.saga.jp\",\"kitagata.saga.jp\",\"kitahata.saga.jp\",\"kiyama.saga.jp\",\"kouhoku.saga.jp\",\"kyuragi.saga.jp\",\"nishiarita.saga.jp\",\"ogi.saga.jp\",\"omachi.saga.jp\",\"ouchi.saga.jp\",\"saga.saga.jp\",\"shiroishi.saga.jp\",\"taku.saga.jp\",\"tara.saga.jp\",\"tosu.saga.jp\",\"yoshinogari.saga.jp\",\"arakawa.saitama.jp\",\"asaka.saitama.jp\",\"chichibu.saitama.jp\",\"fujimi.saitama.jp\",\"fujimino.saitama.jp\",\"fukaya.saitama.jp\",\"hanno.saitama.jp\",\"hanyu.saitama.jp\",\"hasuda.saitama.jp\",\"hatogaya.saitama.jp\",\"hatoyama.saitama.jp\",\"hidaka.saitama.jp\",\"higashichichibu.saitama.jp\",\"higashimatsuyama.saitama.jp\",\"honjo.saitama.jp\",\"ina.saitama.jp\",\"iruma.saitama.jp\",\"iwatsuki.saitama.jp\",\"kamiizumi.saitama.jp\",\"kamikawa.saitama.jp\",\"kamisato.saitama.jp\",\"kasukabe.saitama.jp\",\"kawagoe.saitama.jp\",\"kawaguchi.saitama.jp\",\"kawajima.saitama.jp\",\"kazo.saitama.jp\",\"kitamoto.saitama.jp\",\"koshigaya.saitama.jp\",\"kounosu.saitama.jp\",\"kuki.saitama.jp\",\"kumagaya.saitama.jp\",\"matsubushi.saitama.jp\",\"minano.saitama.jp\",\"misato.saitama.jp\",\"miyashiro.saitama.jp\",\"miyoshi.saitama.jp\",\"moroyama.saitama.jp\",\"nagatoro.saitama.jp\",\"namegawa.saitama.jp\",\"niiza.saitama.jp\",\"ogano.saitama.jp\",\"ogawa.saitama.jp\",\"ogose.saitama.jp\",\"okegawa.saitama.jp\",\"omiya.saitama.jp\",\"otaki.saitama.jp\",\"ranzan.saitama.jp\",\"ryokami.saitama.jp\",\"saitama.saitama.jp\",\"sakado.saitama.jp\",\"satte.saitama.jp\",\"sayama.saitama.jp\",\"shiki.saitama.jp\",\"shiraoka.saitama.jp\",\"soka.saitama.jp\",\"sugito.saitama.jp\",\"toda.saitama.jp\",\"tokigawa.saitama.jp\",\"tokorozawa.saitama.jp\",\"tsurugashima.saitama.jp\",\"urawa.saitama.jp\",\"warabi.saitama.jp\",\"yashio.saitama.jp\",\"yokoze.saitama.jp\",\"yono.saitama.jp\",\"yorii.saitama.jp\",\"yoshida.saitama.jp\",\"yoshikawa.saitama.jp\",\"yoshimi.saitama.jp\",\"aisho.shiga.jp\",\"gamo.shiga.jp\",\"higashiomi.shiga.jp\",\"hikone.shiga.jp\",\"koka.shiga.jp\",\"konan.shiga.jp\",\"kosei.shiga.jp\",\"koto.shiga.jp\",\"kusatsu.shiga.jp\",\"maibara.shiga.jp\",\"moriyama.shiga.jp\",\"nagahama.shiga.jp\",\"nishiazai.shiga.jp\",\"notogawa.shiga.jp\",\"omihachiman.shiga.jp\",\"otsu.shiga.jp\",\"ritto.shiga.jp\",\"ryuoh.shiga.jp\",\"takashima.shiga.jp\",\"takatsuki.shiga.jp\",\"torahime.shiga.jp\",\"toyosato.shiga.jp\",\"yasu.shiga.jp\",\"akagi.shimane.jp\",\"ama.shimane.jp\",\"gotsu.shimane.jp\",\"hamada.shimane.jp\",\"higashiizumo.shimane.jp\",\"hikawa.shimane.jp\",\"hikimi.shimane.jp\",\"izumo.shimane.jp\",\"kakinoki.shimane.jp\",\"masuda.shimane.jp\",\"matsue.shimane.jp\",\"misato.shimane.jp\",\"nishinoshima.shimane.jp\",\"ohda.shimane.jp\",\"okinoshima.shimane.jp\",\"okuizumo.shimane.jp\",\"shimane.shimane.jp\",\"tamayu.shimane.jp\",\"tsuwano.shimane.jp\",\"unnan.shimane.jp\",\"yakumo.shimane.jp\",\"yasugi.shimane.jp\",\"yatsuka.shimane.jp\",\"arai.shizuoka.jp\",\"atami.shizuoka.jp\",\"fuji.shizuoka.jp\",\"fujieda.shizuoka.jp\",\"fujikawa.shizuoka.jp\",\"fujinomiya.shizuoka.jp\",\"fukuroi.shizuoka.jp\",\"gotemba.shizuoka.jp\",\"haibara.shizuoka.jp\",\"hamamatsu.shizuoka.jp\",\"higashiizu.shizuoka.jp\",\"ito.shizuoka.jp\",\"iwata.shizuoka.jp\",\"izu.shizuoka.jp\",\"izunokuni.shizuoka.jp\",\"kakegawa.shizuoka.jp\",\"kannami.shizuoka.jp\",\"kawanehon.shizuoka.jp\",\"kawazu.shizuoka.jp\",\"kikugawa.shizuoka.jp\",\"kosai.shizuoka.jp\",\"makinohara.shizuoka.jp\",\"matsuzaki.shizuoka.jp\",\"minamiizu.shizuoka.jp\",\"mishima.shizuoka.jp\",\"morimachi.shizuoka.jp\",\"nishiizu.shizuoka.jp\",\"numazu.shizuoka.jp\",\"omaezaki.shizuoka.jp\",\"shimada.shizuoka.jp\",\"shimizu.shizuoka.jp\",\"shimoda.shizuoka.jp\",\"shizuoka.shizuoka.jp\",\"susono.shizuoka.jp\",\"yaizu.shizuoka.jp\",\"yoshida.shizuoka.jp\",\"ashikaga.tochigi.jp\",\"bato.tochigi.jp\",\"haga.tochigi.jp\",\"ichikai.tochigi.jp\",\"iwafune.tochigi.jp\",\"kaminokawa.tochigi.jp\",\"kanuma.tochigi.jp\",\"karasuyama.tochigi.jp\",\"kuroiso.tochigi.jp\",\"mashiko.tochigi.jp\",\"mibu.tochigi.jp\",\"moka.tochigi.jp\",\"motegi.tochigi.jp\",\"nasu.tochigi.jp\",\"nasushiobara.tochigi.jp\",\"nikko.tochigi.jp\",\"nishikata.tochigi.jp\",\"nogi.tochigi.jp\",\"ohira.tochigi.jp\",\"ohtawara.tochigi.jp\",\"oyama.tochigi.jp\",\"sakura.tochigi.jp\",\"sano.tochigi.jp\",\"shimotsuke.tochigi.jp\",\"shioya.tochigi.jp\",\"takanezawa.tochigi.jp\",\"tochigi.tochigi.jp\",\"tsuga.tochigi.jp\",\"ujiie.tochigi.jp\",\"utsunomiya.tochigi.jp\",\"yaita.tochigi.jp\",\"aizumi.tokushima.jp\",\"anan.tokushima.jp\",\"ichiba.tokushima.jp\",\"itano.tokushima.jp\",\"kainan.tokushima.jp\",\"komatsushima.tokushima.jp\",\"matsushige.tokushima.jp\",\"mima.tokushima.jp\",\"minami.tokushima.jp\",\"miyoshi.tokushima.jp\",\"mugi.tokushima.jp\",\"nakagawa.tokushima.jp\",\"naruto.tokushima.jp\",\"sanagochi.tokushima.jp\",\"shishikui.tokushima.jp\",\"tokushima.tokushima.jp\",\"wajiki.tokushima.jp\",\"adachi.tokyo.jp\",\"akiruno.tokyo.jp\",\"akishima.tokyo.jp\",\"aogashima.tokyo.jp\",\"arakawa.tokyo.jp\",\"bunkyo.tokyo.jp\",\"chiyoda.tokyo.jp\",\"chofu.tokyo.jp\",\"chuo.tokyo.jp\",\"edogawa.tokyo.jp\",\"fuchu.tokyo.jp\",\"fussa.tokyo.jp\",\"hachijo.tokyo.jp\",\"hachioji.tokyo.jp\",\"hamura.tokyo.jp\",\"higashikurume.tokyo.jp\",\"higashimurayama.tokyo.jp\",\"higashiyamato.tokyo.jp\",\"hino.tokyo.jp\",\"hinode.tokyo.jp\",\"hinohara.tokyo.jp\",\"inagi.tokyo.jp\",\"itabashi.tokyo.jp\",\"katsushika.tokyo.jp\",\"kita.tokyo.jp\",\"kiyose.tokyo.jp\",\"kodaira.tokyo.jp\",\"koganei.tokyo.jp\",\"kokubunji.tokyo.jp\",\"komae.tokyo.jp\",\"koto.tokyo.jp\",\"kouzushima.tokyo.jp\",\"kunitachi.tokyo.jp\",\"machida.tokyo.jp\",\"meguro.tokyo.jp\",\"minato.tokyo.jp\",\"mitaka.tokyo.jp\",\"mizuho.tokyo.jp\",\"musashimurayama.tokyo.jp\",\"musashino.tokyo.jp\",\"nakano.tokyo.jp\",\"nerima.tokyo.jp\",\"ogasawara.tokyo.jp\",\"okutama.tokyo.jp\",\"ome.tokyo.jp\",\"oshima.tokyo.jp\",\"ota.tokyo.jp\",\"setagaya.tokyo.jp\",\"shibuya.tokyo.jp\",\"shinagawa.tokyo.jp\",\"shinjuku.tokyo.jp\",\"suginami.tokyo.jp\",\"sumida.tokyo.jp\",\"tachikawa.tokyo.jp\",\"taito.tokyo.jp\",\"tama.tokyo.jp\",\"toshima.tokyo.jp\",\"chizu.tottori.jp\",\"hino.tottori.jp\",\"kawahara.tottori.jp\",\"koge.tottori.jp\",\"kotoura.tottori.jp\",\"misasa.tottori.jp\",\"nanbu.tottori.jp\",\"nichinan.tottori.jp\",\"sakaiminato.tottori.jp\",\"tottori.tottori.jp\",\"wakasa.tottori.jp\",\"yazu.tottori.jp\",\"yonago.tottori.jp\",\"asahi.toyama.jp\",\"fuchu.toyama.jp\",\"fukumitsu.toyama.jp\",\"funahashi.toyama.jp\",\"himi.toyama.jp\",\"imizu.toyama.jp\",\"inami.toyama.jp\",\"johana.toyama.jp\",\"kamiichi.toyama.jp\",\"kurobe.toyama.jp\",\"nakaniikawa.toyama.jp\",\"namerikawa.toyama.jp\",\"nanto.toyama.jp\",\"nyuzen.toyama.jp\",\"oyabe.toyama.jp\",\"taira.toyama.jp\",\"takaoka.toyama.jp\",\"tateyama.toyama.jp\",\"toga.toyama.jp\",\"tonami.toyama.jp\",\"toyama.toyama.jp\",\"unazuki.toyama.jp\",\"uozu.toyama.jp\",\"yamada.toyama.jp\",\"arida.wakayama.jp\",\"aridagawa.wakayama.jp\",\"gobo.wakayama.jp\",\"hashimoto.wakayama.jp\",\"hidaka.wakayama.jp\",\"hirogawa.wakayama.jp\",\"inami.wakayama.jp\",\"iwade.wakayama.jp\",\"kainan.wakayama.jp\",\"kamitonda.wakayama.jp\",\"katsuragi.wakayama.jp\",\"kimino.wakayama.jp\",\"kinokawa.wakayama.jp\",\"kitayama.wakayama.jp\",\"koya.wakayama.jp\",\"koza.wakayama.jp\",\"kozagawa.wakayama.jp\",\"kudoyama.wakayama.jp\",\"kushimoto.wakayama.jp\",\"mihama.wakayama.jp\",\"misato.wakayama.jp\",\"nachikatsuura.wakayama.jp\",\"shingu.wakayama.jp\",\"shirahama.wakayama.jp\",\"taiji.wakayama.jp\",\"tanabe.wakayama.jp\",\"wakayama.wakayama.jp\",\"yuasa.wakayama.jp\",\"yura.wakayama.jp\",\"asahi.yamagata.jp\",\"funagata.yamagata.jp\",\"higashine.yamagata.jp\",\"iide.yamagata.jp\",\"kahoku.yamagata.jp\",\"kaminoyama.yamagata.jp\",\"kaneyama.yamagata.jp\",\"kawanishi.yamagata.jp\",\"mamurogawa.yamagata.jp\",\"mikawa.yamagata.jp\",\"murayama.yamagata.jp\",\"nagai.yamagata.jp\",\"nakayama.yamagata.jp\",\"nanyo.yamagata.jp\",\"nishikawa.yamagata.jp\",\"obanazawa.yamagata.jp\",\"oe.yamagata.jp\",\"oguni.yamagata.jp\",\"ohkura.yamagata.jp\",\"oishida.yamagata.jp\",\"sagae.yamagata.jp\",\"sakata.yamagata.jp\",\"sakegawa.yamagata.jp\",\"shinjo.yamagata.jp\",\"shirataka.yamagata.jp\",\"shonai.yamagata.jp\",\"takahata.yamagata.jp\",\"tendo.yamagata.jp\",\"tozawa.yamagata.jp\",\"tsuruoka.yamagata.jp\",\"yamagata.yamagata.jp\",\"yamanobe.yamagata.jp\",\"yonezawa.yamagata.jp\",\"yuza.yamagata.jp\",\"abu.yamaguchi.jp\",\"hagi.yamaguchi.jp\",\"hikari.yamaguchi.jp\",\"hofu.yamaguchi.jp\",\"iwakuni.yamaguchi.jp\",\"kudamatsu.yamaguchi.jp\",\"mitou.yamaguchi.jp\",\"nagato.yamaguchi.jp\",\"oshima.yamaguchi.jp\",\"shimonoseki.yamaguchi.jp\",\"shunan.yamaguchi.jp\",\"tabuse.yamaguchi.jp\",\"tokuyama.yamaguchi.jp\",\"toyota.yamaguchi.jp\",\"ube.yamaguchi.jp\",\"yuu.yamaguchi.jp\",\"chuo.yamanashi.jp\",\"doshi.yamanashi.jp\",\"fuefuki.yamanashi.jp\",\"fujikawa.yamanashi.jp\",\"fujikawaguchiko.yamanashi.jp\",\"fujiyoshida.yamanashi.jp\",\"hayakawa.yamanashi.jp\",\"hokuto.yamanashi.jp\",\"ichikawamisato.yamanashi.jp\",\"kai.yamanashi.jp\",\"kofu.yamanashi.jp\",\"koshu.yamanashi.jp\",\"kosuge.yamanashi.jp\",\"minami-alps.yamanashi.jp\",\"minobu.yamanashi.jp\",\"nakamichi.yamanashi.jp\",\"nanbu.yamanashi.jp\",\"narusawa.yamanashi.jp\",\"nirasaki.yamanashi.jp\",\"nishikatsura.yamanashi.jp\",\"oshino.yamanashi.jp\",\"otsuki.yamanashi.jp\",\"showa.yamanashi.jp\",\"tabayama.yamanashi.jp\",\"tsuru.yamanashi.jp\",\"uenohara.yamanashi.jp\",\"yamanakako.yamanashi.jp\",\"yamanashi.yamanashi.jp\",\"ke\",\"ac.ke\",\"co.ke\",\"go.ke\",\"info.ke\",\"me.ke\",\"mobi.ke\",\"ne.ke\",\"or.ke\",\"sc.ke\",\"kg\",\"org.kg\",\"net.kg\",\"com.kg\",\"edu.kg\",\"gov.kg\",\"mil.kg\",\"*.kh\",\"ki\",\"edu.ki\",\"biz.ki\",\"net.ki\",\"org.ki\",\"gov.ki\",\"info.ki\",\"com.ki\",\"km\",\"org.km\",\"nom.km\",\"gov.km\",\"prd.km\",\"tm.km\",\"edu.km\",\"mil.km\",\"ass.km\",\"com.km\",\"coop.km\",\"asso.km\",\"presse.km\",\"medecin.km\",\"notaires.km\",\"pharmaciens.km\",\"veterinaire.km\",\"gouv.km\",\"kn\",\"net.kn\",\"org.kn\",\"edu.kn\",\"gov.kn\",\"kp\",\"com.kp\",\"edu.kp\",\"gov.kp\",\"org.kp\",\"rep.kp\",\"tra.kp\",\"kr\",\"ac.kr\",\"co.kr\",\"es.kr\",\"go.kr\",\"hs.kr\",\"kg.kr\",\"mil.kr\",\"ms.kr\",\"ne.kr\",\"or.kr\",\"pe.kr\",\"re.kr\",\"sc.kr\",\"busan.kr\",\"chungbuk.kr\",\"chungnam.kr\",\"daegu.kr\",\"daejeon.kr\",\"gangwon.kr\",\"gwangju.kr\",\"gyeongbuk.kr\",\"gyeonggi.kr\",\"gyeongnam.kr\",\"incheon.kr\",\"jeju.kr\",\"jeonbuk.kr\",\"jeonnam.kr\",\"seoul.kr\",\"ulsan.kr\",\"kw\",\"com.kw\",\"edu.kw\",\"emb.kw\",\"gov.kw\",\"ind.kw\",\"net.kw\",\"org.kw\",\"ky\",\"edu.ky\",\"gov.ky\",\"com.ky\",\"org.ky\",\"net.ky\",\"kz\",\"org.kz\",\"edu.kz\",\"net.kz\",\"gov.kz\",\"mil.kz\",\"com.kz\",\"la\",\"int.la\",\"net.la\",\"info.la\",\"edu.la\",\"gov.la\",\"per.la\",\"com.la\",\"org.la\",\"lb\",\"com.lb\",\"edu.lb\",\"gov.lb\",\"net.lb\",\"org.lb\",\"lc\",\"com.lc\",\"net.lc\",\"co.lc\",\"org.lc\",\"edu.lc\",\"gov.lc\",\"li\",\"lk\",\"gov.lk\",\"sch.lk\",\"net.lk\",\"int.lk\",\"com.lk\",\"org.lk\",\"edu.lk\",\"ngo.lk\",\"soc.lk\",\"web.lk\",\"ltd.lk\",\"assn.lk\",\"grp.lk\",\"hotel.lk\",\"ac.lk\",\"lr\",\"com.lr\",\"edu.lr\",\"gov.lr\",\"org.lr\",\"net.lr\",\"ls\",\"co.ls\",\"org.ls\",\"lt\",\"gov.lt\",\"lu\",\"lv\",\"com.lv\",\"edu.lv\",\"gov.lv\",\"org.lv\",\"mil.lv\",\"id.lv\",\"net.lv\",\"asn.lv\",\"conf.lv\",\"ly\",\"com.ly\",\"net.ly\",\"gov.ly\",\"plc.ly\",\"edu.ly\",\"sch.ly\",\"med.ly\",\"org.ly\",\"id.ly\",\"ma\",\"co.ma\",\"net.ma\",\"gov.ma\",\"org.ma\",\"ac.ma\",\"press.ma\",\"mc\",\"tm.mc\",\"asso.mc\",\"md\",\"me\",\"co.me\",\"net.me\",\"org.me\",\"edu.me\",\"ac.me\",\"gov.me\",\"its.me\",\"priv.me\",\"mg\",\"org.mg\",\"nom.mg\",\"gov.mg\",\"prd.mg\",\"tm.mg\",\"edu.mg\",\"mil.mg\",\"com.mg\",\"co.mg\",\"mh\",\"mil\",\"mk\",\"com.mk\",\"org.mk\",\"net.mk\",\"edu.mk\",\"gov.mk\",\"inf.mk\",\"name.mk\",\"ml\",\"com.ml\",\"edu.ml\",\"gouv.ml\",\"gov.ml\",\"net.ml\",\"org.ml\",\"presse.ml\",\"*.mm\",\"mn\",\"gov.mn\",\"edu.mn\",\"org.mn\",\"mo\",\"com.mo\",\"net.mo\",\"org.mo\",\"edu.mo\",\"gov.mo\",\"mobi\",\"mp\",\"mq\",\"mr\",\"gov.mr\",\"ms\",\"com.ms\",\"edu.ms\",\"gov.ms\",\"net.ms\",\"org.ms\",\"mt\",\"com.mt\",\"edu.mt\",\"net.mt\",\"org.mt\",\"mu\",\"com.mu\",\"net.mu\",\"org.mu\",\"gov.mu\",\"ac.mu\",\"co.mu\",\"or.mu\",\"museum\",\"academy.museum\",\"agriculture.museum\",\"air.museum\",\"airguard.museum\",\"alabama.museum\",\"alaska.museum\",\"amber.museum\",\"ambulance.museum\",\"american.museum\",\"americana.museum\",\"americanantiques.museum\",\"americanart.museum\",\"amsterdam.museum\",\"and.museum\",\"annefrank.museum\",\"anthro.museum\",\"anthropology.museum\",\"antiques.museum\",\"aquarium.museum\",\"arboretum.museum\",\"archaeological.museum\",\"archaeology.museum\",\"architecture.museum\",\"art.museum\",\"artanddesign.museum\",\"artcenter.museum\",\"artdeco.museum\",\"arteducation.museum\",\"artgallery.museum\",\"arts.museum\",\"artsandcrafts.museum\",\"asmatart.museum\",\"assassination.museum\",\"assisi.museum\",\"association.museum\",\"astronomy.museum\",\"atlanta.museum\",\"austin.museum\",\"australia.museum\",\"automotive.museum\",\"aviation.museum\",\"axis.museum\",\"badajoz.museum\",\"baghdad.museum\",\"bahn.museum\",\"bale.museum\",\"baltimore.museum\",\"barcelona.museum\",\"baseball.museum\",\"basel.museum\",\"baths.museum\",\"bauern.museum\",\"beauxarts.museum\",\"beeldengeluid.museum\",\"bellevue.museum\",\"bergbau.museum\",\"berkeley.museum\",\"berlin.museum\",\"bern.museum\",\"bible.museum\",\"bilbao.museum\",\"bill.museum\",\"birdart.museum\",\"birthplace.museum\",\"bonn.museum\",\"boston.museum\",\"botanical.museum\",\"botanicalgarden.museum\",\"botanicgarden.museum\",\"botany.museum\",\"brandywinevalley.museum\",\"brasil.museum\",\"bristol.museum\",\"british.museum\",\"britishcolumbia.museum\",\"broadcast.museum\",\"brunel.museum\",\"brussel.museum\",\"brussels.museum\",\"bruxelles.museum\",\"building.museum\",\"burghof.museum\",\"bus.museum\",\"bushey.museum\",\"cadaques.museum\",\"california.museum\",\"cambridge.museum\",\"can.museum\",\"canada.museum\",\"capebreton.museum\",\"carrier.museum\",\"cartoonart.museum\",\"casadelamoneda.museum\",\"castle.museum\",\"castres.museum\",\"celtic.museum\",\"center.museum\",\"chattanooga.museum\",\"cheltenham.museum\",\"chesapeakebay.museum\",\"chicago.museum\",\"children.museum\",\"childrens.museum\",\"childrensgarden.museum\",\"chiropractic.museum\",\"chocolate.museum\",\"christiansburg.museum\",\"cincinnati.museum\",\"cinema.museum\",\"circus.museum\",\"civilisation.museum\",\"civilization.museum\",\"civilwar.museum\",\"clinton.museum\",\"clock.museum\",\"coal.museum\",\"coastaldefence.museum\",\"cody.museum\",\"coldwar.museum\",\"collection.museum\",\"colonialwilliamsburg.museum\",\"coloradoplateau.museum\",\"columbia.museum\",\"columbus.museum\",\"communication.museum\",\"communications.museum\",\"community.museum\",\"computer.museum\",\"computerhistory.museum\",\"comunicações.museum\",\"contemporary.museum\",\"contemporaryart.museum\",\"convent.museum\",\"copenhagen.museum\",\"corporation.museum\",\"correios-e-telecomunicações.museum\",\"corvette.museum\",\"costume.museum\",\"countryestate.museum\",\"county.museum\",\"crafts.museum\",\"cranbrook.museum\",\"creation.museum\",\"cultural.museum\",\"culturalcenter.museum\",\"culture.museum\",\"cyber.museum\",\"cymru.museum\",\"dali.museum\",\"dallas.museum\",\"database.museum\",\"ddr.museum\",\"decorativearts.museum\",\"delaware.museum\",\"delmenhorst.museum\",\"denmark.museum\",\"depot.museum\",\"design.museum\",\"detroit.museum\",\"dinosaur.museum\",\"discovery.museum\",\"dolls.museum\",\"donostia.museum\",\"durham.museum\",\"eastafrica.museum\",\"eastcoast.museum\",\"education.museum\",\"educational.museum\",\"egyptian.museum\",\"eisenbahn.museum\",\"elburg.museum\",\"elvendrell.museum\",\"embroidery.museum\",\"encyclopedic.museum\",\"england.museum\",\"entomology.museum\",\"environment.museum\",\"environmentalconservation.museum\",\"epilepsy.museum\",\"essex.museum\",\"estate.museum\",\"ethnology.museum\",\"exeter.museum\",\"exhibition.museum\",\"family.museum\",\"farm.museum\",\"farmequipment.museum\",\"farmers.museum\",\"farmstead.museum\",\"field.museum\",\"figueres.museum\",\"filatelia.museum\",\"film.museum\",\"fineart.museum\",\"finearts.museum\",\"finland.museum\",\"flanders.museum\",\"florida.museum\",\"force.museum\",\"fortmissoula.museum\",\"fortworth.museum\",\"foundation.museum\",\"francaise.museum\",\"frankfurt.museum\",\"franziskaner.museum\",\"freemasonry.museum\",\"freiburg.museum\",\"fribourg.museum\",\"frog.museum\",\"fundacio.museum\",\"furniture.museum\",\"gallery.museum\",\"garden.museum\",\"gateway.museum\",\"geelvinck.museum\",\"gemological.museum\",\"geology.museum\",\"georgia.museum\",\"giessen.museum\",\"glas.museum\",\"glass.museum\",\"gorge.museum\",\"grandrapids.museum\",\"graz.museum\",\"guernsey.museum\",\"halloffame.museum\",\"hamburg.museum\",\"handson.museum\",\"harvestcelebration.museum\",\"hawaii.museum\",\"health.museum\",\"heimatunduhren.museum\",\"hellas.museum\",\"helsinki.museum\",\"hembygdsforbund.museum\",\"heritage.museum\",\"histoire.museum\",\"historical.museum\",\"historicalsociety.museum\",\"historichouses.museum\",\"historisch.museum\",\"historisches.museum\",\"history.museum\",\"historyofscience.museum\",\"horology.museum\",\"house.museum\",\"humanities.museum\",\"illustration.museum\",\"imageandsound.museum\",\"indian.museum\",\"indiana.museum\",\"indianapolis.museum\",\"indianmarket.museum\",\"intelligence.museum\",\"interactive.museum\",\"iraq.museum\",\"iron.museum\",\"isleofman.museum\",\"jamison.museum\",\"jefferson.museum\",\"jerusalem.museum\",\"jewelry.museum\",\"jewish.museum\",\"jewishart.museum\",\"jfk.museum\",\"journalism.museum\",\"judaica.museum\",\"judygarland.museum\",\"juedisches.museum\",\"juif.museum\",\"karate.museum\",\"karikatur.museum\",\"kids.museum\",\"koebenhavn.museum\",\"koeln.museum\",\"kunst.museum\",\"kunstsammlung.museum\",\"kunstunddesign.museum\",\"labor.museum\",\"labour.museum\",\"lajolla.museum\",\"lancashire.museum\",\"landes.museum\",\"lans.museum\",\"läns.museum\",\"larsson.museum\",\"lewismiller.museum\",\"lincoln.museum\",\"linz.museum\",\"living.museum\",\"livinghistory.museum\",\"localhistory.museum\",\"london.museum\",\"losangeles.museum\",\"louvre.museum\",\"loyalist.museum\",\"lucerne.museum\",\"luxembourg.museum\",\"luzern.museum\",\"mad.museum\",\"madrid.museum\",\"mallorca.museum\",\"manchester.museum\",\"mansion.museum\",\"mansions.museum\",\"manx.museum\",\"marburg.museum\",\"maritime.museum\",\"maritimo.museum\",\"maryland.museum\",\"marylhurst.museum\",\"media.museum\",\"medical.museum\",\"medizinhistorisches.museum\",\"meeres.museum\",\"memorial.museum\",\"mesaverde.museum\",\"michigan.museum\",\"midatlantic.museum\",\"military.museum\",\"mill.museum\",\"miners.museum\",\"mining.museum\",\"minnesota.museum\",\"missile.museum\",\"missoula.museum\",\"modern.museum\",\"moma.museum\",\"money.museum\",\"monmouth.museum\",\"monticello.museum\",\"montreal.museum\",\"moscow.museum\",\"motorcycle.museum\",\"muenchen.museum\",\"muenster.museum\",\"mulhouse.museum\",\"muncie.museum\",\"museet.museum\",\"museumcenter.museum\",\"museumvereniging.museum\",\"music.museum\",\"national.museum\",\"nationalfirearms.museum\",\"nationalheritage.museum\",\"nativeamerican.museum\",\"naturalhistory.museum\",\"naturalhistorymuseum.museum\",\"naturalsciences.museum\",\"nature.museum\",\"naturhistorisches.museum\",\"natuurwetenschappen.museum\",\"naumburg.museum\",\"naval.museum\",\"nebraska.museum\",\"neues.museum\",\"newhampshire.museum\",\"newjersey.museum\",\"newmexico.museum\",\"newport.museum\",\"newspaper.museum\",\"newyork.museum\",\"niepce.museum\",\"norfolk.museum\",\"north.museum\",\"nrw.museum\",\"nuernberg.museum\",\"nuremberg.museum\",\"nyc.museum\",\"nyny.museum\",\"oceanographic.museum\",\"oceanographique.museum\",\"omaha.museum\",\"online.museum\",\"ontario.museum\",\"openair.museum\",\"oregon.museum\",\"oregontrail.museum\",\"otago.museum\",\"oxford.museum\",\"pacific.museum\",\"paderborn.museum\",\"palace.museum\",\"paleo.museum\",\"palmsprings.museum\",\"panama.museum\",\"paris.museum\",\"pasadena.museum\",\"pharmacy.museum\",\"philadelphia.museum\",\"philadelphiaarea.museum\",\"philately.museum\",\"phoenix.museum\",\"photography.museum\",\"pilots.museum\",\"pittsburgh.museum\",\"planetarium.museum\",\"plantation.museum\",\"plants.museum\",\"plaza.museum\",\"portal.museum\",\"portland.museum\",\"portlligat.museum\",\"posts-and-telecommunications.museum\",\"preservation.museum\",\"presidio.museum\",\"press.museum\",\"project.museum\",\"public.museum\",\"pubol.museum\",\"quebec.museum\",\"railroad.museum\",\"railway.museum\",\"research.museum\",\"resistance.museum\",\"riodejaneiro.museum\",\"rochester.museum\",\"rockart.museum\",\"roma.museum\",\"russia.museum\",\"saintlouis.museum\",\"salem.museum\",\"salvadordali.museum\",\"salzburg.museum\",\"sandiego.museum\",\"sanfrancisco.museum\",\"santabarbara.museum\",\"santacruz.museum\",\"santafe.museum\",\"saskatchewan.museum\",\"satx.museum\",\"savannahga.museum\",\"schlesisches.museum\",\"schoenbrunn.museum\",\"schokoladen.museum\",\"school.museum\",\"schweiz.museum\",\"science.museum\",\"scienceandhistory.museum\",\"scienceandindustry.museum\",\"sciencecenter.museum\",\"sciencecenters.museum\",\"science-fiction.museum\",\"sciencehistory.museum\",\"sciences.museum\",\"sciencesnaturelles.museum\",\"scotland.museum\",\"seaport.museum\",\"settlement.museum\",\"settlers.museum\",\"shell.museum\",\"sherbrooke.museum\",\"sibenik.museum\",\"silk.museum\",\"ski.museum\",\"skole.museum\",\"society.museum\",\"sologne.museum\",\"soundandvision.museum\",\"southcarolina.museum\",\"southwest.museum\",\"space.museum\",\"spy.museum\",\"square.museum\",\"stadt.museum\",\"stalbans.museum\",\"starnberg.museum\",\"state.museum\",\"stateofdelaware.museum\",\"station.museum\",\"steam.museum\",\"steiermark.museum\",\"stjohn.museum\",\"stockholm.museum\",\"stpetersburg.museum\",\"stuttgart.museum\",\"suisse.museum\",\"surgeonshall.museum\",\"surrey.museum\",\"svizzera.museum\",\"sweden.museum\",\"sydney.museum\",\"tank.museum\",\"tcm.museum\",\"technology.museum\",\"telekommunikation.museum\",\"television.museum\",\"texas.museum\",\"textile.museum\",\"theater.museum\",\"time.museum\",\"timekeeping.museum\",\"topology.museum\",\"torino.museum\",\"touch.museum\",\"town.museum\",\"transport.museum\",\"tree.museum\",\"trolley.museum\",\"trust.museum\",\"trustee.museum\",\"uhren.museum\",\"ulm.museum\",\"undersea.museum\",\"university.museum\",\"usa.museum\",\"usantiques.museum\",\"usarts.museum\",\"uscountryestate.museum\",\"usculture.museum\",\"usdecorativearts.museum\",\"usgarden.museum\",\"ushistory.museum\",\"ushuaia.museum\",\"uslivinghistory.museum\",\"utah.museum\",\"uvic.museum\",\"valley.museum\",\"vantaa.museum\",\"versailles.museum\",\"viking.museum\",\"village.museum\",\"virginia.museum\",\"virtual.museum\",\"virtuel.museum\",\"vlaanderen.museum\",\"volkenkunde.museum\",\"wales.museum\",\"wallonie.museum\",\"war.museum\",\"washingtondc.museum\",\"watchandclock.museum\",\"watch-and-clock.museum\",\"western.museum\",\"westfalen.museum\",\"whaling.museum\",\"wildlife.museum\",\"williamsburg.museum\",\"windmill.museum\",\"workshop.museum\",\"york.museum\",\"yorkshire.museum\",\"yosemite.museum\",\"youth.museum\",\"zoological.museum\",\"zoology.museum\",\"ירושלים.museum\",\"иком.museum\",\"mv\",\"aero.mv\",\"biz.mv\",\"com.mv\",\"coop.mv\",\"edu.mv\",\"gov.mv\",\"info.mv\",\"int.mv\",\"mil.mv\",\"museum.mv\",\"name.mv\",\"net.mv\",\"org.mv\",\"pro.mv\",\"mw\",\"ac.mw\",\"biz.mw\",\"co.mw\",\"com.mw\",\"coop.mw\",\"edu.mw\",\"gov.mw\",\"int.mw\",\"museum.mw\",\"net.mw\",\"org.mw\",\"mx\",\"com.mx\",\"org.mx\",\"gob.mx\",\"edu.mx\",\"net.mx\",\"my\",\"com.my\",\"net.my\",\"org.my\",\"gov.my\",\"edu.my\",\"mil.my\",\"name.my\",\"mz\",\"ac.mz\",\"adv.mz\",\"co.mz\",\"edu.mz\",\"gov.mz\",\"mil.mz\",\"net.mz\",\"org.mz\",\"na\",\"info.na\",\"pro.na\",\"name.na\",\"school.na\",\"or.na\",\"dr.na\",\"us.na\",\"mx.na\",\"ca.na\",\"in.na\",\"cc.na\",\"tv.na\",\"ws.na\",\"mobi.na\",\"co.na\",\"com.na\",\"org.na\",\"name\",\"nc\",\"asso.nc\",\"nom.nc\",\"ne\",\"net\",\"nf\",\"com.nf\",\"net.nf\",\"per.nf\",\"rec.nf\",\"web.nf\",\"arts.nf\",\"firm.nf\",\"info.nf\",\"other.nf\",\"store.nf\",\"ng\",\"com.ng\",\"edu.ng\",\"gov.ng\",\"i.ng\",\"mil.ng\",\"mobi.ng\",\"name.ng\",\"net.ng\",\"org.ng\",\"sch.ng\",\"ni\",\"ac.ni\",\"biz.ni\",\"co.ni\",\"com.ni\",\"edu.ni\",\"gob.ni\",\"in.ni\",\"info.ni\",\"int.ni\",\"mil.ni\",\"net.ni\",\"nom.ni\",\"org.ni\",\"web.ni\",\"nl\",\"bv.nl\",\"no\",\"fhs.no\",\"vgs.no\",\"fylkesbibl.no\",\"folkebibl.no\",\"museum.no\",\"idrett.no\",\"priv.no\",\"mil.no\",\"stat.no\",\"dep.no\",\"kommune.no\",\"herad.no\",\"aa.no\",\"ah.no\",\"bu.no\",\"fm.no\",\"hl.no\",\"hm.no\",\"jan-mayen.no\",\"mr.no\",\"nl.no\",\"nt.no\",\"of.no\",\"ol.no\",\"oslo.no\",\"rl.no\",\"sf.no\",\"st.no\",\"svalbard.no\",\"tm.no\",\"tr.no\",\"va.no\",\"vf.no\",\"gs.aa.no\",\"gs.ah.no\",\"gs.bu.no\",\"gs.fm.no\",\"gs.hl.no\",\"gs.hm.no\",\"gs.jan-mayen.no\",\"gs.mr.no\",\"gs.nl.no\",\"gs.nt.no\",\"gs.of.no\",\"gs.ol.no\",\"gs.oslo.no\",\"gs.rl.no\",\"gs.sf.no\",\"gs.st.no\",\"gs.svalbard.no\",\"gs.tm.no\",\"gs.tr.no\",\"gs.va.no\",\"gs.vf.no\",\"akrehamn.no\",\"åkrehamn.no\",\"algard.no\",\"ålgård.no\",\"arna.no\",\"brumunddal.no\",\"bryne.no\",\"bronnoysund.no\",\"brønnøysund.no\",\"drobak.no\",\"drøbak.no\",\"egersund.no\",\"fetsund.no\",\"floro.no\",\"florø.no\",\"fredrikstad.no\",\"hokksund.no\",\"honefoss.no\",\"hønefoss.no\",\"jessheim.no\",\"jorpeland.no\",\"jørpeland.no\",\"kirkenes.no\",\"kopervik.no\",\"krokstadelva.no\",\"langevag.no\",\"langevåg.no\",\"leirvik.no\",\"mjondalen.no\",\"mjøndalen.no\",\"mo-i-rana.no\",\"mosjoen.no\",\"mosjøen.no\",\"nesoddtangen.no\",\"orkanger.no\",\"osoyro.no\",\"osøyro.no\",\"raholt.no\",\"råholt.no\",\"sandnessjoen.no\",\"sandnessjøen.no\",\"skedsmokorset.no\",\"slattum.no\",\"spjelkavik.no\",\"stathelle.no\",\"stavern.no\",\"stjordalshalsen.no\",\"stjørdalshalsen.no\",\"tananger.no\",\"tranby.no\",\"vossevangen.no\",\"afjord.no\",\"åfjord.no\",\"agdenes.no\",\"al.no\",\"ål.no\",\"alesund.no\",\"ålesund.no\",\"alstahaug.no\",\"alta.no\",\"áltá.no\",\"alaheadju.no\",\"álaheadju.no\",\"alvdal.no\",\"amli.no\",\"åmli.no\",\"amot.no\",\"åmot.no\",\"andebu.no\",\"andoy.no\",\"andøy.no\",\"andasuolo.no\",\"ardal.no\",\"årdal.no\",\"aremark.no\",\"arendal.no\",\"ås.no\",\"aseral.no\",\"åseral.no\",\"asker.no\",\"askim.no\",\"askvoll.no\",\"askoy.no\",\"askøy.no\",\"asnes.no\",\"åsnes.no\",\"audnedaln.no\",\"aukra.no\",\"aure.no\",\"aurland.no\",\"aurskog-holand.no\",\"aurskog-høland.no\",\"austevoll.no\",\"austrheim.no\",\"averoy.no\",\"averøy.no\",\"balestrand.no\",\"ballangen.no\",\"balat.no\",\"bálát.no\",\"balsfjord.no\",\"bahccavuotna.no\",\"báhccavuotna.no\",\"bamble.no\",\"bardu.no\",\"beardu.no\",\"beiarn.no\",\"bajddar.no\",\"bájddar.no\",\"baidar.no\",\"báidár.no\",\"berg.no\",\"bergen.no\",\"berlevag.no\",\"berlevåg.no\",\"bearalvahki.no\",\"bearalváhki.no\",\"bindal.no\",\"birkenes.no\",\"bjarkoy.no\",\"bjarkøy.no\",\"bjerkreim.no\",\"bjugn.no\",\"bodo.no\",\"bodø.no\",\"badaddja.no\",\"bådåddjå.no\",\"budejju.no\",\"bokn.no\",\"bremanger.no\",\"bronnoy.no\",\"brønnøy.no\",\"bygland.no\",\"bykle.no\",\"barum.no\",\"bærum.no\",\"bo.telemark.no\",\"bø.telemark.no\",\"bo.nordland.no\",\"bø.nordland.no\",\"bievat.no\",\"bievát.no\",\"bomlo.no\",\"bømlo.no\",\"batsfjord.no\",\"båtsfjord.no\",\"bahcavuotna.no\",\"báhcavuotna.no\",\"dovre.no\",\"drammen.no\",\"drangedal.no\",\"dyroy.no\",\"dyrøy.no\",\"donna.no\",\"dønna.no\",\"eid.no\",\"eidfjord.no\",\"eidsberg.no\",\"eidskog.no\",\"eidsvoll.no\",\"eigersund.no\",\"elverum.no\",\"enebakk.no\",\"engerdal.no\",\"etne.no\",\"etnedal.no\",\"evenes.no\",\"evenassi.no\",\"evenášši.no\",\"evje-og-hornnes.no\",\"farsund.no\",\"fauske.no\",\"fuossko.no\",\"fuoisku.no\",\"fedje.no\",\"fet.no\",\"finnoy.no\",\"finnøy.no\",\"fitjar.no\",\"fjaler.no\",\"fjell.no\",\"flakstad.no\",\"flatanger.no\",\"flekkefjord.no\",\"flesberg.no\",\"flora.no\",\"fla.no\",\"flå.no\",\"folldal.no\",\"forsand.no\",\"fosnes.no\",\"frei.no\",\"frogn.no\",\"froland.no\",\"frosta.no\",\"frana.no\",\"fræna.no\",\"froya.no\",\"frøya.no\",\"fusa.no\",\"fyresdal.no\",\"forde.no\",\"førde.no\",\"gamvik.no\",\"gangaviika.no\",\"gáŋgaviika.no\",\"gaular.no\",\"gausdal.no\",\"gildeskal.no\",\"gildeskål.no\",\"giske.no\",\"gjemnes.no\",\"gjerdrum.no\",\"gjerstad.no\",\"gjesdal.no\",\"gjovik.no\",\"gjøvik.no\",\"gloppen.no\",\"gol.no\",\"gran.no\",\"grane.no\",\"granvin.no\",\"gratangen.no\",\"grimstad.no\",\"grong.no\",\"kraanghke.no\",\"kråanghke.no\",\"grue.no\",\"gulen.no\",\"hadsel.no\",\"halden.no\",\"halsa.no\",\"hamar.no\",\"hamaroy.no\",\"habmer.no\",\"hábmer.no\",\"hapmir.no\",\"hápmir.no\",\"hammerfest.no\",\"hammarfeasta.no\",\"hámmárfeasta.no\",\"haram.no\",\"hareid.no\",\"harstad.no\",\"hasvik.no\",\"aknoluokta.no\",\"ákŋoluokta.no\",\"hattfjelldal.no\",\"aarborte.no\",\"haugesund.no\",\"hemne.no\",\"hemnes.no\",\"hemsedal.no\",\"heroy.more-og-romsdal.no\",\"herøy.møre-og-romsdal.no\",\"heroy.nordland.no\",\"herøy.nordland.no\",\"hitra.no\",\"hjartdal.no\",\"hjelmeland.no\",\"hobol.no\",\"hobøl.no\",\"hof.no\",\"hol.no\",\"hole.no\",\"holmestrand.no\",\"holtalen.no\",\"holtålen.no\",\"hornindal.no\",\"horten.no\",\"hurdal.no\",\"hurum.no\",\"hvaler.no\",\"hyllestad.no\",\"hagebostad.no\",\"hægebostad.no\",\"hoyanger.no\",\"høyanger.no\",\"hoylandet.no\",\"høylandet.no\",\"ha.no\",\"hå.no\",\"ibestad.no\",\"inderoy.no\",\"inderøy.no\",\"iveland.no\",\"jevnaker.no\",\"jondal.no\",\"jolster.no\",\"jølster.no\",\"karasjok.no\",\"karasjohka.no\",\"kárášjohka.no\",\"karlsoy.no\",\"galsa.no\",\"gálsá.no\",\"karmoy.no\",\"karmøy.no\",\"kautokeino.no\",\"guovdageaidnu.no\",\"klepp.no\",\"klabu.no\",\"klæbu.no\",\"kongsberg.no\",\"kongsvinger.no\",\"kragero.no\",\"kragerø.no\",\"kristiansand.no\",\"kristiansund.no\",\"krodsherad.no\",\"krødsherad.no\",\"kvalsund.no\",\"rahkkeravju.no\",\"ráhkkerávju.no\",\"kvam.no\",\"kvinesdal.no\",\"kvinnherad.no\",\"kviteseid.no\",\"kvitsoy.no\",\"kvitsøy.no\",\"kvafjord.no\",\"kvæfjord.no\",\"giehtavuoatna.no\",\"kvanangen.no\",\"kvænangen.no\",\"navuotna.no\",\"návuotna.no\",\"kafjord.no\",\"kåfjord.no\",\"gaivuotna.no\",\"gáivuotna.no\",\"larvik.no\",\"lavangen.no\",\"lavagis.no\",\"loabat.no\",\"loabát.no\",\"lebesby.no\",\"davvesiida.no\",\"leikanger.no\",\"leirfjord.no\",\"leka.no\",\"leksvik.no\",\"lenvik.no\",\"leangaviika.no\",\"leaŋgaviika.no\",\"lesja.no\",\"levanger.no\",\"lier.no\",\"lierne.no\",\"lillehammer.no\",\"lillesand.no\",\"lindesnes.no\",\"lindas.no\",\"lindås.no\",\"lom.no\",\"loppa.no\",\"lahppi.no\",\"láhppi.no\",\"lund.no\",\"lunner.no\",\"luroy.no\",\"lurøy.no\",\"luster.no\",\"lyngdal.no\",\"lyngen.no\",\"ivgu.no\",\"lardal.no\",\"lerdal.no\",\"lærdal.no\",\"lodingen.no\",\"lødingen.no\",\"lorenskog.no\",\"lørenskog.no\",\"loten.no\",\"løten.no\",\"malvik.no\",\"masoy.no\",\"måsøy.no\",\"muosat.no\",\"muosát.no\",\"mandal.no\",\"marker.no\",\"marnardal.no\",\"masfjorden.no\",\"meland.no\",\"meldal.no\",\"melhus.no\",\"meloy.no\",\"meløy.no\",\"meraker.no\",\"meråker.no\",\"moareke.no\",\"moåreke.no\",\"midsund.no\",\"midtre-gauldal.no\",\"modalen.no\",\"modum.no\",\"molde.no\",\"moskenes.no\",\"moss.no\",\"mosvik.no\",\"malselv.no\",\"målselv.no\",\"malatvuopmi.no\",\"málatvuopmi.no\",\"namdalseid.no\",\"aejrie.no\",\"namsos.no\",\"namsskogan.no\",\"naamesjevuemie.no\",\"nååmesjevuemie.no\",\"laakesvuemie.no\",\"nannestad.no\",\"narvik.no\",\"narviika.no\",\"naustdal.no\",\"nedre-eiker.no\",\"nes.akershus.no\",\"nes.buskerud.no\",\"nesna.no\",\"nesodden.no\",\"nesseby.no\",\"unjarga.no\",\"unjárga.no\",\"nesset.no\",\"nissedal.no\",\"nittedal.no\",\"nord-aurdal.no\",\"nord-fron.no\",\"nord-odal.no\",\"norddal.no\",\"nordkapp.no\",\"davvenjarga.no\",\"davvenjárga.no\",\"nordre-land.no\",\"nordreisa.no\",\"raisa.no\",\"ráisa.no\",\"nore-og-uvdal.no\",\"notodden.no\",\"naroy.no\",\"nærøy.no\",\"notteroy.no\",\"nøtterøy.no\",\"odda.no\",\"oksnes.no\",\"øksnes.no\",\"oppdal.no\",\"oppegard.no\",\"oppegård.no\",\"orkdal.no\",\"orland.no\",\"ørland.no\",\"orskog.no\",\"ørskog.no\",\"orsta.no\",\"ørsta.no\",\"os.hedmark.no\",\"os.hordaland.no\",\"osen.no\",\"osteroy.no\",\"osterøy.no\",\"ostre-toten.no\",\"østre-toten.no\",\"overhalla.no\",\"ovre-eiker.no\",\"øvre-eiker.no\",\"oyer.no\",\"øyer.no\",\"oygarden.no\",\"øygarden.no\",\"oystre-slidre.no\",\"øystre-slidre.no\",\"porsanger.no\",\"porsangu.no\",\"porsáŋgu.no\",\"porsgrunn.no\",\"radoy.no\",\"radøy.no\",\"rakkestad.no\",\"rana.no\",\"ruovat.no\",\"randaberg.no\",\"rauma.no\",\"rendalen.no\",\"rennebu.no\",\"rennesoy.no\",\"rennesøy.no\",\"rindal.no\",\"ringebu.no\",\"ringerike.no\",\"ringsaker.no\",\"rissa.no\",\"risor.no\",\"risør.no\",\"roan.no\",\"rollag.no\",\"rygge.no\",\"ralingen.no\",\"rælingen.no\",\"rodoy.no\",\"rødøy.no\",\"romskog.no\",\"rømskog.no\",\"roros.no\",\"røros.no\",\"rost.no\",\"røst.no\",\"royken.no\",\"røyken.no\",\"royrvik.no\",\"røyrvik.no\",\"rade.no\",\"råde.no\",\"salangen.no\",\"siellak.no\",\"saltdal.no\",\"salat.no\",\"sálát.no\",\"sálat.no\",\"samnanger.no\",\"sande.more-og-romsdal.no\",\"sande.møre-og-romsdal.no\",\"sande.vestfold.no\",\"sandefjord.no\",\"sandnes.no\",\"sandoy.no\",\"sandøy.no\",\"sarpsborg.no\",\"sauda.no\",\"sauherad.no\",\"sel.no\",\"selbu.no\",\"selje.no\",\"seljord.no\",\"sigdal.no\",\"siljan.no\",\"sirdal.no\",\"skaun.no\",\"skedsmo.no\",\"ski.no\",\"skien.no\",\"skiptvet.no\",\"skjervoy.no\",\"skjervøy.no\",\"skierva.no\",\"skiervá.no\",\"skjak.no\",\"skjåk.no\",\"skodje.no\",\"skanland.no\",\"skånland.no\",\"skanit.no\",\"skánit.no\",\"smola.no\",\"smøla.no\",\"snillfjord.no\",\"snasa.no\",\"snåsa.no\",\"snoasa.no\",\"snaase.no\",\"snåase.no\",\"sogndal.no\",\"sokndal.no\",\"sola.no\",\"solund.no\",\"songdalen.no\",\"sortland.no\",\"spydeberg.no\",\"stange.no\",\"stavanger.no\",\"steigen.no\",\"steinkjer.no\",\"stjordal.no\",\"stjørdal.no\",\"stokke.no\",\"stor-elvdal.no\",\"stord.no\",\"stordal.no\",\"storfjord.no\",\"omasvuotna.no\",\"strand.no\",\"stranda.no\",\"stryn.no\",\"sula.no\",\"suldal.no\",\"sund.no\",\"sunndal.no\",\"surnadal.no\",\"sveio.no\",\"svelvik.no\",\"sykkylven.no\",\"sogne.no\",\"søgne.no\",\"somna.no\",\"sømna.no\",\"sondre-land.no\",\"søndre-land.no\",\"sor-aurdal.no\",\"sør-aurdal.no\",\"sor-fron.no\",\"sør-fron.no\",\"sor-odal.no\",\"sør-odal.no\",\"sor-varanger.no\",\"sør-varanger.no\",\"matta-varjjat.no\",\"mátta-várjjat.no\",\"sorfold.no\",\"sørfold.no\",\"sorreisa.no\",\"sørreisa.no\",\"sorum.no\",\"sørum.no\",\"tana.no\",\"deatnu.no\",\"time.no\",\"tingvoll.no\",\"tinn.no\",\"tjeldsund.no\",\"dielddanuorri.no\",\"tjome.no\",\"tjøme.no\",\"tokke.no\",\"tolga.no\",\"torsken.no\",\"tranoy.no\",\"tranøy.no\",\"tromso.no\",\"tromsø.no\",\"tromsa.no\",\"romsa.no\",\"trondheim.no\",\"troandin.no\",\"trysil.no\",\"trana.no\",\"træna.no\",\"trogstad.no\",\"trøgstad.no\",\"tvedestrand.no\",\"tydal.no\",\"tynset.no\",\"tysfjord.no\",\"divtasvuodna.no\",\"divttasvuotna.no\",\"tysnes.no\",\"tysvar.no\",\"tysvær.no\",\"tonsberg.no\",\"tønsberg.no\",\"ullensaker.no\",\"ullensvang.no\",\"ulvik.no\",\"utsira.no\",\"vadso.no\",\"vadsø.no\",\"cahcesuolo.no\",\"čáhcesuolo.no\",\"vaksdal.no\",\"valle.no\",\"vang.no\",\"vanylven.no\",\"vardo.no\",\"vardø.no\",\"varggat.no\",\"várggát.no\",\"vefsn.no\",\"vaapste.no\",\"vega.no\",\"vegarshei.no\",\"vegårshei.no\",\"vennesla.no\",\"verdal.no\",\"verran.no\",\"vestby.no\",\"vestnes.no\",\"vestre-slidre.no\",\"vestre-toten.no\",\"vestvagoy.no\",\"vestvågøy.no\",\"vevelstad.no\",\"vik.no\",\"vikna.no\",\"vindafjord.no\",\"volda.no\",\"voss.no\",\"varoy.no\",\"værøy.no\",\"vagan.no\",\"vågan.no\",\"voagat.no\",\"vagsoy.no\",\"vågsøy.no\",\"vaga.no\",\"vågå.no\",\"valer.ostfold.no\",\"våler.østfold.no\",\"valer.hedmark.no\",\"våler.hedmark.no\",\"*.np\",\"nr\",\"biz.nr\",\"info.nr\",\"gov.nr\",\"edu.nr\",\"org.nr\",\"net.nr\",\"com.nr\",\"nu\",\"nz\",\"ac.nz\",\"co.nz\",\"cri.nz\",\"geek.nz\",\"gen.nz\",\"govt.nz\",\"health.nz\",\"iwi.nz\",\"kiwi.nz\",\"maori.nz\",\"mil.nz\",\"māori.nz\",\"net.nz\",\"org.nz\",\"parliament.nz\",\"school.nz\",\"om\",\"co.om\",\"com.om\",\"edu.om\",\"gov.om\",\"med.om\",\"museum.om\",\"net.om\",\"org.om\",\"pro.om\",\"onion\",\"org\",\"pa\",\"ac.pa\",\"gob.pa\",\"com.pa\",\"org.pa\",\"sld.pa\",\"edu.pa\",\"net.pa\",\"ing.pa\",\"abo.pa\",\"med.pa\",\"nom.pa\",\"pe\",\"edu.pe\",\"gob.pe\",\"nom.pe\",\"mil.pe\",\"org.pe\",\"com.pe\",\"net.pe\",\"pf\",\"com.pf\",\"org.pf\",\"edu.pf\",\"*.pg\",\"ph\",\"com.ph\",\"net.ph\",\"org.ph\",\"gov.ph\",\"edu.ph\",\"ngo.ph\",\"mil.ph\",\"i.ph\",\"pk\",\"com.pk\",\"net.pk\",\"edu.pk\",\"org.pk\",\"fam.pk\",\"biz.pk\",\"web.pk\",\"gov.pk\",\"gob.pk\",\"gok.pk\",\"gon.pk\",\"gop.pk\",\"gos.pk\",\"info.pk\",\"pl\",\"com.pl\",\"net.pl\",\"org.pl\",\"aid.pl\",\"agro.pl\",\"atm.pl\",\"auto.pl\",\"biz.pl\",\"edu.pl\",\"gmina.pl\",\"gsm.pl\",\"info.pl\",\"mail.pl\",\"miasta.pl\",\"media.pl\",\"mil.pl\",\"nieruchomosci.pl\",\"nom.pl\",\"pc.pl\",\"powiat.pl\",\"priv.pl\",\"realestate.pl\",\"rel.pl\",\"sex.pl\",\"shop.pl\",\"sklep.pl\",\"sos.pl\",\"szkola.pl\",\"targi.pl\",\"tm.pl\",\"tourism.pl\",\"travel.pl\",\"turystyka.pl\",\"gov.pl\",\"ap.gov.pl\",\"ic.gov.pl\",\"is.gov.pl\",\"us.gov.pl\",\"kmpsp.gov.pl\",\"kppsp.gov.pl\",\"kwpsp.gov.pl\",\"psp.gov.pl\",\"wskr.gov.pl\",\"kwp.gov.pl\",\"mw.gov.pl\",\"ug.gov.pl\",\"um.gov.pl\",\"umig.gov.pl\",\"ugim.gov.pl\",\"upow.gov.pl\",\"uw.gov.pl\",\"starostwo.gov.pl\",\"pa.gov.pl\",\"po.gov.pl\",\"psse.gov.pl\",\"pup.gov.pl\",\"rzgw.gov.pl\",\"sa.gov.pl\",\"so.gov.pl\",\"sr.gov.pl\",\"wsa.gov.pl\",\"sko.gov.pl\",\"uzs.gov.pl\",\"wiih.gov.pl\",\"winb.gov.pl\",\"pinb.gov.pl\",\"wios.gov.pl\",\"witd.gov.pl\",\"wzmiuw.gov.pl\",\"piw.gov.pl\",\"wiw.gov.pl\",\"griw.gov.pl\",\"wif.gov.pl\",\"oum.gov.pl\",\"sdn.gov.pl\",\"zp.gov.pl\",\"uppo.gov.pl\",\"mup.gov.pl\",\"wuoz.gov.pl\",\"konsulat.gov.pl\",\"oirm.gov.pl\",\"augustow.pl\",\"babia-gora.pl\",\"bedzin.pl\",\"beskidy.pl\",\"bialowieza.pl\",\"bialystok.pl\",\"bielawa.pl\",\"bieszczady.pl\",\"boleslawiec.pl\",\"bydgoszcz.pl\",\"bytom.pl\",\"cieszyn.pl\",\"czeladz.pl\",\"czest.pl\",\"dlugoleka.pl\",\"elblag.pl\",\"elk.pl\",\"glogow.pl\",\"gniezno.pl\",\"gorlice.pl\",\"grajewo.pl\",\"ilawa.pl\",\"jaworzno.pl\",\"jelenia-gora.pl\",\"jgora.pl\",\"kalisz.pl\",\"kazimierz-dolny.pl\",\"karpacz.pl\",\"kartuzy.pl\",\"kaszuby.pl\",\"katowice.pl\",\"kepno.pl\",\"ketrzyn.pl\",\"klodzko.pl\",\"kobierzyce.pl\",\"kolobrzeg.pl\",\"konin.pl\",\"konskowola.pl\",\"kutno.pl\",\"lapy.pl\",\"lebork.pl\",\"legnica.pl\",\"lezajsk.pl\",\"limanowa.pl\",\"lomza.pl\",\"lowicz.pl\",\"lubin.pl\",\"lukow.pl\",\"malbork.pl\",\"malopolska.pl\",\"mazowsze.pl\",\"mazury.pl\",\"mielec.pl\",\"mielno.pl\",\"mragowo.pl\",\"naklo.pl\",\"nowaruda.pl\",\"nysa.pl\",\"olawa.pl\",\"olecko.pl\",\"olkusz.pl\",\"olsztyn.pl\",\"opoczno.pl\",\"opole.pl\",\"ostroda.pl\",\"ostroleka.pl\",\"ostrowiec.pl\",\"ostrowwlkp.pl\",\"pila.pl\",\"pisz.pl\",\"podhale.pl\",\"podlasie.pl\",\"polkowice.pl\",\"pomorze.pl\",\"pomorskie.pl\",\"prochowice.pl\",\"pruszkow.pl\",\"przeworsk.pl\",\"pulawy.pl\",\"radom.pl\",\"rawa-maz.pl\",\"rybnik.pl\",\"rzeszow.pl\",\"sanok.pl\",\"sejny.pl\",\"slask.pl\",\"slupsk.pl\",\"sosnowiec.pl\",\"stalowa-wola.pl\",\"skoczow.pl\",\"starachowice.pl\",\"stargard.pl\",\"suwalki.pl\",\"swidnica.pl\",\"swiebodzin.pl\",\"swinoujscie.pl\",\"szczecin.pl\",\"szczytno.pl\",\"tarnobrzeg.pl\",\"tgory.pl\",\"turek.pl\",\"tychy.pl\",\"ustka.pl\",\"walbrzych.pl\",\"warmia.pl\",\"warszawa.pl\",\"waw.pl\",\"wegrow.pl\",\"wielun.pl\",\"wlocl.pl\",\"wloclawek.pl\",\"wodzislaw.pl\",\"wolomin.pl\",\"wroclaw.pl\",\"zachpomor.pl\",\"zagan.pl\",\"zarow.pl\",\"zgora.pl\",\"zgorzelec.pl\",\"pm\",\"pn\",\"gov.pn\",\"co.pn\",\"org.pn\",\"edu.pn\",\"net.pn\",\"post\",\"pr\",\"com.pr\",\"net.pr\",\"org.pr\",\"gov.pr\",\"edu.pr\",\"isla.pr\",\"pro.pr\",\"biz.pr\",\"info.pr\",\"name.pr\",\"est.pr\",\"prof.pr\",\"ac.pr\",\"pro\",\"aaa.pro\",\"aca.pro\",\"acct.pro\",\"avocat.pro\",\"bar.pro\",\"cpa.pro\",\"eng.pro\",\"jur.pro\",\"law.pro\",\"med.pro\",\"recht.pro\",\"ps\",\"edu.ps\",\"gov.ps\",\"sec.ps\",\"plo.ps\",\"com.ps\",\"org.ps\",\"net.ps\",\"pt\",\"net.pt\",\"gov.pt\",\"org.pt\",\"edu.pt\",\"int.pt\",\"publ.pt\",\"com.pt\",\"nome.pt\",\"pw\",\"co.pw\",\"ne.pw\",\"or.pw\",\"ed.pw\",\"go.pw\",\"belau.pw\",\"py\",\"com.py\",\"coop.py\",\"edu.py\",\"gov.py\",\"mil.py\",\"net.py\",\"org.py\",\"qa\",\"com.qa\",\"edu.qa\",\"gov.qa\",\"mil.qa\",\"name.qa\",\"net.qa\",\"org.qa\",\"sch.qa\",\"re\",\"asso.re\",\"com.re\",\"nom.re\",\"ro\",\"arts.ro\",\"com.ro\",\"firm.ro\",\"info.ro\",\"nom.ro\",\"nt.ro\",\"org.ro\",\"rec.ro\",\"store.ro\",\"tm.ro\",\"www.ro\",\"rs\",\"ac.rs\",\"co.rs\",\"edu.rs\",\"gov.rs\",\"in.rs\",\"org.rs\",\"ru\",\"ac.ru\",\"edu.ru\",\"gov.ru\",\"int.ru\",\"mil.ru\",\"test.ru\",\"rw\",\"gov.rw\",\"net.rw\",\"edu.rw\",\"ac.rw\",\"com.rw\",\"co.rw\",\"int.rw\",\"mil.rw\",\"gouv.rw\",\"sa\",\"com.sa\",\"net.sa\",\"org.sa\",\"gov.sa\",\"med.sa\",\"pub.sa\",\"edu.sa\",\"sch.sa\",\"sb\",\"com.sb\",\"edu.sb\",\"gov.sb\",\"net.sb\",\"org.sb\",\"sc\",\"com.sc\",\"gov.sc\",\"net.sc\",\"org.sc\",\"edu.sc\",\"sd\",\"com.sd\",\"net.sd\",\"org.sd\",\"edu.sd\",\"med.sd\",\"tv.sd\",\"gov.sd\",\"info.sd\",\"se\",\"a.se\",\"ac.se\",\"b.se\",\"bd.se\",\"brand.se\",\"c.se\",\"d.se\",\"e.se\",\"f.se\",\"fh.se\",\"fhsk.se\",\"fhv.se\",\"g.se\",\"h.se\",\"i.se\",\"k.se\",\"komforb.se\",\"kommunalforbund.se\",\"komvux.se\",\"l.se\",\"lanbib.se\",\"m.se\",\"n.se\",\"naturbruksgymn.se\",\"o.se\",\"org.se\",\"p.se\",\"parti.se\",\"pp.se\",\"press.se\",\"r.se\",\"s.se\",\"t.se\",\"tm.se\",\"u.se\",\"w.se\",\"x.se\",\"y.se\",\"z.se\",\"sg\",\"com.sg\",\"net.sg\",\"org.sg\",\"gov.sg\",\"edu.sg\",\"per.sg\",\"sh\",\"com.sh\",\"net.sh\",\"gov.sh\",\"org.sh\",\"mil.sh\",\"si\",\"sj\",\"sk\",\"sl\",\"com.sl\",\"net.sl\",\"edu.sl\",\"gov.sl\",\"org.sl\",\"sm\",\"sn\",\"art.sn\",\"com.sn\",\"edu.sn\",\"gouv.sn\",\"org.sn\",\"perso.sn\",\"univ.sn\",\"so\",\"com.so\",\"net.so\",\"org.so\",\"sr\",\"st\",\"co.st\",\"com.st\",\"consulado.st\",\"edu.st\",\"embaixada.st\",\"gov.st\",\"mil.st\",\"net.st\",\"org.st\",\"principe.st\",\"saotome.st\",\"store.st\",\"su\",\"sv\",\"com.sv\",\"edu.sv\",\"gob.sv\",\"org.sv\",\"red.sv\",\"sx\",\"gov.sx\",\"sy\",\"edu.sy\",\"gov.sy\",\"net.sy\",\"mil.sy\",\"com.sy\",\"org.sy\",\"sz\",\"co.sz\",\"ac.sz\",\"org.sz\",\"tc\",\"td\",\"tel\",\"tf\",\"tg\",\"th\",\"ac.th\",\"co.th\",\"go.th\",\"in.th\",\"mi.th\",\"net.th\",\"or.th\",\"tj\",\"ac.tj\",\"biz.tj\",\"co.tj\",\"com.tj\",\"edu.tj\",\"go.tj\",\"gov.tj\",\"int.tj\",\"mil.tj\",\"name.tj\",\"net.tj\",\"nic.tj\",\"org.tj\",\"test.tj\",\"web.tj\",\"tk\",\"tl\",\"gov.tl\",\"tm\",\"com.tm\",\"co.tm\",\"org.tm\",\"net.tm\",\"nom.tm\",\"gov.tm\",\"mil.tm\",\"edu.tm\",\"tn\",\"com.tn\",\"ens.tn\",\"fin.tn\",\"gov.tn\",\"ind.tn\",\"intl.tn\",\"nat.tn\",\"net.tn\",\"org.tn\",\"info.tn\",\"perso.tn\",\"tourism.tn\",\"edunet.tn\",\"rnrt.tn\",\"rns.tn\",\"rnu.tn\",\"mincom.tn\",\"agrinet.tn\",\"defense.tn\",\"turen.tn\",\"to\",\"com.to\",\"gov.to\",\"net.to\",\"org.to\",\"edu.to\",\"mil.to\",\"tr\",\"com.tr\",\"info.tr\",\"biz.tr\",\"net.tr\",\"org.tr\",\"web.tr\",\"gen.tr\",\"tv.tr\",\"av.tr\",\"dr.tr\",\"bbs.tr\",\"name.tr\",\"tel.tr\",\"gov.tr\",\"bel.tr\",\"pol.tr\",\"mil.tr\",\"k12.tr\",\"edu.tr\",\"kep.tr\",\"nc.tr\",\"gov.nc.tr\",\"tt\",\"co.tt\",\"com.tt\",\"org.tt\",\"net.tt\",\"biz.tt\",\"info.tt\",\"pro.tt\",\"int.tt\",\"coop.tt\",\"jobs.tt\",\"mobi.tt\",\"travel.tt\",\"museum.tt\",\"aero.tt\",\"name.tt\",\"gov.tt\",\"edu.tt\",\"tv\",\"tw\",\"edu.tw\",\"gov.tw\",\"mil.tw\",\"com.tw\",\"net.tw\",\"org.tw\",\"idv.tw\",\"game.tw\",\"ebiz.tw\",\"club.tw\",\"網路.tw\",\"組織.tw\",\"商業.tw\",\"tz\",\"ac.tz\",\"co.tz\",\"go.tz\",\"hotel.tz\",\"info.tz\",\"me.tz\",\"mil.tz\",\"mobi.tz\",\"ne.tz\",\"or.tz\",\"sc.tz\",\"tv.tz\",\"ua\",\"com.ua\",\"edu.ua\",\"gov.ua\",\"in.ua\",\"net.ua\",\"org.ua\",\"cherkassy.ua\",\"cherkasy.ua\",\"chernigov.ua\",\"chernihiv.ua\",\"chernivtsi.ua\",\"chernovtsy.ua\",\"ck.ua\",\"cn.ua\",\"cr.ua\",\"crimea.ua\",\"cv.ua\",\"dn.ua\",\"dnepropetrovsk.ua\",\"dnipropetrovsk.ua\",\"dominic.ua\",\"donetsk.ua\",\"dp.ua\",\"if.ua\",\"ivano-frankivsk.ua\",\"kh.ua\",\"kharkiv.ua\",\"kharkov.ua\",\"kherson.ua\",\"khmelnitskiy.ua\",\"khmelnytskyi.ua\",\"kiev.ua\",\"kirovograd.ua\",\"km.ua\",\"kr.ua\",\"krym.ua\",\"ks.ua\",\"kv.ua\",\"kyiv.ua\",\"lg.ua\",\"lt.ua\",\"lugansk.ua\",\"lutsk.ua\",\"lv.ua\",\"lviv.ua\",\"mk.ua\",\"mykolaiv.ua\",\"nikolaev.ua\",\"od.ua\",\"odesa.ua\",\"odessa.ua\",\"pl.ua\",\"poltava.ua\",\"rivne.ua\",\"rovno.ua\",\"rv.ua\",\"sb.ua\",\"sebastopol.ua\",\"sevastopol.ua\",\"sm.ua\",\"sumy.ua\",\"te.ua\",\"ternopil.ua\",\"uz.ua\",\"uzhgorod.ua\",\"vinnica.ua\",\"vinnytsia.ua\",\"vn.ua\",\"volyn.ua\",\"yalta.ua\",\"zaporizhzhe.ua\",\"zaporizhzhia.ua\",\"zhitomir.ua\",\"zhytomyr.ua\",\"zp.ua\",\"zt.ua\",\"ug\",\"co.ug\",\"or.ug\",\"ac.ug\",\"sc.ug\",\"go.ug\",\"ne.ug\",\"com.ug\",\"org.ug\",\"uk\",\"ac.uk\",\"co.uk\",\"gov.uk\",\"ltd.uk\",\"me.uk\",\"net.uk\",\"nhs.uk\",\"org.uk\",\"plc.uk\",\"police.uk\",\"*.sch.uk\",\"us\",\"dni.us\",\"fed.us\",\"isa.us\",\"kids.us\",\"nsn.us\",\"ak.us\",\"al.us\",\"ar.us\",\"as.us\",\"az.us\",\"ca.us\",\"co.us\",\"ct.us\",\"dc.us\",\"de.us\",\"fl.us\",\"ga.us\",\"gu.us\",\"hi.us\",\"ia.us\",\"id.us\",\"il.us\",\"in.us\",\"ks.us\",\"ky.us\",\"la.us\",\"ma.us\",\"md.us\",\"me.us\",\"mi.us\",\"mn.us\",\"mo.us\",\"ms.us\",\"mt.us\",\"nc.us\",\"nd.us\",\"ne.us\",\"nh.us\",\"nj.us\",\"nm.us\",\"nv.us\",\"ny.us\",\"oh.us\",\"ok.us\",\"or.us\",\"pa.us\",\"pr.us\",\"ri.us\",\"sc.us\",\"sd.us\",\"tn.us\",\"tx.us\",\"ut.us\",\"vi.us\",\"vt.us\",\"va.us\",\"wa.us\",\"wi.us\",\"wv.us\",\"wy.us\",\"k12.ak.us\",\"k12.al.us\",\"k12.ar.us\",\"k12.as.us\",\"k12.az.us\",\"k12.ca.us\",\"k12.co.us\",\"k12.ct.us\",\"k12.dc.us\",\"k12.de.us\",\"k12.fl.us\",\"k12.ga.us\",\"k12.gu.us\",\"k12.ia.us\",\"k12.id.us\",\"k12.il.us\",\"k12.in.us\",\"k12.ks.us\",\"k12.ky.us\",\"k12.la.us\",\"k12.ma.us\",\"k12.md.us\",\"k12.me.us\",\"k12.mi.us\",\"k12.mn.us\",\"k12.mo.us\",\"k12.ms.us\",\"k12.mt.us\",\"k12.nc.us\",\"k12.ne.us\",\"k12.nh.us\",\"k12.nj.us\",\"k12.nm.us\",\"k12.nv.us\",\"k12.ny.us\",\"k12.oh.us\",\"k12.ok.us\",\"k12.or.us\",\"k12.pa.us\",\"k12.pr.us\",\"k12.ri.us\",\"k12.sc.us\",\"k12.tn.us\",\"k12.tx.us\",\"k12.ut.us\",\"k12.vi.us\",\"k12.vt.us\",\"k12.va.us\",\"k12.wa.us\",\"k12.wi.us\",\"k12.wy.us\",\"cc.ak.us\",\"cc.al.us\",\"cc.ar.us\",\"cc.as.us\",\"cc.az.us\",\"cc.ca.us\",\"cc.co.us\",\"cc.ct.us\",\"cc.dc.us\",\"cc.de.us\",\"cc.fl.us\",\"cc.ga.us\",\"cc.gu.us\",\"cc.hi.us\",\"cc.ia.us\",\"cc.id.us\",\"cc.il.us\",\"cc.in.us\",\"cc.ks.us\",\"cc.ky.us\",\"cc.la.us\",\"cc.ma.us\",\"cc.md.us\",\"cc.me.us\",\"cc.mi.us\",\"cc.mn.us\",\"cc.mo.us\",\"cc.ms.us\",\"cc.mt.us\",\"cc.nc.us\",\"cc.nd.us\",\"cc.ne.us\",\"cc.nh.us\",\"cc.nj.us\",\"cc.nm.us\",\"cc.nv.us\",\"cc.ny.us\",\"cc.oh.us\",\"cc.ok.us\",\"cc.or.us\",\"cc.pa.us\",\"cc.pr.us\",\"cc.ri.us\",\"cc.sc.us\",\"cc.sd.us\",\"cc.tn.us\",\"cc.tx.us\",\"cc.ut.us\",\"cc.vi.us\",\"cc.vt.us\",\"cc.va.us\",\"cc.wa.us\",\"cc.wi.us\",\"cc.wv.us\",\"cc.wy.us\",\"lib.ak.us\",\"lib.al.us\",\"lib.ar.us\",\"lib.as.us\",\"lib.az.us\",\"lib.ca.us\",\"lib.co.us\",\"lib.ct.us\",\"lib.dc.us\",\"lib.fl.us\",\"lib.ga.us\",\"lib.gu.us\",\"lib.hi.us\",\"lib.ia.us\",\"lib.id.us\",\"lib.il.us\",\"lib.in.us\",\"lib.ks.us\",\"lib.ky.us\",\"lib.la.us\",\"lib.ma.us\",\"lib.md.us\",\"lib.me.us\",\"lib.mi.us\",\"lib.mn.us\",\"lib.mo.us\",\"lib.ms.us\",\"lib.mt.us\",\"lib.nc.us\",\"lib.nd.us\",\"lib.ne.us\",\"lib.nh.us\",\"lib.nj.us\",\"lib.nm.us\",\"lib.nv.us\",\"lib.ny.us\",\"lib.oh.us\",\"lib.ok.us\",\"lib.or.us\",\"lib.pa.us\",\"lib.pr.us\",\"lib.ri.us\",\"lib.sc.us\",\"lib.sd.us\",\"lib.tn.us\",\"lib.tx.us\",\"lib.ut.us\",\"lib.vi.us\",\"lib.vt.us\",\"lib.va.us\",\"lib.wa.us\",\"lib.wi.us\",\"lib.wy.us\",\"pvt.k12.ma.us\",\"chtr.k12.ma.us\",\"paroch.k12.ma.us\",\"ann-arbor.mi.us\",\"cog.mi.us\",\"dst.mi.us\",\"eaton.mi.us\",\"gen.mi.us\",\"mus.mi.us\",\"tec.mi.us\",\"washtenaw.mi.us\",\"uy\",\"com.uy\",\"edu.uy\",\"gub.uy\",\"mil.uy\",\"net.uy\",\"org.uy\",\"uz\",\"co.uz\",\"com.uz\",\"net.uz\",\"org.uz\",\"va\",\"vc\",\"com.vc\",\"net.vc\",\"org.vc\",\"gov.vc\",\"mil.vc\",\"edu.vc\",\"ve\",\"arts.ve\",\"co.ve\",\"com.ve\",\"e12.ve\",\"edu.ve\",\"firm.ve\",\"gob.ve\",\"gov.ve\",\"info.ve\",\"int.ve\",\"mil.ve\",\"net.ve\",\"org.ve\",\"rec.ve\",\"store.ve\",\"tec.ve\",\"web.ve\",\"vg\",\"vi\",\"co.vi\",\"com.vi\",\"k12.vi\",\"net.vi\",\"org.vi\",\"vn\",\"com.vn\",\"net.vn\",\"org.vn\",\"edu.vn\",\"gov.vn\",\"int.vn\",\"ac.vn\",\"biz.vn\",\"info.vn\",\"name.vn\",\"pro.vn\",\"health.vn\",\"vu\",\"com.vu\",\"edu.vu\",\"net.vu\",\"org.vu\",\"wf\",\"ws\",\"com.ws\",\"net.ws\",\"org.ws\",\"gov.ws\",\"edu.ws\",\"yt\",\"امارات\",\"հայ\",\"বাংলা\",\"бг\",\"бел\",\"中国\",\"中國\",\"الجزائر\",\"مصر\",\"ею\",\"გე\",\"ελ\",\"香港\",\"公司.香港\",\"教育.香港\",\"政府.香港\",\"個人.香港\",\"網絡.香港\",\"組織.香港\",\"ಭಾರತ\",\"ଭାରତ\",\"ভাৰত\",\"भारतम्\",\"भारोत\",\"ڀارت\",\"ഭാരതം\",\"भारत\",\"بارت\",\"بھارت\",\"భారత్\",\"ભારત\",\"ਭਾਰਤ\",\"ভারত\",\"இந்தியா\",\"ایران\",\"ايران\",\"عراق\",\"الاردن\",\"한국\",\"қаз\",\"ලංකා\",\"இலங்கை\",\"المغرب\",\"мкд\",\"мон\",\"澳門\",\"澳门\",\"مليسيا\",\"عمان\",\"پاکستان\",\"پاكستان\",\"فلسطين\",\"срб\",\"пр.срб\",\"орг.срб\",\"обр.срб\",\"од.срб\",\"упр.срб\",\"ак.срб\",\"рф\",\"قطر\",\"السعودية\",\"السعودیة\",\"السعودیۃ\",\"السعوديه\",\"سودان\",\"新加坡\",\"சிங்கப்பூர்\",\"سورية\",\"سوريا\",\"ไทย\",\"ศึกษา.ไทย\",\"ธุรกิจ.ไทย\",\"รัฐบาล.ไทย\",\"ทหาร.ไทย\",\"เน็ต.ไทย\",\"องค์กร.ไทย\",\"تونس\",\"台灣\",\"台湾\",\"臺灣\",\"укр\",\"اليمن\",\"xxx\",\"*.ye\",\"ac.za\",\"agric.za\",\"alt.za\",\"co.za\",\"edu.za\",\"gov.za\",\"grondar.za\",\"law.za\",\"mil.za\",\"net.za\",\"ngo.za\",\"nis.za\",\"nom.za\",\"org.za\",\"school.za\",\"tm.za\",\"web.za\",\"zm\",\"ac.zm\",\"biz.zm\",\"co.zm\",\"com.zm\",\"edu.zm\",\"gov.zm\",\"info.zm\",\"mil.zm\",\"net.zm\",\"org.zm\",\"sch.zm\",\"zw\",\"ac.zw\",\"co.zw\",\"gov.zw\",\"mil.zw\",\"org.zw\",\"aaa\",\"aarp\",\"abarth\",\"abb\",\"abbott\",\"abbvie\",\"abc\",\"able\",\"abogado\",\"abudhabi\",\"academy\",\"accenture\",\"accountant\",\"accountants\",\"aco\",\"active\",\"actor\",\"adac\",\"ads\",\"adult\",\"aeg\",\"aetna\",\"afamilycompany\",\"afl\",\"africa\",\"agakhan\",\"agency\",\"aig\",\"aigo\",\"airbus\",\"airforce\",\"airtel\",\"akdn\",\"alfaromeo\",\"alibaba\",\"alipay\",\"allfinanz\",\"allstate\",\"ally\",\"alsace\",\"alstom\",\"americanexpress\",\"americanfamily\",\"amex\",\"amfam\",\"amica\",\"amsterdam\",\"analytics\",\"android\",\"anquan\",\"anz\",\"aol\",\"apartments\",\"app\",\"apple\",\"aquarelle\",\"arab\",\"aramco\",\"archi\",\"army\",\"art\",\"arte\",\"asda\",\"associates\",\"athleta\",\"attorney\",\"auction\",\"audi\",\"audible\",\"audio\",\"auspost\",\"author\",\"auto\",\"autos\",\"avianca\",\"aws\",\"axa\",\"azure\",\"baby\",\"baidu\",\"banamex\",\"bananarepublic\",\"band\",\"bank\",\"bar\",\"barcelona\",\"barclaycard\",\"barclays\",\"barefoot\",\"bargains\",\"baseball\",\"basketball\",\"bauhaus\",\"bayern\",\"bbc\",\"bbt\",\"bbva\",\"bcg\",\"bcn\",\"beats\",\"beauty\",\"beer\",\"bentley\",\"berlin\",\"best\",\"bestbuy\",\"bet\",\"bharti\",\"bible\",\"bid\",\"bike\",\"bing\",\"bingo\",\"bio\",\"black\",\"blackfriday\",\"blanco\",\"blockbuster\",\"blog\",\"bloomberg\",\"blue\",\"bms\",\"bmw\",\"bnl\",\"bnpparibas\",\"boats\",\"boehringer\",\"bofa\",\"bom\",\"bond\",\"boo\",\"book\",\"booking\",\"bosch\",\"bostik\",\"boston\",\"bot\",\"boutique\",\"box\",\"bradesco\",\"bridgestone\",\"broadway\",\"broker\",\"brother\",\"brussels\",\"budapest\",\"bugatti\",\"build\",\"builders\",\"business\",\"buy\",\"buzz\",\"bzh\",\"cab\",\"cafe\",\"cal\",\"call\",\"calvinklein\",\"cam\",\"camera\",\"camp\",\"cancerresearch\",\"canon\",\"capetown\",\"capital\",\"capitalone\",\"car\",\"caravan\",\"cards\",\"care\",\"career\",\"careers\",\"cars\",\"cartier\",\"casa\",\"case\",\"caseih\",\"cash\",\"casino\",\"catering\",\"catholic\",\"cba\",\"cbn\",\"cbre\",\"cbs\",\"ceb\",\"center\",\"ceo\",\"cern\",\"cfa\",\"cfd\",\"chanel\",\"channel\",\"charity\",\"chase\",\"chat\",\"cheap\",\"chintai\",\"christmas\",\"chrome\",\"chrysler\",\"church\",\"cipriani\",\"circle\",\"cisco\",\"citadel\",\"citi\",\"citic\",\"city\",\"cityeats\",\"claims\",\"cleaning\",\"click\",\"clinic\",\"clinique\",\"clothing\",\"cloud\",\"club\",\"clubmed\",\"coach\",\"codes\",\"coffee\",\"college\",\"cologne\",\"comcast\",\"commbank\",\"community\",\"company\",\"compare\",\"computer\",\"comsec\",\"condos\",\"construction\",\"consulting\",\"contact\",\"contractors\",\"cooking\",\"cookingchannel\",\"cool\",\"corsica\",\"country\",\"coupon\",\"coupons\",\"courses\",\"credit\",\"creditcard\",\"creditunion\",\"cricket\",\"crown\",\"crs\",\"cruise\",\"cruises\",\"csc\",\"cuisinella\",\"cymru\",\"cyou\",\"dabur\",\"dad\",\"dance\",\"data\",\"date\",\"dating\",\"datsun\",\"day\",\"dclk\",\"dds\",\"deal\",\"dealer\",\"deals\",\"degree\",\"delivery\",\"dell\",\"deloitte\",\"delta\",\"democrat\",\"dental\",\"dentist\",\"desi\",\"design\",\"dev\",\"dhl\",\"diamonds\",\"diet\",\"digital\",\"direct\",\"directory\",\"discount\",\"discover\",\"dish\",\"diy\",\"dnp\",\"docs\",\"doctor\",\"dodge\",\"dog\",\"doha\",\"domains\",\"dot\",\"download\",\"drive\",\"dtv\",\"dubai\",\"duck\",\"dunlop\",\"duns\",\"dupont\",\"durban\",\"dvag\",\"dvr\",\"earth\",\"eat\",\"eco\",\"edeka\",\"education\",\"email\",\"emerck\",\"energy\",\"engineer\",\"engineering\",\"enterprises\",\"epost\",\"epson\",\"equipment\",\"ericsson\",\"erni\",\"esq\",\"estate\",\"esurance\",\"etisalat\",\"eurovision\",\"eus\",\"events\",\"everbank\",\"exchange\",\"expert\",\"exposed\",\"express\",\"extraspace\",\"fage\",\"fail\",\"fairwinds\",\"faith\",\"family\",\"fan\",\"fans\",\"farm\",\"farmers\",\"fashion\",\"fast\",\"fedex\",\"feedback\",\"ferrari\",\"ferrero\",\"fiat\",\"fidelity\",\"fido\",\"film\",\"final\",\"finance\",\"financial\",\"fire\",\"firestone\",\"firmdale\",\"fish\",\"fishing\",\"fit\",\"fitness\",\"flickr\",\"flights\",\"flir\",\"florist\",\"flowers\",\"fly\",\"foo\",\"food\",\"foodnetwork\",\"football\",\"ford\",\"forex\",\"forsale\",\"forum\",\"foundation\",\"fox\",\"free\",\"fresenius\",\"frl\",\"frogans\",\"frontdoor\",\"frontier\",\"ftr\",\"fujitsu\",\"fujixerox\",\"fun\",\"fund\",\"furniture\",\"futbol\",\"fyi\",\"gal\",\"gallery\",\"gallo\",\"gallup\",\"game\",\"games\",\"gap\",\"garden\",\"gbiz\",\"gdn\",\"gea\",\"gent\",\"genting\",\"george\",\"ggee\",\"gift\",\"gifts\",\"gives\",\"giving\",\"glade\",\"glass\",\"gle\",\"global\",\"globo\",\"gmail\",\"gmbh\",\"gmo\",\"gmx\",\"godaddy\",\"gold\",\"goldpoint\",\"golf\",\"goo\",\"goodyear\",\"goog\",\"google\",\"gop\",\"got\",\"grainger\",\"graphics\",\"gratis\",\"green\",\"gripe\",\"grocery\",\"group\",\"guardian\",\"gucci\",\"guge\",\"guide\",\"guitars\",\"guru\",\"hair\",\"hamburg\",\"hangout\",\"haus\",\"hbo\",\"hdfc\",\"hdfcbank\",\"health\",\"healthcare\",\"help\",\"helsinki\",\"here\",\"hermes\",\"hgtv\",\"hiphop\",\"hisamitsu\",\"hitachi\",\"hiv\",\"hkt\",\"hockey\",\"holdings\",\"holiday\",\"homedepot\",\"homegoods\",\"homes\",\"homesense\",\"honda\",\"honeywell\",\"horse\",\"hospital\",\"host\",\"hosting\",\"hot\",\"hoteles\",\"hotels\",\"hotmail\",\"house\",\"how\",\"hsbc\",\"hughes\",\"hyatt\",\"hyundai\",\"ibm\",\"icbc\",\"ice\",\"icu\",\"ieee\",\"ifm\",\"ikano\",\"imamat\",\"imdb\",\"immo\",\"immobilien\",\"inc\",\"industries\",\"infiniti\",\"ing\",\"ink\",\"institute\",\"insurance\",\"insure\",\"intel\",\"international\",\"intuit\",\"investments\",\"ipiranga\",\"irish\",\"iselect\",\"ismaili\",\"ist\",\"istanbul\",\"itau\",\"itv\",\"iveco\",\"jaguar\",\"java\",\"jcb\",\"jcp\",\"jeep\",\"jetzt\",\"jewelry\",\"jio\",\"jll\",\"jmp\",\"jnj\",\"joburg\",\"jot\",\"joy\",\"jpmorgan\",\"jprs\",\"juegos\",\"juniper\",\"kaufen\",\"kddi\",\"kerryhotels\",\"kerrylogistics\",\"kerryproperties\",\"kfh\",\"kia\",\"kim\",\"kinder\",\"kindle\",\"kitchen\",\"kiwi\",\"koeln\",\"komatsu\",\"kosher\",\"kpmg\",\"kpn\",\"krd\",\"kred\",\"kuokgroup\",\"kyoto\",\"lacaixa\",\"ladbrokes\",\"lamborghini\",\"lamer\",\"lancaster\",\"lancia\",\"lancome\",\"land\",\"landrover\",\"lanxess\",\"lasalle\",\"lat\",\"latino\",\"latrobe\",\"law\",\"lawyer\",\"lds\",\"lease\",\"leclerc\",\"lefrak\",\"legal\",\"lego\",\"lexus\",\"lgbt\",\"liaison\",\"lidl\",\"life\",\"lifeinsurance\",\"lifestyle\",\"lighting\",\"like\",\"lilly\",\"limited\",\"limo\",\"lincoln\",\"linde\",\"link\",\"lipsy\",\"live\",\"living\",\"lixil\",\"llc\",\"loan\",\"loans\",\"locker\",\"locus\",\"loft\",\"lol\",\"london\",\"lotte\",\"lotto\",\"love\",\"lpl\",\"lplfinancial\",\"ltd\",\"ltda\",\"lundbeck\",\"lupin\",\"luxe\",\"luxury\",\"macys\",\"madrid\",\"maif\",\"maison\",\"makeup\",\"man\",\"management\",\"mango\",\"map\",\"market\",\"marketing\",\"markets\",\"marriott\",\"marshalls\",\"maserati\",\"mattel\",\"mba\",\"mckinsey\",\"med\",\"media\",\"meet\",\"melbourne\",\"meme\",\"memorial\",\"men\",\"menu\",\"merckmsd\",\"metlife\",\"miami\",\"microsoft\",\"mini\",\"mint\",\"mit\",\"mitsubishi\",\"mlb\",\"mls\",\"mma\",\"mobile\",\"mobily\",\"moda\",\"moe\",\"moi\",\"mom\",\"monash\",\"money\",\"monster\",\"mopar\",\"mormon\",\"mortgage\",\"moscow\",\"moto\",\"motorcycles\",\"mov\",\"movie\",\"movistar\",\"msd\",\"mtn\",\"mtr\",\"mutual\",\"nab\",\"nadex\",\"nagoya\",\"nationwide\",\"natura\",\"navy\",\"nba\",\"nec\",\"netbank\",\"netflix\",\"network\",\"neustar\",\"new\",\"newholland\",\"news\",\"next\",\"nextdirect\",\"nexus\",\"nfl\",\"ngo\",\"nhk\",\"nico\",\"nike\",\"nikon\",\"ninja\",\"nissan\",\"nissay\",\"nokia\",\"northwesternmutual\",\"norton\",\"now\",\"nowruz\",\"nowtv\",\"nra\",\"nrw\",\"ntt\",\"nyc\",\"obi\",\"observer\",\"off\",\"office\",\"okinawa\",\"olayan\",\"olayangroup\",\"oldnavy\",\"ollo\",\"omega\",\"one\",\"ong\",\"onl\",\"online\",\"onyourside\",\"ooo\",\"open\",\"oracle\",\"orange\",\"organic\",\"origins\",\"osaka\",\"otsuka\",\"ott\",\"ovh\",\"page\",\"panasonic\",\"paris\",\"pars\",\"partners\",\"parts\",\"party\",\"passagens\",\"pay\",\"pccw\",\"pet\",\"pfizer\",\"pharmacy\",\"phd\",\"philips\",\"phone\",\"photo\",\"photography\",\"photos\",\"physio\",\"piaget\",\"pics\",\"pictet\",\"pictures\",\"pid\",\"pin\",\"ping\",\"pink\",\"pioneer\",\"pizza\",\"place\",\"play\",\"playstation\",\"plumbing\",\"plus\",\"pnc\",\"pohl\",\"poker\",\"politie\",\"porn\",\"pramerica\",\"praxi\",\"press\",\"prime\",\"prod\",\"productions\",\"prof\",\"progressive\",\"promo\",\"properties\",\"property\",\"protection\",\"pru\",\"prudential\",\"pub\",\"pwc\",\"qpon\",\"quebec\",\"quest\",\"qvc\",\"racing\",\"radio\",\"raid\",\"read\",\"realestate\",\"realtor\",\"realty\",\"recipes\",\"red\",\"redstone\",\"redumbrella\",\"rehab\",\"reise\",\"reisen\",\"reit\",\"reliance\",\"ren\",\"rent\",\"rentals\",\"repair\",\"report\",\"republican\",\"rest\",\"restaurant\",\"review\",\"reviews\",\"rexroth\",\"rich\",\"richardli\",\"ricoh\",\"rightathome\",\"ril\",\"rio\",\"rip\",\"rmit\",\"rocher\",\"rocks\",\"rodeo\",\"rogers\",\"room\",\"rsvp\",\"rugby\",\"ruhr\",\"run\",\"rwe\",\"ryukyu\",\"saarland\",\"safe\",\"safety\",\"sakura\",\"sale\",\"salon\",\"samsclub\",\"samsung\",\"sandvik\",\"sandvikcoromant\",\"sanofi\",\"sap\",\"sarl\",\"sas\",\"save\",\"saxo\",\"sbi\",\"sbs\",\"sca\",\"scb\",\"schaeffler\",\"schmidt\",\"scholarships\",\"school\",\"schule\",\"schwarz\",\"science\",\"scjohnson\",\"scor\",\"scot\",\"search\",\"seat\",\"secure\",\"security\",\"seek\",\"select\",\"sener\",\"services\",\"ses\",\"seven\",\"sew\",\"sex\",\"sexy\",\"sfr\",\"shangrila\",\"sharp\",\"shaw\",\"shell\",\"shia\",\"shiksha\",\"shoes\",\"shop\",\"shopping\",\"shouji\",\"show\",\"showtime\",\"shriram\",\"silk\",\"sina\",\"singles\",\"site\",\"ski\",\"skin\",\"sky\",\"skype\",\"sling\",\"smart\",\"smile\",\"sncf\",\"soccer\",\"social\",\"softbank\",\"software\",\"sohu\",\"solar\",\"solutions\",\"song\",\"sony\",\"soy\",\"space\",\"spiegel\",\"sport\",\"spot\",\"spreadbetting\",\"srl\",\"srt\",\"stada\",\"staples\",\"star\",\"starhub\",\"statebank\",\"statefarm\",\"statoil\",\"stc\",\"stcgroup\",\"stockholm\",\"storage\",\"store\",\"stream\",\"studio\",\"study\",\"style\",\"sucks\",\"supplies\",\"supply\",\"support\",\"surf\",\"surgery\",\"suzuki\",\"swatch\",\"swiftcover\",\"swiss\",\"sydney\",\"symantec\",\"systems\",\"tab\",\"taipei\",\"talk\",\"taobao\",\"target\",\"tatamotors\",\"tatar\",\"tattoo\",\"tax\",\"taxi\",\"tci\",\"tdk\",\"team\",\"tech\",\"technology\",\"telefonica\",\"temasek\",\"tennis\",\"teva\",\"thd\",\"theater\",\"theatre\",\"tiaa\",\"tickets\",\"tienda\",\"tiffany\",\"tips\",\"tires\",\"tirol\",\"tjmaxx\",\"tjx\",\"tkmaxx\",\"tmall\",\"today\",\"tokyo\",\"tools\",\"top\",\"toray\",\"toshiba\",\"total\",\"tours\",\"town\",\"toyota\",\"toys\",\"trade\",\"trading\",\"training\",\"travel\",\"travelchannel\",\"travelers\",\"travelersinsurance\",\"trust\",\"trv\",\"tube\",\"tui\",\"tunes\",\"tushu\",\"tvs\",\"ubank\",\"ubs\",\"uconnect\",\"unicom\",\"university\",\"uno\",\"uol\",\"ups\",\"vacations\",\"vana\",\"vanguard\",\"vegas\",\"ventures\",\"verisign\",\"versicherung\",\"vet\",\"viajes\",\"video\",\"vig\",\"viking\",\"villas\",\"vin\",\"vip\",\"virgin\",\"visa\",\"vision\",\"vistaprint\",\"viva\",\"vivo\",\"vlaanderen\",\"vodka\",\"volkswagen\",\"volvo\",\"vote\",\"voting\",\"voto\",\"voyage\",\"vuelos\",\"wales\",\"walmart\",\"walter\",\"wang\",\"wanggou\",\"warman\",\"watch\",\"watches\",\"weather\",\"weatherchannel\",\"webcam\",\"weber\",\"website\",\"wed\",\"wedding\",\"weibo\",\"weir\",\"whoswho\",\"wien\",\"wiki\",\"williamhill\",\"win\",\"windows\",\"wine\",\"winners\",\"wme\",\"wolterskluwer\",\"woodside\",\"work\",\"works\",\"world\",\"wow\",\"wtc\",\"wtf\",\"xbox\",\"xerox\",\"xfinity\",\"xihuan\",\"xin\",\"कॉम\",\"セール\",\"佛山\",\"慈善\",\"集团\",\"在线\",\"大众汽车\",\"点看\",\"คอม\",\"八卦\",\"موقع\",\"公益\",\"公司\",\"香格里拉\",\"网站\",\"移动\",\"我爱你\",\"москва\",\"католик\",\"онлайн\",\"сайт\",\"联通\",\"קום\",\"时尚\",\"微博\",\"淡马锡\",\"ファッション\",\"орг\",\"नेट\",\"ストア\",\"삼성\",\"商标\",\"商店\",\"商城\",\"дети\",\"ポイント\",\"新闻\",\"工行\",\"家電\",\"كوم\",\"中文网\",\"中信\",\"娱乐\",\"谷歌\",\"電訊盈科\",\"购物\",\"クラウド\",\"通販\",\"网店\",\"संगठन\",\"餐厅\",\"网络\",\"ком\",\"诺基亚\",\"食品\",\"飞利浦\",\"手表\",\"手机\",\"ارامكو\",\"العليان\",\"اتصالات\",\"بازار\",\"موبايلي\",\"ابوظبي\",\"كاثوليك\",\"همراه\",\"닷컴\",\"政府\",\"شبكة\",\"بيتك\",\"عرب\",\"机构\",\"组织机构\",\"健康\",\"招聘\",\"рус\",\"珠宝\",\"大拿\",\"みんな\",\"グーグル\",\"世界\",\"書籍\",\"网址\",\"닷넷\",\"コム\",\"天主教\",\"游戏\",\"vermögensberater\",\"vermögensberatung\",\"企业\",\"信息\",\"嘉里大酒店\",\"嘉里\",\"广东\",\"政务\",\"xyz\",\"yachts\",\"yahoo\",\"yamaxun\",\"yandex\",\"yodobashi\",\"yoga\",\"yokohama\",\"you\",\"youtube\",\"yun\",\"zappos\",\"zara\",\"zero\",\"zip\",\"zippo\",\"zone\",\"zuerich\",\"cc.ua\",\"inf.ua\",\"ltd.ua\",\"beep.pl\",\"*.compute.estate\",\"*.alces.network\",\"alwaysdata.net\",\"cloudfront.net\",\"*.compute.amazonaws.com\",\"*.compute-1.amazonaws.com\",\"*.compute.amazonaws.com.cn\",\"us-east-1.amazonaws.com\",\"cn-north-1.eb.amazonaws.com.cn\",\"cn-northwest-1.eb.amazonaws.com.cn\",\"elasticbeanstalk.com\",\"ap-northeast-1.elasticbeanstalk.com\",\"ap-northeast-2.elasticbeanstalk.com\",\"ap-northeast-3.elasticbeanstalk.com\",\"ap-south-1.elasticbeanstalk.com\",\"ap-southeast-1.elasticbeanstalk.com\",\"ap-southeast-2.elasticbeanstalk.com\",\"ca-central-1.elasticbeanstalk.com\",\"eu-central-1.elasticbeanstalk.com\",\"eu-west-1.elasticbeanstalk.com\",\"eu-west-2.elasticbeanstalk.com\",\"eu-west-3.elasticbeanstalk.com\",\"sa-east-1.elasticbeanstalk.com\",\"us-east-1.elasticbeanstalk.com\",\"us-east-2.elasticbeanstalk.com\",\"us-gov-west-1.elasticbeanstalk.com\",\"us-west-1.elasticbeanstalk.com\",\"us-west-2.elasticbeanstalk.com\",\"*.elb.amazonaws.com\",\"*.elb.amazonaws.com.cn\",\"s3.amazonaws.com\",\"s3-ap-northeast-1.amazonaws.com\",\"s3-ap-northeast-2.amazonaws.com\",\"s3-ap-south-1.amazonaws.com\",\"s3-ap-southeast-1.amazonaws.com\",\"s3-ap-southeast-2.amazonaws.com\",\"s3-ca-central-1.amazonaws.com\",\"s3-eu-central-1.amazonaws.com\",\"s3-eu-west-1.amazonaws.com\",\"s3-eu-west-2.amazonaws.com\",\"s3-eu-west-3.amazonaws.com\",\"s3-external-1.amazonaws.com\",\"s3-fips-us-gov-west-1.amazonaws.com\",\"s3-sa-east-1.amazonaws.com\",\"s3-us-gov-west-1.amazonaws.com\",\"s3-us-east-2.amazonaws.com\",\"s3-us-west-1.amazonaws.com\",\"s3-us-west-2.amazonaws.com\",\"s3.ap-northeast-2.amazonaws.com\",\"s3.ap-south-1.amazonaws.com\",\"s3.cn-north-1.amazonaws.com.cn\",\"s3.ca-central-1.amazonaws.com\",\"s3.eu-central-1.amazonaws.com\",\"s3.eu-west-2.amazonaws.com\",\"s3.eu-west-3.amazonaws.com\",\"s3.us-east-2.amazonaws.com\",\"s3.dualstack.ap-northeast-1.amazonaws.com\",\"s3.dualstack.ap-northeast-2.amazonaws.com\",\"s3.dualstack.ap-south-1.amazonaws.com\",\"s3.dualstack.ap-southeast-1.amazonaws.com\",\"s3.dualstack.ap-southeast-2.amazonaws.com\",\"s3.dualstack.ca-central-1.amazonaws.com\",\"s3.dualstack.eu-central-1.amazonaws.com\",\"s3.dualstack.eu-west-1.amazonaws.com\",\"s3.dualstack.eu-west-2.amazonaws.com\",\"s3.dualstack.eu-west-3.amazonaws.com\",\"s3.dualstack.sa-east-1.amazonaws.com\",\"s3.dualstack.us-east-1.amazonaws.com\",\"s3.dualstack.us-east-2.amazonaws.com\",\"s3-website-us-east-1.amazonaws.com\",\"s3-website-us-west-1.amazonaws.com\",\"s3-website-us-west-2.amazonaws.com\",\"s3-website-ap-northeast-1.amazonaws.com\",\"s3-website-ap-southeast-1.amazonaws.com\",\"s3-website-ap-southeast-2.amazonaws.com\",\"s3-website-eu-west-1.amazonaws.com\",\"s3-website-sa-east-1.amazonaws.com\",\"s3-website.ap-northeast-2.amazonaws.com\",\"s3-website.ap-south-1.amazonaws.com\",\"s3-website.ca-central-1.amazonaws.com\",\"s3-website.eu-central-1.amazonaws.com\",\"s3-website.eu-west-2.amazonaws.com\",\"s3-website.eu-west-3.amazonaws.com\",\"s3-website.us-east-2.amazonaws.com\",\"t3l3p0rt.net\",\"tele.amune.org\",\"apigee.io\",\"on-aptible.com\",\"user.party.eus\",\"pimienta.org\",\"poivron.org\",\"potager.org\",\"sweetpepper.org\",\"myasustor.com\",\"myfritz.net\",\"*.awdev.ca\",\"*.advisor.ws\",\"backplaneapp.io\",\"betainabox.com\",\"bnr.la\",\"blackbaudcdn.net\",\"boomla.net\",\"boxfuse.io\",\"square7.ch\",\"bplaced.com\",\"bplaced.de\",\"square7.de\",\"bplaced.net\",\"square7.net\",\"browsersafetymark.io\",\"mycd.eu\",\"ae.org\",\"ar.com\",\"br.com\",\"cn.com\",\"com.de\",\"com.se\",\"de.com\",\"eu.com\",\"gb.com\",\"gb.net\",\"hu.com\",\"hu.net\",\"jp.net\",\"jpn.com\",\"kr.com\",\"mex.com\",\"no.com\",\"qc.com\",\"ru.com\",\"sa.com\",\"se.net\",\"uk.com\",\"uk.net\",\"us.com\",\"uy.com\",\"za.bz\",\"za.com\",\"africa.com\",\"gr.com\",\"in.net\",\"us.org\",\"co.com\",\"c.la\",\"certmgr.org\",\"xenapponazure.com\",\"virtueeldomein.nl\",\"cleverapps.io\",\"c66.me\",\"cloud66.ws\",\"jdevcloud.com\",\"wpdevcloud.com\",\"cloudaccess.host\",\"freesite.host\",\"cloudaccess.net\",\"cloudcontrolled.com\",\"cloudcontrolapp.com\",\"co.ca\",\"*.otap.co\",\"co.cz\",\"c.cdn77.org\",\"cdn77-ssl.net\",\"r.cdn77.net\",\"rsc.cdn77.org\",\"ssl.origin.cdn77-secure.org\",\"cloudns.asia\",\"cloudns.biz\",\"cloudns.club\",\"cloudns.cc\",\"cloudns.eu\",\"cloudns.in\",\"cloudns.info\",\"cloudns.org\",\"cloudns.pro\",\"cloudns.pw\",\"cloudns.us\",\"cloudeity.net\",\"cnpy.gdn\",\"co.nl\",\"co.no\",\"webhosting.be\",\"hosting-cluster.nl\",\"dyn.cosidns.de\",\"dynamisches-dns.de\",\"dnsupdater.de\",\"internet-dns.de\",\"l-o-g-i-n.de\",\"dynamic-dns.info\",\"feste-ip.net\",\"knx-server.net\",\"static-access.net\",\"realm.cz\",\"*.cryptonomic.net\",\"cupcake.is\",\"cyon.link\",\"cyon.site\",\"daplie.me\",\"localhost.daplie.me\",\"dattolocal.com\",\"dattorelay.com\",\"dattoweb.com\",\"mydatto.com\",\"dattolocal.net\",\"mydatto.net\",\"biz.dk\",\"co.dk\",\"firm.dk\",\"reg.dk\",\"store.dk\",\"debian.net\",\"dedyn.io\",\"dnshome.de\",\"drayddns.com\",\"dreamhosters.com\",\"mydrobo.com\",\"drud.io\",\"drud.us\",\"duckdns.org\",\"dy.fi\",\"tunk.org\",\"dyndns-at-home.com\",\"dyndns-at-work.com\",\"dyndns-blog.com\",\"dyndns-free.com\",\"dyndns-home.com\",\"dyndns-ip.com\",\"dyndns-mail.com\",\"dyndns-office.com\",\"dyndns-pics.com\",\"dyndns-remote.com\",\"dyndns-server.com\",\"dyndns-web.com\",\"dyndns-wiki.com\",\"dyndns-work.com\",\"dyndns.biz\",\"dyndns.info\",\"dyndns.org\",\"dyndns.tv\",\"at-band-camp.net\",\"ath.cx\",\"barrel-of-knowledge.info\",\"barrell-of-knowledge.info\",\"better-than.tv\",\"blogdns.com\",\"blogdns.net\",\"blogdns.org\",\"blogsite.org\",\"boldlygoingnowhere.org\",\"broke-it.net\",\"buyshouses.net\",\"cechire.com\",\"dnsalias.com\",\"dnsalias.net\",\"dnsalias.org\",\"dnsdojo.com\",\"dnsdojo.net\",\"dnsdojo.org\",\"does-it.net\",\"doesntexist.com\",\"doesntexist.org\",\"dontexist.com\",\"dontexist.net\",\"dontexist.org\",\"doomdns.com\",\"doomdns.org\",\"dvrdns.org\",\"dyn-o-saur.com\",\"dynalias.com\",\"dynalias.net\",\"dynalias.org\",\"dynathome.net\",\"dyndns.ws\",\"endofinternet.net\",\"endofinternet.org\",\"endoftheinternet.org\",\"est-a-la-maison.com\",\"est-a-la-masion.com\",\"est-le-patron.com\",\"est-mon-blogueur.com\",\"for-better.biz\",\"for-more.biz\",\"for-our.info\",\"for-some.biz\",\"for-the.biz\",\"forgot.her.name\",\"forgot.his.name\",\"from-ak.com\",\"from-al.com\",\"from-ar.com\",\"from-az.net\",\"from-ca.com\",\"from-co.net\",\"from-ct.com\",\"from-dc.com\",\"from-de.com\",\"from-fl.com\",\"from-ga.com\",\"from-hi.com\",\"from-ia.com\",\"from-id.com\",\"from-il.com\",\"from-in.com\",\"from-ks.com\",\"from-ky.com\",\"from-la.net\",\"from-ma.com\",\"from-md.com\",\"from-me.org\",\"from-mi.com\",\"from-mn.com\",\"from-mo.com\",\"from-ms.com\",\"from-mt.com\",\"from-nc.com\",\"from-nd.com\",\"from-ne.com\",\"from-nh.com\",\"from-nj.com\",\"from-nm.com\",\"from-nv.com\",\"from-ny.net\",\"from-oh.com\",\"from-ok.com\",\"from-or.com\",\"from-pa.com\",\"from-pr.com\",\"from-ri.com\",\"from-sc.com\",\"from-sd.com\",\"from-tn.com\",\"from-tx.com\",\"from-ut.com\",\"from-va.com\",\"from-vt.com\",\"from-wa.com\",\"from-wi.com\",\"from-wv.com\",\"from-wy.com\",\"ftpaccess.cc\",\"fuettertdasnetz.de\",\"game-host.org\",\"game-server.cc\",\"getmyip.com\",\"gets-it.net\",\"go.dyndns.org\",\"gotdns.com\",\"gotdns.org\",\"groks-the.info\",\"groks-this.info\",\"ham-radio-op.net\",\"here-for-more.info\",\"hobby-site.com\",\"hobby-site.org\",\"home.dyndns.org\",\"homedns.org\",\"homeftp.net\",\"homeftp.org\",\"homeip.net\",\"homelinux.com\",\"homelinux.net\",\"homelinux.org\",\"homeunix.com\",\"homeunix.net\",\"homeunix.org\",\"iamallama.com\",\"in-the-band.net\",\"is-a-anarchist.com\",\"is-a-blogger.com\",\"is-a-bookkeeper.com\",\"is-a-bruinsfan.org\",\"is-a-bulls-fan.com\",\"is-a-candidate.org\",\"is-a-caterer.com\",\"is-a-celticsfan.org\",\"is-a-chef.com\",\"is-a-chef.net\",\"is-a-chef.org\",\"is-a-conservative.com\",\"is-a-cpa.com\",\"is-a-cubicle-slave.com\",\"is-a-democrat.com\",\"is-a-designer.com\",\"is-a-doctor.com\",\"is-a-financialadvisor.com\",\"is-a-geek.com\",\"is-a-geek.net\",\"is-a-geek.org\",\"is-a-green.com\",\"is-a-guru.com\",\"is-a-hard-worker.com\",\"is-a-hunter.com\",\"is-a-knight.org\",\"is-a-landscaper.com\",\"is-a-lawyer.com\",\"is-a-liberal.com\",\"is-a-libertarian.com\",\"is-a-linux-user.org\",\"is-a-llama.com\",\"is-a-musician.com\",\"is-a-nascarfan.com\",\"is-a-nurse.com\",\"is-a-painter.com\",\"is-a-patsfan.org\",\"is-a-personaltrainer.com\",\"is-a-photographer.com\",\"is-a-player.com\",\"is-a-republican.com\",\"is-a-rockstar.com\",\"is-a-socialist.com\",\"is-a-soxfan.org\",\"is-a-student.com\",\"is-a-teacher.com\",\"is-a-techie.com\",\"is-a-therapist.com\",\"is-an-accountant.com\",\"is-an-actor.com\",\"is-an-actress.com\",\"is-an-anarchist.com\",\"is-an-artist.com\",\"is-an-engineer.com\",\"is-an-entertainer.com\",\"is-by.us\",\"is-certified.com\",\"is-found.org\",\"is-gone.com\",\"is-into-anime.com\",\"is-into-cars.com\",\"is-into-cartoons.com\",\"is-into-games.com\",\"is-leet.com\",\"is-lost.org\",\"is-not-certified.com\",\"is-saved.org\",\"is-slick.com\",\"is-uberleet.com\",\"is-very-bad.org\",\"is-very-evil.org\",\"is-very-good.org\",\"is-very-nice.org\",\"is-very-sweet.org\",\"is-with-theband.com\",\"isa-geek.com\",\"isa-geek.net\",\"isa-geek.org\",\"isa-hockeynut.com\",\"issmarterthanyou.com\",\"isteingeek.de\",\"istmein.de\",\"kicks-ass.net\",\"kicks-ass.org\",\"knowsitall.info\",\"land-4-sale.us\",\"lebtimnetz.de\",\"leitungsen.de\",\"likes-pie.com\",\"likescandy.com\",\"merseine.nu\",\"mine.nu\",\"misconfused.org\",\"mypets.ws\",\"myphotos.cc\",\"neat-url.com\",\"office-on-the.net\",\"on-the-web.tv\",\"podzone.net\",\"podzone.org\",\"readmyblog.org\",\"saves-the-whales.com\",\"scrapper-site.net\",\"scrapping.cc\",\"selfip.biz\",\"selfip.com\",\"selfip.info\",\"selfip.net\",\"selfip.org\",\"sells-for-less.com\",\"sells-for-u.com\",\"sells-it.net\",\"sellsyourhome.org\",\"servebbs.com\",\"servebbs.net\",\"servebbs.org\",\"serveftp.net\",\"serveftp.org\",\"servegame.org\",\"shacknet.nu\",\"simple-url.com\",\"space-to-rent.com\",\"stuff-4-sale.org\",\"stuff-4-sale.us\",\"teaches-yoga.com\",\"thruhere.net\",\"traeumtgerade.de\",\"webhop.biz\",\"webhop.info\",\"webhop.net\",\"webhop.org\",\"worse-than.tv\",\"writesthisblog.com\",\"ddnss.de\",\"dyn.ddnss.de\",\"dyndns.ddnss.de\",\"dyndns1.de\",\"dyn-ip24.de\",\"home-webserver.de\",\"dyn.home-webserver.de\",\"myhome-server.de\",\"ddnss.org\",\"definima.net\",\"definima.io\",\"bci.dnstrace.pro\",\"ddnsfree.com\",\"ddnsgeek.com\",\"giize.com\",\"gleeze.com\",\"kozow.com\",\"loseyourip.com\",\"ooguy.com\",\"theworkpc.com\",\"casacam.net\",\"dynu.net\",\"accesscam.org\",\"camdvr.org\",\"freeddns.org\",\"mywire.org\",\"webredirect.org\",\"myddns.rocks\",\"blogsite.xyz\",\"dynv6.net\",\"e4.cz\",\"mytuleap.com\",\"enonic.io\",\"customer.enonic.io\",\"eu.org\",\"al.eu.org\",\"asso.eu.org\",\"at.eu.org\",\"au.eu.org\",\"be.eu.org\",\"bg.eu.org\",\"ca.eu.org\",\"cd.eu.org\",\"ch.eu.org\",\"cn.eu.org\",\"cy.eu.org\",\"cz.eu.org\",\"de.eu.org\",\"dk.eu.org\",\"edu.eu.org\",\"ee.eu.org\",\"es.eu.org\",\"fi.eu.org\",\"fr.eu.org\",\"gr.eu.org\",\"hr.eu.org\",\"hu.eu.org\",\"ie.eu.org\",\"il.eu.org\",\"in.eu.org\",\"int.eu.org\",\"is.eu.org\",\"it.eu.org\",\"jp.eu.org\",\"kr.eu.org\",\"lt.eu.org\",\"lu.eu.org\",\"lv.eu.org\",\"mc.eu.org\",\"me.eu.org\",\"mk.eu.org\",\"mt.eu.org\",\"my.eu.org\",\"net.eu.org\",\"ng.eu.org\",\"nl.eu.org\",\"no.eu.org\",\"nz.eu.org\",\"paris.eu.org\",\"pl.eu.org\",\"pt.eu.org\",\"q-a.eu.org\",\"ro.eu.org\",\"ru.eu.org\",\"se.eu.org\",\"si.eu.org\",\"sk.eu.org\",\"tr.eu.org\",\"uk.eu.org\",\"us.eu.org\",\"eu-1.evennode.com\",\"eu-2.evennode.com\",\"eu-3.evennode.com\",\"eu-4.evennode.com\",\"us-1.evennode.com\",\"us-2.evennode.com\",\"us-3.evennode.com\",\"us-4.evennode.com\",\"twmail.cc\",\"twmail.net\",\"twmail.org\",\"mymailer.com.tw\",\"url.tw\",\"apps.fbsbx.com\",\"ru.net\",\"adygeya.ru\",\"bashkiria.ru\",\"bir.ru\",\"cbg.ru\",\"com.ru\",\"dagestan.ru\",\"grozny.ru\",\"kalmykia.ru\",\"kustanai.ru\",\"marine.ru\",\"mordovia.ru\",\"msk.ru\",\"mytis.ru\",\"nalchik.ru\",\"nov.ru\",\"pyatigorsk.ru\",\"spb.ru\",\"vladikavkaz.ru\",\"vladimir.ru\",\"abkhazia.su\",\"adygeya.su\",\"aktyubinsk.su\",\"arkhangelsk.su\",\"armenia.su\",\"ashgabad.su\",\"azerbaijan.su\",\"balashov.su\",\"bashkiria.su\",\"bryansk.su\",\"bukhara.su\",\"chimkent.su\",\"dagestan.su\",\"east-kazakhstan.su\",\"exnet.su\",\"georgia.su\",\"grozny.su\",\"ivanovo.su\",\"jambyl.su\",\"kalmykia.su\",\"kaluga.su\",\"karacol.su\",\"karaganda.su\",\"karelia.su\",\"khakassia.su\",\"krasnodar.su\",\"kurgan.su\",\"kustanai.su\",\"lenug.su\",\"mangyshlak.su\",\"mordovia.su\",\"msk.su\",\"murmansk.su\",\"nalchik.su\",\"navoi.su\",\"north-kazakhstan.su\",\"nov.su\",\"obninsk.su\",\"penza.su\",\"pokrovsk.su\",\"sochi.su\",\"spb.su\",\"tashkent.su\",\"termez.su\",\"togliatti.su\",\"troitsk.su\",\"tselinograd.su\",\"tula.su\",\"tuva.su\",\"vladikavkaz.su\",\"vladimir.su\",\"vologda.su\",\"channelsdvr.net\",\"fastlylb.net\",\"map.fastlylb.net\",\"freetls.fastly.net\",\"map.fastly.net\",\"a.prod.fastly.net\",\"global.prod.fastly.net\",\"a.ssl.fastly.net\",\"b.ssl.fastly.net\",\"global.ssl.fastly.net\",\"fastpanel.direct\",\"fastvps-server.com\",\"fhapp.xyz\",\"fedorainfracloud.org\",\"fedorapeople.org\",\"cloud.fedoraproject.org\",\"app.os.fedoraproject.org\",\"app.os.stg.fedoraproject.org\",\"filegear.me\",\"firebaseapp.com\",\"flynnhub.com\",\"flynnhosting.net\",\"freebox-os.com\",\"freeboxos.com\",\"fbx-os.fr\",\"fbxos.fr\",\"freebox-os.fr\",\"freeboxos.fr\",\"freedesktop.org\",\"*.futurecms.at\",\"*.ex.futurecms.at\",\"*.in.futurecms.at\",\"futurehosting.at\",\"futuremailing.at\",\"*.ex.ortsinfo.at\",\"*.kunden.ortsinfo.at\",\"*.statics.cloud\",\"service.gov.uk\",\"github.io\",\"githubusercontent.com\",\"gitlab.io\",\"homeoffice.gov.uk\",\"ro.im\",\"shop.ro\",\"goip.de\",\"*.0emm.com\",\"appspot.com\",\"blogspot.ae\",\"blogspot.al\",\"blogspot.am\",\"blogspot.ba\",\"blogspot.be\",\"blogspot.bg\",\"blogspot.bj\",\"blogspot.ca\",\"blogspot.cf\",\"blogspot.ch\",\"blogspot.cl\",\"blogspot.co.at\",\"blogspot.co.id\",\"blogspot.co.il\",\"blogspot.co.ke\",\"blogspot.co.nz\",\"blogspot.co.uk\",\"blogspot.co.za\",\"blogspot.com\",\"blogspot.com.ar\",\"blogspot.com.au\",\"blogspot.com.br\",\"blogspot.com.by\",\"blogspot.com.co\",\"blogspot.com.cy\",\"blogspot.com.ee\",\"blogspot.com.eg\",\"blogspot.com.es\",\"blogspot.com.mt\",\"blogspot.com.ng\",\"blogspot.com.tr\",\"blogspot.com.uy\",\"blogspot.cv\",\"blogspot.cz\",\"blogspot.de\",\"blogspot.dk\",\"blogspot.fi\",\"blogspot.fr\",\"blogspot.gr\",\"blogspot.hk\",\"blogspot.hr\",\"blogspot.hu\",\"blogspot.ie\",\"blogspot.in\",\"blogspot.is\",\"blogspot.it\",\"blogspot.jp\",\"blogspot.kr\",\"blogspot.li\",\"blogspot.lt\",\"blogspot.lu\",\"blogspot.md\",\"blogspot.mk\",\"blogspot.mr\",\"blogspot.mx\",\"blogspot.my\",\"blogspot.nl\",\"blogspot.no\",\"blogspot.pe\",\"blogspot.pt\",\"blogspot.qa\",\"blogspot.re\",\"blogspot.ro\",\"blogspot.rs\",\"blogspot.ru\",\"blogspot.se\",\"blogspot.sg\",\"blogspot.si\",\"blogspot.sk\",\"blogspot.sn\",\"blogspot.td\",\"blogspot.tw\",\"blogspot.ug\",\"blogspot.vn\",\"cloudfunctions.net\",\"cloud.goog\",\"codespot.com\",\"googleapis.com\",\"googlecode.com\",\"pagespeedmobilizer.com\",\"publishproxy.com\",\"withgoogle.com\",\"withyoutube.com\",\"hashbang.sh\",\"hasura.app\",\"hasura-app.io\",\"hepforge.org\",\"herokuapp.com\",\"herokussl.com\",\"myravendb.com\",\"ravendb.community\",\"ravendb.me\",\"development.run\",\"ravendb.run\",\"moonscale.net\",\"iki.fi\",\"biz.at\",\"info.at\",\"info.cx\",\"ac.leg.br\",\"al.leg.br\",\"am.leg.br\",\"ap.leg.br\",\"ba.leg.br\",\"ce.leg.br\",\"df.leg.br\",\"es.leg.br\",\"go.leg.br\",\"ma.leg.br\",\"mg.leg.br\",\"ms.leg.br\",\"mt.leg.br\",\"pa.leg.br\",\"pb.leg.br\",\"pe.leg.br\",\"pi.leg.br\",\"pr.leg.br\",\"rj.leg.br\",\"rn.leg.br\",\"ro.leg.br\",\"rr.leg.br\",\"rs.leg.br\",\"sc.leg.br\",\"se.leg.br\",\"sp.leg.br\",\"to.leg.br\",\"pixolino.com\",\"ipifony.net\",\"mein-iserv.de\",\"test-iserv.de\",\"myjino.ru\",\"*.hosting.myjino.ru\",\"*.landing.myjino.ru\",\"*.spectrum.myjino.ru\",\"*.vps.myjino.ru\",\"*.triton.zone\",\"*.cns.joyent.com\",\"js.org\",\"keymachine.de\",\"knightpoint.systems\",\"co.krd\",\"edu.krd\",\"git-repos.de\",\"lcube-server.de\",\"svn-repos.de\",\"app.lmpm.com\",\"linkitools.space\",\"linkyard.cloud\",\"linkyard-cloud.ch\",\"we.bs\",\"uklugs.org\",\"glug.org.uk\",\"lug.org.uk\",\"lugs.org.uk\",\"barsy.bg\",\"barsy.co.uk\",\"barsyonline.co.uk\",\"barsycenter.com\",\"barsyonline.com\",\"barsy.club\",\"barsy.de\",\"barsy.eu\",\"barsy.in\",\"barsy.info\",\"barsy.io\",\"barsy.me\",\"barsy.menu\",\"barsy.mobi\",\"barsy.net\",\"barsy.online\",\"barsy.org\",\"barsy.pro\",\"barsy.pub\",\"barsy.shop\",\"barsy.site\",\"barsy.support\",\"barsy.uk\",\"*.magentosite.cloud\",\"mayfirst.info\",\"mayfirst.org\",\"hb.cldmail.ru\",\"miniserver.com\",\"memset.net\",\"cloud.metacentrum.cz\",\"custom.metacentrum.cz\",\"flt.cloud.muni.cz\",\"usr.cloud.muni.cz\",\"meteorapp.com\",\"eu.meteorapp.com\",\"co.pl\",\"azurecontainer.io\",\"azurewebsites.net\",\"azure-mobile.net\",\"cloudapp.net\",\"mozilla-iot.org\",\"bmoattachments.org\",\"net.ru\",\"org.ru\",\"pp.ru\",\"bitballoon.com\",\"netlify.com\",\"4u.com\",\"ngrok.io\",\"nh-serv.co.uk\",\"nfshost.com\",\"dnsking.ch\",\"mypi.co\",\"n4t.co\",\"001www.com\",\"ddnslive.com\",\"myiphost.com\",\"forumz.info\",\"16-b.it\",\"32-b.it\",\"64-b.it\",\"soundcast.me\",\"tcp4.me\",\"dnsup.net\",\"hicam.net\",\"now-dns.net\",\"ownip.net\",\"vpndns.net\",\"dynserv.org\",\"now-dns.org\",\"x443.pw\",\"now-dns.top\",\"ntdll.top\",\"freeddns.us\",\"crafting.xyz\",\"zapto.xyz\",\"nsupdate.info\",\"nerdpol.ovh\",\"blogsyte.com\",\"brasilia.me\",\"cable-modem.org\",\"ciscofreak.com\",\"collegefan.org\",\"couchpotatofries.org\",\"damnserver.com\",\"ddns.me\",\"ditchyourip.com\",\"dnsfor.me\",\"dnsiskinky.com\",\"dvrcam.info\",\"dynns.com\",\"eating-organic.net\",\"fantasyleague.cc\",\"geekgalaxy.com\",\"golffan.us\",\"health-carereform.com\",\"homesecuritymac.com\",\"homesecuritypc.com\",\"hopto.me\",\"ilovecollege.info\",\"loginto.me\",\"mlbfan.org\",\"mmafan.biz\",\"myactivedirectory.com\",\"mydissent.net\",\"myeffect.net\",\"mymediapc.net\",\"mypsx.net\",\"mysecuritycamera.com\",\"mysecuritycamera.net\",\"mysecuritycamera.org\",\"net-freaks.com\",\"nflfan.org\",\"nhlfan.net\",\"no-ip.ca\",\"no-ip.co.uk\",\"no-ip.net\",\"noip.us\",\"onthewifi.com\",\"pgafan.net\",\"point2this.com\",\"pointto.us\",\"privatizehealthinsurance.net\",\"quicksytes.com\",\"read-books.org\",\"securitytactics.com\",\"serveexchange.com\",\"servehumour.com\",\"servep2p.com\",\"servesarcasm.com\",\"stufftoread.com\",\"ufcfan.org\",\"unusualperson.com\",\"workisboring.com\",\"3utilities.com\",\"bounceme.net\",\"ddns.net\",\"ddnsking.com\",\"gotdns.ch\",\"hopto.org\",\"myftp.biz\",\"myftp.org\",\"myvnc.com\",\"no-ip.biz\",\"no-ip.info\",\"no-ip.org\",\"noip.me\",\"redirectme.net\",\"servebeer.com\",\"serveblog.net\",\"servecounterstrike.com\",\"serveftp.com\",\"servegame.com\",\"servehalflife.com\",\"servehttp.com\",\"serveirc.com\",\"serveminecraft.net\",\"servemp3.com\",\"servepics.com\",\"servequake.com\",\"sytes.net\",\"webhop.me\",\"zapto.org\",\"stage.nodeart.io\",\"nodum.co\",\"nodum.io\",\"pcloud.host\",\"nyc.mn\",\"nom.ae\",\"nom.af\",\"nom.ai\",\"nom.al\",\"nym.by\",\"nym.bz\",\"nom.cl\",\"nom.gd\",\"nom.ge\",\"nom.gl\",\"nym.gr\",\"nom.gt\",\"nym.gy\",\"nom.hn\",\"nym.ie\",\"nom.im\",\"nom.ke\",\"nym.kz\",\"nym.la\",\"nym.lc\",\"nom.li\",\"nym.li\",\"nym.lt\",\"nym.lu\",\"nym.me\",\"nom.mk\",\"nym.mn\",\"nym.mx\",\"nom.nu\",\"nym.nz\",\"nym.pe\",\"nym.pt\",\"nom.pw\",\"nom.qa\",\"nym.ro\",\"nom.rs\",\"nom.si\",\"nym.sk\",\"nom.st\",\"nym.su\",\"nym.sx\",\"nom.tj\",\"nym.tw\",\"nom.ug\",\"nom.uy\",\"nom.vc\",\"nom.vg\",\"cya.gg\",\"cloudycluster.net\",\"nid.io\",\"opencraft.hosting\",\"operaunite.com\",\"outsystemscloud.com\",\"ownprovider.com\",\"own.pm\",\"ox.rs\",\"oy.lc\",\"pgfog.com\",\"pagefrontapp.com\",\"art.pl\",\"gliwice.pl\",\"krakow.pl\",\"poznan.pl\",\"wroc.pl\",\"zakopane.pl\",\"pantheonsite.io\",\"gotpantheon.com\",\"mypep.link\",\"on-web.fr\",\"*.platform.sh\",\"*.platformsh.site\",\"xen.prgmr.com\",\"priv.at\",\"protonet.io\",\"chirurgiens-dentistes-en-france.fr\",\"byen.site\",\"ras.ru\",\"qa2.com\",\"dev-myqnapcloud.com\",\"alpha-myqnapcloud.com\",\"myqnapcloud.com\",\"*.quipelements.com\",\"vapor.cloud\",\"vaporcloud.io\",\"rackmaze.com\",\"rackmaze.net\",\"rhcloud.com\",\"resindevice.io\",\"devices.resinstaging.io\",\"hzc.io\",\"wellbeingzone.eu\",\"ptplus.fit\",\"wellbeingzone.co.uk\",\"sandcats.io\",\"logoip.de\",\"logoip.com\",\"schokokeks.net\",\"scrysec.com\",\"firewall-gateway.com\",\"firewall-gateway.de\",\"my-gateway.de\",\"my-router.de\",\"spdns.de\",\"spdns.eu\",\"firewall-gateway.net\",\"my-firewall.org\",\"myfirewall.org\",\"spdns.org\",\"*.s5y.io\",\"*.sensiosite.cloud\",\"biz.ua\",\"co.ua\",\"pp.ua\",\"shiftedit.io\",\"myshopblocks.com\",\"1kapp.com\",\"appchizi.com\",\"applinzi.com\",\"sinaapp.com\",\"vipsinaapp.com\",\"bounty-full.com\",\"alpha.bounty-full.com\",\"beta.bounty-full.com\",\"static.land\",\"dev.static.land\",\"sites.static.land\",\"apps.lair.io\",\"*.stolos.io\",\"spacekit.io\",\"customer.speedpartner.de\",\"storj.farm\",\"utwente.io\",\"temp-dns.com\",\"diskstation.me\",\"dscloud.biz\",\"dscloud.me\",\"dscloud.mobi\",\"dsmynas.com\",\"dsmynas.net\",\"dsmynas.org\",\"familyds.com\",\"familyds.net\",\"familyds.org\",\"i234.me\",\"myds.me\",\"synology.me\",\"vpnplus.to\",\"taifun-dns.de\",\"gda.pl\",\"gdansk.pl\",\"gdynia.pl\",\"med.pl\",\"sopot.pl\",\"gwiddle.co.uk\",\"cust.dev.thingdust.io\",\"cust.disrec.thingdust.io\",\"cust.prod.thingdust.io\",\"cust.testing.thingdust.io\",\"bloxcms.com\",\"townnews-staging.com\",\"12hp.at\",\"2ix.at\",\"4lima.at\",\"lima-city.at\",\"12hp.ch\",\"2ix.ch\",\"4lima.ch\",\"lima-city.ch\",\"trafficplex.cloud\",\"de.cool\",\"12hp.de\",\"2ix.de\",\"4lima.de\",\"lima-city.de\",\"1337.pictures\",\"clan.rip\",\"lima-city.rocks\",\"webspace.rocks\",\"lima.zone\",\"*.transurl.be\",\"*.transurl.eu\",\"*.transurl.nl\",\"tuxfamily.org\",\"dd-dns.de\",\"diskstation.eu\",\"diskstation.org\",\"dray-dns.de\",\"draydns.de\",\"dyn-vpn.de\",\"dynvpn.de\",\"mein-vigor.de\",\"my-vigor.de\",\"my-wan.de\",\"syno-ds.de\",\"synology-diskstation.de\",\"synology-ds.de\",\"uber.space\",\"*.uberspace.de\",\"hk.com\",\"hk.org\",\"ltd.hk\",\"inc.hk\",\"virtualuser.de\",\"virtual-user.de\",\"lib.de.us\",\"2038.io\",\"router.management\",\"v-info.info\",\"wedeploy.io\",\"wedeploy.me\",\"wedeploy.sh\",\"remotewd.com\",\"wmflabs.org\",\"half.host\",\"xnbay.com\",\"u2.xnbay.com\",\"u2-local.xnbay.com\",\"cistron.nl\",\"demon.nl\",\"xs4all.space\",\"official.academy\",\"yolasite.com\",\"ybo.faith\",\"yombo.me\",\"homelink.one\",\"ybo.party\",\"ybo.review\",\"ybo.science\",\"ybo.trade\",\"nohost.me\",\"noho.st\",\"za.net\",\"za.org\",\"now.sh\",\"zone.id\"]},function(e,t,a){\"use strict\";\n/*!\n * Copyright (c) 2015, Salesforce.com, Inc.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice,\n * this list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. Neither the name of Salesforce.com nor the names of its contributors may\n * be used to endorse or promote products derived from this software without\n * specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n * POSSIBILITY OF SUCH DAMAGE.\n */var r=a(59).Store,i=a(60).permuteDomain,o=a(61).pathMatch,n=a(4);function s(){r.call(this),this.idx={}}n.inherits(s,r),t.MemoryCookieStore=s,s.prototype.idx=null,s.prototype.synchronous=!0,s.prototype.inspect=function(){return\"{ idx: \"+n.inspect(this.idx,!1,2)+\" }\"},n.inspect.custom&&(s.prototype[n.inspect.custom]=s.prototype.inspect),s.prototype.findCookie=function(e,t,a,r){return this.idx[e]&&this.idx[e][t]?r(null,this.idx[e][t][a]||null):r(null,void 0)},s.prototype.findCookies=function(e,t,a){var r,n=[];if(!e)return a(null,[]);r=t?function(e){Object.keys(e).forEach(function(a){if(o(t,a)){var r=e[a];for(var i in r)n.push(r[i])}})}:function(e){for(var t in e){var a=e[t];for(var r in a)n.push(a[r])}};var s=i(e)||[e],c=this.idx;s.forEach(function(e){var t=c[e];t&&r(t)}),a(null,n)},s.prototype.putCookie=function(e,t){this.idx[e.domain]||(this.idx[e.domain]={}),this.idx[e.domain][e.path]||(this.idx[e.domain][e.path]={}),this.idx[e.domain][e.path][e.key]=e,t(null)},s.prototype.updateCookie=function(e,t,a){this.putCookie(t,a)},s.prototype.removeCookie=function(e,t,a,r){this.idx[e]&&this.idx[e][t]&&this.idx[e][t][a]&&delete this.idx[e][t][a],r(null)},s.prototype.removeCookies=function(e,t,a){return this.idx[e]&&(t?delete this.idx[e][t]:delete this.idx[e]),a(null)},s.prototype.getAllCookies=function(e){var t=[],a=this.idx;Object.keys(a).forEach(function(e){Object.keys(a[e]).forEach(function(r){Object.keys(a[e][r]).forEach(function(i){null!==i&&t.push(a[e][r][i])})})}),t.sort(function(e,t){return(e.creationIndex||0)-(t.creationIndex||0)}),e(null,t)}},function(e){e.exports={_args:[[\"tough-cookie@2.4.3\",\"/Users/davidboyne/Dev/MyProjects/github-actions\"]],_from:\"tough-cookie@2.4.3\",_id:\"tough-cookie@2.4.3\",_inBundle:!1,_integrity:\"sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==\",_location:\"/tough-cookie\",_phantomChildren:{},_requested:{type:\"version\",registry:!0,raw:\"tough-cookie@2.4.3\",name:\"tough-cookie\",escapedName:\"tough-cookie\",rawSpec:\"2.4.3\",saveSpec:null,fetchSpec:\"2.4.3\"},_requiredBy:[\"/request\"],_resolved:\"https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz\",_spec:\"2.4.3\",_where:\"/Users/davidboyne/Dev/MyProjects/github-actions\",author:{name:\"Jeremy Stashewsky\",email:\"jstash@gmail.com\"},bugs:{url:\"https://github.com/salesforce/tough-cookie/issues\"},contributors:[{name:\"Alexander Savin\"},{name:\"Ian Livingstone\"},{name:\"Ivan Nikulin\"},{name:\"Lalit Kapoor\"},{name:\"Sam Thompson\"},{name:\"Sebastian Mayr\"}],dependencies:{psl:\"^1.1.24\",punycode:\"^1.4.1\"},description:\"RFC6265 Cookies and Cookie Jar for node.js\",devDependencies:{async:\"^1.4.2\",nyc:\"^11.6.0\",\"string.prototype.repeat\":\"^0.2.0\",vows:\"^0.8.1\"},engines:{node:\">=0.8\"},files:[\"lib\"],homepage:\"https://github.com/salesforce/tough-cookie\",keywords:[\"HTTP\",\"cookie\",\"cookies\",\"set-cookie\",\"cookiejar\",\"jar\",\"RFC6265\",\"RFC2965\"],license:\"BSD-3-Clause\",main:\"./lib/cookie\",name:\"tough-cookie\",repository:{type:\"git\",url:\"git://github.com/salesforce/tough-cookie.git\"},scripts:{cover:\"nyc --reporter=lcov --reporter=html vows test/*_test.js\",test:\"vows test/*_test.js\"},version:\"2.4.3\"}},function(e,t){function a(e,t){var a=[],r=[];return null==t&&(t=function(e,t){return a[0]===t?\"[Circular ~]\":\"[Circular ~.\"+r.slice(0,a.indexOf(t)).join(\".\")+\"]\"}),function(i,o){if(a.length>0){var n=a.indexOf(this);~n?a.splice(n+1):a.push(this),~n?r.splice(n,1/0,i):r.push(i),~a.indexOf(o)&&(o=t.call(this,i,o))}else a.push(o);return null==e?o:e.call(this,i,o)}}(e.exports=function(e,t,r,i){return JSON.stringify(e,a(t,i),r)}).getSerialize=a},function(e,t,a){\"use strict\";var r=a(20),i=a(29),o=a(13),n=a(4),s=a(17),c=a(144),u=a(145),p=a(146),l=a(148),m=a(70),h=a(44),d=a(165),f=a(166),g=a(34),v=a(81),y=a(174).strict,b=a(36),k=a(55),x=a(175),w=a(176).Querystring,j=a(179).Har,_=a(236).Auth,S=a(239).OAuth,E=a(241),F=a(242).Multipart,P=a(243).Redirect,z=a(244).Tunnel,C=a(247),A=a(19).Buffer,O=b.safeStringify,q=b.isReadStream,T=b.toBase64,B=b.defer,D=b.copy,I=b.version,R=k.jar(),N={};function L(){return{uri:this.uri,method:this.method,headers:this.headers}}function U(){return{statusCode:this.statusCode,body:this.body,headers:this.headers,request:L.call(this.request)}}function H(e){e.har&&(this._har=new j(this),e=this._har.options(e)),s.Stream.call(this);var t=Object.keys(H.prototype),a=function(e,t){var a={};for(var r in t)-1===e.indexOf(r)&&(a[r]=t[r]);return a}(t,e);g(this,a),e=function(e,t){var a={};for(var r in t){var i=!(-1===e.indexOf(r)),o=\"function\"==typeof t[r];i&&o||(a[r]=t[r])}return a}(t,e),this.readable=!0,this.writable=!0,e.method&&(this.explicitMethod=!0),this._qs=new w(this),this._auth=new _(this),this._oauth=new S(this),this._multipart=new F(this),this._redirect=new P(this),this._tunnel=new z(this),this.init(e)}function $(){H.debug&&console.error(\"REQUEST %s\",n.format.apply(n,arguments))}n.inherits(H,s.Stream),H.debug=process.env.NODE_DEBUG&&/\\brequest\\b/.test(process.env.NODE_DEBUG),H.prototype.debug=$,H.prototype.init=function(e){var t=this;for(var a in e||(e={}),t.headers=t.headers?D(t.headers):{},t.headers)void 0===t.headers[a]&&delete t.headers[a];if(h.httpify(t,t.headers),t.method||(t.method=e.method||\"GET\"),t.localAddress||(t.localAddress=e.localAddress),t._qs.init(e),$(e),t.pool||!1===t.pool||(t.pool=N),t.dests=t.dests||[],t.__isRequestRequest=!0,!t._callback&&t.callback&&(t._callback=t.callback,t.callback=function(){t._callbackCalled||(t._callbackCalled=!0,t._callback.apply(t,arguments))},t.on(\"error\",t.callback.bind()),t.on(\"complete\",t.callback.bind(t,null))),!t.uri&&t.url&&(t.uri=t.url,delete t.url),t.baseUrl){if(\"string\"!=typeof t.baseUrl)return t.emit(\"error\",new Error(\"options.baseUrl must be a string\"));if(\"string\"!=typeof t.uri)return t.emit(\"error\",new Error(\"options.uri must be a string when using options.baseUrl\"));if(0===t.uri.indexOf(\"//\")||-1!==t.uri.indexOf(\"://\"))return t.emit(\"error\",new Error(\"options.uri must be a path when using options.baseUrl\"));var n=t.baseUrl.lastIndexOf(\"/\")===t.baseUrl.length-1,s=0===t.uri.indexOf(\"/\");n&&s?t.uri=t.baseUrl+t.uri.slice(1):n||s?t.uri=t.baseUrl+t.uri:\"\"===t.uri?t.uri=t.baseUrl:t.uri=t.baseUrl+\"/\"+t.uri,delete t.baseUrl}if(!t.uri)return t.emit(\"error\",new Error(\"options.uri is a required argument\"));if(\"string\"==typeof t.uri&&(t.uri=o.parse(t.uri)),t.uri.href||(t.uri.href=o.format(t.uri)),\"unix:\"===t.uri.protocol)return t.emit(\"error\",new Error(\"`unix://` URL scheme is no longer supported. Please use the format `http://unix:SOCKET:PATH`\"));if(\"unix\"===t.uri.host&&t.enableUnixSocket(),!1===t.strictSSL&&(t.rejectUnauthorized=!1),t.uri.pathname||(t.uri.pathname=\"/\"),!(t.uri.host||t.uri.hostname&&t.uri.port||t.uri.isUnix)){var c='Invalid URI \"'+o.format(t.uri)+'\"';return 0===Object.keys(e).length&&(c+=\". This can be caused by a crappy redirection.\"),t.abort(),t.emit(\"error\",new Error(c))}if(t.hasOwnProperty(\"proxy\")||(t.proxy=x(t.uri)),t.tunnel=t._tunnel.isEnabled(),t.proxy&&t._tunnel.setup(e),t._redirect.onRequest(e),t.setHost=!1,!t.hasHeader(\"host\")){var u=t.originalHostHeaderName||\"host\";t.setHeader(u,t.uri.host),t.uri.port&&(\"80\"===t.uri.port&&\"http:\"===t.uri.protocol||\"443\"===t.uri.port&&\"https:\"===t.uri.protocol)&&t.setHeader(u,t.uri.hostname),t.setHost=!0}if(t.jar(t._jar||e.jar),t.uri.port||(\"http:\"===t.uri.protocol?t.uri.port=80:\"https:\"===t.uri.protocol&&(t.uri.port=443)),t.proxy&&!t.tunnel?(t.port=t.proxy.port,t.host=t.proxy.hostname):(t.port=t.uri.port,t.host=t.uri.hostname),e.form&&t.form(e.form),e.formData){var p=e.formData,l=t.form(),f=function(e,t){t&&t.hasOwnProperty(\"value\")&&t.hasOwnProperty(\"options\")?l.append(e,t.value,t.options):l.append(e,t)};for(var g in p)if(p.hasOwnProperty(g)){var b=p[g];if(b instanceof Array)for(var k=0;k<b.length;k++)f(g,b[k]);else f(g,b)}}if(e.qs&&t.qs(e.qs),t.uri.path?t.path=t.uri.path:t.path=t.uri.pathname+(t.uri.search||\"\"),0===t.path.length&&(t.path=\"/\"),e.aws&&t.aws(e.aws),e.hawk&&t.hawk(e.hawk),e.httpSignature&&t.httpSignature(e.httpSignature),e.auth&&(Object.prototype.hasOwnProperty.call(e.auth,\"username\")&&(e.auth.user=e.auth.username),Object.prototype.hasOwnProperty.call(e.auth,\"password\")&&(e.auth.pass=e.auth.password),t.auth(e.auth.user,e.auth.pass,e.auth.sendImmediately,e.auth.bearer)),t.gzip&&!t.hasHeader(\"accept-encoding\")&&t.setHeader(\"accept-encoding\",\"gzip, deflate\"),t.uri.auth&&!t.hasHeader(\"authorization\")){var w=t.uri.auth.split(\":\").map(function(e){return t._qs.unescape(e)});t.auth(w[0],w.slice(1).join(\":\"),!0)}if(!t.tunnel&&t.proxy&&t.proxy.auth&&!t.hasHeader(\"proxy-authorization\")){var j=t.proxy.auth.split(\":\").map(function(e){return t._qs.unescape(e)}),_=\"Basic \"+T(j.join(\":\"));t.setHeader(\"proxy-authorization\",_)}function S(){var e;(y(t.body)&&(t.body=A.from(t.body)),t.hasHeader(\"content-length\"))||((e=\"string\"==typeof t.body?A.byteLength(t.body):Array.isArray(t.body)?t.body.reduce(function(e,t){return e+t.length},0):t.body.length)?t.setHeader(\"content-length\",e):t.emit(\"error\",new Error(\"Argument error, options.body.\")))}t.proxy&&!t.tunnel&&(t.path=t.uri.protocol+\"//\"+t.uri.host+t.path),e.json&&t.json(e.json),e.multipart&&t.multipart(e.multipart),e.time&&(t.timing=!0,t.elapsedTime=t.elapsedTime||0),t.body&&!v(t.body)&&S(),e.oauth?t.oauth(e.oauth):t._oauth.params&&t.hasHeader(\"authorization\")&&t.oauth(t._oauth.params);var E=t.proxy&&!t.tunnel?t.proxy.protocol:t.uri.protocol,F={\"http:\":r,\"https:\":i},P=t.httpModules||{};if(t.httpModule=P[E]||F[E],!t.httpModule)return t.emit(\"error\",new Error(\"Invalid protocol: \"+E));if(e.ca&&(t.ca=e.ca),!t.agent)if(e.agentOptions&&(t.agentOptions=e.agentOptions),e.agentClass)t.agentClass=e.agentClass;else if(e.forever){var z=I();0===z.major&&z.minor<=10?t.agentClass=\"http:\"===E?d:d.SSL:(t.agentClass=t.httpModule.Agent,t.agentOptions=t.agentOptions||{},t.agentOptions.keepAlive=!0)}else t.agentClass=t.httpModule.Agent;!1===t.pool?t.agent=!1:t.agent=t.agent||t.getNewAgent(),t.on(\"pipe\",function(e){if(t.ntick&&t._started&&t.emit(\"error\",new Error(\"You cannot pipe to this stream after the outbound request has started.\")),t.src=e,q(e))t.hasHeader(\"content-type\")||t.setHeader(\"content-type\",m.lookup(e.path));else{if(e.headers)for(var a in e.headers)t.hasHeader(a)||t.setHeader(a,e.headers[a]);t._json&&!t.hasHeader(\"content-type\")&&t.setHeader(\"content-type\",\"application/json\"),e.method&&!t.explicitMethod&&(t.method=e.method)}}),B(function(){if(!t._aborted){var e=function(){if(t._form&&(t._auth.hasAuth?t._auth.hasAuth&&t._auth.sentAuth&&t._form.pipe(t):t._form.pipe(t)),t._multipart&&t._multipart.chunked&&t._multipart.body.pipe(t),t.body)v(t.body)?t.body.pipe(t):(S(),Array.isArray(t.body)?t.body.forEach(function(e){t.write(e)}):t.write(t.body),t.end());else if(t.requestBodyStream)console.warn(\"options.requestBodyStream is deprecated, please pass the request object to stream.pipe.\"),t.requestBodyStream.pipe(t);else if(!t.src){if(t._auth.hasAuth&&!t._auth.sentAuth)return void t.end();\"GET\"!==t.method&&void 0!==t.method&&t.setHeader(\"content-length\",0),t.end()}};t._form&&!t.hasHeader(\"content-length\")?(t.setHeader(t._form.getHeaders(),!0),t._form.getLength(function(a,r){a||isNaN(r)||t.setHeader(\"content-length\",r),e()})):e(),t.ntick=!0}})},H.prototype.getNewAgent=function(){var e=this.agentClass,t={};if(this.agentOptions)for(var a in this.agentOptions)t[a]=this.agentOptions[a];this.ca&&(t.ca=this.ca),this.ciphers&&(t.ciphers=this.ciphers),this.secureProtocol&&(t.secureProtocol=this.secureProtocol),this.secureOptions&&(t.secureOptions=this.secureOptions),void 0!==this.rejectUnauthorized&&(t.rejectUnauthorized=this.rejectUnauthorized),this.cert&&this.key&&(t.key=this.key,t.cert=this.cert),this.pfx&&(t.pfx=this.pfx),this.passphrase&&(t.passphrase=this.passphrase);var r=\"\";e!==this.httpModule.Agent&&(r+=e.name);var i=this.proxy;return\"string\"==typeof i&&(i=o.parse(i)),(i&&\"https:\"===i.protocol||\"https:\"===this.uri.protocol)&&(t.ca&&(r&&(r+=\":\"),r+=t.ca),void 0!==t.rejectUnauthorized&&(r&&(r+=\":\"),r+=t.rejectUnauthorized),t.cert&&(r&&(r+=\":\"),r+=t.cert.toString(\"ascii\")+t.key.toString(\"ascii\")),t.pfx&&(r&&(r+=\":\"),r+=t.pfx.toString(\"ascii\")),t.ciphers&&(r&&(r+=\":\"),r+=t.ciphers),t.secureProtocol&&(r&&(r+=\":\"),r+=t.secureProtocol),t.secureOptions&&(r&&(r+=\":\"),r+=t.secureOptions)),this.pool===N&&!r&&0===Object.keys(t).length&&this.httpModule.globalAgent?this.httpModule.globalAgent:(r=this.uri.protocol+r,this.pool[r]||(this.pool[r]=new e(t),this.pool.maxSockets&&(this.pool[r].maxSockets=this.pool.maxSockets)),this.pool[r])},H.prototype.start=function(){var e=this;if(e.timing)var t=(new Date).getTime(),a=C();if(!e._aborted){e._started=!0,e.method=e.method||\"GET\",e.href=e.uri.href,e.src&&e.src.stat&&e.src.stat.size&&!e.hasHeader(\"content-length\")&&e.setHeader(\"content-length\",e.src.stat.size),e._aws&&e.aws(e._aws,!0);var r,i=D(e);delete i.auth,$(\"make request\",e.uri.href),delete i.timeout;try{e.req=e.httpModule.request(i)}catch(t){return void e.emit(\"error\",t)}e.timing&&(e.startTime=t,e.startTimeNow=a,e.timings={}),e.timeout&&!e.timeoutTimer&&(e.timeout<0?r=0:\"number\"==typeof e.timeout&&isFinite(e.timeout)&&(r=e.timeout)),e.req.on(\"response\",e.onRequestResponse.bind(e)),e.req.on(\"error\",e.onRequestError.bind(e)),e.req.on(\"drain\",function(){e.emit(\"drain\")}),e.req.on(\"socket\",function(t){var a=t._connecting||t.connecting;if(e.timing&&(e.timings.socket=C()-e.startTimeNow,a)){var i=function(){e.timings.lookup=C()-e.startTimeNow},o=function(){e.timings.connect=C()-e.startTimeNow};t.once(\"lookup\",i),t.once(\"connect\",o),e.req.once(\"error\",function(){t.removeListener(\"lookup\",i),t.removeListener(\"connect\",o)})}var n=function(){e.req.setTimeout(r,function(){if(e.req){e.abort();var t=new Error(\"ESOCKETTIMEDOUT\");t.code=\"ESOCKETTIMEDOUT\",t.connect=!1,e.emit(\"error\",t)}})};if(void 0!==r)if(a){var s=function(){t.removeListener(\"connect\",s),clearTimeout(e.timeoutTimer),e.timeoutTimer=null,n()};t.on(\"connect\",s),e.req.on(\"error\",function(e){t.removeListener(\"connect\",s)}),e.timeoutTimer=setTimeout(function(){t.removeListener(\"connect\",s),e.abort();var a=new Error(\"ETIMEDOUT\");a.code=\"ETIMEDOUT\",a.connect=!0,e.emit(\"error\",a)},r)}else n();e.emit(\"socket\",t)}),e.emit(\"request\",e.req)}},H.prototype.onRequestError=function(e){if(!this._aborted){if(this.req&&this.req._reusedSocket&&\"ECONNRESET\"===e.code&&this.agent.addRequestNoreuse)return this.agent={addRequest:this.agent.addRequestNoreuse.bind(this.agent)},this.start(),void this.req.end();this.timeout&&this.timeoutTimer&&(clearTimeout(this.timeoutTimer),this.timeoutTimer=null),this.emit(\"error\",e)}},H.prototype.onRequestResponse=function(e){var t=this;if(t.timing&&(t.timings.response=C()-t.startTimeNow),$(\"onRequestResponse\",t.uri.href,e.statusCode,e.headers),e.on(\"end\",function(){t.timing&&(t.timings.end=C()-t.startTimeNow,e.timingStart=t.startTime,t.timings.socket||(t.timings.socket=0),t.timings.lookup||(t.timings.lookup=t.timings.socket),t.timings.connect||(t.timings.connect=t.timings.lookup),t.timings.response||(t.timings.response=t.timings.connect),$(\"elapsed time\",t.timings.end),t.elapsedTime+=Math.round(t.timings.end),e.elapsedTime=t.elapsedTime,e.timings=t.timings,e.timingPhases={wait:t.timings.socket,dns:t.timings.lookup-t.timings.socket,tcp:t.timings.connect-t.timings.lookup,firstByte:t.timings.response-t.timings.connect,download:t.timings.end-t.timings.response,total:t.timings.end}),$(\"response end\",t.uri.href,e.statusCode,e.headers)}),t._aborted)return $(\"aborted\",t.uri.href),void e.resume();if(t.response=e,e.request=t,e.toJSON=U,t.httpModule!==i||!t.strictSSL||e.hasOwnProperty(\"socket\")&&e.socket.authorized){t.originalHost=t.getHeader(\"host\"),t.originalHostHeaderName||(t.originalHostHeaderName=t.hasHeader(\"host\")),t.setHost&&t.removeHeader(\"host\"),t.timeout&&t.timeoutTimer&&(clearTimeout(t.timeoutTimer),t.timeoutTimer=null);var a=t._jar&&t._jar.setCookie?t._jar:R,r=function(e){try{a.setCookie(e,t.uri.href,{ignoreError:!0})}catch(e){t.emit(\"error\",e)}};if(e.caseless=h(e.headers),e.caseless.has(\"set-cookie\")&&!t._disableCookies){var o=e.caseless.has(\"set-cookie\");Array.isArray(e.headers[o])?e.headers[o].forEach(r):r(e.headers[o])}if(!t._redirect.onResponse(e)){e.on(\"close\",function(){t._ended||t.response.emit(\"end\")}),e.once(\"end\",function(){t._ended=!0});var n,s;if(!t.gzip||(s=e.statusCode,\"HEAD\"===t.method||s>=100&&s<200||204===s||304===s))n=e;else{var u=e.headers[\"content-encoding\"]||\"identity\";u=u.trim().toLowerCase();var p={flush:c.Z_SYNC_FLUSH,finishFlush:c.Z_SYNC_FLUSH};\"gzip\"===u?(n=c.createGunzip(p),e.pipe(n)):\"deflate\"===u?(n=c.createInflate(p),e.pipe(n)):(\"identity\"!==u&&$(\"ignoring unrecognized Content-Encoding \"+u),n=e)}t.encoding&&(0!==t.dests.length?console.error(\"Ignoring encoding parameter as this stream is being piped to another stream which makes the encoding option invalid.\"):n.setEncoding(t.encoding)),t._paused&&n.pause(),t.responseContent=n,t.emit(\"response\",e),t.dests.forEach(function(e){t.pipeDest(e)}),n.on(\"data\",function(a){t.timing&&!t.responseStarted&&(t.responseStartTime=(new Date).getTime(),e.responseStartTime=t.responseStartTime),t._destdata=!0,t.emit(\"data\",a)}),n.once(\"end\",function(e){t.emit(\"end\",e)}),n.on(\"error\",function(e){t.emit(\"error\",e)}),n.on(\"close\",function(){t.emit(\"close\")}),t.callback?t.readResponseBody(e):t.on(\"end\",function(){t._aborted?$(\"aborted\",t.uri.href):t.emit(\"complete\",e)}),$(\"finish init function\",t.uri.href)}}else{$(\"strict ssl error\",t.uri.href);var l=e.hasOwnProperty(\"socket\")?e.socket.authorizationError:t.uri.href+\" does not support SSL\";t.emit(\"error\",new Error(\"SSL Error: \"+l))}},H.prototype.readResponseBody=function(e){var t=this;$(\"reading response's body\");var a=[],r=0,i=[];t.on(\"data\",function(e){A.isBuffer(e)?e.length&&(r+=e.length,a.push(e)):i.push(e)}),t.on(\"end\",function(){if($(\"end event\",t.uri.href),t._aborted)return $(\"aborted\",t.uri.href),a=[],void(r=0);if(r?($(\"has body\",t.uri.href,r),e.body=A.concat(a,r),null!==t.encoding&&(e.body=e.body.toString(t.encoding)),a=[],r=0):i.length&&(\"utf8\"===t.encoding&&i[0].length>0&&\"\\ufeff\"===i[0][0]&&(i[0]=i[0].substring(1)),e.body=i.join(\"\")),t._json)try{e.body=JSON.parse(e.body,t._jsonReviver)}catch(e){$(\"invalid JSON received\",t.uri.href)}$(\"emitting complete\",t.uri.href),void 0!==e.body||t._json||(e.body=null===t.encoding?A.alloc(0):\"\"),t.emit(\"complete\",e,e.body)})},H.prototype.abort=function(){this._aborted=!0,this.req?this.req.abort():this.response&&this.response.destroy(),this.emit(\"abort\")},H.prototype.pipeDest=function(e){var t=this.response;if(e.headers&&!e.headersSent){if(t.caseless.has(\"content-type\")){var a=t.caseless.has(\"content-type\");e.setHeader?e.setHeader(a,t.headers[a]):e.headers[a]=t.headers[a]}if(t.caseless.has(\"content-length\")){var r=t.caseless.has(\"content-length\");e.setHeader?e.setHeader(r,t.headers[r]):e.headers[r]=t.headers[r]}}if(e.setHeader&&!e.headersSent){for(var i in t.headers)this.gzip&&\"content-encoding\"===i||e.setHeader(i,t.headers[i]);e.statusCode=t.statusCode}this.pipefilter&&this.pipefilter(t,e)},H.prototype.qs=function(e,t){var a;for(var r in a=!t&&this.uri.query?this._qs.parse(this.uri.query):{},e)a[r]=e[r];var i=this._qs.stringify(a);return\"\"===i?this:(this.uri=o.parse(this.uri.href.split(\"?\")[0]+\"?\"+i),this.url=this.uri,this.path=this.uri.path,\"unix\"===this.uri.host&&this.enableUnixSocket(),this)},H.prototype.form=function(e){var t=this;return e?(/^application\\/x-www-form-urlencoded\\b/.test(t.getHeader(\"content-type\"))||t.setHeader(\"content-type\",\"application/x-www-form-urlencoded\"),t.body=\"string\"==typeof e?t._qs.rfc3986(e.toString(\"utf8\")):t._qs.stringify(e).toString(\"utf8\"),t):(t._form=new f,t._form.on(\"error\",function(e){e.message=\"form-data: \"+e.message,t.emit(\"error\",e),t.abort()}),t._form)},H.prototype.multipart=function(e){return this._multipart.onRequest(e),this._multipart.chunked||(this.body=this._multipart.body),this},H.prototype.json=function(e){return this.hasHeader(\"accept\")||this.setHeader(\"accept\",\"application/json\"),\"function\"==typeof this.jsonReplacer&&(this._jsonReplacer=this.jsonReplacer),this._json=!0,\"boolean\"==typeof e?void 0!==this.body&&(/^application\\/x-www-form-urlencoded\\b/.test(this.getHeader(\"content-type\"))?this.body=this._qs.rfc3986(this.body):this.body=O(this.body,this._jsonReplacer),this.hasHeader(\"content-type\")||this.setHeader(\"content-type\",\"application/json\")):(this.body=O(e,this._jsonReplacer),this.hasHeader(\"content-type\")||this.setHeader(\"content-type\",\"application/json\")),\"function\"==typeof this.jsonReviver&&(this._jsonReviver=this.jsonReviver),this},H.prototype.getHeader=function(e,t){var a,r;return t||(t=this.headers),Object.keys(t).forEach(function(i){i.length===e.length&&(r=new RegExp(e,\"i\"),i.match(r)&&(a=t[i]))}),a},H.prototype.enableUnixSocket=function(){var e=this.uri.path.split(\":\"),t=e[0],a=e[1];this.socketPath=t,this.uri.pathname=a,this.uri.path=a,this.uri.host=t,this.uri.hostname=t,this.uri.isUnix=!0},H.prototype.auth=function(e,t,a,r){return this._auth.onRequest(e,t,a,r),this},H.prototype.aws=function(e,t){if(!t)return this._aws=e,this;if(4===e.sign_version||\"4\"===e.sign_version){var a={host:this.uri.host,path:this.uri.path,method:this.method,headers:this.headers,body:this.body};e.service&&(a.service=e.service);var r=p.sign(a,{accessKeyId:e.key,secretAccessKey:e.secret,sessionToken:e.session});this.setHeader(\"authorization\",r.headers.Authorization),this.setHeader(\"x-amz-date\",r.headers[\"X-Amz-Date\"]),r.headers[\"X-Amz-Security-Token\"]&&this.setHeader(\"x-amz-security-token\",r.headers[\"X-Amz-Security-Token\"])}else{var i=new Date;this.setHeader(\"date\",i.toUTCString());var o={key:e.key,secret:e.secret,verb:this.method.toUpperCase(),date:i,contentType:this.getHeader(\"content-type\")||\"\",md5:this.getHeader(\"content-md5\")||\"\",amazonHeaders:u.canonicalizeHeaders(this.headers)},n=this.uri.path;e.bucket&&n?o.resource=\"/\"+e.bucket+n:e.bucket&&!n?o.resource=\"/\"+e.bucket:!e.bucket&&n?o.resource=n:e.bucket||n||(o.resource=\"/\"),o.resource=u.canonicalizeResource(o.resource),this.setHeader(\"authorization\",u.authorization(o))}return this},H.prototype.httpSignature=function(e){var t=this;return l.signRequest({getHeader:function(e){return t.getHeader(e,t.headers)},setHeader:function(e,a){t.setHeader(e,a)},method:t.method,path:t.path},e),$(\"httpSignature authorization\",t.getHeader(\"authorization\")),t},H.prototype.hawk=function(e){this.setHeader(\"Authorization\",E.header(this.uri,this.method,e))},H.prototype.oauth=function(e){return this._oauth.onRequest(e),this},H.prototype.jar=function(e){var t;if(0===this._redirect.redirectsFollowed&&(this.originalCookieHeader=this.getHeader(\"cookie\")),e){var a=e&&e.getCookieString?e:R,r=this.uri.href;a&&(t=a.getCookieString(r))}else t=!1,this._disableCookies=!0;return t&&t.length&&(this.originalCookieHeader?this.setHeader(\"cookie\",this.originalCookieHeader+\"; \"+t):this.setHeader(\"cookie\",t)),this._jar=e,this},H.prototype.pipe=function(e,t){if(!this.response)return this.dests.push(e),s.Stream.prototype.pipe.call(this,e,t),e;if(this._destdata)this.emit(\"error\",new Error(\"You cannot pipe after data has been emitted from the response.\"));else{if(!this._ended)return s.Stream.prototype.pipe.call(this,e,t),this.pipeDest(e),e;this.emit(\"error\",new Error(\"You cannot pipe after the response has been ended.\"))}},H.prototype.write=function(){if(!this._aborted)return this._started||this.start(),this.req?this.req.write.apply(this.req,arguments):void 0},H.prototype.end=function(e){this._aborted||(e&&this.write(e),this._started||this.start(),this.req&&this.req.end())},H.prototype.pause=function(){this.responseContent?this.responseContent.pause.apply(this.responseContent,arguments):this._paused=!0},H.prototype.resume=function(){this.responseContent?this.responseContent.resume.apply(this.responseContent,arguments):this._paused=!1},H.prototype.destroy=function(){this._ended?this.response&&this.response.destroy():this.end()},H.defaultProxyHeaderWhiteList=z.defaultProxyHeaderWhiteList.slice(),H.defaultProxyHeaderExclusiveList=z.defaultProxyHeaderExclusiveList.slice(),H.prototype.toJSON=L,e.exports=H},function(e,t){e.exports=require(\"zlib\")},function(e,t,a){\n/*!\n *  Copyright 2010 LearnBoost <dev@learnboost.com>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar r=a(3),i=a(13).parse,o=[\"acl\",\"location\",\"logging\",\"notification\",\"partNumber\",\"policy\",\"requestPayment\",\"torrent\",\"uploadId\",\"uploads\",\"versionId\",\"versioning\",\"versions\",\"website\"];function n(e){return\"AWS \"+e.key+\":\"+c(e)}function s(e){return r.createHmac(\"sha1\",e.secret).update(e.message).digest(\"base64\")}function c(e){return e.message=u(e),s(e)}function u(e){var t=e.amazonHeaders||\"\";return t&&(t+=\"\\n\"),[e.verb,e.md5,e.contentType,e.date?e.date.toUTCString():\"\",t+e.resource].join(\"\\n\")}function p(e){return\"GET\\n\\n\\n\"+e.date+\"\\n\"+e.resource}e.exports=n,e.exports.authorization=n,e.exports.hmacSha1=s,e.exports.sign=c,e.exports.signQuery=function(e){return e.message=p(e),s(e)},e.exports.stringToSign=u,e.exports.queryStringToSign=p,e.exports.canonicalizeHeaders=function(e){for(var t=[],a=Object.keys(e),r=0,i=a.length;r<i;++r){var o,n=e[o=a[r]];0===(o=o.toLowerCase()).indexOf(\"x-amz\")&&t.push(o+\":\"+n)}return t.sort().join(\"\\n\")},e.exports.canonicalizeResource=function(e){var t=i(e,!0),a=t.pathname,r=[];return Object.keys(t.query).forEach(function(e){if(~o.indexOf(e)){var a=\"\"==t.query[e]?\"\":\"=\"+encodeURIComponent(t.query[e]);r.push(e+a)}}),a+(r.length?\"?\"+r.sort().join(\"&\"):\"\")}},function(e,t,a){var r=t,i=a(13),o=a(37),n=a(3),s=a(147)(1e3);function c(e,t,a){return n.createHmac(\"sha256\",e).update(t,\"utf8\").digest(a)}function u(e,t){return n.createHash(\"sha256\").update(e,\"utf8\").digest(t)}function p(e){return e.replace(/[!'()*]/g,function(e){return\"%\"+e.charCodeAt(0).toString(16).toUpperCase()})}function l(e,t){\"string\"==typeof e&&(e=i.parse(e));var a=e.headers=e.headers||{},r=this.matchHost(e.hostname||e.host||a.Host||a.host);this.request=e,this.credentials=t||this.defaultCredentials(),this.service=e.service||r[0]||\"\",this.region=e.region||r[1]||\"us-east-1\",\"email\"===this.service&&(this.service=\"ses\"),!e.method&&e.body&&(e.method=\"POST\"),a.Host||a.host||(a.Host=e.hostname||e.host||this.createHost(),e.port&&(a.Host+=\":\"+e.port)),e.hostname||e.host||(e.hostname=a.Host||a.host),this.isCodeCommitGit=\"codecommit\"===this.service&&\"GIT\"===e.method}l.prototype.matchHost=function(e){var t=((e||\"\").match(/([^\\.]+)\\.(?:([^\\.]*)\\.)?amazonaws\\.com(\\.cn)?$/)||[]).slice(1,3);return\"es\"===t[1]&&(t=t.reverse()),t},l.prototype.isSingleRegion=function(){return[\"s3\",\"sdb\"].indexOf(this.service)>=0&&\"us-east-1\"===this.region||[\"cloudfront\",\"ls\",\"route53\",\"iam\",\"importexport\",\"sts\"].indexOf(this.service)>=0},l.prototype.createHost=function(){var e=this.isSingleRegion()?\"\":(\"s3\"===this.service&&\"us-east-1\"!==this.region?\"-\":\".\")+this.region;return(\"ses\"===this.service?\"email\":this.service)+e+\".amazonaws.com\"},l.prototype.prepareRequest=function(){this.parsePath();var e,t=this.request,a=t.headers;t.signQuery?(this.parsedPath.query=e=this.parsedPath.query||{},this.credentials.sessionToken&&(e[\"X-Amz-Security-Token\"]=this.credentials.sessionToken),\"s3\"!==this.service||e[\"X-Amz-Expires\"]||(e[\"X-Amz-Expires\"]=86400),e[\"X-Amz-Date\"]?this.datetime=e[\"X-Amz-Date\"]:e[\"X-Amz-Date\"]=this.getDateTime(),e[\"X-Amz-Algorithm\"]=\"AWS4-HMAC-SHA256\",e[\"X-Amz-Credential\"]=this.credentials.accessKeyId+\"/\"+this.credentialString(),e[\"X-Amz-SignedHeaders\"]=this.signedHeaders()):(t.doNotModifyHeaders||this.isCodeCommitGit||(!t.body||a[\"Content-Type\"]||a[\"content-type\"]||(a[\"Content-Type\"]=\"application/x-www-form-urlencoded; charset=utf-8\"),!t.body||a[\"Content-Length\"]||a[\"content-length\"]||(a[\"Content-Length\"]=Buffer.byteLength(t.body)),!this.credentials.sessionToken||a[\"X-Amz-Security-Token\"]||a[\"x-amz-security-token\"]||(a[\"X-Amz-Security-Token\"]=this.credentials.sessionToken),\"s3\"!==this.service||a[\"X-Amz-Content-Sha256\"]||a[\"x-amz-content-sha256\"]||(a[\"X-Amz-Content-Sha256\"]=u(this.request.body||\"\",\"hex\")),a[\"X-Amz-Date\"]||a[\"x-amz-date\"]?this.datetime=a[\"X-Amz-Date\"]||a[\"x-amz-date\"]:a[\"X-Amz-Date\"]=this.getDateTime()),delete a.Authorization,delete a.authorization)},l.prototype.sign=function(){return this.parsedPath||this.prepareRequest(),this.request.signQuery?this.parsedPath.query[\"X-Amz-Signature\"]=this.signature():this.request.headers.Authorization=this.authHeader(),this.request.path=this.formatPath(),this.request},l.prototype.getDateTime=function(){if(!this.datetime){var e=this.request.headers,t=new Date(e.Date||e.date||new Date);this.datetime=t.toISOString().replace(/[:\\-]|\\.\\d{3}/g,\"\"),this.isCodeCommitGit&&(this.datetime=this.datetime.slice(0,-1))}return this.datetime},l.prototype.getDate=function(){return this.getDateTime().substr(0,8)},l.prototype.authHeader=function(){return[\"AWS4-HMAC-SHA256 Credential=\"+this.credentials.accessKeyId+\"/\"+this.credentialString(),\"SignedHeaders=\"+this.signedHeaders(),\"Signature=\"+this.signature()].join(\", \")},l.prototype.signature=function(){var e,t,a,r=this.getDate(),i=[this.credentials.secretAccessKey,r,this.region,this.service].join(),o=s.get(i);return o||(e=c(\"AWS4\"+this.credentials.secretAccessKey,r),t=c(e,this.region),a=c(t,this.service),o=c(a,\"aws4_request\"),s.set(i,o)),c(o,this.stringToSign(),\"hex\")},l.prototype.stringToSign=function(){return[\"AWS4-HMAC-SHA256\",this.getDateTime(),this.credentialString(),u(this.canonicalString(),\"hex\")].join(\"\\n\")},l.prototype.canonicalString=function(){this.parsedPath||this.prepareRequest();var e,t=this.parsedPath.path,a=this.parsedPath.query,r=this.request.headers,i=\"\",n=\"s3\"!==this.service,s=\"s3\"===this.service||this.request.doNotEncodePath,c=\"s3\"===this.service,l=\"s3\"===this.service;return e=\"s3\"===this.service&&this.request.signQuery?\"UNSIGNED-PAYLOAD\":this.isCodeCommitGit?\"\":r[\"X-Amz-Content-Sha256\"]||r[\"x-amz-content-sha256\"]||u(this.request.body||\"\",\"hex\"),a&&(i=p(o.stringify(Object.keys(a).sort().reduce(function(e,t){return t?(e[t]=Array.isArray(a[t])?l?a[t][0]:a[t].slice().sort():a[t],e):e},{})))),\"/\"!==t&&(n&&(t=t.replace(/\\/{2,}/g,\"/\")),\"/\"!==(t=t.split(\"/\").reduce(function(e,t){return n&&\"..\"===t?e.pop():n&&\".\"===t||(s&&(t=decodeURIComponent(t)),e.push(p(encodeURIComponent(t)))),e},[]).join(\"/\"))[0]&&(t=\"/\"+t),c&&(t=t.replace(/%2F/g,\"/\"))),[this.request.method||\"GET\",t,i,this.canonicalHeaders()+\"\\n\",this.signedHeaders(),e].join(\"\\n\")},l.prototype.canonicalHeaders=function(){var e=this.request.headers;return Object.keys(e).sort(function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:1}).map(function(t){return t.toLowerCase()+\":\"+e[t].toString().trim().replace(/\\s+/g,\" \")}).join(\"\\n\")},l.prototype.signedHeaders=function(){return Object.keys(this.request.headers).map(function(e){return e.toLowerCase()}).sort().join(\";\")},l.prototype.credentialString=function(){return[this.getDate(),this.region,this.service,\"aws4_request\"].join(\"/\")},l.prototype.defaultCredentials=function(){var e=process.env;return{accessKeyId:e.AWS_ACCESS_KEY_ID||e.AWS_ACCESS_KEY,secretAccessKey:e.AWS_SECRET_ACCESS_KEY||e.AWS_SECRET_KEY,sessionToken:e.AWS_SESSION_TOKEN}},l.prototype.parsePath=function(){var e=this.request.path||\"/\",t=e.indexOf(\"?\"),a=null;t>=0&&(a=o.parse(e.slice(t+1)),e=e.slice(0,t)),/[^0-9A-Za-z!'()*\\-._~%\\/]/.test(e)&&(e=e.split(\"/\").map(function(e){return encodeURIComponent(decodeURIComponent(e))}).join(\"/\")),this.parsedPath={path:e,query:a}},l.prototype.formatPath=function(){var e=this.parsedPath.path,t=this.parsedPath.query;return t?(null!=t[\"\"]&&delete t[\"\"],e+\"?\"+p(o.stringify(t))):e},r.RequestSigner=l,r.sign=function(e,t){return new l(e,t).sign()}},function(e,t){function a(e){this.capacity=0|e,this.map=Object.create(null),this.list=new r}function r(){this.firstNode=null,this.lastNode=null}function i(e,t){this.key=e,this.val=t,this.prev=null,this.next=null}e.exports=function(e){return new a(e)},a.prototype.get=function(e){var t=this.map[e];if(null!=t)return this.used(t),t.val},a.prototype.set=function(e,t){var a=this.map[e];if(null!=a)a.val=t;else{if(this.capacity||this.prune(),!this.capacity)return!1;a=new i(e,t),this.map[e]=a,this.capacity--}return this.used(a),!0},a.prototype.used=function(e){this.list.moveToFront(e)},a.prototype.prune=function(){var e=this.list.pop();null!=e&&(delete this.map[e.key],this.capacity++)},r.prototype.moveToFront=function(e){this.firstNode!=e&&(this.remove(e),null==this.firstNode?(this.firstNode=e,this.lastNode=e,e.prev=null,e.next=null):(e.prev=null,e.next=this.firstNode,e.next.prev=e,this.firstNode=e))},r.prototype.pop=function(){var e=this.lastNode;return null!=e&&this.remove(e),e},r.prototype.remove=function(e){this.firstNode==e?this.firstNode=e.next:null!=e.prev&&(e.prev.next=e.next),this.lastNode==e?this.lastNode=e.prev:null!=e.next&&(e.next.prev=e.prev)}},function(e,t,a){var r=a(149),i=a(157),o=a(162),n=a(30);e.exports={parse:r.parseRequest,parseRequest:r.parseRequest,sign:i.signRequest,signRequest:i.signRequest,createSigner:i.createSigner,isSigner:i.isSigner,sshKeyToPEM:n.sshKeyToPEM,sshKeyFingerprint:n.fingerprint,pemToRsaSSHKey:n.pemToRsaSSHKey,verify:o.verifySignature,verifySignature:o.verifySignature,verifyHMAC:o.verifyHMAC}},function(e,t,a){var r=a(0),i=a(4),o=a(30),n=(o.HASH_ALGOS,o.PK_ALGOS,o.HttpSignatureError),s=o.InvalidAlgorithmError,c=o.validateAlgorithm,u=0,p=1,l=0,m=1,h=2,d=3;function f(e){n.call(this,e,f)}function g(e){n.call(this,e,g)}function v(e){n.call(this,e,v)}function y(e){n.call(this,e,y)}function b(e){n.call(this,e,b)}i.inherits(f,n),i.inherits(g,n),i.inherits(v,n),i.inherits(y,n),i.inherits(b,n),e.exports={parseRequest:function(e,t){r.object(e,\"request\"),r.object(e.headers,\"request.headers\"),void 0===t&&(t={}),void 0===t.headers&&(t.headers=[e.headers[\"x-date\"]?\"x-date\":\"date\"]),r.object(t,\"options\"),r.arrayOfString(t.headers,\"options.headers\"),r.optionalFinite(t.clockSkew,\"options.clockSkew\");var a=t.authorizationHeaderName||\"authorization\";if(!e.headers[a])throw new y(\"no \"+a+\" header present in the request\");t.clockSkew=t.clockSkew||300;var i,o=0,n=u,k=l,x=\"\",w=\"\",j={scheme:\"\",params:{},signingString:\"\"},_=e.headers[a];for(o=0;o<_.length;o++){var S=_.charAt(o);switch(Number(n)){case u:\" \"!==S?j.scheme+=S:n=p;break;case p:switch(Number(k)){case l:var E=S.charCodeAt(0);if(E>=65&&E<=90||E>=97&&E<=122)x+=S;else{if(\"=\"!==S)throw new g(\"bad param format\");if(0===x.length)throw new g(\"bad param format\");k=m}break;case m:if('\"'!==S)throw new g(\"bad param format\");w=\"\",k=h;break;case h:'\"'===S?(j.params[x]=w,k=d):w+=S;break;case d:if(\",\"!==S)throw new g(\"bad param format\");x=\"\",k=l;break;default:throw new Error(\"Invalid substate\")}break;default:throw new Error(\"Invalid substate\")}}if(j.params.headers&&\"\"!==j.params.headers?j.params.headers=j.params.headers.split(\" \"):e.headers[\"x-date\"]?j.params.headers=[\"x-date\"]:j.params.headers=[\"date\"],!j.scheme||\"Signature\"!==j.scheme)throw new g('scheme was not \"Signature\"');if(!j.params.keyId)throw new g(\"keyId was not specified\");if(!j.params.algorithm)throw new g(\"algorithm was not specified\");if(!j.params.signature)throw new g(\"signature was not specified\");j.params.algorithm=j.params.algorithm.toLowerCase();try{c(j.params.algorithm)}catch(e){throw e instanceof s?new v(j.params.algorithm+\" is not supported\"):e}for(o=0;o<j.params.headers.length;o++){var F=j.params.headers[o].toLowerCase();if(j.params.headers[o]=F,\"request-line\"===F){if(t.strict)throw new b(\"request-line is not a valid header with strict parsing enabled.\");j.signingString+=e.method+\" \"+e.url+\" HTTP/\"+e.httpVersion}else if(\"(request-target)\"===F)j.signingString+=\"(request-target): \"+e.method.toLowerCase()+\" \"+e.url;else{var P=e.headers[F];if(void 0===P)throw new y(F+\" was not in the request\");j.signingString+=F+\": \"+P}o+1<j.params.headers.length&&(j.signingString+=\"\\n\")}if(e.headers.date||e.headers[\"x-date\"]){i=e.headers[\"x-date\"]?new Date(e.headers[\"x-date\"]):new Date(e.headers.date);var z=new Date,C=Math.abs(z.getTime()-i.getTime());if(C>1e3*t.clockSkew)throw new f(\"clock skew of \"+C/1e3+\"s was greater than \"+t.clockSkew+\"s\")}if(t.headers.forEach(function(e){if(j.params.headers.indexOf(e.toLowerCase())<0)throw new y(e+\" was not a signed header\")}),t.algorithms&&-1===t.algorithms.indexOf(j.params.algorithm))throw new v(j.params.algorithm+\" is not a supported algorithm\");return j.algorithm=j.params.algorithm.toUpperCase(),j.keyId=j.params.keyId,j}}},function(e,t,a){var r=a(39),i=a(40),o=a(151),n=a(152);for(var s in e.exports={Reader:o,Writer:n},i)i.hasOwnProperty(s)&&(e.exports[s]=i[s]);for(var c in r)r.hasOwnProperty(c)&&(e.exports[c]=r[c])},function(e,t,a){var r=a(21),i=a(2).Buffer,o=a(40),n=a(39).newInvalidAsn1Error;function s(e){if(!e||!i.isBuffer(e))throw new TypeError(\"data must be a node Buffer\");this._buf=e,this._size=e.length,this._len=0,this._offset=0}Object.defineProperty(s.prototype,\"length\",{enumerable:!0,get:function(){return this._len}}),Object.defineProperty(s.prototype,\"offset\",{enumerable:!0,get:function(){return this._offset}}),Object.defineProperty(s.prototype,\"remain\",{get:function(){return this._size-this._offset}}),Object.defineProperty(s.prototype,\"buffer\",{get:function(){return this._buf.slice(this._offset)}}),s.prototype.readByte=function(e){if(this._size-this._offset<1)return null;var t=255&this._buf[this._offset];return e||(this._offset+=1),t},s.prototype.peek=function(){return this.readByte(!0)},s.prototype.readLength=function(e){if(void 0===e&&(e=this._offset),e>=this._size)return null;var t=255&this._buf[e++];if(null===t)return null;if(128==(128&t)){if(0===(t&=127))throw n(\"Indefinite length not supported\");if(t>4)throw n(\"encoding too long\");if(this._size-e<t)return null;this._len=0;for(var a=0;a<t;a++)this._len=(this._len<<8)+(255&this._buf[e++])}else this._len=t;return e},s.prototype.readSequence=function(e){var t=this.peek();if(null===t)return null;if(void 0!==e&&e!==t)throw n(\"Expected 0x\"+e.toString(16)+\": got 0x\"+t.toString(16));var a=this.readLength(this._offset+1);return null===a?null:(this._offset=a,t)},s.prototype.readInt=function(){return this._readTag(o.Integer)},s.prototype.readBoolean=function(){return 0!==this._readTag(o.Boolean)},s.prototype.readEnumeration=function(){return this._readTag(o.Enumeration)},s.prototype.readString=function(e,t){e||(e=o.OctetString);var a=this.peek();if(null===a)return null;if(a!==e)throw n(\"Expected 0x\"+e.toString(16)+\": got 0x\"+a.toString(16));var r=this.readLength(this._offset+1);if(null===r)return null;if(this.length>this._size-r)return null;if(this._offset=r,0===this.length)return t?i.alloc(0):\"\";var s=this._buf.slice(this._offset,this._offset+this.length);return this._offset+=this.length,t?s:s.toString(\"utf8\")},s.prototype.readOID=function(e){e||(e=o.OID);var t=this.readString(e,!0);if(null===t)return null;for(var a=[],r=0,i=0;i<t.length;i++){var n=255&t[i];r<<=7,r+=127&n,0==(128&n)&&(a.push(r),r=0)}return r=a.shift(),a.unshift(r%40),a.unshift(r/40>>0),a.join(\".\")},s.prototype._readTag=function(e){r.ok(void 0!==e);var t=this.peek();if(null===t)return null;if(t!==e)throw n(\"Expected 0x\"+e.toString(16)+\": got 0x\"+t.toString(16));var a=this.readLength(this._offset+1);if(null===a)return null;if(this.length>4)throw n(\"Integer too long: \"+this.length);if(this.length>this._size-a)return null;this._offset=a;for(var i=this._buf[this._offset],o=0,s=0;s<this.length;s++)o<<=8,o|=255&this._buf[this._offset++];return 128==(128&i)&&4!==s&&(o-=1<<8*s),o>>0},e.exports=s},function(e,t,a){var r=a(21),i=a(2).Buffer,o=a(40),n=a(39).newInvalidAsn1Error,s={size:1024,growthFactor:8};function c(e){var t,a;t=s,a=e||{},r.ok(t),r.equal(typeof t,\"object\"),r.ok(a),r.equal(typeof a,\"object\"),Object.getOwnPropertyNames(t).forEach(function(e){if(!a[e]){var r=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(a,e,r)}}),e=a,this._buf=i.alloc(e.size||1024),this._size=this._buf.length,this._offset=0,this._options=e,this._seq=[]}Object.defineProperty(c.prototype,\"buffer\",{get:function(){if(this._seq.length)throw n(this._seq.length+\" unended sequence(s)\");return this._buf.slice(0,this._offset)}}),c.prototype.writeByte=function(e){if(\"number\"!=typeof e)throw new TypeError(\"argument must be a Number\");this._ensure(1),this._buf[this._offset++]=e},c.prototype.writeInt=function(e,t){if(\"number\"!=typeof e)throw new TypeError(\"argument must be a Number\");\"number\"!=typeof t&&(t=o.Integer);for(var a=4;(0==(4286578688&e)||-8388608==(4286578688&e))&&a>1;)a--,e<<=8;if(a>4)throw n(\"BER ints cannot be > 0xffffffff\");for(this._ensure(2+a),this._buf[this._offset++]=t,this._buf[this._offset++]=a;a-- >0;)this._buf[this._offset++]=(4278190080&e)>>>24,e<<=8},c.prototype.writeNull=function(){this.writeByte(o.Null),this.writeByte(0)},c.prototype.writeEnumeration=function(e,t){if(\"number\"!=typeof e)throw new TypeError(\"argument must be a Number\");return\"number\"!=typeof t&&(t=o.Enumeration),this.writeInt(e,t)},c.prototype.writeBoolean=function(e,t){if(\"boolean\"!=typeof e)throw new TypeError(\"argument must be a Boolean\");\"number\"!=typeof t&&(t=o.Boolean),this._ensure(3),this._buf[this._offset++]=t,this._buf[this._offset++]=1,this._buf[this._offset++]=e?255:0},c.prototype.writeString=function(e,t){if(\"string\"!=typeof e)throw new TypeError(\"argument must be a string (was: \"+typeof e+\")\");\"number\"!=typeof t&&(t=o.OctetString);var a=i.byteLength(e);this.writeByte(t),this.writeLength(a),a&&(this._ensure(a),this._buf.write(e,this._offset),this._offset+=a)},c.prototype.writeBuffer=function(e,t){if(\"number\"!=typeof t)throw new TypeError(\"tag must be a number\");if(!i.isBuffer(e))throw new TypeError(\"argument must be a buffer\");this.writeByte(t),this.writeLength(e.length),this._ensure(e.length),e.copy(this._buf,this._offset,0,e.length),this._offset+=e.length},c.prototype.writeStringArray=function(e){if(!e instanceof Array)throw new TypeError(\"argument must be an Array[String]\");var t=this;e.forEach(function(e){t.writeString(e)})},c.prototype.writeOID=function(e,t){if(\"string\"!=typeof e)throw new TypeError(\"argument must be a string\");if(\"number\"!=typeof t&&(t=o.OID),!/^([0-9]+\\.){3,}[0-9]+$/.test(e))throw new Error(\"argument is not a valid OID string\");var a=e.split(\".\"),r=[];r.push(40*parseInt(a[0],10)+parseInt(a[1],10)),a.slice(2).forEach(function(e){!function(e,t){t<128?e.push(t):t<16384?(e.push(t>>>7|128),e.push(127&t)):t<2097152?(e.push(t>>>14|128),e.push(255&(t>>>7|128)),e.push(127&t)):t<268435456?(e.push(t>>>21|128),e.push(255&(t>>>14|128)),e.push(255&(t>>>7|128)),e.push(127&t)):(e.push(255&(t>>>28|128)),e.push(255&(t>>>21|128)),e.push(255&(t>>>14|128)),e.push(255&(t>>>7|128)),e.push(127&t))}(r,parseInt(e,10))});var i=this;this._ensure(2+r.length),this.writeByte(t),this.writeLength(r.length),r.forEach(function(e){i.writeByte(e)})},c.prototype.writeLength=function(e){if(\"number\"!=typeof e)throw new TypeError(\"argument must be a Number\");if(this._ensure(4),e<=127)this._buf[this._offset++]=e;else if(e<=255)this._buf[this._offset++]=129,this._buf[this._offset++]=e;else if(e<=65535)this._buf[this._offset++]=130,this._buf[this._offset++]=e>>8,this._buf[this._offset++]=e;else{if(!(e<=16777215))throw n(\"Length too long (> 4 bytes)\");this._buf[this._offset++]=131,this._buf[this._offset++]=e>>16,this._buf[this._offset++]=e>>8,this._buf[this._offset++]=e}},c.prototype.startSequence=function(e){\"number\"!=typeof e&&(e=o.Sequence|o.Constructor),this.writeByte(e),this._seq.push(this._offset),this._ensure(3),this._offset+=3},c.prototype.endSequence=function(){var e=this._seq.pop(),t=e+3,a=this._offset-t;if(a<=127)this._shift(t,a,-2),this._buf[e]=a;else if(a<=255)this._shift(t,a,-1),this._buf[e]=129,this._buf[e+1]=a;else if(a<=65535)this._buf[e]=130,this._buf[e+1]=a>>8,this._buf[e+2]=a;else{if(!(a<=16777215))throw n(\"Sequence too long\");this._shift(t,a,1),this._buf[e]=131,this._buf[e+1]=a>>16,this._buf[e+2]=a>>8,this._buf[e+3]=a}},c.prototype._shift=function(e,t,a){r.ok(void 0!==e),r.ok(void 0!==t),r.ok(a),this._buf.copy(this._buf,e+a,e,e+t),this._offset+=a},c.prototype._ensure=function(e){if(r.ok(e),this._size-this._offset<e){var t=this._size*this._options.growthFactor;t-this._offset<e&&(t+=e);var a=i.alloc(t);this._buf.copy(a,0,0,this._offset),this._buf=a,this._size=t}},e.exports=c},function(e,t,a){var r=a(3),i=a(23).BigInteger,o=(a(31).ECPointFp,a(2).Buffer);function n(e,t){return e.length>=t?e:n(\"0\"+e,t)}t.ECCurves=a(154),t.ECKey=function(e,t,a){var s,c=e(),u=c.getN(),p=Math.floor(u.bitLength()/8);if(t)if(a){e=c.getCurve();this.P=e.decodePointHex(t.toString(\"hex\"))}else{if(t.length!=p)return!1;s=new i(t.toString(\"hex\"),16)}else{var l=u.subtract(i.ONE),m=new i(r.randomBytes(u.bitLength()));s=m.mod(l).add(i.ONE),this.P=c.getG().multiply(s)}this.P&&(this.PublicKey=o.from(c.getCurve().encodeCompressedPointHex(this.P),\"hex\")),s&&(this.PrivateKey=o.from(n(s.toString(16),2*p),\"hex\"),this.deriveSharedSecret=function(e){if(!e||!e.P)return!1;var t=e.P.multiply(s);return o.from(n(t.getX().toBigInteger().toString(16),2*p),\"hex\")})}},function(e,t,a){var r=a(23).BigInteger,i=a(31).ECCurveFp;function o(e,t,a,r){this.curve=e,this.g=t,this.n=a,this.h=r}function n(e){return new r(e,16)}function s(){var e=n(\"FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF\"),t=n(\"FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFC\"),a=n(\"E87579C11079F43DD824993C2CEE5ED3\"),s=n(\"FFFFFFFE0000000075A30D1B9038A115\"),c=r.ONE,u=new i(e,t,a),p=u.decodePointHex(\"04161FF7528B899B2D0C28607CA52C5B86CF5AC8395BAFEB13C02DA292DDED7A83\");return new o(u,p,s,c)}function c(){var e=n(\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73\"),t=r.ZERO,a=n(\"7\"),s=n(\"0100000000000000000001B8FA16DFAB9ACA16B6B3\"),c=r.ONE,u=new i(e,t,a),p=u.decodePointHex(\"043B4C382CE37AA192A4019E763036F4F5DD4D7EBB938CF935318FDCED6BC28286531733C3F03C4FEE\");return new o(u,p,s,c)}function u(){var e=n(\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF\"),t=n(\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFC\"),a=n(\"1C97BEFC54BD7A8B65ACF89F81D4D4ADC565FA45\"),s=n(\"0100000000000000000001F4C8F927AED3CA752257\"),c=r.ONE,u=new i(e,t,a),p=u.decodePointHex(\"044A96B5688EF573284664698968C38BB913CBFC8223A628553168947D59DCC912042351377AC5FB32\");return new o(u,p,s,c)}function p(){var e=n(\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEE37\"),t=r.ZERO,a=n(\"3\"),s=n(\"FFFFFFFFFFFFFFFFFFFFFFFE26F2FC170F69466A74DEFD8D\"),c=r.ONE,u=new i(e,t,a),p=u.decodePointHex(\"04DB4FF10EC057E9AE26B07D0280B7F4341DA5D1B1EAE06C7D9B2F2F6D9C5628A7844163D015BE86344082AA88D95E2F9D\");return new o(u,p,s,c)}function l(){var e=n(\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF\"),t=n(\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC\"),a=n(\"64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1\"),s=n(\"FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831\"),c=r.ONE,u=new i(e,t,a),p=u.decodePointHex(\"04188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF101207192B95FFC8DA78631011ED6B24CDD573F977A11E794811\");return new o(u,p,s,c)}function m(){var e=n(\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001\"),t=n(\"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE\"),a=n(\"B4050A850C04B3ABF54132565044B0B7D7BFD8BA270B39432355FFB4\"),s=n(\"FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D\"),c=r.ONE,u=new i(e,t,a),p=u.decodePointHex(\"04B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21BD376388B5F723FB4C22DFE6CD4375A05A07476444D5819985007E34\");return new o(u,p,s,c)}function h(){var e=n(\"FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF\"),t=n(\"FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC\"),a=n(\"5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B\"),s=n(\"FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551\"),c=r.ONE,u=new i(e,t,a),p=u.decodePointHex(\"046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5\");return new o(u,p,s,c)}o.prototype.getCurve=function(){return this.curve},o.prototype.getG=function(){return this.g},o.prototype.getN=function(){return this.n},o.prototype.getH=function(){return this.h},e.exports={secp128r1:s,secp160k1:c,secp160r1:u,secp192k1:p,secp192r1:l,secp224r1:m,secp256r1:h}},function(e,t,a){e.exports={read:function(e,t){n.isBuffer(e)&&(e=e.toString(\"ascii\"));var a=e.trim().split(/[ \\t\\n]+/g);if(a.length<2||a.length>3)throw new Error(\"Not a valid SSH certificate line\");var r=a[0],i=a[1];return g(i=n.from(i,\"base64\"),r)},verify:function(e,t){return!1},sign:function(e,t){void 0===e.signatures.openssh&&(e.signatures.openssh={});try{var a=b(e,!0)}catch(t){return delete e.signatures.openssh,!1}var r=e.signatures.openssh,i=void 0;\"rsa\"!==t.type&&\"dsa\"!==t.type||(i=\"sha1\");var o=t.createSign(i);return o.write(a),r.signature=o.sign(),!0},signAsync:function(e,t,a){void 0===e.signatures.openssh&&(e.signatures.openssh={});try{var r=b(e,!0)}catch(t){return delete e.signatures.openssh,void a(t)}var i=e.signatures.openssh;t(r,function(e,t){if(e)a(e);else{try{t.toBuffer(\"ssh\")}catch(e){return void a(e)}i.signature=t,a()}})},write:function(e,t){void 0===t&&(t={});var a=b(e),r=k(e.subjectKey)+\" \"+a.toString(\"base64\");t.comment&&(r=r+\" \"+t.comment);return r},fromBuffer:g,toBuffer:b};var r=a(0),i=a(25),o=a(3),n=a(2).Buffer,s=a(8),c=a(5),u=(a(7),a(28)),p=a(15),l=a(10),m=a(6),h=a(27);var d={user:1,host:2};Object.keys(d).forEach(function(e){d[d[e]]=e});var f=/^ecdsa-sha2-([^@-]+)-cert-v01@openssh.com$/;function g(e,t,a){var o=new i({buffer:e}),n=o.readString();if(void 0!==t&&n!==t)throw new Error(\"SSH certificate algorithm mismatch\");void 0===t&&(t=n);var g={signatures:{}};g.signatures.openssh={},g.signatures.openssh.nonce=o.readBuffer();var y={},b=y.parts=[];y.type=function(e){if(\"ssh-rsa-cert-v01@openssh.com\"===e)return\"rsa\";if(\"ssh-dss-cert-v01@openssh.com\"===e)return\"dsa\";if(e.match(f))return\"ecdsa\";if(\"ssh-ed25519-cert-v01@openssh.com\"===e)return\"ed25519\";throw new Error(\"Unsupported cert type \"+e)}(t);for(var k=s.info[y.type].parts.length;b.length<k;)b.push(o.readPart());r.ok(b.length>=1,\"key must have at least one part\");var x=s.info[y.type];if(\"ecdsa\"===y.type){var w=f.exec(t);r.ok(null!==w),r.strictEqual(w[1],b[0].data.toString())}for(var j=0;j<x.parts.length;++j)if(b[j].name=x.parts[j],\"curve\"!==b[j].name&&!1!==x.normalize){var _=b[j];_.data=m.mpNormalize(_.data)}g.subjectKey=new c(y),g.serial=o.readInt64();var S=d[o.readInt()];r.string(S,\"valid cert type\"),g.signatures.openssh.keyId=o.readString();for(var E=[],F=o.readBuffer(),P=new i({buffer:F});!P.atEnd();)E.push(P.readString());0===E.length&&(E=[\"*\"]),g.subjects=E.map(function(e){if(\"user\"===S)return u.forUser(e);if(\"host\"===S)return u.forHost(e);throw new Error(\"Unknown identity type \"+S)}),g.validFrom=v(o.readInt64()),g.validUntil=v(o.readInt64());for(var z,C=[],A=new i({buffer:o.readBuffer()});!A.atEnd();)(z={critical:!0}).name=A.readString(),z.data=A.readBuffer(),C.push(z);for(A=new i({buffer:o.readBuffer()});!A.atEnd();)(z={critical:!1}).name=A.readString(),z.data=A.readBuffer(),C.push(z);g.signatures.openssh.exts=C,o.readBuffer();var O=o.readBuffer();g.issuerKey=p.read(O),g.issuer=u.forHost(\"**\");var q=o.readBuffer();return g.signatures.openssh.signature=l.parse(q,g.issuerKey.type,\"ssh\"),void 0!==a&&(a.remainder=o.remainder(),a.consumed=o._offset),new h(g)}function v(e){var t=4294967296*e.readUInt32BE(0);t+=e.readUInt32BE(4);var a=new Date;return a.setTime(1e3*t),a.sourceInt64=e,a}function y(e){if(void 0!==e.sourceInt64)return e.sourceInt64;var t=Math.round(e.getTime()/1e3),a=Math.floor(t/4294967296),r=Math.floor(t%4294967296),i=n.alloc(8);return i.writeUInt32BE(a,0),i.writeUInt32BE(r,4),i}function b(e,t){r.object(e.signatures.openssh,\"signature for openssh format\");var a=e.signatures.openssh;void 0===a.nonce&&(a.nonce=o.randomBytes(16));var c=new i({});c.writeString(k(e.subjectKey)),c.writeBuffer(a.nonce);var u=e.subjectKey;s.info[u.type].parts.forEach(function(e){c.writePart(u.part[e])}),c.writeInt64(e.serial);var l=e.subjects[0].type;r.notStrictEqual(l,\"unknown\"),e.subjects.forEach(function(e){r.strictEqual(e.type,l)}),l=d[l],c.writeInt(l),void 0===a.keyId&&(a.keyId=e.subjects[0].type+\"_\"+(e.subjects[0].uid||e.subjects[0].hostname)),c.writeString(a.keyId);var m=new i({});e.subjects.forEach(function(e){l===d.host?m.writeString(e.hostname):l===d.user&&m.writeString(e.uid)}),c.writeBuffer(m.toBuffer()),c.writeInt64(y(e.validFrom)),c.writeInt64(y(e.validUntil));var h=a.exts;void 0===h&&(h=[]);var f=new i({});return h.forEach(function(e){!0===e.critical&&(f.writeString(e.name),f.writeBuffer(e.data))}),c.writeBuffer(f.toBuffer()),f=new i({}),h.forEach(function(e){!0!==e.critical&&(f.writeString(e.name),f.writeBuffer(e.data))}),c.writeBuffer(f.toBuffer()),c.writeBuffer(n.alloc(0)),m=p.write(e.issuerKey),c.writeBuffer(m),t||c.writeBuffer(a.signature.toBuffer(\"ssh\")),c.toBuffer()}function k(e){if(\"rsa\"===e.type)return\"ssh-rsa-cert-v01@openssh.com\";if(\"dsa\"===e.type)return\"ssh-dss-cert-v01@openssh.com\";if(\"ecdsa\"===e.type)return\"ecdsa-sha2-\"+e.curve+\"-cert-v01@openssh.com\";if(\"ed25519\"===e.type)return\"ssh-ed25519-cert-v01@openssh.com\";throw new Error(\"Unsupported key type \"+e.type)}},function(e,t,a){var r=a(68);e.exports={read:function(e,t){\"string\"!=typeof e&&(i.buffer(e,\"buf\"),e=e.toString(\"ascii\"));var a,n,s=e.trim().split(/[\\r\\n]+/g),c=-1;for(;!a&&c<s.length;)a=s[++c].match(/[-]+[ ]*BEGIN CERTIFICATE[ ]*[-]+/);i.ok(a,\"invalid PEM header\");var u=s.length;for(;!n&&u>0;)n=s[--u].match(/[-]+[ ]*END CERTIFICATE[ ]*[-]+/);i.ok(n,\"invalid PEM footer\"),s=s.slice(c,u+1);var p={};for(;s=s.slice(1),a=s[0].match(/^([A-Za-z0-9-]+): (.+)$/);)p[a[1].toLowerCase()]=a[2];return s=s.slice(0,-1).join(\"\"),e=o.from(s,\"base64\"),r.read(e,t)},verify:r.verify,sign:r.sign,write:function(e,t){var a=r.write(e,t),i=a.toString(\"base64\"),n=i.length+i.length/64+18+16+2*\"CERTIFICATE\".length+10,s=o.alloc(n),c=0;c+=s.write(\"-----BEGIN CERTIFICATE-----\\n\",c);for(var u=0;u<i.length;){var p=u+64;p>i.length&&(p=i.length),c+=s.write(i.slice(u,p),c),s[c++]=10,u=p}return c+=s.write(\"-----END CERTIFICATE-----\\n\",c),s.slice(0,c)}};var i=a(0),o=(a(11),a(2).Buffer);a(8),a(6),a(5),a(7),a(14),a(28),a(10),a(27)},function(e,t,a){var r=a(0),i=a(3),o=(a(20),a(4)),n=a(38),s=a(158),c=a(30),u=a(4).format,p=c.HASH_ALGOS,l=c.PK_ALGOS,m=c.InvalidAlgorithmError,h=c.HttpSignatureError,d=c.validateAlgorithm,f='Signature keyId=\"%s\",algorithm=\"%s\",headers=\"%s\",signature=\"%s\"';function g(e){h.call(this,e,g)}function v(e){h.call(this,e,v)}function y(e){r.object(e,\"options\");var t=[];if(void 0!==e.algorithm&&(r.string(e.algorithm,\"options.algorithm\"),t=d(e.algorithm)),this.rs_alg=t,void 0!==e.sign)r.func(e.sign,\"options.sign\"),this.rs_signFunc=e.sign;else if(\"hmac\"===t[0]&&void 0!==e.key){if(r.string(e.keyId,\"options.keyId\"),this.rs_keyId=e.keyId,\"string\"!=typeof e.key&&!Buffer.isBuffer(e.key))throw new TypeError(\"options.key for HMAC must be a string or Buffer\");this.rs_signer=i.createHmac(t[1].toUpperCase(),e.key),this.rs_signer.sign=function(){var e=this.digest(\"base64\");return{hashAlgorithm:t[1],toString:function(){return e}}}}else{if(void 0===e.key)throw new TypeError(\"options.sign (func) or options.key is required\");var a=e.key;if((\"string\"==typeof a||Buffer.isBuffer(a))&&(a=n.parsePrivateKey(a)),r.ok(n.PrivateKey.isPrivateKey(a,[1,2]),\"options.key must be a sshpk.PrivateKey\"),this.rs_key=a,r.string(e.keyId,\"options.keyId\"),this.rs_keyId=e.keyId,!l[a.type])throw new m(a.type.toUpperCase()+\" type keys are not supported\");if(void 0!==t[0]&&a.type!==t[0])throw new m(\"options.key must be a \"+t[0].toUpperCase()+\" key, was given a \"+a.type.toUpperCase()+\" key instead\");this.rs_signer=a.createSign(t[1])}this.rs_headers=[],this.rs_lines=[]}o.inherits(g,h),o.inherits(v,h),y.prototype.writeHeader=function(e,t){if(r.string(e,\"header\"),e=e.toLowerCase(),r.string(t,\"value\"),this.rs_headers.push(e),this.rs_signFunc)this.rs_lines.push(e+\": \"+t);else{var a=e+\": \"+t;this.rs_headers.length>0&&(a=\"\\n\"+a),this.rs_signer.update(a)}return t},y.prototype.writeDateHeader=function(){return this.writeHeader(\"date\",s.rfc1123(new Date))},y.prototype.writeTarget=function(e,t){r.string(e,\"method\"),r.string(t,\"path\"),e=e.toLowerCase(),this.writeHeader(\"(request-target)\",e+\" \"+t)},y.prototype.sign=function(e){if(r.func(e,\"callback\"),this.rs_headers.length<1)throw new Error(\"At least one header must be signed\");var t,a;if(this.rs_signFunc){var i=this.rs_lines.join(\"\\n\"),o=this;this.rs_signFunc(i,function(i,n){if(i)e(i);else{try{r.object(n,\"signature\"),r.string(n.keyId,\"signature.keyId\"),r.string(n.algorithm,\"signature.algorithm\"),r.string(n.signature,\"signature.signature\"),t=d(n.algorithm),a=u(f,n.keyId,n.algorithm,o.rs_headers.join(\" \"),n.signature)}catch(t){return void e(t)}e(null,a)}})}else{try{var n=this.rs_signer.sign()}catch(t){return void e(t)}t=(this.rs_alg[0]||this.rs_key.type)+\"-\"+n.hashAlgorithm;var s=n.toString();a=u(f,this.rs_keyId,t,this.rs_headers.join(\" \"),s),e(null,a)}},e.exports={isSigner:function(e){return\"object\"==typeof e&&e instanceof y},createSigner:function(e){return new y(e)},signRequest:function(e,t){r.object(e,\"request\"),r.object(t,\"options\"),r.optionalString(t.algorithm,\"options.algorithm\"),r.string(t.keyId,\"options.keyId\"),r.optionalArrayOfString(t.headers,\"options.headers\"),r.optionalString(t.httpVersion,\"options.httpVersion\"),e.getHeader(\"Date\")||e.setHeader(\"Date\",s.rfc1123(new Date)),t.headers||(t.headers=[\"date\"]),t.httpVersion||(t.httpVersion=\"1.1\");var a,o=[];t.algorithm&&(t.algorithm=t.algorithm.toLowerCase(),o=d(t.algorithm));var c,h=\"\";for(a=0;a<t.headers.length;a++){if(\"string\"!=typeof t.headers[a])throw new TypeError(\"options.headers must be an array of Strings\");var y=t.headers[a].toLowerCase();if(\"request-line\"===y){if(t.strict)throw new v(\"request-line is not a valid header with strict parsing enabled.\");h+=e.method+\" \"+e.path+\" HTTP/\"+t.httpVersion}else if(\"(request-target)\"===y)h+=\"(request-target): \"+e.method.toLowerCase()+\" \"+e.path;else{var b=e.getHeader(y);if(void 0===b||\"\"===b)throw new g(y+\" was not in the request\");h+=y+\": \"+b}a+1<t.headers.length&&(h+=\"\\n\")}if(e.hasOwnProperty(\"_stringToSign\")&&(e._stringToSign=h),\"hmac\"===o[0]){if(\"string\"!=typeof t.key&&!Buffer.isBuffer(t.key))throw new TypeError(\"options.key must be a string or Buffer\");var k=i.createHmac(o[1].toUpperCase(),t.key);k.update(h),c=k.digest(\"base64\")}else{var x=t.key;if((\"string\"==typeof x||Buffer.isBuffer(x))&&(x=n.parsePrivateKey(t.key)),r.ok(n.PrivateKey.isPrivateKey(x,[1,2]),\"options.key must be a sshpk.PrivateKey\"),!l[x.type])throw new m(x.type.toUpperCase()+\" type keys are not supported\");if(void 0!==o[0]&&x.type!==o[0])throw new m(\"options.key must be a \"+o[0].toUpperCase()+\" key, was given a \"+x.type.toUpperCase()+\" key instead\");var w=x.createSign(o[1]);w.update(h);var j=w.sign();if(!p[j.hashAlgorithm])throw new m(j.hashAlgorithm.toUpperCase()+\" is not a supported hash algorithm\");t.algorithm=x.type+\"-\"+j.hashAlgorithm,c=j.toString(),r.notStrictEqual(c,\"\",\"empty signature produced\")}var _=t.authorizationHeaderName||\"Authorization\";return e.setHeader(_,u(f,t.keyId,t.algorithm,t.headers.join(\" \"),c)),!0}}},function(e,t,a){var r=a(0),i=(a(4),a(69)),o=a(159),n=a(161);function s(e,t){return r.equal(typeof t,\"string\"),Object.prototype.hasOwnProperty.call(e,t)}t.deepCopy=function e(t){var a,r;var i=\"__deepCopy\";if(t&&t[i])throw new Error(\"attempted deep copy of cyclic object\");if(t&&t.constructor==Object){for(r in a={},t[i]=!0,t)r!=i&&(a[r]=e(t[r]));return delete t[i],a}if(t&&t.constructor==Array){for(a=[],t[i]=!0,r=0;r<t.length;r++)a.push(e(t[r]));return delete t[i],a}return t},t.deepEqual=function e(t,a){if(typeof t!=typeof a)return!1;if(null===t||null===a||\"object\"!=typeof t)return t===a;if(t.constructor!=a.constructor)return!1;var r;for(r in t){if(!a.hasOwnProperty(r))return!1;if(!e(t[r],a[r]))return!1}for(r in a)if(!t.hasOwnProperty(r))return!1;return!0},t.isEmpty=function(e){var t;for(t in e)return!1;return!0},t.hasKey=s,t.forEachKey=function(e,t){for(var a in e)s(e,a)&&t(a,e[a])},t.pluck=function(e,t){return r.equal(typeof t,\"string\"),function e(t,a){if(null!==t&&\"object\"==typeof t){if(t.hasOwnProperty(a))return t[a];var r=a.indexOf(\".\");if(-1!=r){var i=a.substr(0,r);if(t.hasOwnProperty(i))return e(t[i],a.substr(r+1))}}}(e,t)},t.flattenObject=function e(t,a){if(0===a)return[t];r.ok(null!==t);r.equal(typeof t,\"object\");r.equal(typeof a,\"number\");r.ok(a>=0);var i=[];var o;for(o in t)e(t[o],a-1).forEach(function(e){i.push([o].concat(e))});return i},t.flattenIter=function(e,t,a){!function e(t,a,i,o){var n;var s;if(0===a)return(n=i.slice(0)).push(t),void o(n);r.ok(null!==t);r.equal(typeof t,\"object\");r.equal(typeof a,\"number\");r.ok(a>=0);for(s in t)(n=i.slice(0)).push(s),e(t[s],a-1,n,o)}(e,t,[],a)},t.validateJsonObject=O,t.validateJsonObjectJS=O,t.randElt=function(e){return r.ok(Array.isArray(e)&&e.length>0,\"randElt argument must be a non-empty array\"),e[Math.floor(Math.random()*e.length)]},t.extraProperties=function(e,t){r.ok(\"object\"==typeof e&&null!==e,\"obj argument must be a non-null object\"),r.ok(Array.isArray(t),\"allowed argument must be an array of strings\");for(var a=0;a<t.length;a++)r.ok(\"string\"==typeof t[a],\"allowed argument must be an array of strings\");return Object.keys(e).filter(function(e){return-1===t.indexOf(e)})},t.mergeObjects=D,t.startsWith=function(e,t){return e.substr(0,t.length)==t},t.endsWith=function(e,t){return e.substr(e.length-t.length,t.length)==t},t.parseInteger=function(e,t){r.string(e,\"str\"),r.optionalObject(t,\"options\");var a,i=!1,o=m;t&&(i=s(t,\"base\"),o=D(o,t),r.number(o.base,\"options.base\"),r.ok(o.base>=2,\"options.base >= 2\"),r.ok(o.base<=36,\"options.base <= 36\"),r.bool(o.allowSign,\"options.allowSign\"),r.bool(o.allowPrefix,\"options.allowPrefix\"),r.bool(o.allowTrailing,\"options.allowTrailing\"),r.bool(o.allowImprecise,\"options.allowImprecise\"),r.bool(o.trimWhitespace,\"options.trimWhitespace\"),r.bool(o.leadingZeroIsOctal,\"options.leadingZeroIsOctal\"),o.leadingZeroIsOctal&&r.ok(!i,'\"base\" and \"leadingZeroIsOctal\" are mutually exclusive'));var n,c=-1,u=o.base,h=1,d=0,f=0,k=e.length;if(o.trimWhitespace)for(;f<k&&A(e.charCodeAt(f));)++f;o.allowSign&&(\"-\"===e[f]?(f+=1,h=-1):\"+\"===e[f]&&(f+=1));\"0\"===e[f]&&(o.allowPrefix&&(-1===(c=function(e){return e===w||e===g?2:e===j||e===v?8:e===_||e===y?10:e===S||e===b?16:-1}(e.charCodeAt(f+1)))||i&&c!==u||(u=c,f+=2)),-1===c&&o.leadingZeroIsOctal&&(u=8));for(n=f;f<k&&(-1!==(a=C(e.charCodeAt(f)))&&a<u);++f)d*=u,d+=a;if(n===f)return new Error(\"invalid number: \"+JSON.stringify(e));if(o.trimWhitespace)for(;f<k&&A(e.charCodeAt(f));)++f;if(f<k&&!o.allowTrailing)return new Error(\"trailing characters after number: \"+JSON.stringify(e.slice(f)));if(0===d)return 0;var x=d*h;if(!o.allowImprecise&&(d>p||x<l))return new Error(\"number is outside of the supported range: \"+JSON.stringify(e.slice(n,f)));return x},t.iso8601=function(e){\"number\"==typeof e&&(e=new Date(e));return r.ok(e.constructor===Date),i.sprintf(\"%4d-%02d-%02dT%02d:%02d:%02d.%03dZ\",e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())},t.rfc1123=function(e){return i.sprintf(\"%s, %02d %s %04d %02d:%02d:%02d GMT\",u[e.getUTCDay()],e.getUTCDate(),c[e.getUTCMonth()],e.getUTCFullYear(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds())},t.parseDateTime=function(e){var t=+e;return isNaN(t)?new Date(e):new Date(t)},t.hrtimediff=T,t.hrtimeDiff=T,t.hrtimeAccum=B,t.hrtimeAdd=function(e,t){return q(e),B([e[0],e[1]],t)},t.hrtimeNanosec=function(e){return q(e),Math.floor(1e9*e[0]+e[1])},t.hrtimeMicrosec=function(e){return q(e),Math.floor(1e6*e[0]+e[1]/1e3)},t.hrtimeMillisec=function(e){return q(e),Math.floor(1e3*e[0]+e[1]/1e6)};var c=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],u=[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"];var p=Number.MAX_SAFE_INTEGER||9007199254740991,l=Number.MIN_SAFE_INTEGER||-9007199254740991,m={base:10,allowSign:!0,allowPrefix:!1,allowTrailing:!1,allowImprecise:!1,trimWhitespace:!1,leadingZeroIsOctal:!1},h=48,d=57,f=65,g=66,v=79,y=84,b=88,k=90,x=97,w=98,j=111,_=116,S=120,E=122,F=48,P=55,z=87;function C(e){return e>=h&&e<=d?e-F:e>=f&&e<=k?e-P:e>=x&&e<=E?e-z:-1}function A(e){return 32===e||e>=9&&e<=13||160===e||5760===e||6158===e||e>=8192&&e<=8202||8232===e||8233===e||8239===e||8287===e||12288===e||65279===e}function O(e,t){var a=n.validate(t,e);if(0===a.errors.length)return null;var r,i,s=a.errors[0],c=s.property,u=s.message.toLowerCase();-1!=(r=u.indexOf(\"the property \"))&&-1!=(i=u.indexOf(\" is not defined in the schema and the schema does not allow additional properties\"))&&(r+=\"the property \".length,c=\"\"===c?u.substr(r,i-r):c+\".\"+u.substr(r,i-r),u=\"unsupported property\");var p=new o.VError('property \"%s\": %s',c,u);return p.jsv_details=s,p}function q(e){r.ok(e[0]>=0&&e[1]>=0,\"negative numbers not allowed in hrtimes\"),r.ok(e[1]<1e9,\"nanoseconds column overflow\")}function T(e,t){q(e),q(t),r.ok(e[0]>t[0]||e[0]==t[0]&&e[1]>=t[1],\"negative differences not allowed\");var a=[e[0]-t[0],0];return e[1]>=t[1]?a[1]=e[1]-t[1]:(a[0]--,a[1]=1e9-(t[1]-e[1])),a}function B(e,t){return q(e),q(t),e[1]+=t[1],e[1]>=1e9&&(e[0]++,e[1]-=1e9),e[0]+=t[0],e}function D(e,t,a){var r,i;if(r={},a)for(i in a)r[i]=a[i];if(e)for(i in e)r[i]=e[i];if(t)for(i in t)r[i]=t[i];return r}},function(e,t,a){var r=a(0),i=a(4),o=a(69),n=a(160).isError,s=o.sprintf;function c(e){var t,a,i,o;if(r.object(e,\"args\"),r.bool(e.strict,\"args.strict\"),r.array(e.argv,\"args.argv\"),0===(t=e.argv).length)a={},i=[];else if(n(t[0]))a={cause:t[0]},i=t.slice(1);else if(\"object\"==typeof t[0]){for(o in a={},t[0])a[o]=t[0][o];i=t.slice(1)}else r.string(t[0],\"first argument to VError, SError, or WError constructor must be a string, object, or Error\"),a={},i=t;return r.object(a),a.strict||e.strict||(i=i.map(function(e){return null===e?\"null\":void 0===e?\"undefined\":e})),{options:a,shortmessage:0===i.length?\"\":s.apply(null,i)}}function u(){var e,t,a,i,o,s,p;if(e=Array.prototype.slice.call(arguments,0),!(this instanceof u))return t=Object.create(u.prototype),u.apply(t,arguments),t;if((a=c({argv:e,strict:!1})).options.name&&(r.string(a.options.name,'error\\'s \"name\" must be a string'),this.name=a.options.name),this.jse_shortmsg=a.shortmessage,s=a.shortmessage,(i=a.options.cause)&&(r.ok(n(i),\"cause is not an Error\"),this.jse_cause=i,a.options.skipCauseMessage||(s+=\": \"+i.message)),this.jse_info={},a.options.info)for(p in a.options.info)this.jse_info[p]=a.options.info[p];return this.message=s,Error.call(this,s),Error.captureStackTrace&&(o=a.options.constructorOpt||this.constructor,Error.captureStackTrace(this,o)),this}function p(){var e,t,a,r;return e=Array.prototype.slice.call(arguments,0),this instanceof p?(r=(a=c({argv:e,strict:!0})).options,u.call(this,r,\"%s\",a.shortmessage),this):(t=Object.create(p.prototype),p.apply(t,arguments),t)}function l(e){r.array(e,\"list of errors\"),r.ok(e.length>0,\"must be at least one error\"),this.ase_errors=e,u.call(this,{cause:e[0]},\"first of %d error%s\",e.length,1==e.length?\"\":\"s\")}function m(){var e,t,a,r;return e=Array.prototype.slice.call(arguments,0),this instanceof m?((r=(a=c({argv:e,strict:!1})).options).skipCauseMessage=!0,u.call(this,r,\"%s\",a.shortmessage),this):(t=Object.create(m.prototype),m.apply(t,e),t)}e.exports=u,u.VError=u,u.SError=p,u.WError=m,u.MultiError=l,i.inherits(u,Error),u.prototype.name=\"VError\",u.prototype.toString=function(){var e=this.hasOwnProperty(\"name\")&&this.name||this.constructor.name||this.constructor.prototype.name;return this.message&&(e+=\": \"+this.message),e},u.prototype.cause=function(){var e=u.cause(this);return null===e?void 0:e},u.cause=function(e){return r.ok(n(e),\"err must be an Error\"),n(e.jse_cause)?e.jse_cause:null},u.info=function(e){var t,a,i;if(r.ok(n(e),\"err must be an Error\"),t=null!==(a=u.cause(e))?u.info(a):{},\"object\"==typeof e.jse_info&&null!==e.jse_info)for(i in e.jse_info)t[i]=e.jse_info[i];return t},u.findCauseByName=function(e,t){var a;for(r.ok(n(e),\"err must be an Error\"),r.string(t,\"name\"),r.ok(t.length>0,\"name cannot be empty\"),a=e;null!==a;a=u.cause(a))if(r.ok(n(a)),a.name==t)return a;return null},u.hasCauseWithName=function(e,t){return null!==u.findCauseByName(e,t)},u.fullStack=function(e){r.ok(n(e),\"err must be an Error\");var t=u.cause(e);return t?e.stack+\"\\ncaused by: \"+u.fullStack(t):e.stack},u.errorFromList=function(e){return r.arrayOfObject(e,\"errors\"),0===e.length?null:(e.forEach(function(e){r.ok(n(e))}),1==e.length?e[0]:new l(e))},u.errorForEach=function(e,t){r.ok(n(e),\"err must be an Error\"),r.func(t,\"func\"),e instanceof l?e.errors().forEach(function(e){t(e)}):t(e)},i.inherits(p,u),i.inherits(l,u),l.prototype.name=\"MultiError\",l.prototype.errors=function(){return this.ase_errors.slice(0)},i.inherits(m,u),m.prototype.name=\"WError\",m.prototype.toString=function(){var e=this.hasOwnProperty(\"name\")&&this.name||this.constructor.name||this.constructor.prototype.name;return this.message&&(e+=\": \"+this.message),this.jse_cause&&this.jse_cause.message&&(e+=\"; caused by \"+this.jse_cause.toString()),e},m.prototype.cause=function(e){return n(e)&&(this.jse_cause=e),this.jse_cause}},function(e,t){function a(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):\"[object Array]\"===a(e)},t.isBoolean=function(e){return\"boolean\"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return\"number\"==typeof e},t.isString=function(e){return\"string\"==typeof e},t.isSymbol=function(e){return\"symbol\"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return\"[object RegExp]\"===a(e)},t.isObject=function(e){return\"object\"==typeof e&&null!==e},t.isDate=function(e){return\"[object Date]\"===a(e)},t.isError=function(e){return\"[object Error]\"===a(e)||e instanceof Error},t.isFunction=function(e){return\"function\"==typeof e},t.isPrimitive=function(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||void 0===e},t.isBuffer=Buffer.isBuffer},function(e,t,a){var r;void 0===(r=function(){return function(){var e=a;e.Integer={type:\"integer\"};var t={String:String,Boolean:Boolean,Number:Number,Object:Object,Array:Array,Date:Date};function a(e,t){return a(e,t,{changing:!1})}e.validate=a,e.checkPropertyChange=function(e,t,r){return a(e,t,{changing:r||\"property\"})};var a=e._validate=function(e,a,r){r||(r={});var i=r.changing;function o(e){return e.type||t[e.name]==e&&e.name.toLowerCase()}var n=[];function s(e,t,a,c){var u;function p(e){n.push({property:a,message:e})}if(a+=a?\"number\"==typeof c?\"[\"+c+\"]\":void 0===c?\"\":\".\"+c:c,(\"object\"!=typeof t||t instanceof Array)&&(a||\"function\"!=typeof t)&&(!t||!o(t)))return\"function\"==typeof t?e instanceof t||p(\"is not an instance of the class/constructor \"+t.name):t&&p(\"Invalid schema/property definition \"+t),null;function l(e,t){if(e){if(!(\"string\"!=typeof e||\"any\"==e||(\"null\"==e?null===t:typeof t==e)||t instanceof Array&&\"array\"==e||t instanceof Date&&\"date\"==e||\"integer\"==e&&t%1==0))return[{property:a,message:typeof t+\" value found, but a \"+e+\" is required\"}];if(e instanceof Array){for(var r=[],i=0;i<e.length&&(r=l(e[i],t)).length;i++);if(r.length)return r}else if(\"object\"==typeof e){var o=n;n=[],s(t,e,a);var c=n;return n=o,c}}return[]}if(i&&t.readonly&&p(\"is a readonly field, it can not be changed\"),t.extends&&s(e,t.extends,a,c),void 0===e)t.required&&p(\"is missing and it is required\");else if(n=n.concat(l(o(t),e)),t.disallow&&!l(t.disallow,e).length&&p(\" disallowed value was matched\"),null!==e){if(e instanceof Array){if(t.items){var m=t.items instanceof Array,h=t.items;for(c=0,u=e.length;c<u;c+=1)m&&(h=t.items[c]),r.coerce&&(e[c]=r.coerce(e[c],h)),n.concat(s(e[c],h,a,c))}t.minItems&&e.length<t.minItems&&p(\"There must be a minimum of \"+t.minItems+\" in the array\"),t.maxItems&&e.length>t.maxItems&&p(\"There must be a maximum of \"+t.maxItems+\" in the array\")}else(t.properties||t.additionalProperties)&&n.concat(function(e,t,a,o){if(\"object\"==typeof t)for(var c in(\"object\"!=typeof e||e instanceof Array)&&n.push({property:a,message:\"an object is required\"}),t)if(t.hasOwnProperty(c)){var u=e[c];if(void 0===u&&r.existingOnly)continue;var p=t[c];void 0===u&&p.default&&(u=e[c]=p.default),r.coerce&&c in e&&(u=e[c]=r.coerce(u,p)),s(u,p,a,c)}for(c in e){if(e.hasOwnProperty(c)&&(\"_\"!=c.charAt(0)||\"_\"!=c.charAt(1))&&t&&!t[c]&&!1===o){if(r.filter){delete e[c];continue}n.push({property:a,message:typeof u+\"The property \"+c+\" is not defined in the schema and the schema does not allow additional properties\"})}var l=t&&t[c]&&t[c].requires;!l||l in e||n.push({property:a,message:\"the presence of the property \"+c+\" requires that \"+l+\" also be present\"}),u=e[c],!o||t&&\"object\"==typeof t&&c in t||(r.coerce&&(u=e[c]=r.coerce(u,o)),s(u,o,a,c)),!i&&u&&u.$schema&&(n=n.concat(s(u,u.$schema,a,c)))}return n}(e,t.properties,a,t.additionalProperties));if(t.pattern&&\"string\"==typeof e&&!e.match(t.pattern)&&p(\"does not match the regex pattern \"+t.pattern),t.maxLength&&\"string\"==typeof e&&e.length>t.maxLength&&p(\"may only be \"+t.maxLength+\" characters long\"),t.minLength&&\"string\"==typeof e&&e.length<t.minLength&&p(\"must be at least \"+t.minLength+\" characters long\"),void 0!==typeof t.minimum&&typeof e==typeof t.minimum&&t.minimum>e&&p(\"must have a minimum value of \"+t.minimum),void 0!==typeof t.maximum&&typeof e==typeof t.maximum&&t.maximum<e&&p(\"must have a maximum value of \"+t.maximum),t.enum){var d,f=t.enum;u=f.length;for(var g=0;g<u;g++)if(f[g]===e){d=1;break}d||p(\"does not have a value in the enumeration \"+f.join(\", \"))}\"number\"==typeof t.maxDecimal&&e.toString().match(new RegExp(\"\\\\.[0-9]{\"+(t.maxDecimal+1)+\",}\"))&&p(\"may only have \"+t.maxDecimal+\" digits of decimal places\")}return null}return a&&s(e,a,\"\",i||\"\"),!i&&e&&e.$schema&&s(e,e.$schema,\"\",\"\"),{valid:!n.length,errors:n}};return e.mustBeValid=function(e){if(!e.valid)throw new TypeError(e.errors.map(function(e){return\"for property \"+e.property+\": \"+e.message}).join(\", \\n\"))},e}()}.apply(t,[]))||(e.exports=r)},function(e,t,a){var r=a(0),i=a(3),o=a(38),n=a(30),s=(n.HASH_ALGOS,n.PK_ALGOS,n.InvalidAlgorithmError,n.HttpSignatureError,n.validateAlgorithm);e.exports={verifySignature:function(e,t){r.object(e,\"parsedSignature\"),(\"string\"==typeof t||Buffer.isBuffer(t))&&(t=o.parseKey(t)),r.ok(o.Key.isKey(t,[1,1]),\"pubkey must be a sshpk.Key\");var a=s(e.algorithm);if(\"hmac\"===a[0]||a[0]!==t.type)return!1;var i=t.createVerify(a[1]);return i.update(e.signingString),i.verify(e.params.signature,\"base64\")},verifyHMAC:function(e,t){r.object(e,\"parsedHMAC\"),r.string(t,\"secret\");var a=s(e.algorithm);if(\"hmac\"!==a[0])return!1;var o=a[1].toUpperCase(),n=i.createHmac(o,t);n.update(e.signingString);var c=i.createHmac(o,t);c.update(n.digest()),c=c.digest();var u=i.createHmac(o,t);return u.update(new Buffer(e.params.signature,\"base64\")),u=u.digest(),\"string\"==typeof c?c===u:Buffer.isBuffer(c)&&!c.equals?c.toString(\"binary\")===u.toString(\"binary\"):c.equals(u)}}},function(e,t,a){\n/*!\n * mime-db\n * Copyright(c) 2014 Jonathan Ong\n * MIT Licensed\n */\ne.exports=a(164)},function(e){e.exports={\"application/1d-interleaved-parityfec\":{source:\"iana\"},\"application/3gpdash-qoe-report+xml\":{source:\"iana\",compressible:!0},\"application/3gpp-ims+xml\":{source:\"iana\",compressible:!0},\"application/a2l\":{source:\"iana\"},\"application/activemessage\":{source:\"iana\"},\"application/activity+json\":{source:\"iana\",compressible:!0},\"application/alto-costmap+json\":{source:\"iana\",compressible:!0},\"application/alto-costmapfilter+json\":{source:\"iana\",compressible:!0},\"application/alto-directory+json\":{source:\"iana\",compressible:!0},\"application/alto-endpointcost+json\":{source:\"iana\",compressible:!0},\"application/alto-endpointcostparams+json\":{source:\"iana\",compressible:!0},\"application/alto-endpointprop+json\":{source:\"iana\",compressible:!0},\"application/alto-endpointpropparams+json\":{source:\"iana\",compressible:!0},\"application/alto-error+json\":{source:\"iana\",compressible:!0},\"application/alto-networkmap+json\":{source:\"iana\",compressible:!0},\"application/alto-networkmapfilter+json\":{source:\"iana\",compressible:!0},\"application/aml\":{source:\"iana\"},\"application/andrew-inset\":{source:\"iana\",extensions:[\"ez\"]},\"application/applefile\":{source:\"iana\"},\"application/applixware\":{source:\"apache\",extensions:[\"aw\"]},\"application/atf\":{source:\"iana\"},\"application/atfx\":{source:\"iana\"},\"application/atom+xml\":{source:\"iana\",compressible:!0,extensions:[\"atom\"]},\"application/atomcat+xml\":{source:\"iana\",compressible:!0,extensions:[\"atomcat\"]},\"application/atomdeleted+xml\":{source:\"iana\",compressible:!0},\"application/atomicmail\":{source:\"iana\"},\"application/atomsvc+xml\":{source:\"iana\",compressible:!0,extensions:[\"atomsvc\"]},\"application/atxml\":{source:\"iana\"},\"application/auth-policy+xml\":{source:\"iana\",compressible:!0},\"application/bacnet-xdd+zip\":{source:\"iana\",compressible:!1},\"application/batch-smtp\":{source:\"iana\"},\"application/bdoc\":{compressible:!1,extensions:[\"bdoc\"]},\"application/beep+xml\":{source:\"iana\",compressible:!0},\"application/calendar+json\":{source:\"iana\",compressible:!0},\"application/calendar+xml\":{source:\"iana\",compressible:!0},\"application/call-completion\":{source:\"iana\"},\"application/cals-1840\":{source:\"iana\"},\"application/cbor\":{source:\"iana\"},\"application/cccex\":{source:\"iana\"},\"application/ccmp+xml\":{source:\"iana\",compressible:!0},\"application/ccxml+xml\":{source:\"iana\",compressible:!0,extensions:[\"ccxml\"]},\"application/cdfx+xml\":{source:\"iana\",compressible:!0},\"application/cdmi-capability\":{source:\"iana\",extensions:[\"cdmia\"]},\"application/cdmi-container\":{source:\"iana\",extensions:[\"cdmic\"]},\"application/cdmi-domain\":{source:\"iana\",extensions:[\"cdmid\"]},\"application/cdmi-object\":{source:\"iana\",extensions:[\"cdmio\"]},\"application/cdmi-queue\":{source:\"iana\",extensions:[\"cdmiq\"]},\"application/cdni\":{source:\"iana\"},\"application/cea\":{source:\"iana\"},\"application/cea-2018+xml\":{source:\"iana\",compressible:!0},\"application/cellml+xml\":{source:\"iana\",compressible:!0},\"application/cfw\":{source:\"iana\"},\"application/clue_info+xml\":{source:\"iana\",compressible:!0},\"application/cms\":{source:\"iana\"},\"application/cnrp+xml\":{source:\"iana\",compressible:!0},\"application/coap-group+json\":{source:\"iana\",compressible:!0},\"application/coap-payload\":{source:\"iana\"},\"application/commonground\":{source:\"iana\"},\"application/conference-info+xml\":{source:\"iana\",compressible:!0},\"application/cose\":{source:\"iana\"},\"application/cose-key\":{source:\"iana\"},\"application/cose-key-set\":{source:\"iana\"},\"application/cpl+xml\":{source:\"iana\",compressible:!0},\"application/csrattrs\":{source:\"iana\"},\"application/csta+xml\":{source:\"iana\",compressible:!0},\"application/cstadata+xml\":{source:\"iana\",compressible:!0},\"application/csvm+json\":{source:\"iana\",compressible:!0},\"application/cu-seeme\":{source:\"apache\",extensions:[\"cu\"]},\"application/cwt\":{source:\"iana\"},\"application/cybercash\":{source:\"iana\"},\"application/dart\":{compressible:!0},\"application/dash+xml\":{source:\"iana\",compressible:!0,extensions:[\"mpd\"]},\"application/dashdelta\":{source:\"iana\"},\"application/davmount+xml\":{source:\"iana\",compressible:!0,extensions:[\"davmount\"]},\"application/dca-rft\":{source:\"iana\"},\"application/dcd\":{source:\"iana\"},\"application/dec-dx\":{source:\"iana\"},\"application/dialog-info+xml\":{source:\"iana\",compressible:!0},\"application/dicom\":{source:\"iana\"},\"application/dicom+json\":{source:\"iana\",compressible:!0},\"application/dicom+xml\":{source:\"iana\",compressible:!0},\"application/dii\":{source:\"iana\"},\"application/dit\":{source:\"iana\"},\"application/dns\":{source:\"iana\"},\"application/dns+json\":{source:\"iana\",compressible:!0},\"application/dns-message\":{source:\"iana\"},\"application/docbook+xml\":{source:\"apache\",compressible:!0,extensions:[\"dbk\"]},\"application/dskpp+xml\":{source:\"iana\",compressible:!0},\"application/dssc+der\":{source:\"iana\",extensions:[\"dssc\"]},\"application/dssc+xml\":{source:\"iana\",compressible:!0,extensions:[\"xdssc\"]},\"application/dvcs\":{source:\"iana\"},\"application/ecmascript\":{source:\"iana\",compressible:!0,extensions:[\"ecma\",\"es\"]},\"application/edi-consent\":{source:\"iana\"},\"application/edi-x12\":{source:\"iana\",compressible:!1},\"application/edifact\":{source:\"iana\",compressible:!1},\"application/efi\":{source:\"iana\"},\"application/emergencycalldata.comment+xml\":{source:\"iana\",compressible:!0},\"application/emergencycalldata.control+xml\":{source:\"iana\",compressible:!0},\"application/emergencycalldata.deviceinfo+xml\":{source:\"iana\",compressible:!0},\"application/emergencycalldata.ecall.msd\":{source:\"iana\"},\"application/emergencycalldata.providerinfo+xml\":{source:\"iana\",compressible:!0},\"application/emergencycalldata.serviceinfo+xml\":{source:\"iana\",compressible:!0},\"application/emergencycalldata.subscriberinfo+xml\":{source:\"iana\",compressible:!0},\"application/emergencycalldata.veds+xml\":{source:\"iana\",compressible:!0},\"application/emma+xml\":{source:\"iana\",compressible:!0,extensions:[\"emma\"]},\"application/emotionml+xml\":{source:\"iana\",compressible:!0},\"application/encaprtp\":{source:\"iana\"},\"application/epp+xml\":{source:\"iana\",compressible:!0},\"application/epub+zip\":{source:\"iana\",compressible:!1,extensions:[\"epub\"]},\"application/eshop\":{source:\"iana\"},\"application/exi\":{source:\"iana\",extensions:[\"exi\"]},\"application/fastinfoset\":{source:\"iana\"},\"application/fastsoap\":{source:\"iana\"},\"application/fdt+xml\":{source:\"iana\",compressible:!0},\"application/fhir+json\":{source:\"iana\",compressible:!0},\"application/fhir+xml\":{source:\"iana\",compressible:!0},\"application/fido.trusted-apps+json\":{compressible:!0},\"application/fits\":{source:\"iana\"},\"application/font-sfnt\":{source:\"iana\"},\"application/font-tdpfr\":{source:\"iana\",extensions:[\"pfr\"]},\"application/font-woff\":{source:\"iana\",compressible:!1},\"application/framework-attributes+xml\":{source:\"iana\",compressible:!0},\"application/geo+json\":{source:\"iana\",compressible:!0,extensions:[\"geojson\"]},\"application/geo+json-seq\":{source:\"iana\"},\"application/geopackage+sqlite3\":{source:\"iana\"},\"application/geoxacml+xml\":{source:\"iana\",compressible:!0},\"application/gltf-buffer\":{source:\"iana\"},\"application/gml+xml\":{source:\"iana\",compressible:!0,extensions:[\"gml\"]},\"application/gpx+xml\":{source:\"apache\",compressible:!0,extensions:[\"gpx\"]},\"application/gxf\":{source:\"apache\",extensions:[\"gxf\"]},\"application/gzip\":{source:\"iana\",compressible:!1,extensions:[\"gz\"]},\"application/h224\":{source:\"iana\"},\"application/held+xml\":{source:\"iana\",compressible:!0},\"application/hjson\":{extensions:[\"hjson\"]},\"application/http\":{source:\"iana\"},\"application/hyperstudio\":{source:\"iana\",extensions:[\"stk\"]},\"application/ibe-key-request+xml\":{source:\"iana\",compressible:!0},\"application/ibe-pkg-reply+xml\":{source:\"iana\",compressible:!0},\"application/ibe-pp-data\":{source:\"iana\"},\"application/iges\":{source:\"iana\"},\"application/im-iscomposing+xml\":{source:\"iana\",compressible:!0},\"application/index\":{source:\"iana\"},\"application/index.cmd\":{source:\"iana\"},\"application/index.obj\":{source:\"iana\"},\"application/index.response\":{source:\"iana\"},\"application/index.vnd\":{source:\"iana\"},\"application/inkml+xml\":{source:\"iana\",compressible:!0,extensions:[\"ink\",\"inkml\"]},\"application/iotp\":{source:\"iana\"},\"application/ipfix\":{source:\"iana\",extensions:[\"ipfix\"]},\"application/ipp\":{source:\"iana\"},\"application/isup\":{source:\"iana\"},\"application/its+xml\":{source:\"iana\",compressible:!0},\"application/java-archive\":{source:\"apache\",compressible:!1,extensions:[\"jar\",\"war\",\"ear\"]},\"application/java-serialized-object\":{source:\"apache\",compressible:!1,extensions:[\"ser\"]},\"application/java-vm\":{source:\"apache\",compressible:!1,extensions:[\"class\"]},\"application/javascript\":{source:\"iana\",charset:\"UTF-8\",compressible:!0,extensions:[\"js\",\"mjs\"]},\"application/jf2feed+json\":{source:\"iana\",compressible:!0},\"application/jose\":{source:\"iana\"},\"application/jose+json\":{source:\"iana\",compressible:!0},\"application/jrd+json\":{source:\"iana\",compressible:!0},\"application/json\":{source:\"iana\",charset:\"UTF-8\",compressible:!0,extensions:[\"json\",\"map\"]},\"application/json-patch+json\":{source:\"iana\",compressible:!0},\"application/json-seq\":{source:\"iana\"},\"application/json5\":{extensions:[\"json5\"]},\"application/jsonml+json\":{source:\"apache\",compressible:!0,extensions:[\"jsonml\"]},\"application/jwk+json\":{source:\"iana\",compressible:!0},\"application/jwk-set+json\":{source:\"iana\",compressible:!0},\"application/jwt\":{source:\"iana\"},\"application/kpml-request+xml\":{source:\"iana\",compressible:!0},\"application/kpml-response+xml\":{source:\"iana\",compressible:!0},\"application/ld+json\":{source:\"iana\",compressible:!0,extensions:[\"jsonld\"]},\"application/lgr+xml\":{source:\"iana\",compressible:!0},\"application/link-format\":{source:\"iana\"},\"application/load-control+xml\":{source:\"iana\",compressible:!0},\"application/lost+xml\":{source:\"iana\",compressible:!0,extensions:[\"lostxml\"]},\"application/lostsync+xml\":{source:\"iana\",compressible:!0},\"application/lxf\":{source:\"iana\"},\"application/mac-binhex40\":{source:\"iana\",extensions:[\"hqx\"]},\"application/mac-compactpro\":{source:\"apache\",extensions:[\"cpt\"]},\"application/macwriteii\":{source:\"iana\"},\"application/mads+xml\":{source:\"iana\",compressible:!0,extensions:[\"mads\"]},\"application/manifest+json\":{charset:\"UTF-8\",compressible:!0,extensions:[\"webmanifest\"]},\"application/marc\":{source:\"iana\",extensions:[\"mrc\"]},\"application/marcxml+xml\":{source:\"iana\",compressible:!0,extensions:[\"mrcx\"]},\"application/mathematica\":{source:\"iana\",extensions:[\"ma\",\"nb\",\"mb\"]},\"application/mathml+xml\":{source:\"iana\",compressible:!0,extensions:[\"mathml\"]},\"application/mathml-content+xml\":{source:\"iana\",compressible:!0},\"application/mathml-presentation+xml\":{source:\"iana\",compressible:!0},\"application/mbms-associated-procedure-description+xml\":{source:\"iana\",compressible:!0},\"application/mbms-deregister+xml\":{source:\"iana\",compressible:!0},\"application/mbms-envelope+xml\":{source:\"iana\",compressible:!0},\"application/mbms-msk+xml\":{source:\"iana\",compressible:!0},\"application/mbms-msk-response+xml\":{source:\"iana\",compressible:!0},\"application/mbms-protection-description+xml\":{source:\"iana\",compressible:!0},\"application/mbms-reception-report+xml\":{source:\"iana\",compressible:!0},\"application/mbms-register+xml\":{source:\"iana\",compressible:!0},\"application/mbms-register-response+xml\":{source:\"iana\",compressible:!0},\"application/mbms-schedule+xml\":{source:\"iana\",compressible:!0},\"application/mbms-user-service-description+xml\":{source:\"iana\",compressible:!0},\"application/mbox\":{source:\"iana\",extensions:[\"mbox\"]},\"application/media-policy-dataset+xml\":{source:\"iana\",compressible:!0},\"application/media_control+xml\":{source:\"iana\",compressible:!0},\"application/mediaservercontrol+xml\":{source:\"iana\",compressible:!0,extensions:[\"mscml\"]},\"application/merge-patch+json\":{source:\"iana\",compressible:!0},\"application/metalink+xml\":{source:\"apache\",compressible:!0,extensions:[\"metalink\"]},\"application/metalink4+xml\":{source:\"iana\",compressible:!0,extensions:[\"meta4\"]},\"application/mets+xml\":{source:\"iana\",compressible:!0,extensions:[\"mets\"]},\"application/mf4\":{source:\"iana\"},\"application/mikey\":{source:\"iana\"},\"application/mmt-usd+xml\":{source:\"iana\",compressible:!0},\"application/mods+xml\":{source:\"iana\",compressible:!0,extensions:[\"mods\"]},\"application/moss-keys\":{source:\"iana\"},\"application/moss-signature\":{source:\"iana\"},\"application/mosskey-data\":{source:\"iana\"},\"application/mosskey-request\":{source:\"iana\"},\"application/mp21\":{source:\"iana\",extensions:[\"m21\",\"mp21\"]},\"application/mp4\":{source:\"iana\",extensions:[\"mp4s\",\"m4p\"]},\"application/mpeg4-generic\":{source:\"iana\"},\"application/mpeg4-iod\":{source:\"iana\"},\"application/mpeg4-iod-xmt\":{source:\"iana\"},\"application/mrb-consumer+xml\":{source:\"iana\",compressible:!0},\"application/mrb-publish+xml\":{source:\"iana\",compressible:!0},\"application/msc-ivr+xml\":{source:\"iana\",compressible:!0},\"application/msc-mixer+xml\":{source:\"iana\",compressible:!0},\"application/msword\":{source:\"iana\",compressible:!1,extensions:[\"doc\",\"dot\"]},\"application/mud+json\":{source:\"iana\",compressible:!0},\"application/mxf\":{source:\"iana\",extensions:[\"mxf\"]},\"application/n-quads\":{source:\"iana\"},\"application/n-triples\":{source:\"iana\"},\"application/nasdata\":{source:\"iana\"},\"application/news-checkgroups\":{source:\"iana\"},\"application/news-groupinfo\":{source:\"iana\"},\"application/news-transmission\":{source:\"iana\"},\"application/nlsml+xml\":{source:\"iana\",compressible:!0},\"application/node\":{source:\"iana\"},\"application/nss\":{source:\"iana\"},\"application/ocsp-request\":{source:\"iana\"},\"application/ocsp-response\":{source:\"iana\"},\"application/octet-stream\":{source:\"iana\",compressible:!1,extensions:[\"bin\",\"dms\",\"lrf\",\"mar\",\"so\",\"dist\",\"distz\",\"pkg\",\"bpk\",\"dump\",\"elc\",\"deploy\",\"exe\",\"dll\",\"deb\",\"dmg\",\"iso\",\"img\",\"msi\",\"msp\",\"msm\",\"buffer\"]},\"application/oda\":{source:\"iana\",extensions:[\"oda\"]},\"application/odx\":{source:\"iana\"},\"application/oebps-package+xml\":{source:\"iana\",compressible:!0,extensions:[\"opf\"]},\"application/ogg\":{source:\"iana\",compressible:!1,extensions:[\"ogx\"]},\"application/omdoc+xml\":{source:\"apache\",compressible:!0,extensions:[\"omdoc\"]},\"application/onenote\":{source:\"apache\",extensions:[\"onetoc\",\"onetoc2\",\"onetmp\",\"onepkg\"]},\"application/oxps\":{source:\"iana\",extensions:[\"oxps\"]},\"application/p2p-overlay+xml\":{source:\"iana\",compressible:!0},\"application/parityfec\":{source:\"iana\"},\"application/passport\":{source:\"iana\"},\"application/patch-ops-error+xml\":{source:\"iana\",compressible:!0,extensions:[\"xer\"]},\"application/pdf\":{source:\"iana\",compressible:!1,extensions:[\"pdf\"]},\"application/pdx\":{source:\"iana\"},\"application/pgp-encrypted\":{source:\"iana\",compressible:!1,extensions:[\"pgp\"]},\"application/pgp-keys\":{source:\"iana\"},\"application/pgp-signature\":{source:\"iana\",extensions:[\"asc\",\"sig\"]},\"application/pics-rules\":{source:\"apache\",extensions:[\"prf\"]},\"application/pidf+xml\":{source:\"iana\",compressible:!0},\"application/pidf-diff+xml\":{source:\"iana\",compressible:!0},\"application/pkcs10\":{source:\"iana\",extensions:[\"p10\"]},\"application/pkcs12\":{source:\"iana\"},\"application/pkcs7-mime\":{source:\"iana\",extensions:[\"p7m\",\"p7c\"]},\"application/pkcs7-signature\":{source:\"iana\",extensions:[\"p7s\"]},\"application/pkcs8\":{source:\"iana\",extensions:[\"p8\"]},\"application/pkcs8-encrypted\":{source:\"iana\"},\"application/pkix-attr-cert\":{source:\"iana\",extensions:[\"ac\"]},\"application/pkix-cert\":{source:\"iana\",extensions:[\"cer\"]},\"application/pkix-crl\":{source:\"iana\",extensions:[\"crl\"]},\"application/pkix-pkipath\":{source:\"iana\",extensions:[\"pkipath\"]},\"application/pkixcmp\":{source:\"iana\",extensions:[\"pki\"]},\"application/pls+xml\":{source:\"iana\",compressible:!0,extensions:[\"pls\"]},\"application/poc-settings+xml\":{source:\"iana\",compressible:!0},\"application/postscript\":{source:\"iana\",compressible:!0,extensions:[\"ai\",\"eps\",\"ps\"]},\"application/ppsp-tracker+json\":{source:\"iana\",compressible:!0},\"application/problem+json\":{source:\"iana\",compressible:!0},\"application/problem+xml\":{source:\"iana\",compressible:!0},\"application/provenance+xml\":{source:\"iana\",compressible:!0},\"application/prs.alvestrand.titrax-sheet\":{source:\"iana\"},\"application/prs.cww\":{source:\"iana\",extensions:[\"cww\"]},\"application/prs.hpub+zip\":{source:\"iana\",compressible:!1},\"application/prs.nprend\":{source:\"iana\"},\"application/prs.plucker\":{source:\"iana\"},\"application/prs.rdf-xml-crypt\":{source:\"iana\"},\"application/prs.xsf+xml\":{source:\"iana\",compressible:!0},\"application/pskc+xml\":{source:\"iana\",compressible:!0,extensions:[\"pskcxml\"]},\"application/qsig\":{source:\"iana\"},\"application/raml+yaml\":{compressible:!0,extensions:[\"raml\"]},\"application/raptorfec\":{source:\"iana\"},\"application/rdap+json\":{source:\"iana\",compressible:!0},\"application/rdf+xml\":{source:\"iana\",compressible:!0,extensions:[\"rdf\",\"owl\"]},\"application/reginfo+xml\":{source:\"iana\",compressible:!0,extensions:[\"rif\"]},\"application/relax-ng-compact-syntax\":{source:\"iana\",extensions:[\"rnc\"]},\"application/remote-printing\":{source:\"iana\"},\"application/reputon+json\":{source:\"iana\",compressible:!0},\"application/resource-lists+xml\":{source:\"iana\",compressible:!0,extensions:[\"rl\"]},\"application/resource-lists-diff+xml\":{source:\"iana\",compressible:!0,extensions:[\"rld\"]},\"application/rfc+xml\":{source:\"iana\",compressible:!0},\"application/riscos\":{source:\"iana\"},\"application/rlmi+xml\":{source:\"iana\",compressible:!0},\"application/rls-services+xml\":{source:\"iana\",compressible:!0,extensions:[\"rs\"]},\"application/route-apd+xml\":{source:\"iana\",compressible:!0},\"application/route-s-tsid+xml\":{source:\"iana\",compressible:!0},\"application/route-usd+xml\":{source:\"iana\",compressible:!0},\"application/rpki-ghostbusters\":{source:\"iana\",extensions:[\"gbr\"]},\"application/rpki-manifest\":{source:\"iana\",extensions:[\"mft\"]},\"application/rpki-publication\":{source:\"iana\"},\"application/rpki-roa\":{source:\"iana\",extensions:[\"roa\"]},\"application/rpki-updown\":{source:\"iana\"},\"application/rsd+xml\":{source:\"apache\",compressible:!0,extensions:[\"rsd\"]},\"application/rss+xml\":{source:\"apache\",compressible:!0,extensions:[\"rss\"]},\"application/rtf\":{source:\"iana\",compressible:!0,extensions:[\"rtf\"]},\"application/rtploopback\":{source:\"iana\"},\"application/rtx\":{source:\"iana\"},\"application/samlassertion+xml\":{source:\"iana\",compressible:!0},\"application/samlmetadata+xml\":{source:\"iana\",compressible:!0},\"application/sbml+xml\":{source:\"iana\",compressible:!0,extensions:[\"sbml\"]},\"application/scaip+xml\":{source:\"iana\",compressible:!0},\"application/scim+json\":{source:\"iana\",compressible:!0},\"application/scvp-cv-request\":{source:\"iana\",extensions:[\"scq\"]},\"application/scvp-cv-response\":{source:\"iana\",extensions:[\"scs\"]},\"application/scvp-vp-request\":{source:\"iana\",extensions:[\"spq\"]},\"application/scvp-vp-response\":{source:\"iana\",extensions:[\"spp\"]},\"application/sdp\":{source:\"iana\",extensions:[\"sdp\"]},\"application/secevent+jwt\":{source:\"iana\"},\"application/senml+cbor\":{source:\"iana\"},\"application/senml+json\":{source:\"iana\",compressible:!0},\"application/senml+xml\":{source:\"iana\",compressible:!0},\"application/senml-exi\":{source:\"iana\"},\"application/sensml+cbor\":{source:\"iana\"},\"application/sensml+json\":{source:\"iana\",compressible:!0},\"application/sensml+xml\":{source:\"iana\",compressible:!0},\"application/sensml-exi\":{source:\"iana\"},\"application/sep+xml\":{source:\"iana\",compressible:!0},\"application/sep-exi\":{source:\"iana\"},\"application/session-info\":{source:\"iana\"},\"application/set-payment\":{source:\"iana\"},\"application/set-payment-initiation\":{source:\"iana\",extensions:[\"setpay\"]},\"application/set-registration\":{source:\"iana\"},\"application/set-registration-initiation\":{source:\"iana\",extensions:[\"setreg\"]},\"application/sgml\":{source:\"iana\"},\"application/sgml-open-catalog\":{source:\"iana\"},\"application/shf+xml\":{source:\"iana\",compressible:!0,extensions:[\"shf\"]},\"application/sieve\":{source:\"iana\"},\"application/simple-filter+xml\":{source:\"iana\",compressible:!0},\"application/simple-message-summary\":{source:\"iana\"},\"application/simplesymbolcontainer\":{source:\"iana\"},\"application/slate\":{source:\"iana\"},\"application/smil\":{source:\"iana\"},\"application/smil+xml\":{source:\"iana\",compressible:!0,extensions:[\"smi\",\"smil\"]},\"application/smpte336m\":{source:\"iana\"},\"application/soap+fastinfoset\":{source:\"iana\"},\"application/soap+xml\":{source:\"iana\",compressible:!0},\"application/sparql-query\":{source:\"iana\",extensions:[\"rq\"]},\"application/sparql-results+xml\":{source:\"iana\",compressible:!0,extensions:[\"srx\"]},\"application/spirits-event+xml\":{source:\"iana\",compressible:!0},\"application/sql\":{source:\"iana\"},\"application/srgs\":{source:\"iana\",extensions:[\"gram\"]},\"application/srgs+xml\":{source:\"iana\",compressible:!0,extensions:[\"grxml\"]},\"application/sru+xml\":{source:\"iana\",compressible:!0,extensions:[\"sru\"]},\"application/ssdl+xml\":{source:\"apache\",compressible:!0,extensions:[\"ssdl\"]},\"application/ssml+xml\":{source:\"iana\",compressible:!0,extensions:[\"ssml\"]},\"application/stix+json\":{source:\"iana\",compressible:!0},\"application/tamp-apex-update\":{source:\"iana\"},\"application/tamp-apex-update-confirm\":{source:\"iana\"},\"application/tamp-community-update\":{source:\"iana\"},\"application/tamp-community-update-confirm\":{source:\"iana\"},\"application/tamp-error\":{source:\"iana\"},\"application/tamp-sequence-adjust\":{source:\"iana\"},\"application/tamp-sequence-adjust-confirm\":{source:\"iana\"},\"application/tamp-status-query\":{source:\"iana\"},\"application/tamp-status-response\":{source:\"iana\"},\"application/tamp-update\":{source:\"iana\"},\"application/tamp-update-confirm\":{source:\"iana\"},\"application/tar\":{compressible:!0},\"application/taxii+json\":{source:\"iana\",compressible:!0},\"application/tei+xml\":{source:\"iana\",compressible:!0,extensions:[\"tei\",\"teicorpus\"]},\"application/thraud+xml\":{source:\"iana\",compressible:!0,extensions:[\"tfi\"]},\"application/timestamp-query\":{source:\"iana\"},\"application/timestamp-reply\":{source:\"iana\"},\"application/timestamped-data\":{source:\"iana\",extensions:[\"tsd\"]},\"application/tlsrpt+gzip\":{source:\"iana\"},\"application/tlsrpt+json\":{source:\"iana\",compressible:!0},\"application/tnauthlist\":{source:\"iana\"},\"application/trickle-ice-sdpfrag\":{source:\"iana\"},\"application/trig\":{source:\"iana\"},\"application/ttml+xml\":{source:\"iana\",compressible:!0},\"application/tve-trigger\":{source:\"iana\"},\"application/ulpfec\":{source:\"iana\"},\"application/urc-grpsheet+xml\":{source:\"iana\",compressible:!0},\"application/urc-ressheet+xml\":{source:\"iana\",compressible:!0},\"application/urc-targetdesc+xml\":{source:\"iana\",compressible:!0},\"application/urc-uisocketdesc+xml\":{source:\"iana\",compressible:!0},\"application/vcard+json\":{source:\"iana\",compressible:!0},\"application/vcard+xml\":{source:\"iana\",compressible:!0},\"application/vemmi\":{source:\"iana\"},\"application/vividence.scriptfile\":{source:\"apache\"},\"application/vnd.1000minds.decision-model+xml\":{source:\"iana\",compressible:!0},\"application/vnd.3gpp-prose+xml\":{source:\"iana\",compressible:!0},\"application/vnd.3gpp-prose-pc3ch+xml\":{source:\"iana\",compressible:!0},\"application/vnd.3gpp-v2x-local-service-information\":{source:\"iana\"},\"application/vnd.3gpp.access-transfer-events+xml\":{source:\"iana\",compressible:!0},\"application/vnd.3gpp.bsf+xml\":{source:\"iana\",compressible:!0},\"application/vnd.3gpp.gmop+xml\":{source:\"iana\",compressible:!0},\"application/vnd.3gpp.mc-signalling-ear\":{source:\"iana\"},\"application/vnd.3gpp.mcdata-payload\":{source:\"iana\"},\"application/vnd.3gpp.mcdata-signalling\":{source:\"iana\"},\"application/vnd.3gpp.mcptt-affiliation-command+xml\":{source:\"iana\",compressible:!0},\"application/vnd.3gpp.mcptt-floor-request+xml\":{source:\"iana\",compressible:!0},\"application/vnd.3gpp.mcptt-info+xml\":{source:\"iana\",compressible:!0},\"application/vnd.3gpp.mcptt-location-info+xml\":{source:\"iana\",compressible:!0},\"application/vnd.3gpp.mcptt-mbms-usage-info+xml\":{source:\"iana\",compressible:!0},\"application/vnd.3gpp.mcptt-signed+xml\":{source:\"iana\",compressible:!0},\"application/vnd.3gpp.mid-call+xml\":{source:\"iana\",compressible:!0},\"application/vnd.3gpp.pic-bw-large\":{source:\"iana\",extensions:[\"plb\"]},\"application/vnd.3gpp.pic-bw-small\":{source:\"iana\",extensions:[\"psb\"]},\"application/vnd.3gpp.pic-bw-var\":{source:\"iana\",extensions:[\"pvb\"]},\"application/vnd.3gpp.sms\":{source:\"iana\"},\"application/vnd.3gpp.sms+xml\":{source:\"iana\",compressible:!0},\"application/vnd.3gpp.srvcc-ext+xml\":{source:\"iana\",compressible:!0},\"application/vnd.3gpp.srvcc-info+xml\":{source:\"iana\",compressible:!0},\"application/vnd.3gpp.state-and-event-info+xml\":{source:\"iana\",compressible:!0},\"application/vnd.3gpp.ussd+xml\":{source:\"iana\",compressible:!0},\"application/vnd.3gpp2.bcmcsinfo+xml\":{source:\"iana\",compressible:!0},\"application/vnd.3gpp2.sms\":{source:\"iana\"},\"application/vnd.3gpp2.tcap\":{source:\"iana\",extensions:[\"tcap\"]},\"application/vnd.3lightssoftware.imagescal\":{source:\"iana\"},\"application/vnd.3m.post-it-notes\":{source:\"iana\",extensions:[\"pwn\"]},\"application/vnd.accpac.simply.aso\":{source:\"iana\",extensions:[\"aso\"]},\"application/vnd.accpac.simply.imp\":{source:\"iana\",extensions:[\"imp\"]},\"application/vnd.acucobol\":{source:\"iana\",extensions:[\"acu\"]},\"application/vnd.acucorp\":{source:\"iana\",extensions:[\"atc\",\"acutc\"]},\"application/vnd.adobe.air-application-installer-package+zip\":{source:\"apache\",compressible:!1,extensions:[\"air\"]},\"application/vnd.adobe.flash.movie\":{source:\"iana\"},\"application/vnd.adobe.formscentral.fcdt\":{source:\"iana\",extensions:[\"fcdt\"]},\"application/vnd.adobe.fxp\":{source:\"iana\",extensions:[\"fxp\",\"fxpl\"]},\"application/vnd.adobe.partial-upload\":{source:\"iana\"},\"application/vnd.adobe.xdp+xml\":{source:\"iana\",compressible:!0,extensions:[\"xdp\"]},\"application/vnd.adobe.xfdf\":{source:\"iana\",extensions:[\"xfdf\"]},\"application/vnd.aether.imp\":{source:\"iana\"},\"application/vnd.afpc.afplinedata\":{source:\"iana\"},\"application/vnd.afpc.modca\":{source:\"iana\"},\"application/vnd.ah-barcode\":{source:\"iana\"},\"application/vnd.ahead.space\":{source:\"iana\",extensions:[\"ahead\"]},\"application/vnd.airzip.filesecure.azf\":{source:\"iana\",extensions:[\"azf\"]},\"application/vnd.airzip.filesecure.azs\":{source:\"iana\",extensions:[\"azs\"]},\"application/vnd.amadeus+json\":{source:\"iana\",compressible:!0},\"application/vnd.amazon.ebook\":{source:\"apache\",extensions:[\"azw\"]},\"application/vnd.amazon.mobi8-ebook\":{source:\"iana\"},\"application/vnd.americandynamics.acc\":{source:\"iana\",extensions:[\"acc\"]},\"application/vnd.amiga.ami\":{source:\"iana\",extensions:[\"ami\"]},\"application/vnd.amundsen.maze+xml\":{source:\"iana\",compressible:!0},\"application/vnd.android.package-archive\":{source:\"apache\",compressible:!1,extensions:[\"apk\"]},\"application/vnd.anki\":{source:\"iana\"},\"application/vnd.anser-web-certificate-issue-initiation\":{source:\"iana\",extensions:[\"cii\"]},\"application/vnd.anser-web-funds-transfer-initiation\":{source:\"apache\",extensions:[\"fti\"]},\"application/vnd.antix.game-component\":{source:\"iana\",extensions:[\"atx\"]},\"application/vnd.apache.thrift.binary\":{source:\"iana\"},\"application/vnd.apache.thrift.compact\":{source:\"iana\"},\"application/vnd.apache.thrift.json\":{source:\"iana\"},\"application/vnd.api+json\":{source:\"iana\",compressible:!0},\"application/vnd.apothekende.reservation+json\":{source:\"iana\",compressible:!0},\"application/vnd.apple.installer+xml\":{source:\"iana\",compressible:!0,extensions:[\"mpkg\"]},\"application/vnd.apple.keynote\":{source:\"iana\",extensions:[\"keynote\"]},\"application/vnd.apple.mpegurl\":{source:\"iana\",extensions:[\"m3u8\"]},\"application/vnd.apple.numbers\":{source:\"iana\",extensions:[\"numbers\"]},\"application/vnd.apple.pages\":{source:\"iana\",extensions:[\"pages\"]},\"application/vnd.apple.pkpass\":{compressible:!1,extensions:[\"pkpass\"]},\"application/vnd.arastra.swi\":{source:\"iana\"},\"application/vnd.aristanetworks.swi\":{source:\"iana\",extensions:[\"swi\"]},\"application/vnd.artisan+json\":{source:\"iana\",compressible:!0},\"application/vnd.artsquare\":{source:\"iana\"},\"application/vnd.astraea-software.iota\":{source:\"iana\",extensions:[\"iota\"]},\"application/vnd.audiograph\":{source:\"iana\",extensions:[\"aep\"]},\"application/vnd.autopackage\":{source:\"iana\"},\"application/vnd.avalon+json\":{source:\"iana\",compressible:!0},\"application/vnd.avistar+xml\":{source:\"iana\",compressible:!0},\"application/vnd.balsamiq.bmml+xml\":{source:\"iana\",compressible:!0},\"application/vnd.balsamiq.bmpr\":{source:\"iana\"},\"application/vnd.banana-accounting\":{source:\"iana\"},\"application/vnd.bbf.usp.msg\":{source:\"iana\"},\"application/vnd.bbf.usp.msg+json\":{source:\"iana\",compressible:!0},\"application/vnd.bekitzur-stech+json\":{source:\"iana\",compressible:!0},\"application/vnd.bint.med-content\":{source:\"iana\"},\"application/vnd.biopax.rdf+xml\":{source:\"iana\",compressible:!0},\"application/vnd.blink-idb-value-wrapper\":{source:\"iana\"},\"application/vnd.blueice.multipass\":{source:\"iana\",extensions:[\"mpm\"]},\"application/vnd.bluetooth.ep.oob\":{source:\"iana\"},\"application/vnd.bluetooth.le.oob\":{source:\"iana\"},\"application/vnd.bmi\":{source:\"iana\",extensions:[\"bmi\"]},\"application/vnd.businessobjects\":{source:\"iana\",extensions:[\"rep\"]},\"application/vnd.byu.uapi+json\":{source:\"iana\",compressible:!0},\"application/vnd.cab-jscript\":{source:\"iana\"},\"application/vnd.canon-cpdl\":{source:\"iana\"},\"application/vnd.canon-lips\":{source:\"iana\"},\"application/vnd.capasystems-pg+json\":{source:\"iana\",compressible:!0},\"application/vnd.cendio.thinlinc.clientconf\":{source:\"iana\"},\"application/vnd.century-systems.tcp_stream\":{source:\"iana\"},\"application/vnd.chemdraw+xml\":{source:\"iana\",compressible:!0,extensions:[\"cdxml\"]},\"application/vnd.chess-pgn\":{source:\"iana\"},\"application/vnd.chipnuts.karaoke-mmd\":{source:\"iana\",extensions:[\"mmd\"]},\"application/vnd.cinderella\":{source:\"iana\",extensions:[\"cdy\"]},\"application/vnd.cirpack.isdn-ext\":{source:\"iana\"},\"application/vnd.citationstyles.style+xml\":{source:\"iana\",compressible:!0,extensions:[\"csl\"]},\"application/vnd.claymore\":{source:\"iana\",extensions:[\"cla\"]},\"application/vnd.cloanto.rp9\":{source:\"iana\",extensions:[\"rp9\"]},\"application/vnd.clonk.c4group\":{source:\"iana\",extensions:[\"c4g\",\"c4d\",\"c4f\",\"c4p\",\"c4u\"]},\"application/vnd.cluetrust.cartomobile-config\":{source:\"iana\",extensions:[\"c11amc\"]},\"application/vnd.cluetrust.cartomobile-config-pkg\":{source:\"iana\",extensions:[\"c11amz\"]},\"application/vnd.coffeescript\":{source:\"iana\"},\"application/vnd.collabio.xodocuments.document\":{source:\"iana\"},\"application/vnd.collabio.xodocuments.document-template\":{source:\"iana\"},\"application/vnd.collabio.xodocuments.presentation\":{source:\"iana\"},\"application/vnd.collabio.xodocuments.presentation-template\":{source:\"iana\"},\"application/vnd.collabio.xodocuments.spreadsheet\":{source:\"iana\"},\"application/vnd.collabio.xodocuments.spreadsheet-template\":{source:\"iana\"},\"application/vnd.collection+json\":{source:\"iana\",compressible:!0},\"application/vnd.collection.doc+json\":{source:\"iana\",compressible:!0},\"application/vnd.collection.next+json\":{source:\"iana\",compressible:!0},\"application/vnd.comicbook+zip\":{source:\"iana\",compressible:!1},\"application/vnd.comicbook-rar\":{source:\"iana\"},\"application/vnd.commerce-battelle\":{source:\"iana\"},\"application/vnd.commonspace\":{source:\"iana\",extensions:[\"csp\"]},\"application/vnd.contact.cmsg\":{source:\"iana\",extensions:[\"cdbcmsg\"]},\"application/vnd.coreos.ignition+json\":{source:\"iana\",compressible:!0},\"application/vnd.cosmocaller\":{source:\"iana\",extensions:[\"cmc\"]},\"application/vnd.crick.clicker\":{source:\"iana\",extensions:[\"clkx\"]},\"application/vnd.crick.clicker.keyboard\":{source:\"iana\",extensions:[\"clkk\"]},\"application/vnd.crick.clicker.palette\":{source:\"iana\",extensions:[\"clkp\"]},\"application/vnd.crick.clicker.template\":{source:\"iana\",extensions:[\"clkt\"]},\"application/vnd.crick.clicker.wordbank\":{source:\"iana\",extensions:[\"clkw\"]},\"application/vnd.criticaltools.wbs+xml\":{source:\"iana\",compressible:!0,extensions:[\"wbs\"]},\"application/vnd.ctc-posml\":{source:\"iana\",extensions:[\"pml\"]},\"application/vnd.ctct.ws+xml\":{source:\"iana\",compressible:!0},\"application/vnd.cups-pdf\":{source:\"iana\"},\"application/vnd.cups-postscript\":{source:\"iana\"},\"application/vnd.cups-ppd\":{source:\"iana\",extensions:[\"ppd\"]},\"application/vnd.cups-raster\":{source:\"iana\"},\"application/vnd.cups-raw\":{source:\"iana\"},\"application/vnd.curl\":{source:\"iana\"},\"application/vnd.curl.car\":{source:\"apache\",extensions:[\"car\"]},\"application/vnd.curl.pcurl\":{source:\"apache\",extensions:[\"pcurl\"]},\"application/vnd.cyan.dean.root+xml\":{source:\"iana\",compressible:!0},\"application/vnd.cybank\":{source:\"iana\"},\"application/vnd.d2l.coursepackage1p0+zip\":{source:\"iana\",compressible:!1},\"application/vnd.dart\":{source:\"iana\",compressible:!0,extensions:[\"dart\"]},\"application/vnd.data-vision.rdz\":{source:\"iana\",extensions:[\"rdz\"]},\"application/vnd.datapackage+json\":{source:\"iana\",compressible:!0},\"application/vnd.dataresource+json\":{source:\"iana\",compressible:!0},\"application/vnd.debian.binary-package\":{source:\"iana\"},\"application/vnd.dece.data\":{source:\"iana\",extensions:[\"uvf\",\"uvvf\",\"uvd\",\"uvvd\"]},\"application/vnd.dece.ttml+xml\":{source:\"iana\",compressible:!0,extensions:[\"uvt\",\"uvvt\"]},\"application/vnd.dece.unspecified\":{source:\"iana\",extensions:[\"uvx\",\"uvvx\"]},\"application/vnd.dece.zip\":{source:\"iana\",extensions:[\"uvz\",\"uvvz\"]},\"application/vnd.denovo.fcselayout-link\":{source:\"iana\",extensions:[\"fe_launch\"]},\"application/vnd.desmume.movie\":{source:\"iana\"},\"application/vnd.dir-bi.plate-dl-nosuffix\":{source:\"iana\"},\"application/vnd.dm.delegation+xml\":{source:\"iana\",compressible:!0},\"application/vnd.dna\":{source:\"iana\",extensions:[\"dna\"]},\"application/vnd.document+json\":{source:\"iana\",compressible:!0},\"application/vnd.dolby.mlp\":{source:\"apache\",extensions:[\"mlp\"]},\"application/vnd.dolby.mobile.1\":{source:\"iana\"},\"application/vnd.dolby.mobile.2\":{source:\"iana\"},\"application/vnd.doremir.scorecloud-binary-document\":{source:\"iana\"},\"application/vnd.dpgraph\":{source:\"iana\",extensions:[\"dpg\"]},\"application/vnd.dreamfactory\":{source:\"iana\",extensions:[\"dfac\"]},\"application/vnd.drive+json\":{source:\"iana\",compressible:!0},\"application/vnd.ds-keypoint\":{source:\"apache\",extensions:[\"kpxx\"]},\"application/vnd.dtg.local\":{source:\"iana\"},\"application/vnd.dtg.local.flash\":{source:\"iana\"},\"application/vnd.dtg.local.html\":{source:\"iana\"},\"application/vnd.dvb.ait\":{source:\"iana\",extensions:[\"ait\"]},\"application/vnd.dvb.dvbj\":{source:\"iana\"},\"application/vnd.dvb.esgcontainer\":{source:\"iana\"},\"application/vnd.dvb.ipdcdftnotifaccess\":{source:\"iana\"},\"application/vnd.dvb.ipdcesgaccess\":{source:\"iana\"},\"application/vnd.dvb.ipdcesgaccess2\":{source:\"iana\"},\"application/vnd.dvb.ipdcesgpdd\":{source:\"iana\"},\"application/vnd.dvb.ipdcroaming\":{source:\"iana\"},\"application/vnd.dvb.iptv.alfec-base\":{source:\"iana\"},\"application/vnd.dvb.iptv.alfec-enhancement\":{source:\"iana\"},\"application/vnd.dvb.notif-aggregate-root+xml\":{source:\"iana\",compressible:!0},\"application/vnd.dvb.notif-container+xml\":{source:\"iana\",compressible:!0},\"application/vnd.dvb.notif-generic+xml\":{source:\"iana\",compressible:!0},\"application/vnd.dvb.notif-ia-msglist+xml\":{source:\"iana\",compressible:!0},\"application/vnd.dvb.notif-ia-registration-request+xml\":{source:\"iana\",compressible:!0},\"application/vnd.dvb.notif-ia-registration-response+xml\":{source:\"iana\",compressible:!0},\"application/vnd.dvb.notif-init+xml\":{source:\"iana\",compressible:!0},\"application/vnd.dvb.pfr\":{source:\"iana\"},\"application/vnd.dvb.service\":{source:\"iana\",extensions:[\"svc\"]},\"application/vnd.dxr\":{source:\"iana\"},\"application/vnd.dynageo\":{source:\"iana\",extensions:[\"geo\"]},\"application/vnd.dzr\":{source:\"iana\"},\"application/vnd.easykaraoke.cdgdownload\":{source:\"iana\"},\"application/vnd.ecdis-update\":{source:\"iana\"},\"application/vnd.ecip.rlp\":{source:\"iana\"},\"application/vnd.ecowin.chart\":{source:\"iana\",extensions:[\"mag\"]},\"application/vnd.ecowin.filerequest\":{source:\"iana\"},\"application/vnd.ecowin.fileupdate\":{source:\"iana\"},\"application/vnd.ecowin.series\":{source:\"iana\"},\"application/vnd.ecowin.seriesrequest\":{source:\"iana\"},\"application/vnd.ecowin.seriesupdate\":{source:\"iana\"},\"application/vnd.efi.img\":{source:\"iana\"},\"application/vnd.efi.iso\":{source:\"iana\"},\"application/vnd.emclient.accessrequest+xml\":{source:\"iana\",compressible:!0},\"application/vnd.enliven\":{source:\"iana\",extensions:[\"nml\"]},\"application/vnd.enphase.envoy\":{source:\"iana\"},\"application/vnd.eprints.data+xml\":{source:\"iana\",compressible:!0},\"application/vnd.epson.esf\":{source:\"iana\",extensions:[\"esf\"]},\"application/vnd.epson.msf\":{source:\"iana\",extensions:[\"msf\"]},\"application/vnd.epson.quickanime\":{source:\"iana\",extensions:[\"qam\"]},\"application/vnd.epson.salt\":{source:\"iana\",extensions:[\"slt\"]},\"application/vnd.epson.ssf\":{source:\"iana\",extensions:[\"ssf\"]},\"application/vnd.ericsson.quickcall\":{source:\"iana\"},\"application/vnd.espass-espass+zip\":{source:\"iana\",compressible:!1},\"application/vnd.eszigno3+xml\":{source:\"iana\",compressible:!0,extensions:[\"es3\",\"et3\"]},\"application/vnd.etsi.aoc+xml\":{source:\"iana\",compressible:!0},\"application/vnd.etsi.asic-e+zip\":{source:\"iana\",compressible:!1},\"application/vnd.etsi.asic-s+zip\":{source:\"iana\",compressible:!1},\"application/vnd.etsi.cug+xml\":{source:\"iana\",compressible:!0},\"application/vnd.etsi.iptvcommand+xml\":{source:\"iana\",compressible:!0},\"application/vnd.etsi.iptvdiscovery+xml\":{source:\"iana\",compressible:!0},\"application/vnd.etsi.iptvprofile+xml\":{source:\"iana\",compressible:!0},\"application/vnd.etsi.iptvsad-bc+xml\":{source:\"iana\",compressible:!0},\"application/vnd.etsi.iptvsad-cod+xml\":{source:\"iana\",compressible:!0},\"application/vnd.etsi.iptvsad-npvr+xml\":{source:\"iana\",compressible:!0},\"application/vnd.etsi.iptvservice+xml\":{source:\"iana\",compressible:!0},\"application/vnd.etsi.iptvsync+xml\":{source:\"iana\",compressible:!0},\"application/vnd.etsi.iptvueprofile+xml\":{source:\"iana\",compressible:!0},\"application/vnd.etsi.mcid+xml\":{source:\"iana\",compressible:!0},\"application/vnd.etsi.mheg5\":{source:\"iana\"},\"application/vnd.etsi.overload-control-policy-dataset+xml\":{source:\"iana\",compressible:!0},\"application/vnd.etsi.pstn+xml\":{source:\"iana\",compressible:!0},\"application/vnd.etsi.sci+xml\":{source:\"iana\",compressible:!0},\"application/vnd.etsi.simservs+xml\":{source:\"iana\",compressible:!0},\"application/vnd.etsi.timestamp-token\":{source:\"iana\"},\"application/vnd.etsi.tsl+xml\":{source:\"iana\",compressible:!0},\"application/vnd.etsi.tsl.der\":{source:\"iana\"},\"application/vnd.eudora.data\":{source:\"iana\"},\"application/vnd.evolv.ecig.profile\":{source:\"iana\"},\"application/vnd.evolv.ecig.settings\":{source:\"iana\"},\"application/vnd.evolv.ecig.theme\":{source:\"iana\"},\"application/vnd.exstream-empower+zip\":{source:\"iana\",compressible:!1},\"application/vnd.ezpix-album\":{source:\"iana\",extensions:[\"ez2\"]},\"application/vnd.ezpix-package\":{source:\"iana\",extensions:[\"ez3\"]},\"application/vnd.f-secure.mobile\":{source:\"iana\"},\"application/vnd.fastcopy-disk-image\":{source:\"iana\"},\"application/vnd.fdf\":{source:\"iana\",extensions:[\"fdf\"]},\"application/vnd.fdsn.mseed\":{source:\"iana\",extensions:[\"mseed\"]},\"application/vnd.fdsn.seed\":{source:\"iana\",extensions:[\"seed\",\"dataless\"]},\"application/vnd.ffsns\":{source:\"iana\"},\"application/vnd.filmit.zfc\":{source:\"iana\"},\"application/vnd.fints\":{source:\"iana\"},\"application/vnd.firemonkeys.cloudcell\":{source:\"iana\"},\"application/vnd.flographit\":{source:\"iana\",extensions:[\"gph\"]},\"application/vnd.fluxtime.clip\":{source:\"iana\",extensions:[\"ftc\"]},\"application/vnd.font-fontforge-sfd\":{source:\"iana\"},\"application/vnd.framemaker\":{source:\"iana\",extensions:[\"fm\",\"frame\",\"maker\",\"book\"]},\"application/vnd.frogans.fnc\":{source:\"iana\",extensions:[\"fnc\"]},\"application/vnd.frogans.ltf\":{source:\"iana\",extensions:[\"ltf\"]},\"application/vnd.fsc.weblaunch\":{source:\"iana\",extensions:[\"fsc\"]},\"application/vnd.fujitsu.oasys\":{source:\"iana\",extensions:[\"oas\"]},\"application/vnd.fujitsu.oasys2\":{source:\"iana\",extensions:[\"oa2\"]},\"application/vnd.fujitsu.oasys3\":{source:\"iana\",extensions:[\"oa3\"]},\"application/vnd.fujitsu.oasysgp\":{source:\"iana\",extensions:[\"fg5\"]},\"application/vnd.fujitsu.oasysprs\":{source:\"iana\",extensions:[\"bh2\"]},\"application/vnd.fujixerox.art-ex\":{source:\"iana\"},\"application/vnd.fujixerox.art4\":{source:\"iana\"},\"application/vnd.fujixerox.ddd\":{source:\"iana\",extensions:[\"ddd\"]},\"application/vnd.fujixerox.docuworks\":{source:\"iana\",extensions:[\"xdw\"]},\"application/vnd.fujixerox.docuworks.binder\":{source:\"iana\",extensions:[\"xbd\"]},\"application/vnd.fujixerox.docuworks.container\":{source:\"iana\"},\"application/vnd.fujixerox.hbpl\":{source:\"iana\"},\"application/vnd.fut-misnet\":{source:\"iana\"},\"application/vnd.futoin+cbor\":{source:\"iana\"},\"application/vnd.futoin+json\":{source:\"iana\",compressible:!0},\"application/vnd.fuzzysheet\":{source:\"iana\",extensions:[\"fzs\"]},\"application/vnd.genomatix.tuxedo\":{source:\"iana\",extensions:[\"txd\"]},\"application/vnd.geo+json\":{source:\"iana\",compressible:!0},\"application/vnd.geocube+xml\":{source:\"iana\",compressible:!0},\"application/vnd.geogebra.file\":{source:\"iana\",extensions:[\"ggb\"]},\"application/vnd.geogebra.tool\":{source:\"iana\",extensions:[\"ggt\"]},\"application/vnd.geometry-explorer\":{source:\"iana\",extensions:[\"gex\",\"gre\"]},\"application/vnd.geonext\":{source:\"iana\",extensions:[\"gxt\"]},\"application/vnd.geoplan\":{source:\"iana\",extensions:[\"g2w\"]},\"application/vnd.geospace\":{source:\"iana\",extensions:[\"g3w\"]},\"application/vnd.gerber\":{source:\"iana\"},\"application/vnd.globalplatform.card-content-mgt\":{source:\"iana\"},\"application/vnd.globalplatform.card-content-mgt-response\":{source:\"iana\"},\"application/vnd.gmx\":{source:\"iana\",extensions:[\"gmx\"]},\"application/vnd.google-apps.document\":{compressible:!1,extensions:[\"gdoc\"]},\"application/vnd.google-apps.presentation\":{compressible:!1,extensions:[\"gslides\"]},\"application/vnd.google-apps.spreadsheet\":{compressible:!1,extensions:[\"gsheet\"]},\"application/vnd.google-earth.kml+xml\":{source:\"iana\",compressible:!0,extensions:[\"kml\"]},\"application/vnd.google-earth.kmz\":{source:\"iana\",compressible:!1,extensions:[\"kmz\"]},\"application/vnd.gov.sk.e-form+xml\":{source:\"iana\",compressible:!0},\"application/vnd.gov.sk.e-form+zip\":{source:\"iana\",compressible:!1},\"application/vnd.gov.sk.xmldatacontainer+xml\":{source:\"iana\",compressible:!0},\"application/vnd.grafeq\":{source:\"iana\",extensions:[\"gqf\",\"gqs\"]},\"application/vnd.gridmp\":{source:\"iana\"},\"application/vnd.groove-account\":{source:\"iana\",extensions:[\"gac\"]},\"application/vnd.groove-help\":{source:\"iana\",extensions:[\"ghf\"]},\"application/vnd.groove-identity-message\":{source:\"iana\",extensions:[\"gim\"]},\"application/vnd.groove-injector\":{source:\"iana\",extensions:[\"grv\"]},\"application/vnd.groove-tool-message\":{source:\"iana\",extensions:[\"gtm\"]},\"application/vnd.groove-tool-template\":{source:\"iana\",extensions:[\"tpl\"]},\"application/vnd.groove-vcard\":{source:\"iana\",extensions:[\"vcg\"]},\"application/vnd.hal+json\":{source:\"iana\",compressible:!0},\"application/vnd.hal+xml\":{source:\"iana\",compressible:!0,extensions:[\"hal\"]},\"application/vnd.handheld-entertainment+xml\":{source:\"iana\",compressible:!0,extensions:[\"zmm\"]},\"application/vnd.hbci\":{source:\"iana\",extensions:[\"hbci\"]},\"application/vnd.hc+json\":{source:\"iana\",compressible:!0},\"application/vnd.hcl-bireports\":{source:\"iana\"},\"application/vnd.hdt\":{source:\"iana\"},\"application/vnd.heroku+json\":{source:\"iana\",compressible:!0},\"application/vnd.hhe.lesson-player\":{source:\"iana\",extensions:[\"les\"]},\"application/vnd.hp-hpgl\":{source:\"iana\",extensions:[\"hpgl\"]},\"application/vnd.hp-hpid\":{source:\"iana\",extensions:[\"hpid\"]},\"application/vnd.hp-hps\":{source:\"iana\",extensions:[\"hps\"]},\"application/vnd.hp-jlyt\":{source:\"iana\",extensions:[\"jlt\"]},\"application/vnd.hp-pcl\":{source:\"iana\",extensions:[\"pcl\"]},\"application/vnd.hp-pclxl\":{source:\"iana\",extensions:[\"pclxl\"]},\"application/vnd.httphone\":{source:\"iana\"},\"application/vnd.hydrostatix.sof-data\":{source:\"iana\",extensions:[\"sfd-hdstx\"]},\"application/vnd.hyper+json\":{source:\"iana\",compressible:!0},\"application/vnd.hyper-item+json\":{source:\"iana\",compressible:!0},\"application/vnd.hyperdrive+json\":{source:\"iana\",compressible:!0},\"application/vnd.hzn-3d-crossword\":{source:\"iana\"},\"application/vnd.ibm.afplinedata\":{source:\"iana\"},\"application/vnd.ibm.electronic-media\":{source:\"iana\"},\"application/vnd.ibm.minipay\":{source:\"iana\",extensions:[\"mpy\"]},\"application/vnd.ibm.modcap\":{source:\"iana\",extensions:[\"afp\",\"listafp\",\"list3820\"]},\"application/vnd.ibm.rights-management\":{source:\"iana\",extensions:[\"irm\"]},\"application/vnd.ibm.secure-container\":{source:\"iana\",extensions:[\"sc\"]},\"application/vnd.iccprofile\":{source:\"iana\",extensions:[\"icc\",\"icm\"]},\"application/vnd.ieee.1905\":{source:\"iana\"},\"application/vnd.igloader\":{source:\"iana\",extensions:[\"igl\"]},\"application/vnd.imagemeter.folder+zip\":{source:\"iana\",compressible:!1},\"application/vnd.imagemeter.image+zip\":{source:\"iana\",compressible:!1},\"application/vnd.immervision-ivp\":{source:\"iana\",extensions:[\"ivp\"]},\"application/vnd.immervision-ivu\":{source:\"iana\",extensions:[\"ivu\"]},\"application/vnd.ims.imsccv1p1\":{source:\"iana\"},\"application/vnd.ims.imsccv1p2\":{source:\"iana\"},\"application/vnd.ims.imsccv1p3\":{source:\"iana\"},\"application/vnd.ims.lis.v2.result+json\":{source:\"iana\",compressible:!0},\"application/vnd.ims.lti.v2.toolconsumerprofile+json\":{source:\"iana\",compressible:!0},\"application/vnd.ims.lti.v2.toolproxy+json\":{source:\"iana\",compressible:!0},\"application/vnd.ims.lti.v2.toolproxy.id+json\":{source:\"iana\",compressible:!0},\"application/vnd.ims.lti.v2.toolsettings+json\":{source:\"iana\",compressible:!0},\"application/vnd.ims.lti.v2.toolsettings.simple+json\":{source:\"iana\",compressible:!0},\"application/vnd.informedcontrol.rms+xml\":{source:\"iana\",compressible:!0},\"application/vnd.informix-visionary\":{source:\"iana\"},\"application/vnd.infotech.project\":{source:\"iana\"},\"application/vnd.infotech.project+xml\":{source:\"iana\",compressible:!0},\"application/vnd.innopath.wamp.notification\":{source:\"iana\"},\"application/vnd.insors.igm\":{source:\"iana\",extensions:[\"igm\"]},\"application/vnd.intercon.formnet\":{source:\"iana\",extensions:[\"xpw\",\"xpx\"]},\"application/vnd.intergeo\":{source:\"iana\",extensions:[\"i2g\"]},\"application/vnd.intertrust.digibox\":{source:\"iana\"},\"application/vnd.intertrust.nncp\":{source:\"iana\"},\"application/vnd.intu.qbo\":{source:\"iana\",extensions:[\"qbo\"]},\"application/vnd.intu.qfx\":{source:\"iana\",extensions:[\"qfx\"]},\"application/vnd.iptc.g2.catalogitem+xml\":{source:\"iana\",compressible:!0},\"application/vnd.iptc.g2.conceptitem+xml\":{source:\"iana\",compressible:!0},\"application/vnd.iptc.g2.knowledgeitem+xml\":{source:\"iana\",compressible:!0},\"application/vnd.iptc.g2.newsitem+xml\":{source:\"iana\",compressible:!0},\"application/vnd.iptc.g2.newsmessage+xml\":{source:\"iana\",compressible:!0},\"application/vnd.iptc.g2.packageitem+xml\":{source:\"iana\",compressible:!0},\"application/vnd.iptc.g2.planningitem+xml\":{source:\"iana\",compressible:!0},\"application/vnd.ipunplugged.rcprofile\":{source:\"iana\",extensions:[\"rcprofile\"]},\"application/vnd.irepository.package+xml\":{source:\"iana\",compressible:!0,extensions:[\"irp\"]},\"application/vnd.is-xpr\":{source:\"iana\",extensions:[\"xpr\"]},\"application/vnd.isac.fcs\":{source:\"iana\",extensions:[\"fcs\"]},\"application/vnd.jam\":{source:\"iana\",extensions:[\"jam\"]},\"application/vnd.japannet-directory-service\":{source:\"iana\"},\"application/vnd.japannet-jpnstore-wakeup\":{source:\"iana\"},\"application/vnd.japannet-payment-wakeup\":{source:\"iana\"},\"application/vnd.japannet-registration\":{source:\"iana\"},\"application/vnd.japannet-registration-wakeup\":{source:\"iana\"},\"application/vnd.japannet-setstore-wakeup\":{source:\"iana\"},\"application/vnd.japannet-verification\":{source:\"iana\"},\"application/vnd.japannet-verification-wakeup\":{source:\"iana\"},\"application/vnd.jcp.javame.midlet-rms\":{source:\"iana\",extensions:[\"rms\"]},\"application/vnd.jisp\":{source:\"iana\",extensions:[\"jisp\"]},\"application/vnd.joost.joda-archive\":{source:\"iana\",extensions:[\"joda\"]},\"application/vnd.jsk.isdn-ngn\":{source:\"iana\"},\"application/vnd.kahootz\":{source:\"iana\",extensions:[\"ktz\",\"ktr\"]},\"application/vnd.kde.karbon\":{source:\"iana\",extensions:[\"karbon\"]},\"application/vnd.kde.kchart\":{source:\"iana\",extensions:[\"chrt\"]},\"application/vnd.kde.kformula\":{source:\"iana\",extensions:[\"kfo\"]},\"application/vnd.kde.kivio\":{source:\"iana\",extensions:[\"flw\"]},\"application/vnd.kde.kontour\":{source:\"iana\",extensions:[\"kon\"]},\"application/vnd.kde.kpresenter\":{source:\"iana\",extensions:[\"kpr\",\"kpt\"]},\"application/vnd.kde.kspread\":{source:\"iana\",extensions:[\"ksp\"]},\"application/vnd.kde.kword\":{source:\"iana\",extensions:[\"kwd\",\"kwt\"]},\"application/vnd.kenameaapp\":{source:\"iana\",extensions:[\"htke\"]},\"application/vnd.kidspiration\":{source:\"iana\",extensions:[\"kia\"]},\"application/vnd.kinar\":{source:\"iana\",extensions:[\"kne\",\"knp\"]},\"application/vnd.koan\":{source:\"iana\",extensions:[\"skp\",\"skd\",\"skt\",\"skm\"]},\"application/vnd.kodak-descriptor\":{source:\"iana\",extensions:[\"sse\"]},\"application/vnd.las.las+json\":{source:\"iana\",compressible:!0},\"application/vnd.las.las+xml\":{source:\"iana\",compressible:!0,extensions:[\"lasxml\"]},\"application/vnd.leap+json\":{source:\"iana\",compressible:!0},\"application/vnd.liberty-request+xml\":{source:\"iana\",compressible:!0},\"application/vnd.llamagraphics.life-balance.desktop\":{source:\"iana\",extensions:[\"lbd\"]},\"application/vnd.llamagraphics.life-balance.exchange+xml\":{source:\"iana\",compressible:!0,extensions:[\"lbe\"]},\"application/vnd.lotus-1-2-3\":{source:\"iana\",extensions:[\"123\"]},\"application/vnd.lotus-approach\":{source:\"iana\",extensions:[\"apr\"]},\"application/vnd.lotus-freelance\":{source:\"iana\",extensions:[\"pre\"]},\"application/vnd.lotus-notes\":{source:\"iana\",extensions:[\"nsf\"]},\"application/vnd.lotus-organizer\":{source:\"iana\",extensions:[\"org\"]},\"application/vnd.lotus-screencam\":{source:\"iana\",extensions:[\"scm\"]},\"application/vnd.lotus-wordpro\":{source:\"iana\",extensions:[\"lwp\"]},\"application/vnd.macports.portpkg\":{source:\"iana\",extensions:[\"portpkg\"]},\"application/vnd.mapbox-vector-tile\":{source:\"iana\"},\"application/vnd.marlin.drm.actiontoken+xml\":{source:\"iana\",compressible:!0},\"application/vnd.marlin.drm.conftoken+xml\":{source:\"iana\",compressible:!0},\"application/vnd.marlin.drm.license+xml\":{source:\"iana\",compressible:!0},\"application/vnd.marlin.drm.mdcf\":{source:\"iana\"},\"application/vnd.mason+json\":{source:\"iana\",compressible:!0},\"application/vnd.maxmind.maxmind-db\":{source:\"iana\"},\"application/vnd.mcd\":{source:\"iana\",extensions:[\"mcd\"]},\"application/vnd.medcalcdata\":{source:\"iana\",extensions:[\"mc1\"]},\"application/vnd.mediastation.cdkey\":{source:\"iana\",extensions:[\"cdkey\"]},\"application/vnd.meridian-slingshot\":{source:\"iana\"},\"application/vnd.mfer\":{source:\"iana\",extensions:[\"mwf\"]},\"application/vnd.mfmp\":{source:\"iana\",extensions:[\"mfm\"]},\"application/vnd.micro+json\":{source:\"iana\",compressible:!0},\"application/vnd.micrografx.flo\":{source:\"iana\",extensions:[\"flo\"]},\"application/vnd.micrografx.igx\":{source:\"iana\",extensions:[\"igx\"]},\"application/vnd.microsoft.portable-executable\":{source:\"iana\"},\"application/vnd.microsoft.windows.thumbnail-cache\":{source:\"iana\"},\"application/vnd.miele+json\":{source:\"iana\",compressible:!0},\"application/vnd.mif\":{source:\"iana\",extensions:[\"mif\"]},\"application/vnd.minisoft-hp3000-save\":{source:\"iana\"},\"application/vnd.mitsubishi.misty-guard.trustweb\":{source:\"iana\"},\"application/vnd.mobius.daf\":{source:\"iana\",extensions:[\"daf\"]},\"application/vnd.mobius.dis\":{source:\"iana\",extensions:[\"dis\"]},\"application/vnd.mobius.mbk\":{source:\"iana\",extensions:[\"mbk\"]},\"application/vnd.mobius.mqy\":{source:\"iana\",extensions:[\"mqy\"]},\"application/vnd.mobius.msl\":{source:\"iana\",extensions:[\"msl\"]},\"application/vnd.mobius.plc\":{source:\"iana\",extensions:[\"plc\"]},\"application/vnd.mobius.txf\":{source:\"iana\",extensions:[\"txf\"]},\"application/vnd.mophun.application\":{source:\"iana\",extensions:[\"mpn\"]},\"application/vnd.mophun.certificate\":{source:\"iana\",extensions:[\"mpc\"]},\"application/vnd.motorola.flexsuite\":{source:\"iana\"},\"application/vnd.motorola.flexsuite.adsi\":{source:\"iana\"},\"application/vnd.motorola.flexsuite.fis\":{source:\"iana\"},\"application/vnd.motorola.flexsuite.gotap\":{source:\"iana\"},\"application/vnd.motorola.flexsuite.kmr\":{source:\"iana\"},\"application/vnd.motorola.flexsuite.ttc\":{source:\"iana\"},\"application/vnd.motorola.flexsuite.wem\":{source:\"iana\"},\"application/vnd.motorola.iprm\":{source:\"iana\"},\"application/vnd.mozilla.xul+xml\":{source:\"iana\",compressible:!0,extensions:[\"xul\"]},\"application/vnd.ms-3mfdocument\":{source:\"iana\"},\"application/vnd.ms-artgalry\":{source:\"iana\",extensions:[\"cil\"]},\"application/vnd.ms-asf\":{source:\"iana\"},\"application/vnd.ms-cab-compressed\":{source:\"iana\",extensions:[\"cab\"]},\"application/vnd.ms-color.iccprofile\":{source:\"apache\"},\"application/vnd.ms-excel\":{source:\"iana\",compressible:!1,extensions:[\"xls\",\"xlm\",\"xla\",\"xlc\",\"xlt\",\"xlw\"]},\"application/vnd.ms-excel.addin.macroenabled.12\":{source:\"iana\",extensions:[\"xlam\"]},\"application/vnd.ms-excel.sheet.binary.macroenabled.12\":{source:\"iana\",extensions:[\"xlsb\"]},\"application/vnd.ms-excel.sheet.macroenabled.12\":{source:\"iana\",extensions:[\"xlsm\"]},\"application/vnd.ms-excel.template.macroenabled.12\":{source:\"iana\",extensions:[\"xltm\"]},\"application/vnd.ms-fontobject\":{source:\"iana\",compressible:!0,extensions:[\"eot\"]},\"application/vnd.ms-htmlhelp\":{source:\"iana\",extensions:[\"chm\"]},\"application/vnd.ms-ims\":{source:\"iana\",extensions:[\"ims\"]},\"application/vnd.ms-lrm\":{source:\"iana\",extensions:[\"lrm\"]},\"application/vnd.ms-office.activex+xml\":{source:\"iana\",compressible:!0},\"application/vnd.ms-officetheme\":{source:\"iana\",extensions:[\"thmx\"]},\"application/vnd.ms-opentype\":{source:\"apache\",compressible:!0},\"application/vnd.ms-outlook\":{compressible:!1,extensions:[\"msg\"]},\"application/vnd.ms-package.obfuscated-opentype\":{source:\"apache\"},\"application/vnd.ms-pki.seccat\":{source:\"apache\",extensions:[\"cat\"]},\"application/vnd.ms-pki.stl\":{source:\"apache\",extensions:[\"stl\"]},\"application/vnd.ms-playready.initiator+xml\":{source:\"iana\",compressible:!0},\"application/vnd.ms-powerpoint\":{source:\"iana\",compressible:!1,extensions:[\"ppt\",\"pps\",\"pot\"]},\"application/vnd.ms-powerpoint.addin.macroenabled.12\":{source:\"iana\",extensions:[\"ppam\"]},\"application/vnd.ms-powerpoint.presentation.macroenabled.12\":{source:\"iana\",extensions:[\"pptm\"]},\"application/vnd.ms-powerpoint.slide.macroenabled.12\":{source:\"iana\",extensions:[\"sldm\"]},\"application/vnd.ms-powerpoint.slideshow.macroenabled.12\":{source:\"iana\",extensions:[\"ppsm\"]},\"application/vnd.ms-powerpoint.template.macroenabled.12\":{source:\"iana\",extensions:[\"potm\"]},\"application/vnd.ms-printdevicecapabilities+xml\":{source:\"iana\",compressible:!0},\"application/vnd.ms-printing.printticket+xml\":{source:\"apache\",compressible:!0},\"application/vnd.ms-printschematicket+xml\":{source:\"iana\",compressible:!0},\"application/vnd.ms-project\":{source:\"iana\",extensions:[\"mpp\",\"mpt\"]},\"application/vnd.ms-tnef\":{source:\"iana\"},\"application/vnd.ms-windows.devicepairing\":{source:\"iana\"},\"application/vnd.ms-windows.nwprinting.oob\":{source:\"iana\"},\"application/vnd.ms-windows.printerpairing\":{source:\"iana\"},\"application/vnd.ms-windows.wsd.oob\":{source:\"iana\"},\"application/vnd.ms-wmdrm.lic-chlg-req\":{source:\"iana\"},\"application/vnd.ms-wmdrm.lic-resp\":{source:\"iana\"},\"application/vnd.ms-wmdrm.meter-chlg-req\":{source:\"iana\"},\"application/vnd.ms-wmdrm.meter-resp\":{source:\"iana\"},\"application/vnd.ms-word.document.macroenabled.12\":{source:\"iana\",extensions:[\"docm\"]},\"application/vnd.ms-word.template.macroenabled.12\":{source:\"iana\",extensions:[\"dotm\"]},\"application/vnd.ms-works\":{source:\"iana\",extensions:[\"wps\",\"wks\",\"wcm\",\"wdb\"]},\"application/vnd.ms-wpl\":{source:\"iana\",extensions:[\"wpl\"]},\"application/vnd.ms-xpsdocument\":{source:\"iana\",compressible:!1,extensions:[\"xps\"]},\"application/vnd.msa-disk-image\":{source:\"iana\"},\"application/vnd.mseq\":{source:\"iana\",extensions:[\"mseq\"]},\"application/vnd.msign\":{source:\"iana\"},\"application/vnd.multiad.creator\":{source:\"iana\"},\"application/vnd.multiad.creator.cif\":{source:\"iana\"},\"application/vnd.music-niff\":{source:\"iana\"},\"application/vnd.musician\":{source:\"iana\",extensions:[\"mus\"]},\"application/vnd.muvee.style\":{source:\"iana\",extensions:[\"msty\"]},\"application/vnd.mynfc\":{source:\"iana\",extensions:[\"taglet\"]},\"application/vnd.ncd.control\":{source:\"iana\"},\"application/vnd.ncd.reference\":{source:\"iana\"},\"application/vnd.nearst.inv+json\":{source:\"iana\",compressible:!0},\"application/vnd.nervana\":{source:\"iana\"},\"application/vnd.netfpx\":{source:\"iana\"},\"application/vnd.neurolanguage.nlu\":{source:\"iana\",extensions:[\"nlu\"]},\"application/vnd.nimn\":{source:\"iana\"},\"application/vnd.nintendo.nitro.rom\":{source:\"iana\"},\"application/vnd.nintendo.snes.rom\":{source:\"iana\"},\"application/vnd.nitf\":{source:\"iana\",extensions:[\"ntf\",\"nitf\"]},\"application/vnd.noblenet-directory\":{source:\"iana\",extensions:[\"nnd\"]},\"application/vnd.noblenet-sealer\":{source:\"iana\",extensions:[\"nns\"]},\"application/vnd.noblenet-web\":{source:\"iana\",extensions:[\"nnw\"]},\"application/vnd.nokia.catalogs\":{source:\"iana\"},\"application/vnd.nokia.conml+wbxml\":{source:\"iana\"},\"application/vnd.nokia.conml+xml\":{source:\"iana\",compressible:!0},\"application/vnd.nokia.iptv.config+xml\":{source:\"iana\",compressible:!0},\"application/vnd.nokia.isds-radio-presets\":{source:\"iana\"},\"application/vnd.nokia.landmark+wbxml\":{source:\"iana\"},\"application/vnd.nokia.landmark+xml\":{source:\"iana\",compressible:!0},\"application/vnd.nokia.landmarkcollection+xml\":{source:\"iana\",compressible:!0},\"application/vnd.nokia.n-gage.ac+xml\":{source:\"iana\",compressible:!0},\"application/vnd.nokia.n-gage.data\":{source:\"iana\",extensions:[\"ngdat\"]},\"application/vnd.nokia.n-gage.symbian.install\":{source:\"iana\",extensions:[\"n-gage\"]},\"application/vnd.nokia.ncd\":{source:\"iana\"},\"application/vnd.nokia.pcd+wbxml\":{source:\"iana\"},\"application/vnd.nokia.pcd+xml\":{source:\"iana\",compressible:!0},\"application/vnd.nokia.radio-preset\":{source:\"iana\",extensions:[\"rpst\"]},\"application/vnd.nokia.radio-presets\":{source:\"iana\",extensions:[\"rpss\"]},\"application/vnd.novadigm.edm\":{source:\"iana\",extensions:[\"edm\"]},\"application/vnd.novadigm.edx\":{source:\"iana\",extensions:[\"edx\"]},\"application/vnd.novadigm.ext\":{source:\"iana\",extensions:[\"ext\"]},\"application/vnd.ntt-local.content-share\":{source:\"iana\"},\"application/vnd.ntt-local.file-transfer\":{source:\"iana\"},\"application/vnd.ntt-local.ogw_remote-access\":{source:\"iana\"},\"application/vnd.ntt-local.sip-ta_remote\":{source:\"iana\"},\"application/vnd.ntt-local.sip-ta_tcp_stream\":{source:\"iana\"},\"application/vnd.oasis.opendocument.chart\":{source:\"iana\",extensions:[\"odc\"]},\"application/vnd.oasis.opendocument.chart-template\":{source:\"iana\",extensions:[\"otc\"]},\"application/vnd.oasis.opendocument.database\":{source:\"iana\",extensions:[\"odb\"]},\"application/vnd.oasis.opendocument.formula\":{source:\"iana\",extensions:[\"odf\"]},\"application/vnd.oasis.opendocument.formula-template\":{source:\"iana\",extensions:[\"odft\"]},\"application/vnd.oasis.opendocument.graphics\":{source:\"iana\",compressible:!1,extensions:[\"odg\"]},\"application/vnd.oasis.opendocument.graphics-template\":{source:\"iana\",extensions:[\"otg\"]},\"application/vnd.oasis.opendocument.image\":{source:\"iana\",extensions:[\"odi\"]},\"application/vnd.oasis.opendocument.image-template\":{source:\"iana\",extensions:[\"oti\"]},\"application/vnd.oasis.opendocument.presentation\":{source:\"iana\",compressible:!1,extensions:[\"odp\"]},\"application/vnd.oasis.opendocument.presentation-template\":{source:\"iana\",extensions:[\"otp\"]},\"application/vnd.oasis.opendocument.spreadsheet\":{source:\"iana\",compressible:!1,extensions:[\"ods\"]},\"application/vnd.oasis.opendocument.spreadsheet-template\":{source:\"iana\",extensions:[\"ots\"]},\"application/vnd.oasis.opendocument.text\":{source:\"iana\",compressible:!1,extensions:[\"odt\"]},\"application/vnd.oasis.opendocument.text-master\":{source:\"iana\",extensions:[\"odm\"]},\"application/vnd.oasis.opendocument.text-template\":{source:\"iana\",extensions:[\"ott\"]},\"application/vnd.oasis.opendocument.text-web\":{source:\"iana\",extensions:[\"oth\"]},\"application/vnd.obn\":{source:\"iana\"},\"application/vnd.ocf+cbor\":{source:\"iana\"},\"application/vnd.oftn.l10n+json\":{source:\"iana\",compressible:!0},\"application/vnd.oipf.contentaccessdownload+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oipf.contentaccessstreaming+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oipf.cspg-hexbinary\":{source:\"iana\"},\"application/vnd.oipf.dae.svg+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oipf.dae.xhtml+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oipf.mippvcontrolmessage+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oipf.pae.gem\":{source:\"iana\"},\"application/vnd.oipf.spdiscovery+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oipf.spdlist+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oipf.ueprofile+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oipf.userprofile+xml\":{source:\"iana\",compressible:!0},\"application/vnd.olpc-sugar\":{source:\"iana\",extensions:[\"xo\"]},\"application/vnd.oma-scws-config\":{source:\"iana\"},\"application/vnd.oma-scws-http-request\":{source:\"iana\"},\"application/vnd.oma-scws-http-response\":{source:\"iana\"},\"application/vnd.oma.bcast.associated-procedure-parameter+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oma.bcast.drm-trigger+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oma.bcast.imd+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oma.bcast.ltkm\":{source:\"iana\"},\"application/vnd.oma.bcast.notification+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oma.bcast.provisioningtrigger\":{source:\"iana\"},\"application/vnd.oma.bcast.sgboot\":{source:\"iana\"},\"application/vnd.oma.bcast.sgdd+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oma.bcast.sgdu\":{source:\"iana\"},\"application/vnd.oma.bcast.simple-symbol-container\":{source:\"iana\"},\"application/vnd.oma.bcast.smartcard-trigger+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oma.bcast.sprov+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oma.bcast.stkm\":{source:\"iana\"},\"application/vnd.oma.cab-address-book+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oma.cab-feature-handler+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oma.cab-pcc+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oma.cab-subs-invite+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oma.cab-user-prefs+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oma.dcd\":{source:\"iana\"},\"application/vnd.oma.dcdc\":{source:\"iana\"},\"application/vnd.oma.dd2+xml\":{source:\"iana\",compressible:!0,extensions:[\"dd2\"]},\"application/vnd.oma.drm.risd+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oma.group-usage-list+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oma.lwm2m+json\":{source:\"iana\",compressible:!0},\"application/vnd.oma.lwm2m+tlv\":{source:\"iana\"},\"application/vnd.oma.pal+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oma.poc.detailed-progress-report+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oma.poc.final-report+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oma.poc.groups+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oma.poc.invocation-descriptor+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oma.poc.optimized-progress-report+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oma.push\":{source:\"iana\"},\"application/vnd.oma.scidm.messages+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oma.xcap-directory+xml\":{source:\"iana\",compressible:!0},\"application/vnd.omads-email+xml\":{source:\"iana\",compressible:!0},\"application/vnd.omads-file+xml\":{source:\"iana\",compressible:!0},\"application/vnd.omads-folder+xml\":{source:\"iana\",compressible:!0},\"application/vnd.omaloc-supl-init\":{source:\"iana\"},\"application/vnd.onepager\":{source:\"iana\"},\"application/vnd.onepagertamp\":{source:\"iana\"},\"application/vnd.onepagertamx\":{source:\"iana\"},\"application/vnd.onepagertat\":{source:\"iana\"},\"application/vnd.onepagertatp\":{source:\"iana\"},\"application/vnd.onepagertatx\":{source:\"iana\"},\"application/vnd.openblox.game+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openblox.game-binary\":{source:\"iana\"},\"application/vnd.openeye.oeb\":{source:\"iana\"},\"application/vnd.openofficeorg.extension\":{source:\"apache\",extensions:[\"oxt\"]},\"application/vnd.openstreetmap.data+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.custom-properties+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.customxmlproperties+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.drawing+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.extended-properties+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.presentationml.comments+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.presentationml.presentation\":{source:\"iana\",compressible:!1,extensions:[\"pptx\"]},\"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.presentationml.slide\":{source:\"iana\",extensions:[\"sldx\"]},\"application/vnd.openxmlformats-officedocument.presentationml.slide+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.presentationml.slideshow\":{source:\"iana\",extensions:[\"ppsx\"]},\"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.presentationml.tags+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.presentationml.template\":{source:\"iana\",extensions:[\"potx\"]},\"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\":{source:\"iana\",compressible:!1,extensions:[\"xlsx\"]},\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.template\":{source:\"iana\",extensions:[\"xltx\"]},\"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.theme+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.themeoverride+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.vmldrawing\":{source:\"iana\"},\"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\":{source:\"iana\",compressible:!1,extensions:[\"docx\"]},\"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.wordprocessingml.template\":{source:\"iana\",extensions:[\"dotx\"]},\"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-package.core-properties+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml\":{source:\"iana\",compressible:!0},\"application/vnd.openxmlformats-package.relationships+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oracle.resource+json\":{source:\"iana\",compressible:!0},\"application/vnd.orange.indata\":{source:\"iana\"},\"application/vnd.osa.netdeploy\":{source:\"iana\"},\"application/vnd.osgeo.mapguide.package\":{source:\"iana\",extensions:[\"mgp\"]},\"application/vnd.osgi.bundle\":{source:\"iana\"},\"application/vnd.osgi.dp\":{source:\"iana\",extensions:[\"dp\"]},\"application/vnd.osgi.subsystem\":{source:\"iana\",extensions:[\"esa\"]},\"application/vnd.otps.ct-kip+xml\":{source:\"iana\",compressible:!0},\"application/vnd.oxli.countgraph\":{source:\"iana\"},\"application/vnd.pagerduty+json\":{source:\"iana\",compressible:!0},\"application/vnd.palm\":{source:\"iana\",extensions:[\"pdb\",\"pqa\",\"oprc\"]},\"application/vnd.panoply\":{source:\"iana\"},\"application/vnd.paos.xml\":{source:\"iana\"},\"application/vnd.patentdive\":{source:\"iana\"},\"application/vnd.pawaafile\":{source:\"iana\",extensions:[\"paw\"]},\"application/vnd.pcos\":{source:\"iana\"},\"application/vnd.pg.format\":{source:\"iana\",extensions:[\"str\"]},\"application/vnd.pg.osasli\":{source:\"iana\",extensions:[\"ei6\"]},\"application/vnd.piaccess.application-licence\":{source:\"iana\"},\"application/vnd.picsel\":{source:\"iana\",extensions:[\"efif\"]},\"application/vnd.pmi.widget\":{source:\"iana\",extensions:[\"wg\"]},\"application/vnd.poc.group-advertisement+xml\":{source:\"iana\",compressible:!0},\"application/vnd.pocketlearn\":{source:\"iana\",extensions:[\"plf\"]},\"application/vnd.powerbuilder6\":{source:\"iana\",extensions:[\"pbd\"]},\"application/vnd.powerbuilder6-s\":{source:\"iana\"},\"application/vnd.powerbuilder7\":{source:\"iana\"},\"application/vnd.powerbuilder7-s\":{source:\"iana\"},\"application/vnd.powerbuilder75\":{source:\"iana\"},\"application/vnd.powerbuilder75-s\":{source:\"iana\"},\"application/vnd.preminet\":{source:\"iana\"},\"application/vnd.previewsystems.box\":{source:\"iana\",extensions:[\"box\"]},\"application/vnd.proteus.magazine\":{source:\"iana\",extensions:[\"mgz\"]},\"application/vnd.psfs\":{source:\"iana\"},\"application/vnd.publishare-delta-tree\":{source:\"iana\",extensions:[\"qps\"]},\"application/vnd.pvi.ptid1\":{source:\"iana\",extensions:[\"ptid\"]},\"application/vnd.pwg-multiplexed\":{source:\"iana\"},\"application/vnd.pwg-xhtml-print+xml\":{source:\"iana\",compressible:!0},\"application/vnd.qualcomm.brew-app-res\":{source:\"iana\"},\"application/vnd.quarantainenet\":{source:\"iana\"},\"application/vnd.quark.quarkxpress\":{source:\"iana\",extensions:[\"qxd\",\"qxt\",\"qwd\",\"qwt\",\"qxl\",\"qxb\"]},\"application/vnd.quobject-quoxdocument\":{source:\"iana\"},\"application/vnd.radisys.moml+xml\":{source:\"iana\",compressible:!0},\"application/vnd.radisys.msml+xml\":{source:\"iana\",compressible:!0},\"application/vnd.radisys.msml-audit+xml\":{source:\"iana\",compressible:!0},\"application/vnd.radisys.msml-audit-conf+xml\":{source:\"iana\",compressible:!0},\"application/vnd.radisys.msml-audit-conn+xml\":{source:\"iana\",compressible:!0},\"application/vnd.radisys.msml-audit-dialog+xml\":{source:\"iana\",compressible:!0},\"application/vnd.radisys.msml-audit-stream+xml\":{source:\"iana\",compressible:!0},\"application/vnd.radisys.msml-conf+xml\":{source:\"iana\",compressible:!0},\"application/vnd.radisys.msml-dialog+xml\":{source:\"iana\",compressible:!0},\"application/vnd.radisys.msml-dialog-base+xml\":{source:\"iana\",compressible:!0},\"application/vnd.radisys.msml-dialog-fax-detect+xml\":{source:\"iana\",compressible:!0},\"application/vnd.radisys.msml-dialog-fax-sendrecv+xml\":{source:\"iana\",compressible:!0},\"application/vnd.radisys.msml-dialog-group+xml\":{source:\"iana\",compressible:!0},\"application/vnd.radisys.msml-dialog-speech+xml\":{source:\"iana\",compressible:!0},\"application/vnd.radisys.msml-dialog-transform+xml\":{source:\"iana\",compressible:!0},\"application/vnd.rainstor.data\":{source:\"iana\"},\"application/vnd.rapid\":{source:\"iana\"},\"application/vnd.rar\":{source:\"iana\"},\"application/vnd.realvnc.bed\":{source:\"iana\",extensions:[\"bed\"]},\"application/vnd.recordare.musicxml\":{source:\"iana\",extensions:[\"mxl\"]},\"application/vnd.recordare.musicxml+xml\":{source:\"iana\",compressible:!0,extensions:[\"musicxml\"]},\"application/vnd.renlearn.rlprint\":{source:\"iana\"},\"application/vnd.restful+json\":{source:\"iana\",compressible:!0},\"application/vnd.rig.cryptonote\":{source:\"iana\",extensions:[\"cryptonote\"]},\"application/vnd.rim.cod\":{source:\"apache\",extensions:[\"cod\"]},\"application/vnd.rn-realmedia\":{source:\"apache\",extensions:[\"rm\"]},\"application/vnd.rn-realmedia-vbr\":{source:\"apache\",extensions:[\"rmvb\"]},\"application/vnd.route66.link66+xml\":{source:\"iana\",compressible:!0,extensions:[\"link66\"]},\"application/vnd.rs-274x\":{source:\"iana\"},\"application/vnd.ruckus.download\":{source:\"iana\"},\"application/vnd.s3sms\":{source:\"iana\"},\"application/vnd.sailingtracker.track\":{source:\"iana\",extensions:[\"st\"]},\"application/vnd.sbm.cid\":{source:\"iana\"},\"application/vnd.sbm.mid2\":{source:\"iana\"},\"application/vnd.scribus\":{source:\"iana\"},\"application/vnd.sealed.3df\":{source:\"iana\"},\"application/vnd.sealed.csf\":{source:\"iana\"},\"application/vnd.sealed.doc\":{source:\"iana\"},\"application/vnd.sealed.eml\":{source:\"iana\"},\"application/vnd.sealed.mht\":{source:\"iana\"},\"application/vnd.sealed.net\":{source:\"iana\"},\"application/vnd.sealed.ppt\":{source:\"iana\"},\"application/vnd.sealed.tiff\":{source:\"iana\"},\"application/vnd.sealed.xls\":{source:\"iana\"},\"application/vnd.sealedmedia.softseal.html\":{source:\"iana\"},\"application/vnd.sealedmedia.softseal.pdf\":{source:\"iana\"},\"application/vnd.seemail\":{source:\"iana\",extensions:[\"see\"]},\"application/vnd.sema\":{source:\"iana\",extensions:[\"sema\"]},\"application/vnd.semd\":{source:\"iana\",extensions:[\"semd\"]},\"application/vnd.semf\":{source:\"iana\",extensions:[\"semf\"]},\"application/vnd.shana.informed.formdata\":{source:\"iana\",extensions:[\"ifm\"]},\"application/vnd.shana.informed.formtemplate\":{source:\"iana\",extensions:[\"itp\"]},\"application/vnd.shana.informed.interchange\":{source:\"iana\",extensions:[\"iif\"]},\"application/vnd.shana.informed.package\":{source:\"iana\",extensions:[\"ipk\"]},\"application/vnd.shootproof+json\":{source:\"iana\",compressible:!0},\"application/vnd.sigrok.session\":{source:\"iana\"},\"application/vnd.simtech-mindmapper\":{source:\"iana\",extensions:[\"twd\",\"twds\"]},\"application/vnd.siren+json\":{source:\"iana\",compressible:!0},\"application/vnd.smaf\":{source:\"iana\",extensions:[\"mmf\"]},\"application/vnd.smart.notebook\":{source:\"iana\"},\"application/vnd.smart.teacher\":{source:\"iana\",extensions:[\"teacher\"]},\"application/vnd.software602.filler.form+xml\":{source:\"iana\",compressible:!0},\"application/vnd.software602.filler.form-xml-zip\":{source:\"iana\"},\"application/vnd.solent.sdkm+xml\":{source:\"iana\",compressible:!0,extensions:[\"sdkm\",\"sdkd\"]},\"application/vnd.spotfire.dxp\":{source:\"iana\",extensions:[\"dxp\"]},\"application/vnd.spotfire.sfs\":{source:\"iana\",extensions:[\"sfs\"]},\"application/vnd.sqlite3\":{source:\"iana\"},\"application/vnd.sss-cod\":{source:\"iana\"},\"application/vnd.sss-dtf\":{source:\"iana\"},\"application/vnd.sss-ntf\":{source:\"iana\"},\"application/vnd.stardivision.calc\":{source:\"apache\",extensions:[\"sdc\"]},\"application/vnd.stardivision.draw\":{source:\"apache\",extensions:[\"sda\"]},\"application/vnd.stardivision.impress\":{source:\"apache\",extensions:[\"sdd\"]},\"application/vnd.stardivision.math\":{source:\"apache\",extensions:[\"smf\"]},\"application/vnd.stardivision.writer\":{source:\"apache\",extensions:[\"sdw\",\"vor\"]},\"application/vnd.stardivision.writer-global\":{source:\"apache\",extensions:[\"sgl\"]},\"application/vnd.stepmania.package\":{source:\"iana\",extensions:[\"smzip\"]},\"application/vnd.stepmania.stepchart\":{source:\"iana\",extensions:[\"sm\"]},\"application/vnd.street-stream\":{source:\"iana\"},\"application/vnd.sun.wadl+xml\":{source:\"iana\",compressible:!0,extensions:[\"wadl\"]},\"application/vnd.sun.xml.calc\":{source:\"apache\",extensions:[\"sxc\"]},\"application/vnd.sun.xml.calc.template\":{source:\"apache\",extensions:[\"stc\"]},\"application/vnd.sun.xml.draw\":{source:\"apache\",extensions:[\"sxd\"]},\"application/vnd.sun.xml.draw.template\":{source:\"apache\",extensions:[\"std\"]},\"application/vnd.sun.xml.impress\":{source:\"apache\",extensions:[\"sxi\"]},\"application/vnd.sun.xml.impress.template\":{source:\"apache\",extensions:[\"sti\"]},\"application/vnd.sun.xml.math\":{source:\"apache\",extensions:[\"sxm\"]},\"application/vnd.sun.xml.writer\":{source:\"apache\",extensions:[\"sxw\"]},\"application/vnd.sun.xml.writer.global\":{source:\"apache\",extensions:[\"sxg\"]},\"application/vnd.sun.xml.writer.template\":{source:\"apache\",extensions:[\"stw\"]},\"application/vnd.sus-calendar\":{source:\"iana\",extensions:[\"sus\",\"susp\"]},\"application/vnd.svd\":{source:\"iana\",extensions:[\"svd\"]},\"application/vnd.swiftview-ics\":{source:\"iana\"},\"application/vnd.symbian.install\":{source:\"apache\",extensions:[\"sis\",\"sisx\"]},\"application/vnd.syncml+xml\":{source:\"iana\",compressible:!0,extensions:[\"xsm\"]},\"application/vnd.syncml.dm+wbxml\":{source:\"iana\",extensions:[\"bdm\"]},\"application/vnd.syncml.dm+xml\":{source:\"iana\",compressible:!0,extensions:[\"xdm\"]},\"application/vnd.syncml.dm.notification\":{source:\"iana\"},\"application/vnd.syncml.dmddf+wbxml\":{source:\"iana\"},\"application/vnd.syncml.dmddf+xml\":{source:\"iana\",compressible:!0},\"application/vnd.syncml.dmtnds+wbxml\":{source:\"iana\"},\"application/vnd.syncml.dmtnds+xml\":{source:\"iana\",compressible:!0},\"application/vnd.syncml.ds.notification\":{source:\"iana\"},\"application/vnd.tableschema+json\":{source:\"iana\",compressible:!0},\"application/vnd.tao.intent-module-archive\":{source:\"iana\",extensions:[\"tao\"]},\"application/vnd.tcpdump.pcap\":{source:\"iana\",extensions:[\"pcap\",\"cap\",\"dmp\"]},\"application/vnd.think-cell.ppttc+json\":{source:\"iana\",compressible:!0},\"application/vnd.tmd.mediaflex.api+xml\":{source:\"iana\",compressible:!0},\"application/vnd.tml\":{source:\"iana\"},\"application/vnd.tmobile-livetv\":{source:\"iana\",extensions:[\"tmo\"]},\"application/vnd.tri.onesource\":{source:\"iana\"},\"application/vnd.trid.tpt\":{source:\"iana\",extensions:[\"tpt\"]},\"application/vnd.triscape.mxs\":{source:\"iana\",extensions:[\"mxs\"]},\"application/vnd.trueapp\":{source:\"iana\",extensions:[\"tra\"]},\"application/vnd.truedoc\":{source:\"iana\"},\"application/vnd.ubisoft.webplayer\":{source:\"iana\"},\"application/vnd.ufdl\":{source:\"iana\",extensions:[\"ufd\",\"ufdl\"]},\"application/vnd.uiq.theme\":{source:\"iana\",extensions:[\"utz\"]},\"application/vnd.umajin\":{source:\"iana\",extensions:[\"umj\"]},\"application/vnd.unity\":{source:\"iana\",extensions:[\"unityweb\"]},\"application/vnd.uoml+xml\":{source:\"iana\",compressible:!0,extensions:[\"uoml\"]},\"application/vnd.uplanet.alert\":{source:\"iana\"},\"application/vnd.uplanet.alert-wbxml\":{source:\"iana\"},\"application/vnd.uplanet.bearer-choice\":{source:\"iana\"},\"application/vnd.uplanet.bearer-choice-wbxml\":{source:\"iana\"},\"application/vnd.uplanet.cacheop\":{source:\"iana\"},\"application/vnd.uplanet.cacheop-wbxml\":{source:\"iana\"},\"application/vnd.uplanet.channel\":{source:\"iana\"},\"application/vnd.uplanet.channel-wbxml\":{source:\"iana\"},\"application/vnd.uplanet.list\":{source:\"iana\"},\"application/vnd.uplanet.list-wbxml\":{source:\"iana\"},\"application/vnd.uplanet.listcmd\":{source:\"iana\"},\"application/vnd.uplanet.listcmd-wbxml\":{source:\"iana\"},\"application/vnd.uplanet.signal\":{source:\"iana\"},\"application/vnd.uri-map\":{source:\"iana\"},\"application/vnd.valve.source.material\":{source:\"iana\"},\"application/vnd.vcx\":{source:\"iana\",extensions:[\"vcx\"]},\"application/vnd.vd-study\":{source:\"iana\"},\"application/vnd.vectorworks\":{source:\"iana\"},\"application/vnd.vel+json\":{source:\"iana\",compressible:!0},\"application/vnd.verimatrix.vcas\":{source:\"iana\"},\"application/vnd.vidsoft.vidconference\":{source:\"iana\"},\"application/vnd.visio\":{source:\"iana\",extensions:[\"vsd\",\"vst\",\"vss\",\"vsw\"]},\"application/vnd.visionary\":{source:\"iana\",extensions:[\"vis\"]},\"application/vnd.vividence.scriptfile\":{source:\"iana\"},\"application/vnd.vsf\":{source:\"iana\",extensions:[\"vsf\"]},\"application/vnd.wap.sic\":{source:\"iana\"},\"application/vnd.wap.slc\":{source:\"iana\"},\"application/vnd.wap.wbxml\":{source:\"iana\",extensions:[\"wbxml\"]},\"application/vnd.wap.wmlc\":{source:\"iana\",extensions:[\"wmlc\"]},\"application/vnd.wap.wmlscriptc\":{source:\"iana\",extensions:[\"wmlsc\"]},\"application/vnd.webturbo\":{source:\"iana\",extensions:[\"wtb\"]},\"application/vnd.wfa.p2p\":{source:\"iana\"},\"application/vnd.wfa.wsc\":{source:\"iana\"},\"application/vnd.windows.devicepairing\":{source:\"iana\"},\"application/vnd.wmc\":{source:\"iana\"},\"application/vnd.wmf.bootstrap\":{source:\"iana\"},\"application/vnd.wolfram.mathematica\":{source:\"iana\"},\"application/vnd.wolfram.mathematica.package\":{source:\"iana\"},\"application/vnd.wolfram.player\":{source:\"iana\",extensions:[\"nbp\"]},\"application/vnd.wordperfect\":{source:\"iana\",extensions:[\"wpd\"]},\"application/vnd.wqd\":{source:\"iana\",extensions:[\"wqd\"]},\"application/vnd.wrq-hp3000-labelled\":{source:\"iana\"},\"application/vnd.wt.stf\":{source:\"iana\",extensions:[\"stf\"]},\"application/vnd.wv.csp+wbxml\":{source:\"iana\"},\"application/vnd.wv.csp+xml\":{source:\"iana\",compressible:!0},\"application/vnd.wv.ssp+xml\":{source:\"iana\",compressible:!0},\"application/vnd.xacml+json\":{source:\"iana\",compressible:!0},\"application/vnd.xara\":{source:\"iana\",extensions:[\"xar\"]},\"application/vnd.xfdl\":{source:\"iana\",extensions:[\"xfdl\"]},\"application/vnd.xfdl.webform\":{source:\"iana\"},\"application/vnd.xmi+xml\":{source:\"iana\",compressible:!0},\"application/vnd.xmpie.cpkg\":{source:\"iana\"},\"application/vnd.xmpie.dpkg\":{source:\"iana\"},\"application/vnd.xmpie.plan\":{source:\"iana\"},\"application/vnd.xmpie.ppkg\":{source:\"iana\"},\"application/vnd.xmpie.xlim\":{source:\"iana\"},\"application/vnd.yamaha.hv-dic\":{source:\"iana\",extensions:[\"hvd\"]},\"application/vnd.yamaha.hv-script\":{source:\"iana\",extensions:[\"hvs\"]},\"application/vnd.yamaha.hv-voice\":{source:\"iana\",extensions:[\"hvp\"]},\"application/vnd.yamaha.openscoreformat\":{source:\"iana\",extensions:[\"osf\"]},\"application/vnd.yamaha.openscoreformat.osfpvg+xml\":{source:\"iana\",compressible:!0,extensions:[\"osfpvg\"]},\"application/vnd.yamaha.remote-setup\":{source:\"iana\"},\"application/vnd.yamaha.smaf-audio\":{source:\"iana\",extensions:[\"saf\"]},\"application/vnd.yamaha.smaf-phrase\":{source:\"iana\",extensions:[\"spf\"]},\"application/vnd.yamaha.through-ngn\":{source:\"iana\"},\"application/vnd.yamaha.tunnel-udpencap\":{source:\"iana\"},\"application/vnd.yaoweme\":{source:\"iana\"},\"application/vnd.yellowriver-custom-menu\":{source:\"iana\",extensions:[\"cmp\"]},\"application/vnd.youtube.yt\":{source:\"iana\"},\"application/vnd.zul\":{source:\"iana\",extensions:[\"zir\",\"zirz\"]},\"application/vnd.zzazz.deck+xml\":{source:\"iana\",compressible:!0,extensions:[\"zaz\"]},\"application/voicexml+xml\":{source:\"iana\",compressible:!0,extensions:[\"vxml\"]},\"application/voucher-cms+json\":{source:\"iana\",compressible:!0},\"application/vq-rtcpxr\":{source:\"iana\"},\"application/wasm\":{compressible:!0,extensions:[\"wasm\"]},\"application/watcherinfo+xml\":{source:\"iana\",compressible:!0},\"application/webpush-options+json\":{source:\"iana\",compressible:!0},\"application/whoispp-query\":{source:\"iana\"},\"application/whoispp-response\":{source:\"iana\"},\"application/widget\":{source:\"iana\",extensions:[\"wgt\"]},\"application/winhlp\":{source:\"apache\",extensions:[\"hlp\"]},\"application/wita\":{source:\"iana\"},\"application/wordperfect5.1\":{source:\"iana\"},\"application/wsdl+xml\":{source:\"iana\",compressible:!0,extensions:[\"wsdl\"]},\"application/wspolicy+xml\":{source:\"iana\",compressible:!0,extensions:[\"wspolicy\"]},\"application/x-7z-compressed\":{source:\"apache\",compressible:!1,extensions:[\"7z\"]},\"application/x-abiword\":{source:\"apache\",extensions:[\"abw\"]},\"application/x-ace-compressed\":{source:\"apache\",extensions:[\"ace\"]},\"application/x-amf\":{source:\"apache\"},\"application/x-apple-diskimage\":{source:\"apache\",extensions:[\"dmg\"]},\"application/x-arj\":{compressible:!1,extensions:[\"arj\"]},\"application/x-authorware-bin\":{source:\"apache\",extensions:[\"aab\",\"x32\",\"u32\",\"vox\"]},\"application/x-authorware-map\":{source:\"apache\",extensions:[\"aam\"]},\"application/x-authorware-seg\":{source:\"apache\",extensions:[\"aas\"]},\"application/x-bcpio\":{source:\"apache\",extensions:[\"bcpio\"]},\"application/x-bdoc\":{compressible:!1,extensions:[\"bdoc\"]},\"application/x-bittorrent\":{source:\"apache\",extensions:[\"torrent\"]},\"application/x-blorb\":{source:\"apache\",extensions:[\"blb\",\"blorb\"]},\"application/x-bzip\":{source:\"apache\",compressible:!1,extensions:[\"bz\"]},\"application/x-bzip2\":{source:\"apache\",compressible:!1,extensions:[\"bz2\",\"boz\"]},\"application/x-cbr\":{source:\"apache\",extensions:[\"cbr\",\"cba\",\"cbt\",\"cbz\",\"cb7\"]},\"application/x-cdlink\":{source:\"apache\",extensions:[\"vcd\"]},\"application/x-cfs-compressed\":{source:\"apache\",extensions:[\"cfs\"]},\"application/x-chat\":{source:\"apache\",extensions:[\"chat\"]},\"application/x-chess-pgn\":{source:\"apache\",extensions:[\"pgn\"]},\"application/x-chrome-extension\":{extensions:[\"crx\"]},\"application/x-cocoa\":{source:\"nginx\",extensions:[\"cco\"]},\"application/x-compress\":{source:\"apache\"},\"application/x-conference\":{source:\"apache\",extensions:[\"nsc\"]},\"application/x-cpio\":{source:\"apache\",extensions:[\"cpio\"]},\"application/x-csh\":{source:\"apache\",extensions:[\"csh\"]},\"application/x-deb\":{compressible:!1},\"application/x-debian-package\":{source:\"apache\",extensions:[\"deb\",\"udeb\"]},\"application/x-dgc-compressed\":{source:\"apache\",extensions:[\"dgc\"]},\"application/x-director\":{source:\"apache\",extensions:[\"dir\",\"dcr\",\"dxr\",\"cst\",\"cct\",\"cxt\",\"w3d\",\"fgd\",\"swa\"]},\"application/x-doom\":{source:\"apache\",extensions:[\"wad\"]},\"application/x-dtbncx+xml\":{source:\"apache\",compressible:!0,extensions:[\"ncx\"]},\"application/x-dtbook+xml\":{source:\"apache\",compressible:!0,extensions:[\"dtb\"]},\"application/x-dtbresource+xml\":{source:\"apache\",compressible:!0,extensions:[\"res\"]},\"application/x-dvi\":{source:\"apache\",compressible:!1,extensions:[\"dvi\"]},\"application/x-envoy\":{source:\"apache\",extensions:[\"evy\"]},\"application/x-eva\":{source:\"apache\",extensions:[\"eva\"]},\"application/x-font-bdf\":{source:\"apache\",extensions:[\"bdf\"]},\"application/x-font-dos\":{source:\"apache\"},\"application/x-font-framemaker\":{source:\"apache\"},\"application/x-font-ghostscript\":{source:\"apache\",extensions:[\"gsf\"]},\"application/x-font-libgrx\":{source:\"apache\"},\"application/x-font-linux-psf\":{source:\"apache\",extensions:[\"psf\"]},\"application/x-font-pcf\":{source:\"apache\",extensions:[\"pcf\"]},\"application/x-font-snf\":{source:\"apache\",extensions:[\"snf\"]},\"application/x-font-speedo\":{source:\"apache\"},\"application/x-font-sunos-news\":{source:\"apache\"},\"application/x-font-type1\":{source:\"apache\",extensions:[\"pfa\",\"pfb\",\"pfm\",\"afm\"]},\"application/x-font-vfont\":{source:\"apache\"},\"application/x-freearc\":{source:\"apache\",extensions:[\"arc\"]},\"application/x-futuresplash\":{source:\"apache\",extensions:[\"spl\"]},\"application/x-gca-compressed\":{source:\"apache\",extensions:[\"gca\"]},\"application/x-glulx\":{source:\"apache\",extensions:[\"ulx\"]},\"application/x-gnumeric\":{source:\"apache\",extensions:[\"gnumeric\"]},\"application/x-gramps-xml\":{source:\"apache\",extensions:[\"gramps\"]},\"application/x-gtar\":{source:\"apache\",extensions:[\"gtar\"]},\"application/x-gzip\":{source:\"apache\"},\"application/x-hdf\":{source:\"apache\",extensions:[\"hdf\"]},\"application/x-httpd-php\":{compressible:!0,extensions:[\"php\"]},\"application/x-install-instructions\":{source:\"apache\",extensions:[\"install\"]},\"application/x-iso9660-image\":{source:\"apache\",extensions:[\"iso\"]},\"application/x-java-archive-diff\":{source:\"nginx\",extensions:[\"jardiff\"]},\"application/x-java-jnlp-file\":{source:\"apache\",compressible:!1,extensions:[\"jnlp\"]},\"application/x-javascript\":{compressible:!0},\"application/x-latex\":{source:\"apache\",compressible:!1,extensions:[\"latex\"]},\"application/x-lua-bytecode\":{extensions:[\"luac\"]},\"application/x-lzh-compressed\":{source:\"apache\",extensions:[\"lzh\",\"lha\"]},\"application/x-makeself\":{source:\"nginx\",extensions:[\"run\"]},\"application/x-mie\":{source:\"apache\",extensions:[\"mie\"]},\"application/x-mobipocket-ebook\":{source:\"apache\",extensions:[\"prc\",\"mobi\"]},\"application/x-mpegurl\":{compressible:!1},\"application/x-ms-application\":{source:\"apache\",extensions:[\"application\"]},\"application/x-ms-shortcut\":{source:\"apache\",extensions:[\"lnk\"]},\"application/x-ms-wmd\":{source:\"apache\",extensions:[\"wmd\"]},\"application/x-ms-wmz\":{source:\"apache\",extensions:[\"wmz\"]},\"application/x-ms-xbap\":{source:\"apache\",extensions:[\"xbap\"]},\"application/x-msaccess\":{source:\"apache\",extensions:[\"mdb\"]},\"application/x-msbinder\":{source:\"apache\",extensions:[\"obd\"]},\"application/x-mscardfile\":{source:\"apache\",extensions:[\"crd\"]},\"application/x-msclip\":{source:\"apache\",extensions:[\"clp\"]},\"application/x-msdos-program\":{extensions:[\"exe\"]},\"application/x-msdownload\":{source:\"apache\",extensions:[\"exe\",\"dll\",\"com\",\"bat\",\"msi\"]},\"application/x-msmediaview\":{source:\"apache\",extensions:[\"mvb\",\"m13\",\"m14\"]},\"application/x-msmetafile\":{source:\"apache\",extensions:[\"wmf\",\"wmz\",\"emf\",\"emz\"]},\"application/x-msmoney\":{source:\"apache\",extensions:[\"mny\"]},\"application/x-mspublisher\":{source:\"apache\",extensions:[\"pub\"]},\"application/x-msschedule\":{source:\"apache\",extensions:[\"scd\"]},\"application/x-msterminal\":{source:\"apache\",extensions:[\"trm\"]},\"application/x-mswrite\":{source:\"apache\",extensions:[\"wri\"]},\"application/x-netcdf\":{source:\"apache\",extensions:[\"nc\",\"cdf\"]},\"application/x-ns-proxy-autoconfig\":{compressible:!0,extensions:[\"pac\"]},\"application/x-nzb\":{source:\"apache\",extensions:[\"nzb\"]},\"application/x-perl\":{source:\"nginx\",extensions:[\"pl\",\"pm\"]},\"application/x-pilot\":{source:\"nginx\",extensions:[\"prc\",\"pdb\"]},\"application/x-pkcs12\":{source:\"apache\",compressible:!1,extensions:[\"p12\",\"pfx\"]},\"application/x-pkcs7-certificates\":{source:\"apache\",extensions:[\"p7b\",\"spc\"]},\"application/x-pkcs7-certreqresp\":{source:\"apache\",extensions:[\"p7r\"]},\"application/x-rar-compressed\":{source:\"apache\",compressible:!1,extensions:[\"rar\"]},\"application/x-redhat-package-manager\":{source:\"nginx\",extensions:[\"rpm\"]},\"application/x-research-info-systems\":{source:\"apache\",extensions:[\"ris\"]},\"application/x-sea\":{source:\"nginx\",extensions:[\"sea\"]},\"application/x-sh\":{source:\"apache\",compressible:!0,extensions:[\"sh\"]},\"application/x-shar\":{source:\"apache\",extensions:[\"shar\"]},\"application/x-shockwave-flash\":{source:\"apache\",compressible:!1,extensions:[\"swf\"]},\"application/x-silverlight-app\":{source:\"apache\",extensions:[\"xap\"]},\"application/x-sql\":{source:\"apache\",extensions:[\"sql\"]},\"application/x-stuffit\":{source:\"apache\",compressible:!1,extensions:[\"sit\"]},\"application/x-stuffitx\":{source:\"apache\",extensions:[\"sitx\"]},\"application/x-subrip\":{source:\"apache\",extensions:[\"srt\"]},\"application/x-sv4cpio\":{source:\"apache\",extensions:[\"sv4cpio\"]},\"application/x-sv4crc\":{source:\"apache\",extensions:[\"sv4crc\"]},\"application/x-t3vm-image\":{source:\"apache\",extensions:[\"t3\"]},\"application/x-tads\":{source:\"apache\",extensions:[\"gam\"]},\"application/x-tar\":{source:\"apache\",compressible:!0,extensions:[\"tar\"]},\"application/x-tcl\":{source:\"apache\",extensions:[\"tcl\",\"tk\"]},\"application/x-tex\":{source:\"apache\",extensions:[\"tex\"]},\"application/x-tex-tfm\":{source:\"apache\",extensions:[\"tfm\"]},\"application/x-texinfo\":{source:\"apache\",extensions:[\"texinfo\",\"texi\"]},\"application/x-tgif\":{source:\"apache\",extensions:[\"obj\"]},\"application/x-ustar\":{source:\"apache\",extensions:[\"ustar\"]},\"application/x-virtualbox-hdd\":{compressible:!0,extensions:[\"hdd\"]},\"application/x-virtualbox-ova\":{compressible:!0,extensions:[\"ova\"]},\"application/x-virtualbox-ovf\":{compressible:!0,extensions:[\"ovf\"]},\"application/x-virtualbox-vbox\":{compressible:!0,extensions:[\"vbox\"]},\"application/x-virtualbox-vbox-extpack\":{compressible:!1,extensions:[\"vbox-extpack\"]},\"application/x-virtualbox-vdi\":{compressible:!0,extensions:[\"vdi\"]},\"application/x-virtualbox-vhd\":{compressible:!0,extensions:[\"vhd\"]},\"application/x-virtualbox-vmdk\":{compressible:!0,extensions:[\"vmdk\"]},\"application/x-wais-source\":{source:\"apache\",extensions:[\"src\"]},\"application/x-web-app-manifest+json\":{compressible:!0,extensions:[\"webapp\"]},\"application/x-www-form-urlencoded\":{source:\"iana\",compressible:!0},\"application/x-x509-ca-cert\":{source:\"apache\",extensions:[\"der\",\"crt\",\"pem\"]},\"application/x-xfig\":{source:\"apache\",extensions:[\"fig\"]},\"application/x-xliff+xml\":{source:\"apache\",compressible:!0,extensions:[\"xlf\"]},\"application/x-xpinstall\":{source:\"apache\",compressible:!1,extensions:[\"xpi\"]},\"application/x-xz\":{source:\"apache\",extensions:[\"xz\"]},\"application/x-zmachine\":{source:\"apache\",extensions:[\"z1\",\"z2\",\"z3\",\"z4\",\"z5\",\"z6\",\"z7\",\"z8\"]},\"application/x400-bp\":{source:\"iana\"},\"application/xacml+xml\":{source:\"iana\",compressible:!0},\"application/xaml+xml\":{source:\"apache\",compressible:!0,extensions:[\"xaml\"]},\"application/xcap-att+xml\":{source:\"iana\",compressible:!0},\"application/xcap-caps+xml\":{source:\"iana\",compressible:!0},\"application/xcap-diff+xml\":{source:\"iana\",compressible:!0,extensions:[\"xdf\"]},\"application/xcap-el+xml\":{source:\"iana\",compressible:!0},\"application/xcap-error+xml\":{source:\"iana\",compressible:!0},\"application/xcap-ns+xml\":{source:\"iana\",compressible:!0},\"application/xcon-conference-info+xml\":{source:\"iana\",compressible:!0},\"application/xcon-conference-info-diff+xml\":{source:\"iana\",compressible:!0},\"application/xenc+xml\":{source:\"iana\",compressible:!0,extensions:[\"xenc\"]},\"application/xhtml+xml\":{source:\"iana\",compressible:!0,extensions:[\"xhtml\",\"xht\"]},\"application/xhtml-voice+xml\":{source:\"apache\",compressible:!0},\"application/xliff+xml\":{source:\"iana\",compressible:!0},\"application/xml\":{source:\"iana\",compressible:!0,extensions:[\"xml\",\"xsl\",\"xsd\",\"rng\"]},\"application/xml-dtd\":{source:\"iana\",compressible:!0,extensions:[\"dtd\"]},\"application/xml-external-parsed-entity\":{source:\"iana\"},\"application/xml-patch+xml\":{source:\"iana\",compressible:!0},\"application/xmpp+xml\":{source:\"iana\",compressible:!0},\"application/xop+xml\":{source:\"iana\",compressible:!0,extensions:[\"xop\"]},\"application/xproc+xml\":{source:\"apache\",compressible:!0,extensions:[\"xpl\"]},\"application/xslt+xml\":{source:\"iana\",compressible:!0,extensions:[\"xslt\"]},\"application/xspf+xml\":{source:\"apache\",compressible:!0,extensions:[\"xspf\"]},\"application/xv+xml\":{source:\"iana\",compressible:!0,extensions:[\"mxml\",\"xhvml\",\"xvml\",\"xvm\"]},\"application/yang\":{source:\"iana\",extensions:[\"yang\"]},\"application/yang-data+json\":{source:\"iana\",compressible:!0},\"application/yang-data+xml\":{source:\"iana\",compressible:!0},\"application/yang-patch+json\":{source:\"iana\",compressible:!0},\"application/yang-patch+xml\":{source:\"iana\",compressible:!0},\"application/yin+xml\":{source:\"iana\",compressible:!0,extensions:[\"yin\"]},\"application/zip\":{source:\"iana\",compressible:!1,extensions:[\"zip\"]},\"application/zlib\":{source:\"iana\"},\"application/zstd\":{source:\"iana\"},\"audio/1d-interleaved-parityfec\":{source:\"iana\"},\"audio/32kadpcm\":{source:\"iana\"},\"audio/3gpp\":{source:\"iana\",compressible:!1,extensions:[\"3gpp\"]},\"audio/3gpp2\":{source:\"iana\"},\"audio/aac\":{source:\"iana\"},\"audio/ac3\":{source:\"iana\"},\"audio/adpcm\":{source:\"apache\",extensions:[\"adp\"]},\"audio/amr\":{source:\"iana\"},\"audio/amr-wb\":{source:\"iana\"},\"audio/amr-wb+\":{source:\"iana\"},\"audio/aptx\":{source:\"iana\"},\"audio/asc\":{source:\"iana\"},\"audio/atrac-advanced-lossless\":{source:\"iana\"},\"audio/atrac-x\":{source:\"iana\"},\"audio/atrac3\":{source:\"iana\"},\"audio/basic\":{source:\"iana\",compressible:!1,extensions:[\"au\",\"snd\"]},\"audio/bv16\":{source:\"iana\"},\"audio/bv32\":{source:\"iana\"},\"audio/clearmode\":{source:\"iana\"},\"audio/cn\":{source:\"iana\"},\"audio/dat12\":{source:\"iana\"},\"audio/dls\":{source:\"iana\"},\"audio/dsr-es201108\":{source:\"iana\"},\"audio/dsr-es202050\":{source:\"iana\"},\"audio/dsr-es202211\":{source:\"iana\"},\"audio/dsr-es202212\":{source:\"iana\"},\"audio/dv\":{source:\"iana\"},\"audio/dvi4\":{source:\"iana\"},\"audio/eac3\":{source:\"iana\"},\"audio/encaprtp\":{source:\"iana\"},\"audio/evrc\":{source:\"iana\"},\"audio/evrc-qcp\":{source:\"iana\"},\"audio/evrc0\":{source:\"iana\"},\"audio/evrc1\":{source:\"iana\"},\"audio/evrcb\":{source:\"iana\"},\"audio/evrcb0\":{source:\"iana\"},\"audio/evrcb1\":{source:\"iana\"},\"audio/evrcnw\":{source:\"iana\"},\"audio/evrcnw0\":{source:\"iana\"},\"audio/evrcnw1\":{source:\"iana\"},\"audio/evrcwb\":{source:\"iana\"},\"audio/evrcwb0\":{source:\"iana\"},\"audio/evrcwb1\":{source:\"iana\"},\"audio/evs\":{source:\"iana\"},\"audio/fwdred\":{source:\"iana\"},\"audio/g711-0\":{source:\"iana\"},\"audio/g719\":{source:\"iana\"},\"audio/g722\":{source:\"iana\"},\"audio/g7221\":{source:\"iana\"},\"audio/g723\":{source:\"iana\"},\"audio/g726-16\":{source:\"iana\"},\"audio/g726-24\":{source:\"iana\"},\"audio/g726-32\":{source:\"iana\"},\"audio/g726-40\":{source:\"iana\"},\"audio/g728\":{source:\"iana\"},\"audio/g729\":{source:\"iana\"},\"audio/g7291\":{source:\"iana\"},\"audio/g729d\":{source:\"iana\"},\"audio/g729e\":{source:\"iana\"},\"audio/gsm\":{source:\"iana\"},\"audio/gsm-efr\":{source:\"iana\"},\"audio/gsm-hr-08\":{source:\"iana\"},\"audio/ilbc\":{source:\"iana\"},\"audio/ip-mr_v2.5\":{source:\"iana\"},\"audio/isac\":{source:\"apache\"},\"audio/l16\":{source:\"iana\"},\"audio/l20\":{source:\"iana\"},\"audio/l24\":{source:\"iana\",compressible:!1},\"audio/l8\":{source:\"iana\"},\"audio/lpc\":{source:\"iana\"},\"audio/melp\":{source:\"iana\"},\"audio/melp1200\":{source:\"iana\"},\"audio/melp2400\":{source:\"iana\"},\"audio/melp600\":{source:\"iana\"},\"audio/midi\":{source:\"apache\",extensions:[\"mid\",\"midi\",\"kar\",\"rmi\"]},\"audio/mobile-xmf\":{source:\"iana\"},\"audio/mp3\":{compressible:!1,extensions:[\"mp3\"]},\"audio/mp4\":{source:\"iana\",compressible:!1,extensions:[\"m4a\",\"mp4a\"]},\"audio/mp4a-latm\":{source:\"iana\"},\"audio/mpa\":{source:\"iana\"},\"audio/mpa-robust\":{source:\"iana\"},\"audio/mpeg\":{source:\"iana\",compressible:!1,extensions:[\"mpga\",\"mp2\",\"mp2a\",\"mp3\",\"m2a\",\"m3a\"]},\"audio/mpeg4-generic\":{source:\"iana\"},\"audio/musepack\":{source:\"apache\"},\"audio/ogg\":{source:\"iana\",compressible:!1,extensions:[\"oga\",\"ogg\",\"spx\"]},\"audio/opus\":{source:\"iana\"},\"audio/parityfec\":{source:\"iana\"},\"audio/pcma\":{source:\"iana\"},\"audio/pcma-wb\":{source:\"iana\"},\"audio/pcmu\":{source:\"iana\"},\"audio/pcmu-wb\":{source:\"iana\"},\"audio/prs.sid\":{source:\"iana\"},\"audio/qcelp\":{source:\"iana\"},\"audio/raptorfec\":{source:\"iana\"},\"audio/red\":{source:\"iana\"},\"audio/rtp-enc-aescm128\":{source:\"iana\"},\"audio/rtp-midi\":{source:\"iana\"},\"audio/rtploopback\":{source:\"iana\"},\"audio/rtx\":{source:\"iana\"},\"audio/s3m\":{source:\"apache\",extensions:[\"s3m\"]},\"audio/silk\":{source:\"apache\",extensions:[\"sil\"]},\"audio/smv\":{source:\"iana\"},\"audio/smv-qcp\":{source:\"iana\"},\"audio/smv0\":{source:\"iana\"},\"audio/sp-midi\":{source:\"iana\"},\"audio/speex\":{source:\"iana\"},\"audio/t140c\":{source:\"iana\"},\"audio/t38\":{source:\"iana\"},\"audio/telephone-event\":{source:\"iana\"},\"audio/tone\":{source:\"iana\"},\"audio/uemclip\":{source:\"iana\"},\"audio/ulpfec\":{source:\"iana\"},\"audio/usac\":{source:\"iana\"},\"audio/vdvi\":{source:\"iana\"},\"audio/vmr-wb\":{source:\"iana\"},\"audio/vnd.3gpp.iufp\":{source:\"iana\"},\"audio/vnd.4sb\":{source:\"iana\"},\"audio/vnd.audiokoz\":{source:\"iana\"},\"audio/vnd.celp\":{source:\"iana\"},\"audio/vnd.cisco.nse\":{source:\"iana\"},\"audio/vnd.cmles.radio-events\":{source:\"iana\"},\"audio/vnd.cns.anp1\":{source:\"iana\"},\"audio/vnd.cns.inf1\":{source:\"iana\"},\"audio/vnd.dece.audio\":{source:\"iana\",extensions:[\"uva\",\"uvva\"]},\"audio/vnd.digital-winds\":{source:\"iana\",extensions:[\"eol\"]},\"audio/vnd.dlna.adts\":{source:\"iana\"},\"audio/vnd.dolby.heaac.1\":{source:\"iana\"},\"audio/vnd.dolby.heaac.2\":{source:\"iana\"},\"audio/vnd.dolby.mlp\":{source:\"iana\"},\"audio/vnd.dolby.mps\":{source:\"iana\"},\"audio/vnd.dolby.pl2\":{source:\"iana\"},\"audio/vnd.dolby.pl2x\":{source:\"iana\"},\"audio/vnd.dolby.pl2z\":{source:\"iana\"},\"audio/vnd.dolby.pulse.1\":{source:\"iana\"},\"audio/vnd.dra\":{source:\"iana\",extensions:[\"dra\"]},\"audio/vnd.dts\":{source:\"iana\",extensions:[\"dts\"]},\"audio/vnd.dts.hd\":{source:\"iana\",extensions:[\"dtshd\"]},\"audio/vnd.dvb.file\":{source:\"iana\"},\"audio/vnd.everad.plj\":{source:\"iana\"},\"audio/vnd.hns.audio\":{source:\"iana\"},\"audio/vnd.lucent.voice\":{source:\"iana\",extensions:[\"lvp\"]},\"audio/vnd.ms-playready.media.pya\":{source:\"iana\",extensions:[\"pya\"]},\"audio/vnd.nokia.mobile-xmf\":{source:\"iana\"},\"audio/vnd.nortel.vbk\":{source:\"iana\"},\"audio/vnd.nuera.ecelp4800\":{source:\"iana\",extensions:[\"ecelp4800\"]},\"audio/vnd.nuera.ecelp7470\":{source:\"iana\",extensions:[\"ecelp7470\"]},\"audio/vnd.nuera.ecelp9600\":{source:\"iana\",extensions:[\"ecelp9600\"]},\"audio/vnd.octel.sbc\":{source:\"iana\"},\"audio/vnd.presonus.multitrack\":{source:\"iana\"},\"audio/vnd.qcelp\":{source:\"iana\"},\"audio/vnd.rhetorex.32kadpcm\":{source:\"iana\"},\"audio/vnd.rip\":{source:\"iana\",extensions:[\"rip\"]},\"audio/vnd.rn-realaudio\":{compressible:!1},\"audio/vnd.sealedmedia.softseal.mpeg\":{source:\"iana\"},\"audio/vnd.vmx.cvsd\":{source:\"iana\"},\"audio/vnd.wave\":{compressible:!1},\"audio/vorbis\":{source:\"iana\",compressible:!1},\"audio/vorbis-config\":{source:\"iana\"},\"audio/wav\":{compressible:!1,extensions:[\"wav\"]},\"audio/wave\":{compressible:!1,extensions:[\"wav\"]},\"audio/webm\":{source:\"apache\",compressible:!1,extensions:[\"weba\"]},\"audio/x-aac\":{source:\"apache\",compressible:!1,extensions:[\"aac\"]},\"audio/x-aiff\":{source:\"apache\",extensions:[\"aif\",\"aiff\",\"aifc\"]},\"audio/x-caf\":{source:\"apache\",compressible:!1,extensions:[\"caf\"]},\"audio/x-flac\":{source:\"apache\",extensions:[\"flac\"]},\"audio/x-m4a\":{source:\"nginx\",extensions:[\"m4a\"]},\"audio/x-matroska\":{source:\"apache\",extensions:[\"mka\"]},\"audio/x-mpegurl\":{source:\"apache\",extensions:[\"m3u\"]},\"audio/x-ms-wax\":{source:\"apache\",extensions:[\"wax\"]},\"audio/x-ms-wma\":{source:\"apache\",extensions:[\"wma\"]},\"audio/x-pn-realaudio\":{source:\"apache\",extensions:[\"ram\",\"ra\"]},\"audio/x-pn-realaudio-plugin\":{source:\"apache\",extensions:[\"rmp\"]},\"audio/x-realaudio\":{source:\"nginx\",extensions:[\"ra\"]},\"audio/x-tta\":{source:\"apache\"},\"audio/x-wav\":{source:\"apache\",extensions:[\"wav\"]},\"audio/xm\":{source:\"apache\",extensions:[\"xm\"]},\"chemical/x-cdx\":{source:\"apache\",extensions:[\"cdx\"]},\"chemical/x-cif\":{source:\"apache\",extensions:[\"cif\"]},\"chemical/x-cmdf\":{source:\"apache\",extensions:[\"cmdf\"]},\"chemical/x-cml\":{source:\"apache\",extensions:[\"cml\"]},\"chemical/x-csml\":{source:\"apache\",extensions:[\"csml\"]},\"chemical/x-pdb\":{source:\"apache\"},\"chemical/x-xyz\":{source:\"apache\",extensions:[\"xyz\"]},\"font/collection\":{source:\"iana\",extensions:[\"ttc\"]},\"font/otf\":{source:\"iana\",compressible:!0,extensions:[\"otf\"]},\"font/sfnt\":{source:\"iana\"},\"font/ttf\":{source:\"iana\",extensions:[\"ttf\"]},\"font/woff\":{source:\"iana\",extensions:[\"woff\"]},\"font/woff2\":{source:\"iana\",extensions:[\"woff2\"]},\"image/aces\":{source:\"iana\",extensions:[\"exr\"]},\"image/apng\":{compressible:!1,extensions:[\"apng\"]},\"image/avci\":{source:\"iana\"},\"image/avcs\":{source:\"iana\"},\"image/bmp\":{source:\"iana\",compressible:!0,extensions:[\"bmp\"]},\"image/cgm\":{source:\"iana\",extensions:[\"cgm\"]},\"image/dicom-rle\":{source:\"iana\",extensions:[\"drle\"]},\"image/emf\":{source:\"iana\",extensions:[\"emf\"]},\"image/fits\":{source:\"iana\",extensions:[\"fits\"]},\"image/g3fax\":{source:\"iana\",extensions:[\"g3\"]},\"image/gif\":{source:\"iana\",compressible:!1,extensions:[\"gif\"]},\"image/heic\":{source:\"iana\",extensions:[\"heic\"]},\"image/heic-sequence\":{source:\"iana\",extensions:[\"heics\"]},\"image/heif\":{source:\"iana\",extensions:[\"heif\"]},\"image/heif-sequence\":{source:\"iana\",extensions:[\"heifs\"]},\"image/ief\":{source:\"iana\",extensions:[\"ief\"]},\"image/jls\":{source:\"iana\",extensions:[\"jls\"]},\"image/jp2\":{source:\"iana\",compressible:!1,extensions:[\"jp2\",\"jpg2\"]},\"image/jpeg\":{source:\"iana\",compressible:!1,extensions:[\"jpeg\",\"jpg\",\"jpe\"]},\"image/jpm\":{source:\"iana\",compressible:!1,extensions:[\"jpm\"]},\"image/jpx\":{source:\"iana\",compressible:!1,extensions:[\"jpx\",\"jpf\"]},\"image/ktx\":{source:\"iana\",extensions:[\"ktx\"]},\"image/naplps\":{source:\"iana\"},\"image/pjpeg\":{compressible:!1},\"image/png\":{source:\"iana\",compressible:!1,extensions:[\"png\"]},\"image/prs.btif\":{source:\"iana\",extensions:[\"btif\"]},\"image/prs.pti\":{source:\"iana\",extensions:[\"pti\"]},\"image/pwg-raster\":{source:\"iana\"},\"image/sgi\":{source:\"apache\",extensions:[\"sgi\"]},\"image/svg+xml\":{source:\"iana\",compressible:!0,extensions:[\"svg\",\"svgz\"]},\"image/t38\":{source:\"iana\",extensions:[\"t38\"]},\"image/tiff\":{source:\"iana\",compressible:!1,extensions:[\"tif\",\"tiff\"]},\"image/tiff-fx\":{source:\"iana\",extensions:[\"tfx\"]},\"image/vnd.adobe.photoshop\":{source:\"iana\",compressible:!0,extensions:[\"psd\"]},\"image/vnd.airzip.accelerator.azv\":{source:\"iana\",extensions:[\"azv\"]},\"image/vnd.cns.inf2\":{source:\"iana\"},\"image/vnd.dece.graphic\":{source:\"iana\",extensions:[\"uvi\",\"uvvi\",\"uvg\",\"uvvg\"]},\"image/vnd.djvu\":{source:\"iana\",extensions:[\"djvu\",\"djv\"]},\"image/vnd.dvb.subtitle\":{source:\"iana\",extensions:[\"sub\"]},\"image/vnd.dwg\":{source:\"iana\",extensions:[\"dwg\"]},\"image/vnd.dxf\":{source:\"iana\",extensions:[\"dxf\"]},\"image/vnd.fastbidsheet\":{source:\"iana\",extensions:[\"fbs\"]},\"image/vnd.fpx\":{source:\"iana\",extensions:[\"fpx\"]},\"image/vnd.fst\":{source:\"iana\",extensions:[\"fst\"]},\"image/vnd.fujixerox.edmics-mmr\":{source:\"iana\",extensions:[\"mmr\"]},\"image/vnd.fujixerox.edmics-rlc\":{source:\"iana\",extensions:[\"rlc\"]},\"image/vnd.globalgraphics.pgb\":{source:\"iana\"},\"image/vnd.microsoft.icon\":{source:\"iana\",extensions:[\"ico\"]},\"image/vnd.mix\":{source:\"iana\"},\"image/vnd.mozilla.apng\":{source:\"iana\"},\"image/vnd.ms-modi\":{source:\"iana\",extensions:[\"mdi\"]},\"image/vnd.ms-photo\":{source:\"apache\",extensions:[\"wdp\"]},\"image/vnd.net-fpx\":{source:\"iana\",extensions:[\"npx\"]},\"image/vnd.radiance\":{source:\"iana\"},\"image/vnd.sealed.png\":{source:\"iana\"},\"image/vnd.sealedmedia.softseal.gif\":{source:\"iana\"},\"image/vnd.sealedmedia.softseal.jpg\":{source:\"iana\"},\"image/vnd.svf\":{source:\"iana\"},\"image/vnd.tencent.tap\":{source:\"iana\",extensions:[\"tap\"]},\"image/vnd.valve.source.texture\":{source:\"iana\",extensions:[\"vtf\"]},\"image/vnd.wap.wbmp\":{source:\"iana\",extensions:[\"wbmp\"]},\"image/vnd.xiff\":{source:\"iana\",extensions:[\"xif\"]},\"image/vnd.zbrush.pcx\":{source:\"iana\",extensions:[\"pcx\"]},\"image/webp\":{source:\"apache\",extensions:[\"webp\"]},\"image/wmf\":{source:\"iana\",extensions:[\"wmf\"]},\"image/x-3ds\":{source:\"apache\",extensions:[\"3ds\"]},\"image/x-cmu-raster\":{source:\"apache\",extensions:[\"ras\"]},\"image/x-cmx\":{source:\"apache\",extensions:[\"cmx\"]},\"image/x-freehand\":{source:\"apache\",extensions:[\"fh\",\"fhc\",\"fh4\",\"fh5\",\"fh7\"]},\"image/x-icon\":{source:\"apache\",compressible:!0,extensions:[\"ico\"]},\"image/x-jng\":{source:\"nginx\",extensions:[\"jng\"]},\"image/x-mrsid-image\":{source:\"apache\",extensions:[\"sid\"]},\"image/x-ms-bmp\":{source:\"nginx\",compressible:!0,extensions:[\"bmp\"]},\"image/x-pcx\":{source:\"apache\",extensions:[\"pcx\"]},\"image/x-pict\":{source:\"apache\",extensions:[\"pic\",\"pct\"]},\"image/x-portable-anymap\":{source:\"apache\",extensions:[\"pnm\"]},\"image/x-portable-bitmap\":{source:\"apache\",extensions:[\"pbm\"]},\"image/x-portable-graymap\":{source:\"apache\",extensions:[\"pgm\"]},\"image/x-portable-pixmap\":{source:\"apache\",extensions:[\"ppm\"]},\"image/x-rgb\":{source:\"apache\",extensions:[\"rgb\"]},\"image/x-tga\":{source:\"apache\",extensions:[\"tga\"]},\"image/x-xbitmap\":{source:\"apache\",extensions:[\"xbm\"]},\"image/x-xcf\":{compressible:!1},\"image/x-xpixmap\":{source:\"apache\",extensions:[\"xpm\"]},\"image/x-xwindowdump\":{source:\"apache\",extensions:[\"xwd\"]},\"message/cpim\":{source:\"iana\"},\"message/delivery-status\":{source:\"iana\"},\"message/disposition-notification\":{source:\"iana\",extensions:[\"disposition-notification\"]},\"message/external-body\":{source:\"iana\"},\"message/feedback-report\":{source:\"iana\"},\"message/global\":{source:\"iana\",extensions:[\"u8msg\"]},\"message/global-delivery-status\":{source:\"iana\",extensions:[\"u8dsn\"]},\"message/global-disposition-notification\":{source:\"iana\",extensions:[\"u8mdn\"]},\"message/global-headers\":{source:\"iana\",extensions:[\"u8hdr\"]},\"message/http\":{source:\"iana\",compressible:!1},\"message/imdn+xml\":{source:\"iana\",compressible:!0},\"message/news\":{source:\"iana\"},\"message/partial\":{source:\"iana\",compressible:!1},\"message/rfc822\":{source:\"iana\",compressible:!0,extensions:[\"eml\",\"mime\"]},\"message/s-http\":{source:\"iana\"},\"message/sip\":{source:\"iana\"},\"message/sipfrag\":{source:\"iana\"},\"message/tracking-status\":{source:\"iana\"},\"message/vnd.si.simp\":{source:\"iana\"},\"message/vnd.wfa.wsc\":{source:\"iana\",extensions:[\"wsc\"]},\"model/3mf\":{source:\"iana\"},\"model/gltf+json\":{source:\"iana\",compressible:!0,extensions:[\"gltf\"]},\"model/gltf-binary\":{source:\"iana\",compressible:!0,extensions:[\"glb\"]},\"model/iges\":{source:\"iana\",compressible:!1,extensions:[\"igs\",\"iges\"]},\"model/mesh\":{source:\"iana\",compressible:!1,extensions:[\"msh\",\"mesh\",\"silo\"]},\"model/stl\":{source:\"iana\"},\"model/vnd.collada+xml\":{source:\"iana\",compressible:!0,extensions:[\"dae\"]},\"model/vnd.dwf\":{source:\"iana\",extensions:[\"dwf\"]},\"model/vnd.flatland.3dml\":{source:\"iana\"},\"model/vnd.gdl\":{source:\"iana\",extensions:[\"gdl\"]},\"model/vnd.gs-gdl\":{source:\"apache\"},\"model/vnd.gs.gdl\":{source:\"iana\"},\"model/vnd.gtw\":{source:\"iana\",extensions:[\"gtw\"]},\"model/vnd.moml+xml\":{source:\"iana\",compressible:!0},\"model/vnd.mts\":{source:\"iana\",extensions:[\"mts\"]},\"model/vnd.opengex\":{source:\"iana\"},\"model/vnd.parasolid.transmit.binary\":{source:\"iana\"},\"model/vnd.parasolid.transmit.text\":{source:\"iana\"},\"model/vnd.rosette.annotated-data-model\":{source:\"iana\"},\"model/vnd.usdz+zip\":{source:\"iana\",compressible:!1},\"model/vnd.valve.source.compiled-map\":{source:\"iana\"},\"model/vnd.vtu\":{source:\"iana\",extensions:[\"vtu\"]},\"model/vrml\":{source:\"iana\",compressible:!1,extensions:[\"wrl\",\"vrml\"]},\"model/x3d+binary\":{source:\"apache\",compressible:!1,extensions:[\"x3db\",\"x3dbz\"]},\"model/x3d+fastinfoset\":{source:\"iana\"},\"model/x3d+vrml\":{source:\"apache\",compressible:!1,extensions:[\"x3dv\",\"x3dvz\"]},\"model/x3d+xml\":{source:\"iana\",compressible:!0,extensions:[\"x3d\",\"x3dz\"]},\"model/x3d-vrml\":{source:\"iana\"},\"multipart/alternative\":{source:\"iana\",compressible:!1},\"multipart/appledouble\":{source:\"iana\"},\"multipart/byteranges\":{source:\"iana\"},\"multipart/digest\":{source:\"iana\"},\"multipart/encrypted\":{source:\"iana\",compressible:!1},\"multipart/form-data\":{source:\"iana\",compressible:!1},\"multipart/header-set\":{source:\"iana\"},\"multipart/mixed\":{source:\"iana\",compressible:!1},\"multipart/multilingual\":{source:\"iana\"},\"multipart/parallel\":{source:\"iana\"},\"multipart/related\":{source:\"iana\",compressible:!1},\"multipart/report\":{source:\"iana\"},\"multipart/signed\":{source:\"iana\",compressible:!1},\"multipart/vnd.bint.med-plus\":{source:\"iana\"},\"multipart/voice-message\":{source:\"iana\"},\"multipart/x-mixed-replace\":{source:\"iana\"},\"text/1d-interleaved-parityfec\":{source:\"iana\"},\"text/cache-manifest\":{source:\"iana\",compressible:!0,extensions:[\"appcache\",\"manifest\"]},\"text/calendar\":{source:\"iana\",extensions:[\"ics\",\"ifb\"]},\"text/calender\":{compressible:!0},\"text/cmd\":{compressible:!0},\"text/coffeescript\":{extensions:[\"coffee\",\"litcoffee\"]},\"text/css\":{source:\"iana\",charset:\"UTF-8\",compressible:!0,extensions:[\"css\"]},\"text/csv\":{source:\"iana\",compressible:!0,extensions:[\"csv\"]},\"text/csv-schema\":{source:\"iana\"},\"text/directory\":{source:\"iana\"},\"text/dns\":{source:\"iana\"},\"text/ecmascript\":{source:\"iana\"},\"text/encaprtp\":{source:\"iana\"},\"text/enriched\":{source:\"iana\"},\"text/fwdred\":{source:\"iana\"},\"text/grammar-ref-list\":{source:\"iana\"},\"text/html\":{source:\"iana\",compressible:!0,extensions:[\"html\",\"htm\",\"shtml\"]},\"text/jade\":{extensions:[\"jade\"]},\"text/javascript\":{source:\"iana\",compressible:!0},\"text/jcr-cnd\":{source:\"iana\"},\"text/jsx\":{compressible:!0,extensions:[\"jsx\"]},\"text/less\":{extensions:[\"less\"]},\"text/markdown\":{source:\"iana\",compressible:!0,extensions:[\"markdown\",\"md\"]},\"text/mathml\":{source:\"nginx\",extensions:[\"mml\"]},\"text/mizar\":{source:\"iana\"},\"text/n3\":{source:\"iana\",compressible:!0,extensions:[\"n3\"]},\"text/parameters\":{source:\"iana\"},\"text/parityfec\":{source:\"iana\"},\"text/plain\":{source:\"iana\",compressible:!0,extensions:[\"txt\",\"text\",\"conf\",\"def\",\"list\",\"log\",\"in\",\"ini\"]},\"text/provenance-notation\":{source:\"iana\"},\"text/prs.fallenstein.rst\":{source:\"iana\"},\"text/prs.lines.tag\":{source:\"iana\",extensions:[\"dsc\"]},\"text/prs.prop.logic\":{source:\"iana\"},\"text/raptorfec\":{source:\"iana\"},\"text/red\":{source:\"iana\"},\"text/rfc822-headers\":{source:\"iana\"},\"text/richtext\":{source:\"iana\",compressible:!0,extensions:[\"rtx\"]},\"text/rtf\":{source:\"iana\",compressible:!0,extensions:[\"rtf\"]},\"text/rtp-enc-aescm128\":{source:\"iana\"},\"text/rtploopback\":{source:\"iana\"},\"text/rtx\":{source:\"iana\"},\"text/sgml\":{source:\"iana\",extensions:[\"sgml\",\"sgm\"]},\"text/shex\":{extensions:[\"shex\"]},\"text/slim\":{extensions:[\"slim\",\"slm\"]},\"text/strings\":{source:\"iana\"},\"text/stylus\":{extensions:[\"stylus\",\"styl\"]},\"text/t140\":{source:\"iana\"},\"text/tab-separated-values\":{source:\"iana\",compressible:!0,extensions:[\"tsv\"]},\"text/troff\":{source:\"iana\",extensions:[\"t\",\"tr\",\"roff\",\"man\",\"me\",\"ms\"]},\"text/turtle\":{source:\"iana\",charset:\"UTF-8\",extensions:[\"ttl\"]},\"text/ulpfec\":{source:\"iana\"},\"text/uri-list\":{source:\"iana\",compressible:!0,extensions:[\"uri\",\"uris\",\"urls\"]},\"text/vcard\":{source:\"iana\",compressible:!0,extensions:[\"vcard\"]},\"text/vnd.a\":{source:\"iana\"},\"text/vnd.abc\":{source:\"iana\"},\"text/vnd.ascii-art\":{source:\"iana\"},\"text/vnd.curl\":{source:\"iana\",extensions:[\"curl\"]},\"text/vnd.curl.dcurl\":{source:\"apache\",extensions:[\"dcurl\"]},\"text/vnd.curl.mcurl\":{source:\"apache\",extensions:[\"mcurl\"]},\"text/vnd.curl.scurl\":{source:\"apache\",extensions:[\"scurl\"]},\"text/vnd.debian.copyright\":{source:\"iana\"},\"text/vnd.dmclientscript\":{source:\"iana\"},\"text/vnd.dvb.subtitle\":{source:\"iana\",extensions:[\"sub\"]},\"text/vnd.esmertec.theme-descriptor\":{source:\"iana\"},\"text/vnd.fly\":{source:\"iana\",extensions:[\"fly\"]},\"text/vnd.fmi.flexstor\":{source:\"iana\",extensions:[\"flx\"]},\"text/vnd.gml\":{source:\"iana\"},\"text/vnd.graphviz\":{source:\"iana\",extensions:[\"gv\"]},\"text/vnd.hgl\":{source:\"iana\"},\"text/vnd.in3d.3dml\":{source:\"iana\",extensions:[\"3dml\"]},\"text/vnd.in3d.spot\":{source:\"iana\",extensions:[\"spot\"]},\"text/vnd.iptc.newsml\":{source:\"iana\"},\"text/vnd.iptc.nitf\":{source:\"iana\"},\"text/vnd.latex-z\":{source:\"iana\"},\"text/vnd.motorola.reflex\":{source:\"iana\"},\"text/vnd.ms-mediapackage\":{source:\"iana\"},\"text/vnd.net2phone.commcenter.command\":{source:\"iana\"},\"text/vnd.radisys.msml-basic-layout\":{source:\"iana\"},\"text/vnd.si.uricatalogue\":{source:\"iana\"},\"text/vnd.sun.j2me.app-descriptor\":{source:\"iana\",extensions:[\"jad\"]},\"text/vnd.trolltech.linguist\":{source:\"iana\"},\"text/vnd.wap.si\":{source:\"iana\"},\"text/vnd.wap.sl\":{source:\"iana\"},\"text/vnd.wap.wml\":{source:\"iana\",extensions:[\"wml\"]},\"text/vnd.wap.wmlscript\":{source:\"iana\",extensions:[\"wmls\"]},\"text/vtt\":{charset:\"UTF-8\",compressible:!0,extensions:[\"vtt\"]},\"text/x-asm\":{source:\"apache\",extensions:[\"s\",\"asm\"]},\"text/x-c\":{source:\"apache\",extensions:[\"c\",\"cc\",\"cxx\",\"cpp\",\"h\",\"hh\",\"dic\"]},\"text/x-component\":{source:\"nginx\",extensions:[\"htc\"]},\"text/x-fortran\":{source:\"apache\",extensions:[\"f\",\"for\",\"f77\",\"f90\"]},\"text/x-gwt-rpc\":{compressible:!0},\"text/x-handlebars-template\":{extensions:[\"hbs\"]},\"text/x-java-source\":{source:\"apache\",extensions:[\"java\"]},\"text/x-jquery-tmpl\":{compressible:!0},\"text/x-lua\":{extensions:[\"lua\"]},\"text/x-markdown\":{compressible:!0,extensions:[\"mkd\"]},\"text/x-nfo\":{source:\"apache\",extensions:[\"nfo\"]},\"text/x-opml\":{source:\"apache\",extensions:[\"opml\"]},\"text/x-org\":{compressible:!0,extensions:[\"org\"]},\"text/x-pascal\":{source:\"apache\",extensions:[\"p\",\"pas\"]},\"text/x-processing\":{compressible:!0,extensions:[\"pde\"]},\"text/x-sass\":{extensions:[\"sass\"]},\"text/x-scss\":{extensions:[\"scss\"]},\"text/x-setext\":{source:\"apache\",extensions:[\"etx\"]},\"text/x-sfv\":{source:\"apache\",extensions:[\"sfv\"]},\"text/x-suse-ymp\":{compressible:!0,extensions:[\"ymp\"]},\"text/x-uuencode\":{source:\"apache\",extensions:[\"uu\"]},\"text/x-vcalendar\":{source:\"apache\",extensions:[\"vcs\"]},\"text/x-vcard\":{source:\"apache\",extensions:[\"vcf\"]},\"text/xml\":{source:\"iana\",compressible:!0,extensions:[\"xml\"]},\"text/xml-external-parsed-entity\":{source:\"iana\"},\"text/yaml\":{extensions:[\"yaml\",\"yml\"]},\"video/1d-interleaved-parityfec\":{source:\"iana\"},\"video/3gpp\":{source:\"iana\",extensions:[\"3gp\",\"3gpp\"]},\"video/3gpp-tt\":{source:\"iana\"},\"video/3gpp2\":{source:\"iana\",extensions:[\"3g2\"]},\"video/bmpeg\":{source:\"iana\"},\"video/bt656\":{source:\"iana\"},\"video/celb\":{source:\"iana\"},\"video/dv\":{source:\"iana\"},\"video/encaprtp\":{source:\"iana\"},\"video/h261\":{source:\"iana\",extensions:[\"h261\"]},\"video/h263\":{source:\"iana\",extensions:[\"h263\"]},\"video/h263-1998\":{source:\"iana\"},\"video/h263-2000\":{source:\"iana\"},\"video/h264\":{source:\"iana\",extensions:[\"h264\"]},\"video/h264-rcdo\":{source:\"iana\"},\"video/h264-svc\":{source:\"iana\"},\"video/h265\":{source:\"iana\"},\"video/iso.segment\":{source:\"iana\"},\"video/jpeg\":{source:\"iana\",extensions:[\"jpgv\"]},\"video/jpeg2000\":{source:\"iana\"},\"video/jpm\":{source:\"apache\",extensions:[\"jpm\",\"jpgm\"]},\"video/mj2\":{source:\"iana\",extensions:[\"mj2\",\"mjp2\"]},\"video/mp1s\":{source:\"iana\"},\"video/mp2p\":{source:\"iana\"},\"video/mp2t\":{source:\"iana\",extensions:[\"ts\"]},\"video/mp4\":{source:\"iana\",compressible:!1,extensions:[\"mp4\",\"mp4v\",\"mpg4\"]},\"video/mp4v-es\":{source:\"iana\"},\"video/mpeg\":{source:\"iana\",compressible:!1,extensions:[\"mpeg\",\"mpg\",\"mpe\",\"m1v\",\"m2v\"]},\"video/mpeg4-generic\":{source:\"iana\"},\"video/mpv\":{source:\"iana\"},\"video/nv\":{source:\"iana\"},\"video/ogg\":{source:\"iana\",compressible:!1,extensions:[\"ogv\"]},\"video/parityfec\":{source:\"iana\"},\"video/pointer\":{source:\"iana\"},\"video/quicktime\":{source:\"iana\",compressible:!1,extensions:[\"qt\",\"mov\"]},\"video/raptorfec\":{source:\"iana\"},\"video/raw\":{source:\"iana\"},\"video/rtp-enc-aescm128\":{source:\"iana\"},\"video/rtploopback\":{source:\"iana\"},\"video/rtx\":{source:\"iana\"},\"video/smpte291\":{source:\"iana\"},\"video/smpte292m\":{source:\"iana\"},\"video/ulpfec\":{source:\"iana\"},\"video/vc1\":{source:\"iana\"},\"video/vc2\":{source:\"iana\"},\"video/vnd.cctv\":{source:\"iana\"},\"video/vnd.dece.hd\":{source:\"iana\",extensions:[\"uvh\",\"uvvh\"]},\"video/vnd.dece.mobile\":{source:\"iana\",extensions:[\"uvm\",\"uvvm\"]},\"video/vnd.dece.mp4\":{source:\"iana\"},\"video/vnd.dece.pd\":{source:\"iana\",extensions:[\"uvp\",\"uvvp\"]},\"video/vnd.dece.sd\":{source:\"iana\",extensions:[\"uvs\",\"uvvs\"]},\"video/vnd.dece.video\":{source:\"iana\",extensions:[\"uvv\",\"uvvv\"]},\"video/vnd.directv.mpeg\":{source:\"iana\"},\"video/vnd.directv.mpeg-tts\":{source:\"iana\"},\"video/vnd.dlna.mpeg-tts\":{source:\"iana\"},\"video/vnd.dvb.file\":{source:\"iana\",extensions:[\"dvb\"]},\"video/vnd.fvt\":{source:\"iana\",extensions:[\"fvt\"]},\"video/vnd.hns.video\":{source:\"iana\"},\"video/vnd.iptvforum.1dparityfec-1010\":{source:\"iana\"},\"video/vnd.iptvforum.1dparityfec-2005\":{source:\"iana\"},\"video/vnd.iptvforum.2dparityfec-1010\":{source:\"iana\"},\"video/vnd.iptvforum.2dparityfec-2005\":{source:\"iana\"},\"video/vnd.iptvforum.ttsavc\":{source:\"iana\"},\"video/vnd.iptvforum.ttsmpeg2\":{source:\"iana\"},\"video/vnd.motorola.video\":{source:\"iana\"},\"video/vnd.motorola.videop\":{source:\"iana\"},\"video/vnd.mpegurl\":{source:\"iana\",extensions:[\"mxu\",\"m4u\"]},\"video/vnd.ms-playready.media.pyv\":{source:\"iana\",extensions:[\"pyv\"]},\"video/vnd.nokia.interleaved-multimedia\":{source:\"iana\"},\"video/vnd.nokia.mp4vr\":{source:\"iana\"},\"video/vnd.nokia.videovoip\":{source:\"iana\"},\"video/vnd.objectvideo\":{source:\"iana\"},\"video/vnd.radgamettools.bink\":{source:\"iana\"},\"video/vnd.radgamettools.smacker\":{source:\"iana\"},\"video/vnd.sealed.mpeg1\":{source:\"iana\"},\"video/vnd.sealed.mpeg4\":{source:\"iana\"},\"video/vnd.sealed.swf\":{source:\"iana\"},\"video/vnd.sealedmedia.softseal.mov\":{source:\"iana\"},\"video/vnd.uvvu.mp4\":{source:\"iana\",extensions:[\"uvu\",\"uvvu\"]},\"video/vnd.vivo\":{source:\"iana\",extensions:[\"viv\"]},\"video/vp8\":{source:\"iana\"},\"video/webm\":{source:\"apache\",compressible:!1,extensions:[\"webm\"]},\"video/x-f4v\":{source:\"apache\",extensions:[\"f4v\"]},\"video/x-fli\":{source:\"apache\",extensions:[\"fli\"]},\"video/x-flv\":{source:\"apache\",compressible:!1,extensions:[\"flv\"]},\"video/x-m4v\":{source:\"apache\",extensions:[\"m4v\"]},\"video/x-matroska\":{source:\"apache\",compressible:!1,extensions:[\"mkv\",\"mk3d\",\"mks\"]},\"video/x-mng\":{source:\"apache\",extensions:[\"mng\"]},\"video/x-ms-asf\":{source:\"apache\",extensions:[\"asf\",\"asx\"]},\"video/x-ms-vob\":{source:\"apache\",extensions:[\"vob\"]},\"video/x-ms-wm\":{source:\"apache\",extensions:[\"wm\"]},\"video/x-ms-wmv\":{source:\"apache\",compressible:!1,extensions:[\"wmv\"]},\"video/x-ms-wmx\":{source:\"apache\",extensions:[\"wmx\"]},\"video/x-ms-wvx\":{source:\"apache\",extensions:[\"wvx\"]},\"video/x-msvideo\":{source:\"apache\",extensions:[\"avi\"]},\"video/x-sgi-movie\":{source:\"apache\",extensions:[\"movie\"]},\"video/x-smv\":{source:\"apache\",extensions:[\"smv\"]},\"x-conference/x-cooltalk\":{source:\"apache\",extensions:[\"ice\"]},\"x-shader/x-fragment\":{compressible:!0},\"x-shader/x-vertex\":{compressible:!0}}},function(e,t,a){e.exports=u,u.SSL=p;var r=a(4),i=a(20).Agent,o=a(35),n=a(72),s=a(29).Agent;function c(e,t){return\"string\"==typeof e?e+\":\"+t:e.host+\":\"+e.port+\":\"+(e.localAddress?e.localAddress+\":\":\":\")}function u(e){var t=this;t.options=e||{},t.requests={},t.sockets={},t.freeSockets={},t.maxSockets=t.options.maxSockets||i.defaultMaxSockets,t.minSockets=t.options.minSockets||u.defaultMinSockets,t.on(\"free\",function(e,a,r){var i=c(a,r);if(t.requests[i]&&t.requests[i].length)t.requests[i].shift().onSocket(e);else if(t.sockets[i].length<t.minSockets){t.freeSockets[i]||(t.freeSockets[i]=[]),t.freeSockets[i].push(e);var o=function(){e.destroy()};e._onIdleError=o,e.on(\"error\",o)}else e.destroy()})}function p(e){u.call(this,e)}r.inherits(u,i),u.defaultMinSockets=5,u.prototype.createConnection=o.createConnection,u.prototype.addRequestNoreuse=i.prototype.addRequest,u.prototype.addRequest=function(e,t,a){var r=c(t,a);if(\"string\"!=typeof t){var i=t;a=i.port,t=i.host}if(this.freeSockets[r]&&this.freeSockets[r].length>0&&!e.useChunkedEncodingByDefault){var o=this.freeSockets[r].pop();o.removeListener(\"error\",o._onIdleError),delete o._onIdleError,e._reusedSocket=!0,e.onSocket(o)}else this.addRequestNoreuse(e,t,a)},u.prototype.removeSocket=function(e,t,a,r){var i;this.sockets[t]?-1!==(i=this.sockets[t].indexOf(e))&&this.sockets[t].splice(i,1):this.sockets[t]&&0===this.sockets[t].length&&(delete this.sockets[t],delete this.requests[t]);this.freeSockets[t]&&(-1!==(i=this.freeSockets[t].indexOf(e))&&(this.freeSockets[t].splice(i,1),0===this.freeSockets[t].length&&delete this.freeSockets[t]));this.requests[t]&&this.requests[t].length&&this.createSocket(t,a,r).emit(\"free\")},r.inherits(p,u),p.prototype.createConnection=function(e,t,a){a=\"object\"==typeof e?e:\"object\"==typeof t?t:\"object\"==typeof a?a:{};\"number\"==typeof e&&(a.port=e);\"string\"==typeof t&&(a.host=t);return n.connect(a)},p.prototype.addRequestNoreuse=s.prototype.addRequest},function(e,t,a){var r=a(73),i=a(4),o=a(71),n=a(20),s=a(29),c=a(13).parse,u=a(74),p=a(70),l=a(169),m=a(173);function h(e){if(!(this instanceof h))return new h;for(var t in this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],r.call(this),e=e||{})this[t]=e[t]}e.exports=h,i.inherits(h,r),h.LINE_BREAK=\"\\r\\n\",h.DEFAULT_CONTENT_TYPE=\"application/octet-stream\",h.prototype.append=function(e,t,a){\"string\"==typeof(a=a||{})&&(a={filename:a});var o=r.prototype.append.bind(this);if(\"number\"==typeof t&&(t=\"\"+t),i.isArray(t))this._error(new Error(\"Arrays are not supported.\"));else{var n=this._multiPartHeader(e,t,a),s=this._multiPartFooter();o(n),o(t),o(s),this._trackLength(n,t,a)}},h.prototype._trackLength=function(e,t,a){var r=0;null!=a.knownLength?r+=+a.knownLength:Buffer.isBuffer(t)?r=t.length:\"string\"==typeof t&&(r=Buffer.byteLength(t)),this._valueLength+=r,this._overheadLength+=Buffer.byteLength(e)+h.LINE_BREAK.length,t&&(t.path||t.readable&&t.hasOwnProperty(\"httpVersion\"))&&(a.knownLength||this._valuesToMeasure.push(t))},h.prototype._lengthRetriever=function(e,t){e.hasOwnProperty(\"fd\")?null!=e.end&&e.end!=1/0&&null!=e.start?t(null,e.end+1-(e.start?e.start:0)):u.stat(e.path,function(a,r){var i;a?t(a):(i=r.size-(e.start?e.start:0),t(null,i))}):e.hasOwnProperty(\"httpVersion\")?t(null,+e.headers[\"content-length\"]):e.hasOwnProperty(\"httpModule\")?(e.on(\"response\",function(a){e.pause(),t(null,+a.headers[\"content-length\"])}),e.resume()):t(\"Unknown stream\")},h.prototype._multiPartHeader=function(e,t,a){if(\"string\"==typeof a.header)return a.header;var r,i=this._getContentDisposition(t,a),o=this._getContentType(t,a),n=\"\",s={\"Content-Disposition\":[\"form-data\",'name=\"'+e+'\"'].concat(i||[]),\"Content-Type\":[].concat(o||[])};for(var c in\"object\"==typeof a.header&&m(s,a.header),s)s.hasOwnProperty(c)&&null!=(r=s[c])&&(Array.isArray(r)||(r=[r]),r.length&&(n+=c+\": \"+r.join(\"; \")+h.LINE_BREAK));return\"--\"+this.getBoundary()+h.LINE_BREAK+n+h.LINE_BREAK},h.prototype._getContentDisposition=function(e,t){var a,r;return\"string\"==typeof t.filepath?a=o.normalize(t.filepath).replace(/\\\\/g,\"/\"):t.filename||e.name||e.path?a=o.basename(t.filename||e.name||e.path):e.readable&&e.hasOwnProperty(\"httpVersion\")&&(a=o.basename(e.client._httpMessage.path)),a&&(r='filename=\"'+a+'\"'),r},h.prototype._getContentType=function(e,t){var a=t.contentType;return!a&&e.name&&(a=p.lookup(e.name)),!a&&e.path&&(a=p.lookup(e.path)),!a&&e.readable&&e.hasOwnProperty(\"httpVersion\")&&(a=e.headers[\"content-type\"]),a||!t.filepath&&!t.filename||(a=p.lookup(t.filepath||t.filename)),a||\"object\"!=typeof e||(a=h.DEFAULT_CONTENT_TYPE),a},h.prototype._multiPartFooter=function(){return function(e){var t=h.LINE_BREAK;0===this._streams.length&&(t+=this._lastBoundary()),e(t)}.bind(this)},h.prototype._lastBoundary=function(){return\"--\"+this.getBoundary()+\"--\"+h.LINE_BREAK},h.prototype.getHeaders=function(e){var t,a={\"content-type\":\"multipart/form-data; boundary=\"+this.getBoundary()};for(t in e)e.hasOwnProperty(t)&&(a[t.toLowerCase()]=e[t]);return a},h.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary},h.prototype._generateBoundary=function(){for(var e=\"--------------------------\",t=0;t<24;t++)e+=Math.floor(10*Math.random()).toString(16);this._boundary=e},h.prototype.getLengthSync=function(){var e=this._overheadLength+this._valueLength;return this._streams.length&&(e+=this._lastBoundary().length),this.hasKnownLength()||this._error(new Error(\"Cannot calculate proper length in synchronous way.\")),e},h.prototype.hasKnownLength=function(){var e=!0;return this._valuesToMeasure.length&&(e=!1),e},h.prototype.getLength=function(e){var t=this._overheadLength+this._valueLength;this._streams.length&&(t+=this._lastBoundary().length),this._valuesToMeasure.length?l.parallel(this._valuesToMeasure,this._lengthRetriever,function(a,r){a?e(a):(r.forEach(function(e){t+=e}),e(null,t))}):process.nextTick(e.bind(this,null,t))},h.prototype.submit=function(e,t){var a,r,i={method:\"post\"};return\"string\"==typeof e?(e=c(e),r=m({port:e.port,path:e.pathname,host:e.hostname,protocol:e.protocol},i)):(r=m(e,i)).port||(r.port=\"https:\"==r.protocol?443:80),r.headers=this.getHeaders(e.headers),a=\"https:\"==r.protocol?s.request(r):n.request(r),this.getLength(function(e,r){e?this._error(e):(a.setHeader(\"Content-Length\",r),this.pipe(a),t&&(a.on(\"error\",t),a.on(\"response\",t.bind(this,null))))}.bind(this)),a},h.prototype._error=function(e){this.error||(this.error=e,this.pause(),this.emit(\"error\",e))},h.prototype.toString=function(){return\"[object FormData]\"}},function(e,t,a){var r=a(17).Stream,i=a(4);function o(){this.source=null,this.dataSize=0,this.maxDataSize=1048576,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}e.exports=o,i.inherits(o,r),o.create=function(e,t){var a=new this;for(var r in t=t||{})a[r]=t[r];a.source=e;var i=e.emit;return e.emit=function(){return a._handleEmit(arguments),i.apply(e,arguments)},e.on(\"error\",function(){}),a.pauseStream&&e.pause(),a},Object.defineProperty(o.prototype,\"readable\",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}}),o.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)},o.prototype.resume=function(){this._released||this.release(),this.source.resume()},o.prototype.pause=function(){this.source.pause()},o.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(e){this.emit.apply(this,e)}.bind(this)),this._bufferedEvents=[]},o.prototype.pipe=function(){var e=r.prototype.pipe.apply(this,arguments);return this.resume(),e},o.prototype._handleEmit=function(e){this._released?this.emit.apply(this,e):(\"data\"===e[0]&&(this.dataSize+=e[1].length,this._checkIfMaxDataSizeExceeded()),this._bufferedEvents.push(e))},o.prototype._checkIfMaxDataSizeExceeded=function(){if(!(this._maxDataSizeExceeded||this.dataSize<=this.maxDataSize)){this._maxDataSizeExceeded=!0;var e=\"DelayedStream#maxDataSize of \"+this.maxDataSize+\" bytes exceeded.\";this.emit(\"error\",new Error(e))}}},function(e,t){e.exports=function(e){var t=\"function\"==typeof setImmediate?setImmediate:\"object\"==typeof process&&\"function\"==typeof process.nextTick?process.nextTick:null;t?t(e):setTimeout(e,0)}},function(e,t,a){e.exports={parallel:a(170),serial:a(172),serialOrdered:a(80)}},function(e,t,a){var r=a(75),i=a(78),o=a(79);e.exports=function(e,t,a){var n=i(e);for(;n.index<(n.keyedList||e).length;)r(e,t,n,function(e,t){e?a(e,t):0!==Object.keys(n.jobs).length||a(null,n.results)}),n.index++;return o.bind(n,a)}},function(e,t){e.exports=function(e){var t=\"function\"==typeof setImmediate?setImmediate:\"object\"==typeof process&&\"function\"==typeof process.nextTick?process.nextTick:null;t?t(e):setTimeout(e,0)}},function(e,t,a){var r=a(80);e.exports=function(e,t,a){return r(e,t,null,a)}},function(e,t){e.exports=function(e,t){return Object.keys(t).forEach(function(a){e[a]=e[a]||t[a]}),e}},function(e,t){e.exports=i,i.strict=o,i.loose=n;var a=Object.prototype.toString,r={\"[object Int8Array]\":!0,\"[object Int16Array]\":!0,\"[object Int32Array]\":!0,\"[object Uint8Array]\":!0,\"[object Uint8ClampedArray]\":!0,\"[object Uint16Array]\":!0,\"[object Uint32Array]\":!0,\"[object Float32Array]\":!0,\"[object Float64Array]\":!0};function i(e){return o(e)||n(e)}function o(e){return e instanceof Int8Array||e instanceof Int16Array||e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Uint16Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array}function n(e){return r[a.call(e)]}},function(e,t,a){\"use strict\";function r(e){return e.replace(/^\\.*/,\".\").toLowerCase()}function i(e){var t=(e=e.trim().toLowerCase()).split(\":\",2);return{hostname:r(t[0]),port:t[1],hasPort:e.indexOf(\":\")>-1}}e.exports=function(e){var t=process.env.NO_PROXY||process.env.no_proxy||\"\";return\"*\"===t?null:\"\"!==t&&function(e,t){var a=e.port||(\"https:\"===e.protocol?\"443\":\"80\"),o=r(e.hostname);return t.split(\",\").map(i).some(function(e){var t=o.indexOf(e.hostname),r=t>-1&&t===o.length-e.hostname.length;return e.hasPort?a===e.port&&r:r})}(e,t)?null:\"http:\"===e.protocol?process.env.HTTP_PROXY||process.env.http_proxy||null:\"https:\"===e.protocol&&(process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy)||null}},function(e,t,a){\"use strict\";var r=a(82),i=a(37);function o(e){this.request=e,this.lib=null,this.useQuerystring=null,this.parseOptions=null,this.stringifyOptions=null}o.prototype.init=function(e){this.lib||(this.useQuerystring=e.useQuerystring,this.lib=this.useQuerystring?i:r,this.parseOptions=e.qsParseOptions||{},this.stringifyOptions=e.qsStringifyOptions||{})},o.prototype.stringify=function(e){return this.useQuerystring?this.rfc3986(this.lib.stringify(e,this.stringifyOptions.sep||null,this.stringifyOptions.eq||null,this.stringifyOptions)):this.lib.stringify(e,this.stringifyOptions)},o.prototype.parse=function(e){return this.useQuerystring?this.lib.parse(e,this.parseOptions.sep||null,this.parseOptions.eq||null,this.parseOptions):this.lib.parse(e,this.parseOptions)},o.prototype.rfc3986=function(e){return e.replace(/[!'()*]/g,function(e){return\"%\"+e.charCodeAt(0).toString(16).toUpperCase()})},o.prototype.unescape=i.unescape,t.Querystring=o},function(e,t,a){\"use strict\";var r=a(83),i=a(84),o={brackets:function(e){return e+\"[]\"},indices:function(e,t){return e+\"[\"+t+\"]\"},repeat:function(e){return e}},n=Date.prototype.toISOString,s={delimiter:\"&\",encode:!0,encoder:r.encode,encodeValuesOnly:!1,serializeDate:function(e){return n.call(e)},skipNulls:!1,strictNullHandling:!1},c=function e(t,a,i,o,n,c,u,p,l,m,h,d){var f=t;if(\"function\"==typeof u)f=u(a,f);else if(f instanceof Date)f=m(f);else if(null===f){if(o)return c&&!d?c(a,s.encoder):a;f=\"\"}if(\"string\"==typeof f||\"number\"==typeof f||\"boolean\"==typeof f||r.isBuffer(f))return c?[h(d?a:c(a,s.encoder))+\"=\"+h(c(f,s.encoder))]:[h(a)+\"=\"+h(String(f))];var g,v=[];if(void 0===f)return v;if(Array.isArray(u))g=u;else{var y=Object.keys(f);g=p?y.sort(p):y}for(var b=0;b<g.length;++b){var k=g[b];n&&null===f[k]||(v=Array.isArray(f)?v.concat(e(f[k],i(a,k),i,o,n,c,u,p,l,m,h,d)):v.concat(e(f[k],a+(l?\".\"+k:\"[\"+k+\"]\"),i,o,n,c,u,p,l,m,h,d)))}return v};e.exports=function(e,t){var a=e,n=t?r.assign({},t):{};if(null!==n.encoder&&void 0!==n.encoder&&\"function\"!=typeof n.encoder)throw new TypeError(\"Encoder has to be a function.\");var u=void 0===n.delimiter?s.delimiter:n.delimiter,p=\"boolean\"==typeof n.strictNullHandling?n.strictNullHandling:s.strictNullHandling,l=\"boolean\"==typeof n.skipNulls?n.skipNulls:s.skipNulls,m=\"boolean\"==typeof n.encode?n.encode:s.encode,h=\"function\"==typeof n.encoder?n.encoder:s.encoder,d=\"function\"==typeof n.sort?n.sort:null,f=void 0!==n.allowDots&&n.allowDots,g=\"function\"==typeof n.serializeDate?n.serializeDate:s.serializeDate,v=\"boolean\"==typeof n.encodeValuesOnly?n.encodeValuesOnly:s.encodeValuesOnly;if(void 0===n.format)n.format=i.default;else if(!Object.prototype.hasOwnProperty.call(i.formatters,n.format))throw new TypeError(\"Unknown format option provided.\");var y,b,k=i.formatters[n.format];\"function\"==typeof n.filter?a=(b=n.filter)(\"\",a):Array.isArray(n.filter)&&(y=b=n.filter);var x,w=[];if(\"object\"!=typeof a||null===a)return\"\";x=n.arrayFormat in o?n.arrayFormat:\"indices\"in n?n.indices?\"indices\":\"repeat\":\"indices\";var j=o[x];y||(y=Object.keys(a)),d&&y.sort(d);for(var _=0;_<y.length;++_){var S=y[_];l&&null===a[S]||(w=w.concat(c(a[S],S,j,p,l,m?h:null,b,d,f,g,k,v)))}var E=w.join(u),F=!0===n.addQueryPrefix?\"?\":\"\";return E.length>0?F+E:\"\"}},function(e,t,a){\"use strict\";var r=a(83),i=Object.prototype.hasOwnProperty,o={allowDots:!1,allowPrototypes:!1,arrayLimit:20,decoder:r.decode,delimiter:\"&\",depth:5,parameterLimit:1e3,plainObjects:!1,strictNullHandling:!1},n=function(e,t,a){if(e){var r=a.allowDots?e.replace(/\\.([^.[]+)/g,\"[$1]\"):e,o=/(\\[[^[\\]]*])/g,n=/(\\[[^[\\]]*])/.exec(r),s=n?r.slice(0,n.index):r,c=[];if(s){if(!a.plainObjects&&i.call(Object.prototype,s)&&!a.allowPrototypes)return;c.push(s)}for(var u=0;null!==(n=o.exec(r))&&u<a.depth;){if(u+=1,!a.plainObjects&&i.call(Object.prototype,n[1].slice(1,-1))&&!a.allowPrototypes)return;c.push(n[1])}return n&&c.push(\"[\"+r.slice(n.index)+\"]\"),function(e,t,a){for(var r=t,i=e.length-1;i>=0;--i){var o,n=e[i];if(\"[]\"===n)o=(o=[]).concat(r);else{o=a.plainObjects?Object.create(null):{};var s=\"[\"===n.charAt(0)&&\"]\"===n.charAt(n.length-1)?n.slice(1,-1):n,c=parseInt(s,10);!isNaN(c)&&n!==s&&String(c)===s&&c>=0&&a.parseArrays&&c<=a.arrayLimit?(o=[])[c]=r:o[s]=r}r=o}return r}(c,t,a)}};e.exports=function(e,t){var a=t?r.assign({},t):{};if(null!==a.decoder&&void 0!==a.decoder&&\"function\"!=typeof a.decoder)throw new TypeError(\"Decoder has to be a function.\");if(a.ignoreQueryPrefix=!0===a.ignoreQueryPrefix,a.delimiter=\"string\"==typeof a.delimiter||r.isRegExp(a.delimiter)?a.delimiter:o.delimiter,a.depth=\"number\"==typeof a.depth?a.depth:o.depth,a.arrayLimit=\"number\"==typeof a.arrayLimit?a.arrayLimit:o.arrayLimit,a.parseArrays=!1!==a.parseArrays,a.decoder=\"function\"==typeof a.decoder?a.decoder:o.decoder,a.allowDots=\"boolean\"==typeof a.allowDots?a.allowDots:o.allowDots,a.plainObjects=\"boolean\"==typeof a.plainObjects?a.plainObjects:o.plainObjects,a.allowPrototypes=\"boolean\"==typeof a.allowPrototypes?a.allowPrototypes:o.allowPrototypes,a.parameterLimit=\"number\"==typeof a.parameterLimit?a.parameterLimit:o.parameterLimit,a.strictNullHandling=\"boolean\"==typeof a.strictNullHandling?a.strictNullHandling:o.strictNullHandling,\"\"===e||null==e)return a.plainObjects?Object.create(null):{};for(var s=\"string\"==typeof e?function(e,t){for(var a={},r=t.ignoreQueryPrefix?e.replace(/^\\?/,\"\"):e,n=t.parameterLimit===1/0?void 0:t.parameterLimit,s=r.split(t.delimiter,n),c=0;c<s.length;++c){var u,p,l=s[c],m=l.indexOf(\"]=\"),h=-1===m?l.indexOf(\"=\"):m+1;-1===h?(u=t.decoder(l,o.decoder),p=t.strictNullHandling?null:\"\"):(u=t.decoder(l.slice(0,h),o.decoder),p=t.decoder(l.slice(h+1),o.decoder)),i.call(a,u)?a[u]=[].concat(a[u]).concat(p):a[u]=p}return a}(e,a):e,c=a.plainObjects?Object.create(null):{},u=Object.keys(s),p=0;p<u.length;++p){var l=u[p],m=n(l,s[l],a);c=r.merge(c,m,a)}return r.compact(c)}},function(e,t,a){\"use strict\";var r=a(74),i=a(37),o=a(180),n=a(34);function s(e){this.request=e}s.prototype.reducer=function(e,t){if(void 0===e[t.name])return e[t.name]=t.value,e;var a=[e[t.name],t.value];return e[t.name]=a,e},s.prototype.prep=function(e){if(e.queryObj={},e.headersObj={},e.postData.jsonObj=!1,e.postData.paramsObj=!1,e.queryString&&e.queryString.length&&(e.queryObj=e.queryString.reduce(this.reducer,{})),e.headers&&e.headers.length&&(e.headersObj=e.headers.reduceRight(function(e,t){return e[t.name]=t.value,e},{})),e.cookies&&e.cookies.length){var t=e.cookies.map(function(e){return e.name+\"=\"+e.value});t.length&&(e.headersObj.cookie=t.join(\"; \"))}function a(t){return t.some(function(t){return 0===e.postData.mimeType.indexOf(t)})}if(a([\"multipart/mixed\",\"multipart/related\",\"multipart/form-data\",\"multipart/alternative\"]))e.postData.mimeType=\"multipart/form-data\";else if(a([\"application/x-www-form-urlencoded\"]))e.postData.params?(e.postData.paramsObj=e.postData.params.reduce(this.reducer,{}),e.postData.text=i.stringify(e.postData.paramsObj)):e.postData.text=\"\";else if(a([\"text/json\",\"text/x-json\",\"application/json\",\"application/x-json\"])&&(e.postData.mimeType=\"application/json\",e.postData.text))try{e.postData.jsonObj=JSON.parse(e.postData.text)}catch(t){this.request.debug(t),e.postData.mimeType=\"text/plain\"}return e},s.prototype.options=function(e){if(!e.har)return e;var t={};if(n(t,e.har),t.log&&t.log.entries&&(t=t.log.entries[0]),t.url=t.url||e.url||e.uri||e.baseUrl||\"/\",t.httpVersion=t.httpVersion||\"HTTP/1.1\",t.queryString=t.queryString||[],t.headers=t.headers||[],t.cookies=t.cookies||[],t.postData=t.postData||{},t.postData.mimeType=t.postData.mimeType||\"application/octet-stream\",t.bodySize=0,t.headersSize=0,t.postData.size=0,!o.request(t))return e;var a=this.prep(t);function i(e){return 0===a.postData.mimeType.indexOf(e)}return a.url&&(e.url=a.url),a.method&&(e.method=a.method),Object.keys(a.queryObj).length&&(e.qs=a.queryObj),Object.keys(a.headersObj).length&&(e.headers=a.headersObj),i(\"application/x-www-form-urlencoded\")?e.form=a.postData.paramsObj:i(\"application/json\")?a.postData.jsonObj&&(e.body=a.postData.jsonObj,e.json=!0):i(\"multipart/form-data\")?(e.formData={},a.postData.params.forEach(function(t){var a={};t.fileName||t.fileName||t.contentType?(t.fileName&&!t.value?a.value=r.createReadStream(t.fileName):t.value&&(a.value=t.value),t.fileName&&(a.options={filename:t.fileName,contentType:t.contentType?t.contentType:null}),e.formData[t.name]=a):e.formData[t.name]=t.value})):a.postData.text&&(e.body=a.postData.text),e},t.Har=s},function(e,t,a){var r,i=a(181),o=a(215),n=a(216);function s(e,t){t=t||{};var s=(r=r||function(){var e=new i({allErrors:!0});return e.addMetaSchema(a(235)),e.addSchema(n),e}()).getSchema(e+\".json\");return new Promise(function(e,a){s(t)?e(t):a(new o(s.errors))})}t.afterRequest=function(e){return s(\"afterRequest\",e)},t.beforeRequest=function(e){return s(\"beforeRequest\",e)},t.browser=function(e){return s(\"browser\",e)},t.cache=function(e){return s(\"cache\",e)},t.content=function(e){return s(\"content\",e)},t.cookie=function(e){return s(\"cookie\",e)},t.creator=function(e){return s(\"creator\",e)},t.entry=function(e){return s(\"entry\",e)},t.har=function(e){return s(\"har\",e)},t.header=function(e){return s(\"header\",e)},t.log=function(e){return s(\"log\",e)},t.page=function(e){return s(\"page\",e)},t.pageTimings=function(e){return s(\"pageTimings\",e)},t.postData=function(e){return s(\"postData\",e)},t.query=function(e){return s(\"query\",e)},t.request=function(e){return s(\"request\",e)},t.response=function(e){return s(\"response\",e)},t.timings=function(e){return s(\"timings\",e)}},function(e,t,a){\"use strict\";var r=a(182),i=a(45),o=a(186),n=a(85),s=a(86),c=a(187),u=a(188),p=a(209),l=a(18);e.exports=v,v.prototype.validate=function(e,t){var a;if(\"string\"==typeof e){if(!(a=this.getSchema(e)))throw new Error('no schema with key or ref \"'+e+'\"')}else{var r=this._addSchema(e);a=r.validate||this._compile(r)}var i=a(t);!0!==a.$async&&(this.errors=a.errors);return i},v.prototype.compile=function(e,t){var a=this._addSchema(e,void 0,t);return a.validate||this._compile(a)},v.prototype.addSchema=function(e,t,a,r){if(Array.isArray(e)){for(var o=0;o<e.length;o++)this.addSchema(e[o],void 0,a,r);return this}var n=this._getId(e);if(void 0!==n&&\"string\"!=typeof n)throw new Error(\"schema id must be string\");return j(this,t=i.normalizeId(t||n)),this._schemas[t]=this._addSchema(e,a,r,!0),this},v.prototype.addMetaSchema=function(e,t,a){return this.addSchema(e,t,a,!0),this},v.prototype.validateSchema=function(e,t){var a=e.$schema;if(void 0!==a&&\"string\"!=typeof a)throw new Error(\"$schema must be a string\");if(!(a=a||this._opts.defaultMeta||(r=this,i=r._opts.meta,r._opts.defaultMeta=\"object\"==typeof i?r._getId(i)||i:r.getSchema(d)?d:void 0,r._opts.defaultMeta)))return this.logger.warn(\"meta-schema not available\"),this.errors=null,!0;var r,i;var o=this.validate(a,e);if(!o&&t){var n=\"schema is invalid: \"+this.errorsText();if(\"log\"!=this._opts.validateSchema)throw new Error(n);this.logger.error(n)}return o},v.prototype.getSchema=function(e){var t=y(this,e);switch(typeof t){case\"object\":return t.validate||this._compile(t);case\"string\":return this.getSchema(t);case\"undefined\":return function(e,t){var a=i.schema.call(e,{schema:{}},t);if(a){var o=a.schema,s=a.root,c=a.baseId,u=r.call(e,o,s,void 0,c);return e._fragments[t]=new n({ref:t,fragment:!0,schema:o,root:s,baseId:c,validate:u}),u}}(this,e)}},v.prototype.removeSchema=function(e){if(e instanceof RegExp)return b(this,this._schemas,e),b(this,this._refs,e),this;switch(typeof e){case\"undefined\":return b(this,this._schemas),b(this,this._refs),this._cache.clear(),this;case\"string\":var t=y(this,e);return t&&this._cache.del(t.cacheKey),delete this._schemas[e],delete this._refs[e],this;case\"object\":var a=this._opts.serialize,r=a?a(e):e;this._cache.del(r);var o=this._getId(e);o&&(o=i.normalizeId(o),delete this._schemas[o],delete this._refs[o])}return this},v.prototype.addFormat=function(e,t){\"string\"==typeof t&&(t=new RegExp(t));return this._formats[e]=t,this},v.prototype.errorsText=function(e,t){if(!(e=e||this.errors))return\"No errors\";for(var a=void 0===(t=t||{}).separator?\", \":t.separator,r=void 0===t.dataVar?\"data\":t.dataVar,i=\"\",o=0;o<e.length;o++){var n=e[o];n&&(i+=r+n.dataPath+\" \"+n.message+a)}return i.slice(0,-a.length)},v.prototype._addSchema=function(e,t,a,r){if(\"object\"!=typeof e&&\"boolean\"!=typeof e)throw new Error(\"schema should be object or boolean\");var o=this._opts.serialize,s=o?o(e):e,c=this._cache.get(s);if(c)return c;r=r||!1!==this._opts.addUsedSchema;var u=i.normalizeId(this._getId(e));u&&r&&j(this,u);var p,l=!1!==this._opts.validateSchema&&!t;l&&!(p=u&&u==i.normalizeId(e.$schema))&&this.validateSchema(e,!0);var m=i.ids.call(this,e),h=new n({id:u,schema:e,localRefs:m,cacheKey:s,meta:a});\"#\"!=u[0]&&r&&(this._refs[u]=h);this._cache.put(s,h),l&&p&&this.validateSchema(e,!0);return h},v.prototype._compile=function(e,t){if(e.compiling)return e.validate=o,o.schema=e.schema,o.errors=null,o.root=t||o,!0===e.schema.$async&&(o.$async=!0),o;var a,i;e.compiling=!0,e.meta&&(a=this._opts,this._opts=this._metaOpts);try{i=r.call(this,e.schema,t,e.localRefs)}catch(t){throw delete e.validate,t}finally{e.compiling=!1,e.meta&&(this._opts=a)}return e.validate=i,e.refs=i.refs,e.refVal=i.refVal,e.root=i.root,i;function o(){var t=e.validate,a=t.apply(this,arguments);return o.errors=t.errors,a}},v.prototype.compileAsync=a(210);var m=a(211);v.prototype.addKeyword=m.add,v.prototype.getKeyword=m.get,v.prototype.removeKeyword=m.remove;var h=a(47);v.ValidationError=h.Validation,v.MissingRefError=h.MissingRef,v.$dataMetaSchema=p;var d=\"http://json-schema.org/draft-07/schema\",f=[\"removeAdditional\",\"useDefaults\",\"coerceTypes\"],g=[\"/properties\"];function v(e){if(!(this instanceof v))return new v(e);e=this._opts=l.copy(e)||{},function(e){var t=e._opts.logger;if(!1===t)e.logger={log:_,warn:_,error:_};else{if(void 0===t&&(t=console),!(\"object\"==typeof t&&t.log&&t.warn&&t.error))throw new Error(\"logger must implement log, warn and error methods\");e.logger=t}}(this),this._schemas={},this._refs={},this._fragments={},this._formats=c(e.format),this._cache=e.cache||new o,this._loadingSchemas={},this._compilations=[],this.RULES=u(),this._getId=function(e){switch(e.schemaId){case\"auto\":return w;case\"id\":return k;default:return x}}(e),e.loopRequired=e.loopRequired||1/0,\"property\"==e.errorDataPath&&(e._errorDataPathProperty=!0),void 0===e.serialize&&(e.serialize=s),this._metaOpts=function(e){for(var t=l.copy(e._opts),a=0;a<f.length;a++)delete t[f[a]];return t}(this),e.formats&&function(e){for(var t in e._opts.formats){var a=e._opts.formats[t];e.addFormat(t,a)}}(this),function(e){var t;e._opts.$data&&(t=a(213),e.addMetaSchema(t,t.$id,!0));if(!1===e._opts.meta)return;var r=a(214);e._opts.$data&&(r=p(r,g));e.addMetaSchema(r,d,!0),e._refs[\"http://json-schema.org/schema\"]=d}(this),\"object\"==typeof e.meta&&this.addMetaSchema(e.meta),e.nullable&&this.addKeyword(\"nullable\",{metaSchema:{const:!0}}),function(e){var t=e._opts.schemas;if(!t)return;if(Array.isArray(t))e.addSchema(t);else for(var a in t)e.addSchema(t[a],a)}(this)}function y(e,t){return t=i.normalizeId(t),e._schemas[t]||e._refs[t]||e._fragments[t]}function b(e,t,a){for(var r in t){var i=t[r];i.meta||a&&!a.test(r)||(e._cache.del(i.cacheKey),delete t[r])}}function k(e){return e.$id&&this.logger.warn(\"schema $id ignored\",e.$id),e.id}function x(e){return e.id&&this.logger.warn(\"schema id ignored\",e.id),e.$id}function w(e){if(e.$id&&e.id&&e.$id!=e.id)throw new Error(\"schema $id is different from id\");return e.$id||e.id}function j(e,t){if(e._schemas[t]||e._refs[t])throw new Error('schema with key or id \"'+t+'\" already exists')}function _(){}},function(e,t,a){\"use strict\";var r=a(45),i=a(18),o=a(47),n=a(86),s=a(87),c=i.ucs2length,u=a(46),p=o.Validation;function l(e,t,a){for(var r=0;r<this._compilations.length;r++){var i=this._compilations[r];if(i.schema==e&&i.root==t&&i.baseId==a)return r}return-1}function m(e,t){return\"var pattern\"+e+\" = new RegExp(\"+i.toQuotedString(t[e])+\");\"}function h(e){return\"var default\"+e+\" = defaults[\"+e+\"];\"}function d(e,t){return void 0===t[e]?\"\":\"var refVal\"+e+\" = refVal[\"+e+\"];\"}function f(e){return\"var customRule\"+e+\" = customRules[\"+e+\"];\"}function g(e,t){if(!e.length)return\"\";for(var a=\"\",r=0;r<e.length;r++)a+=t(r,e);return a}e.exports=function e(t,a,v,y){var b=this,k=this._opts,x=[void 0],w={},j=[],_={},S=[],E={},F=[];a=a||{schema:t,refVal:x,refs:w};var P=function(e,t,a){var r=l.call(this,e,t,a);return r>=0?{index:r,compiling:!0}:(r=this._compilations.length,this._compilations[r]={schema:e,root:t,baseId:a},{index:r,compiling:!1})}.call(this,t,a,y);var z=this._compilations[P.index];if(P.compiling)return z.callValidate=function e(){var t=z.validate;var a=t.apply(this,arguments);e.errors=t.errors;return a};var C=this._formats;var A=this.RULES;try{var O=T(t,a,v,y);z.validate=O;var q=z.callValidate;return q&&(q.schema=O.schema,q.errors=null,q.refs=O.refs,q.refVal=O.refVal,q.root=O.root,q.$async=O.$async,k.sourceCode&&(q.source=O.source)),O}finally{(function(e,t,a){var r=l.call(this,e,t,a);r>=0&&this._compilations.splice(r,1)}).call(this,t,a,y)}function T(t,n,l,v){var y=!n||n&&n.schema==t;if(n.schema!=a.schema)return e.call(b,t,n,l,v);var _,E=!0===t.$async,P=s({isTop:!0,schema:t,isRoot:y,baseId:v,root:n,schemaPath:\"\",errSchemaPath:\"#\",errorPath:'\"\"',MissingRefError:o.MissingRef,RULES:A,validate:s,util:i,resolve:r,resolveRef:B,usePattern:R,useDefault:N,useCustomRule:L,opts:k,formats:C,logger:b.logger,self:b});P=g(x,d)+g(j,m)+g(S,h)+g(F,f)+P,k.processCode&&(P=k.processCode(P));try{var z=new Function(\"self\",\"RULES\",\"formats\",\"root\",\"refVal\",\"defaults\",\"customRules\",\"equal\",\"ucs2length\",\"ValidationError\",P);_=z(b,A,C,a,x,S,F,u,c,p),x[0]=_}catch(e){throw b.logger.error(\"Error compiling schema, function code:\",P),e}return _.schema=t,_.errors=null,_.refs=w,_.refVal=x,_.root=y?_:n,E&&(_.$async=!0),!0===k.sourceCode&&(_.source={code:P,patterns:j,defaults:S}),_}function B(t,i,o){i=r.url(t,i);var n,s,c=w[i];if(void 0!==c)return I(n=x[c],s=\"refVal[\"+c+\"]\");if(!o&&a.refs){var u=a.refs[i];if(void 0!==u)return n=a.refVal[u],s=D(i,n),I(n,s)}s=D(i);var p=r.call(b,T,a,i);if(void 0===p){var l=v&&v[i];l&&(p=r.inlineRef(l,k.inlineRefs)?l:e.call(b,l,a,v,t))}if(void 0!==p)return function(e,t){var a=w[e];x[a]=t}(i,p),I(p,s);!function(e){delete w[e]}(i)}function D(e,t){var a=x.length;return x[a]=t,w[e]=a,\"refVal\"+a}function I(e,t){return\"object\"==typeof e||\"boolean\"==typeof e?{code:t,schema:e,inline:!0}:{code:t,$async:e&&!!e.$async}}function R(e){var t=_[e];return void 0===t&&(t=_[e]=j.length,j[t]=e),\"pattern\"+t}function N(e){switch(typeof e){case\"boolean\":case\"number\":return\"\"+e;case\"string\":return i.toQuotedString(e);case\"object\":if(null===e)return\"null\";var t=n(e),a=E[t];return void 0===a&&(a=E[t]=S.length,S[a]=e),\"default\"+a}}function L(e,t,a,r){var i=e.definition.validateSchema;if(i&&!1!==b._opts.validateSchema){var o=i(t);if(!o){var n=\"keyword schema is invalid: \"+b.errorsText(i.errors);if(\"log\"!=b._opts.validateSchema)throw new Error(n);b.logger.error(n)}}var s,c=e.definition.compile,u=e.definition.inline,p=e.definition.macro;if(c)s=c.call(b,t,a,r);else if(p)s=p.call(b,t,a,r),!1!==k.validateSchema&&b.validateSchema(s,!0);else if(u)s=u.call(b,r,e.keyword,t,a);else if(!(s=e.definition.validate))return;if(void 0===s)throw new Error('custom keyword \"'+e.keyword+'\"failed to compile');var l=F.length;return F[l]=s,{code:\"customRule\"+l,validate:s}}}},function(e,t,a){\n/** @license URI.js v4.2.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */\n!function(e){\"use strict\";function t(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];if(t.length>1){t[0]=t[0].slice(0,-1);for(var r=t.length-1,i=1;i<r;++i)t[i]=t[i].slice(1,-1);return t[r]=t[r].slice(1),t.join(\"\")}return t[0]}function a(e){return\"(?:\"+e+\")\"}function r(e){return void 0===e?\"undefined\":null===e?\"null\":Object.prototype.toString.call(e).split(\" \").pop().split(\"]\").shift().toLowerCase()}function i(e){return e.toUpperCase()}function o(e){var r=t(\"[0-9]\",\"[A-Fa-f]\"),i=a(a(\"%[EFef]\"+r+\"%\"+r+r+\"%\"+r+r)+\"|\"+a(\"%[89A-Fa-f]\"+r+\"%\"+r+r)+\"|\"+a(\"%\"+r+r)),o=\"[\\\\!\\\\$\\\\&\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\=]\",n=t(\"[\\\\:\\\\/\\\\?\\\\#\\\\[\\\\]\\\\@]\",o),s=e?\"[\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]\":\"[]\",c=e?\"[\\\\uE000-\\\\uF8FF]\":\"[]\",u=t(\"[A-Za-z]\",\"[0-9]\",\"[\\\\-\\\\.\\\\_\\\\~]\",s),p=a(\"[A-Za-z]\"+t(\"[A-Za-z]\",\"[0-9]\",\"[\\\\+\\\\-\\\\.]\")+\"*\"),l=a(a(i+\"|\"+t(u,o,\"[\\\\:]\"))+\"*\"),m=(a(a(\"25[0-5]\")+\"|\"+a(\"2[0-4][0-9]\")+\"|\"+a(\"1[0-9][0-9]\")+\"|\"+a(\"[1-9][0-9]\")+\"|[0-9]\"),a(a(\"25[0-5]\")+\"|\"+a(\"2[0-4][0-9]\")+\"|\"+a(\"1[0-9][0-9]\")+\"|\"+a(\"0?[1-9][0-9]\")+\"|0?0?[0-9]\")),h=a(m+\"\\\\.\"+m+\"\\\\.\"+m+\"\\\\.\"+m),d=a(r+\"{1,4}\"),f=a(a(d+\"\\\\:\"+d)+\"|\"+h),g=a(a(d+\"\\\\:\")+\"{6}\"+f),v=a(\"\\\\:\\\\:\"+a(d+\"\\\\:\")+\"{5}\"+f),y=a(a(d)+\"?\\\\:\\\\:\"+a(d+\"\\\\:\")+\"{4}\"+f),b=a(a(a(d+\"\\\\:\")+\"{0,1}\"+d)+\"?\\\\:\\\\:\"+a(d+\"\\\\:\")+\"{3}\"+f),k=a(a(a(d+\"\\\\:\")+\"{0,2}\"+d)+\"?\\\\:\\\\:\"+a(d+\"\\\\:\")+\"{2}\"+f),x=a(a(a(d+\"\\\\:\")+\"{0,3}\"+d)+\"?\\\\:\\\\:\"+d+\"\\\\:\"+f),w=a(a(a(d+\"\\\\:\")+\"{0,4}\"+d)+\"?\\\\:\\\\:\"+f),j=a(a(a(d+\"\\\\:\")+\"{0,5}\"+d)+\"?\\\\:\\\\:\"+d),_=a(a(a(d+\"\\\\:\")+\"{0,6}\"+d)+\"?\\\\:\\\\:\"),S=a([g,v,y,b,k,x,w,j,_].join(\"|\")),E=a(a(u+\"|\"+i)+\"+\"),F=(a(S+\"\\\\%25\"+E),a(S+a(\"\\\\%25|\\\\%(?!\"+r+\"{2})\")+E)),P=a(\"[vV]\"+r+\"+\\\\.\"+t(u,o,\"[\\\\:]\")+\"+\"),z=a(\"\\\\[\"+a(F+\"|\"+S+\"|\"+P)+\"\\\\]\"),C=a(a(i+\"|\"+t(u,o))+\"*\"),A=a(z+\"|\"+h+\"(?!\"+C+\")|\"+C),O=a(\"[0-9]*\"),q=a(a(l+\"@\")+\"?\"+A+a(\"\\\\:\"+O)+\"?\"),T=a(i+\"|\"+t(u,o,\"[\\\\:\\\\@]\")),B=a(T+\"*\"),D=a(T+\"+\"),I=a(a(i+\"|\"+t(u,o,\"[\\\\@]\"))+\"+\"),R=a(a(\"\\\\/\"+B)+\"*\"),N=a(\"\\\\/\"+a(D+R)+\"?\"),L=a(I+R),U=a(D+R),H=\"(?!\"+T+\")\",$=(a(R+\"|\"+N+\"|\"+L+\"|\"+U+\"|\"+H),a(a(T+\"|\"+t(\"[\\\\/\\\\?]\",c))+\"*\")),M=a(a(T+\"|[\\\\/\\\\?]\")+\"*\"),K=a(a(\"\\\\/\\\\/\"+q+R)+\"|\"+N+\"|\"+U+\"|\"+H),V=a(p+\"\\\\:\"+K+a(\"\\\\?\"+$)+\"?\"+a(\"\\\\#\"+M)+\"?\"),Q=a(a(\"\\\\/\\\\/\"+q+R)+\"|\"+N+\"|\"+L+\"|\"+H),G=a(Q+a(\"\\\\?\"+$)+\"?\"+a(\"\\\\#\"+M)+\"?\");return a(V+\"|\"+G),a(p+\"\\\\:\"+K+a(\"\\\\?\"+$)+\"?\"),a(a(\"\\\\/\\\\/(\"+a(\"(\"+l+\")@\")+\"?(\"+A+\")\"+a(\"\\\\:(\"+O+\")\")+\"?)\")+\"?(\"+R+\"|\"+N+\"|\"+U+\"|\"+H+\")\"),a(\"\\\\?(\"+$+\")\"),a(\"\\\\#(\"+M+\")\"),a(a(\"\\\\/\\\\/(\"+a(\"(\"+l+\")@\")+\"?(\"+A+\")\"+a(\"\\\\:(\"+O+\")\")+\"?)\")+\"?(\"+R+\"|\"+N+\"|\"+L+\"|\"+H+\")\"),a(\"\\\\?(\"+$+\")\"),a(\"\\\\#(\"+M+\")\"),a(a(\"\\\\/\\\\/(\"+a(\"(\"+l+\")@\")+\"?(\"+A+\")\"+a(\"\\\\:(\"+O+\")\")+\"?)\")+\"?(\"+R+\"|\"+N+\"|\"+U+\"|\"+H+\")\"),a(\"\\\\?(\"+$+\")\"),a(\"\\\\#(\"+M+\")\"),a(\"(\"+l+\")@\"),a(\"\\\\:(\"+O+\")\"),{NOT_SCHEME:new RegExp(t(\"[^]\",\"[A-Za-z]\",\"[0-9]\",\"[\\\\+\\\\-\\\\.]\"),\"g\"),NOT_USERINFO:new RegExp(t(\"[^\\\\%\\\\:]\",u,o),\"g\"),NOT_HOST:new RegExp(t(\"[^\\\\%\\\\[\\\\]\\\\:]\",u,o),\"g\"),NOT_PATH:new RegExp(t(\"[^\\\\%\\\\/\\\\:\\\\@]\",u,o),\"g\"),NOT_PATH_NOSCHEME:new RegExp(t(\"[^\\\\%\\\\/\\\\@]\",u,o),\"g\"),NOT_QUERY:new RegExp(t(\"[^\\\\%]\",u,o,\"[\\\\:\\\\@\\\\/\\\\?]\",c),\"g\"),NOT_FRAGMENT:new RegExp(t(\"[^\\\\%]\",u,o,\"[\\\\:\\\\@\\\\/\\\\?]\"),\"g\"),ESCAPE:new RegExp(t(\"[^]\",u,o),\"g\"),UNRESERVED:new RegExp(u,\"g\"),OTHER_CHARS:new RegExp(t(\"[^\\\\%]\",u,n),\"g\"),PCT_ENCODED:new RegExp(i,\"g\"),IPV4ADDRESS:new RegExp(\"^(\"+h+\")$\"),IPV6ADDRESS:new RegExp(\"^\\\\[?(\"+S+\")\"+a(a(\"\\\\%25|\\\\%(?!\"+r+\"{2})\")+\"(\"+E+\")\")+\"?\\\\]?$\")}}var n=o(!1),s=o(!0),c=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var a=[],r=!0,i=!1,o=void 0;try{for(var n,s=e[Symbol.iterator]();!(r=(n=s.next()).done)&&(a.push(n.value),!t||a.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return a}(e,t);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")},u=2147483647,p=/^xn--/,l=/[^\\0-\\x7E]/,m=/[\\x2E\\u3002\\uFF0E\\uFF61]/g,h={overflow:\"Overflow: input needs wider integers to process\",\"not-basic\":\"Illegal input >= 0x80 (not a basic code point)\",\"invalid-input\":\"Invalid input\"},d=Math.floor,f=String.fromCharCode;function g(e){throw new RangeError(h[e])}function v(e,t){var a=e.split(\"@\"),r=\"\";a.length>1&&(r=a[0]+\"@\",e=a[1]);var i=(e=e.replace(m,\".\")).split(\".\"),o=function(e,t){for(var a=[],r=e.length;r--;)a[r]=t(e[r]);return a}(i,t).join(\".\");return r+o}function y(e){for(var t=[],a=0,r=e.length;a<r;){var i=e.charCodeAt(a++);if(i>=55296&&i<=56319&&a<r){var o=e.charCodeAt(a++);56320==(64512&o)?t.push(((1023&i)<<10)+(1023&o)+65536):(t.push(i),a--)}else t.push(i)}return t}var b=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},k=function(e,t,a){var r=0;for(e=a?d(e/700):e>>1,e+=d(e/t);e>455;r+=36)e=d(e/35);return d(r+36*e/(e+38))},x=function(e){var t,a=[],r=e.length,i=0,o=128,n=72,s=e.lastIndexOf(\"-\");s<0&&(s=0);for(var c=0;c<s;++c)e.charCodeAt(c)>=128&&g(\"not-basic\"),a.push(e.charCodeAt(c));for(var p=s>0?s+1:0;p<r;){for(var l=i,m=1,h=36;;h+=36){p>=r&&g(\"invalid-input\");var f=(t=e.charCodeAt(p++))-48<10?t-22:t-65<26?t-65:t-97<26?t-97:36;(f>=36||f>d((u-i)/m))&&g(\"overflow\"),i+=f*m;var v=h<=n?1:h>=n+26?26:h-n;if(f<v)break;var y=36-v;m>d(u/y)&&g(\"overflow\"),m*=y}var b=a.length+1;n=k(i-l,b,0==l),d(i/b)>u-o&&g(\"overflow\"),o+=d(i/b),i%=b,a.splice(i++,0,o)}return String.fromCodePoint.apply(String,a)},w=function(e){var t=[],a=(e=y(e)).length,r=128,i=0,o=72,n=!0,s=!1,c=void 0;try{for(var p,l=e[Symbol.iterator]();!(n=(p=l.next()).done);n=!0){var m=p.value;m<128&&t.push(f(m))}}catch(e){s=!0,c=e}finally{try{!n&&l.return&&l.return()}finally{if(s)throw c}}var h=t.length,v=h;for(h&&t.push(\"-\");v<a;){var x=u,w=!0,j=!1,_=void 0;try{for(var S,E=e[Symbol.iterator]();!(w=(S=E.next()).done);w=!0){var F=S.value;F>=r&&F<x&&(x=F)}}catch(e){j=!0,_=e}finally{try{!w&&E.return&&E.return()}finally{if(j)throw _}}var P=v+1;x-r>d((u-i)/P)&&g(\"overflow\"),i+=(x-r)*P,r=x;var z=!0,C=!1,A=void 0;try{for(var O,q=e[Symbol.iterator]();!(z=(O=q.next()).done);z=!0){var T=O.value;if(T<r&&++i>u&&g(\"overflow\"),T==r){for(var B=i,D=36;;D+=36){var I=D<=o?1:D>=o+26?26:D-o;if(B<I)break;var R=B-I,N=36-I;t.push(f(b(I+R%N,0))),B=d(R/N)}t.push(f(b(B,0))),o=k(i,P,v==h),i=0,++v}}}catch(e){C=!0,A=e}finally{try{!z&&q.return&&q.return()}finally{if(C)throw A}}++i,++r}return t.join(\"\")},j={version:\"2.1.0\",ucs2:{decode:y,encode:function(e){return String.fromCodePoint.apply(String,function(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);t<e.length;t++)a[t]=e[t];return a}return Array.from(e)}(e))}},decode:x,encode:w,toASCII:function(e){return v(e,function(e){return l.test(e)?\"xn--\"+w(e):e})},toUnicode:function(e){return v(e,function(e){return p.test(e)?x(e.slice(4).toLowerCase()):e})}},_={};function S(e){var t=e.charCodeAt(0);return t<16?\"%0\"+t.toString(16).toUpperCase():t<128?\"%\"+t.toString(16).toUpperCase():t<2048?\"%\"+(t>>6|192).toString(16).toUpperCase()+\"%\"+(63&t|128).toString(16).toUpperCase():\"%\"+(t>>12|224).toString(16).toUpperCase()+\"%\"+(t>>6&63|128).toString(16).toUpperCase()+\"%\"+(63&t|128).toString(16).toUpperCase()}function E(e){for(var t=\"\",a=0,r=e.length;a<r;){var i=parseInt(e.substr(a+1,2),16);if(i<128)t+=String.fromCharCode(i),a+=3;else if(i>=194&&i<224){if(r-a>=6){var o=parseInt(e.substr(a+4,2),16);t+=String.fromCharCode((31&i)<<6|63&o)}else t+=e.substr(a,6);a+=6}else if(i>=224){if(r-a>=9){var n=parseInt(e.substr(a+4,2),16),s=parseInt(e.substr(a+7,2),16);t+=String.fromCharCode((15&i)<<12|(63&n)<<6|63&s)}else t+=e.substr(a,9);a+=9}else t+=e.substr(a,3),a+=3}return t}function F(e,t){function a(e){var a=E(e);return a.match(t.UNRESERVED)?a:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,a).toLowerCase().replace(t.NOT_SCHEME,\"\")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,a).replace(t.NOT_USERINFO,S).replace(t.PCT_ENCODED,i)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,a).toLowerCase().replace(t.NOT_HOST,S).replace(t.PCT_ENCODED,i)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,a).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,S).replace(t.PCT_ENCODED,i)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,a).replace(t.NOT_QUERY,S).replace(t.PCT_ENCODED,i)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,a).replace(t.NOT_FRAGMENT,S).replace(t.PCT_ENCODED,i)),e}function P(e){return e.replace(/^0*(.*)/,\"$1\")||\"0\"}function z(e,t){var a=e.match(t.IPV4ADDRESS)||[],r=c(a,2),i=r[1];return i?i.split(\".\").map(P).join(\".\"):e}function C(e,t){var a=e.match(t.IPV6ADDRESS)||[],r=c(a,3),i=r[1],o=r[2];if(i){for(var n=i.toLowerCase().split(\"::\").reverse(),s=c(n,2),u=s[0],p=s[1],l=p?p.split(\":\").map(P):[],m=u.split(\":\").map(P),h=t.IPV4ADDRESS.test(m[m.length-1]),d=h?7:8,f=m.length-d,g=Array(d),v=0;v<d;++v)g[v]=l[v]||m[f+v]||\"\";h&&(g[d-1]=z(g[d-1],t));var y=g.reduce(function(e,t,a){if(!t||\"0\"===t){var r=e[e.length-1];r&&r.index+r.length===a?r.length++:e.push({index:a,length:1})}return e},[]),b=y.sort(function(e,t){return t.length-e.length})[0],k=void 0;if(b&&b.length>1){var x=g.slice(0,b.index),w=g.slice(b.index+b.length);k=x.join(\":\")+\"::\"+w.join(\":\")}else k=g.join(\":\");return o&&(k+=\"%\"+o),k}return e}var A=/^(?:([^:\\/?#]+):)?(?:\\/\\/((?:([^\\/?#@]*)@)?(\\[[^\\/?#\\]]+\\]|[^\\/?#:]*)(?:\\:(\\d*))?))?([^?#]*)(?:\\?([^#]*))?(?:#((?:.|\\n|\\r)*))?/i,O=void 0===\"\".match(/(){0}/)[1];function q(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a={},r=!1!==t.iri?s:n;\"suffix\"===t.reference&&(e=(t.scheme?t.scheme+\":\":\"\")+\"//\"+e);var i=e.match(A);if(i){O?(a.scheme=i[1],a.userinfo=i[3],a.host=i[4],a.port=parseInt(i[5],10),a.path=i[6]||\"\",a.query=i[7],a.fragment=i[8],isNaN(a.port)&&(a.port=i[5])):(a.scheme=i[1]||void 0,a.userinfo=-1!==e.indexOf(\"@\")?i[3]:void 0,a.host=-1!==e.indexOf(\"//\")?i[4]:void 0,a.port=parseInt(i[5],10),a.path=i[6]||\"\",a.query=-1!==e.indexOf(\"?\")?i[7]:void 0,a.fragment=-1!==e.indexOf(\"#\")?i[8]:void 0,isNaN(a.port)&&(a.port=e.match(/\\/\\/(?:.|\\n)*\\:(?:\\/|\\?|\\#|$)/)?i[4]:void 0)),a.host&&(a.host=C(z(a.host,r),r)),void 0!==a.scheme||void 0!==a.userinfo||void 0!==a.host||void 0!==a.port||a.path||void 0!==a.query?void 0===a.scheme?a.reference=\"relative\":void 0===a.fragment?a.reference=\"absolute\":a.reference=\"uri\":a.reference=\"same-document\",t.reference&&\"suffix\"!==t.reference&&t.reference!==a.reference&&(a.error=a.error||\"URI is not a \"+t.reference+\" reference.\");var o=_[(t.scheme||a.scheme||\"\").toLowerCase()];if(t.unicodeSupport||o&&o.unicodeSupport)F(a,r);else{if(a.host&&(t.domainHost||o&&o.domainHost))try{a.host=j.toASCII(a.host.replace(r.PCT_ENCODED,E).toLowerCase())}catch(e){a.error=a.error||\"Host's domain name can not be converted to ASCII via punycode: \"+e}F(a,n)}o&&o.parse&&o.parse(a,t)}else a.error=a.error||\"URI can not be parsed.\";return a}var T=/^\\.\\.?\\//,B=/^\\/\\.(\\/|$)/,D=/^\\/\\.\\.(\\/|$)/,I=/^\\/?(?:.|\\n)*?(?=\\/|$)/;function R(e){for(var t=[];e.length;)if(e.match(T))e=e.replace(T,\"\");else if(e.match(B))e=e.replace(B,\"/\");else if(e.match(D))e=e.replace(D,\"/\"),t.pop();else if(\".\"===e||\"..\"===e)e=\"\";else{var a=e.match(I);if(!a)throw new Error(\"Unexpected dot segment condition\");var r=a[0];e=e.slice(r.length),t.push(r)}return t.join(\"\")}function N(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=t.iri?s:n,r=[],i=_[(t.scheme||e.scheme||\"\").toLowerCase()];if(i&&i.serialize&&i.serialize(e,t),e.host)if(a.IPV6ADDRESS.test(e.host));else if(t.domainHost||i&&i.domainHost)try{e.host=t.iri?j.toUnicode(e.host):j.toASCII(e.host.replace(a.PCT_ENCODED,E).toLowerCase())}catch(a){e.error=e.error||\"Host's domain name can not be converted to \"+(t.iri?\"Unicode\":\"ASCII\")+\" via punycode: \"+a}F(e,a),\"suffix\"!==t.reference&&e.scheme&&(r.push(e.scheme),r.push(\":\"));var o=function(e,t){var a=!1!==t.iri?s:n,r=[];return void 0!==e.userinfo&&(r.push(e.userinfo),r.push(\"@\")),void 0!==e.host&&r.push(C(z(String(e.host),a),a).replace(a.IPV6ADDRESS,function(e,t,a){return\"[\"+t+(a?\"%25\"+a:\"\")+\"]\"})),\"number\"==typeof e.port&&(r.push(\":\"),r.push(e.port.toString(10))),r.length?r.join(\"\"):void 0}(e,t);if(void 0!==o&&(\"suffix\"!==t.reference&&r.push(\"//\"),r.push(o),e.path&&\"/\"!==e.path.charAt(0)&&r.push(\"/\")),void 0!==e.path){var c=e.path;t.absolutePath||i&&i.absolutePath||(c=R(c)),void 0===o&&(c=c.replace(/^\\/\\//,\"/%2F\")),r.push(c)}return void 0!==e.query&&(r.push(\"?\"),r.push(e.query)),void 0!==e.fragment&&(r.push(\"#\"),r.push(e.fragment)),r.join(\"\")}function L(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments[3],i={};return r||(e=q(N(e,a),a),t=q(N(t,a),a)),!(a=a||{}).tolerant&&t.scheme?(i.scheme=t.scheme,i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=R(t.path||\"\"),i.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=R(t.path||\"\"),i.query=t.query):(t.path?(\"/\"===t.path.charAt(0)?i.path=R(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?i.path=e.path.slice(0,e.path.lastIndexOf(\"/\")+1)+t.path:i.path=t.path:i.path=\"/\"+t.path,i.path=R(i.path)),i.query=t.query):(i.path=e.path,void 0!==t.query?i.query=t.query:i.query=e.query),i.userinfo=e.userinfo,i.host=e.host,i.port=e.port),i.scheme=e.scheme),i.fragment=t.fragment,i}function U(e,t){return e&&e.toString().replace(t&&t.iri?s.PCT_ENCODED:n.PCT_ENCODED,E)}var H={scheme:\"http\",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||\"HTTP URIs must have a host.\"),e},serialize:function(e,t){return e.port!==(\"https\"!==String(e.scheme).toLowerCase()?80:443)&&\"\"!==e.port||(e.port=void 0),e.path||(e.path=\"/\"),e}},$={scheme:\"https\",domainHost:H.domainHost,parse:H.parse,serialize:H.serialize},M={},K=\"[A-Za-z0-9\\\\-\\\\.\\\\_\\\\~\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]\",V=\"[0-9A-Fa-f]\",Q=a(a(\"%[EFef][0-9A-Fa-f]%\"+V+V+\"%\"+V+V)+\"|\"+a(\"%[89A-Fa-f][0-9A-Fa-f]%\"+V+V)+\"|\"+a(\"%\"+V+V)),G=t(\"[\\\\!\\\\$\\\\%\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\-\\\\.0-9\\\\<\\\\>A-Z\\\\x5E-\\\\x7E]\",'[\\\\\"\\\\\\\\]'),W=new RegExp(K,\"g\"),Z=new RegExp(Q,\"g\"),Y=new RegExp(t(\"[^]\",\"[A-Za-z0-9\\\\!\\\\$\\\\%\\\\'\\\\*\\\\+\\\\-\\\\^\\\\_\\\\`\\\\{\\\\|\\\\}\\\\~]\",\"[\\\\.]\",'[\\\\\"]',G),\"g\"),J=new RegExp(t(\"[^]\",K,\"[\\\\!\\\\$\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\:\\\\@]\"),\"g\"),X=J;function ee(e){var t=E(e);return t.match(W)?t:e}var te={scheme:\"mailto\",parse:function(e,t){var a=e,r=a.to=a.path?a.path.split(\",\"):[];if(a.path=void 0,a.query){for(var i=!1,o={},n=a.query.split(\"&\"),s=0,c=n.length;s<c;++s){var u=n[s].split(\"=\");switch(u[0]){case\"to\":for(var p=u[1].split(\",\"),l=0,m=p.length;l<m;++l)r.push(p[l]);break;case\"subject\":a.subject=U(u[1],t);break;case\"body\":a.body=U(u[1],t);break;default:i=!0,o[U(u[0],t)]=U(u[1],t)}}i&&(a.headers=o)}a.query=void 0;for(var h=0,d=r.length;h<d;++h){var f=r[h].split(\"@\");if(f[0]=U(f[0]),t.unicodeSupport)f[1]=U(f[1],t).toLowerCase();else try{f[1]=j.toASCII(U(f[1],t).toLowerCase())}catch(e){a.error=a.error||\"Email address's domain name can not be converted to ASCII via punycode: \"+e}r[h]=f.join(\"@\")}return a},serialize:function(e,t){var a,r=e,o=null!=(a=e.to)?a instanceof Array?a:\"number\"!=typeof a.length||a.split||a.setInterval||a.call?[a]:Array.prototype.slice.call(a):[];if(o){for(var n=0,s=o.length;n<s;++n){var c=String(o[n]),u=c.lastIndexOf(\"@\"),p=c.slice(0,u).replace(Z,ee).replace(Z,i).replace(Y,S),l=c.slice(u+1);try{l=t.iri?j.toUnicode(l):j.toASCII(U(l,t).toLowerCase())}catch(e){r.error=r.error||\"Email address's domain name can not be converted to \"+(t.iri?\"Unicode\":\"ASCII\")+\" via punycode: \"+e}o[n]=p+\"@\"+l}r.path=o.join(\",\")}var m=e.headers=e.headers||{};e.subject&&(m.subject=e.subject),e.body&&(m.body=e.body);var h=[];for(var d in m)m[d]!==M[d]&&h.push(d.replace(Z,ee).replace(Z,i).replace(J,S)+\"=\"+m[d].replace(Z,ee).replace(Z,i).replace(X,S));return h.length&&(r.query=h.join(\"&\")),r}},ae=/^([^\\:]+)\\:(.*)/,re={scheme:\"urn\",parse:function(e,t){var a=e.path&&e.path.match(ae),r=e;if(a){var i=t.scheme||r.scheme||\"urn\",o=a[1].toLowerCase(),n=a[2],s=i+\":\"+(t.nid||o),c=_[s];r.nid=o,r.nss=n,r.path=void 0,c&&(r=c.parse(r,t))}else r.error=r.error||\"URN can not be parsed.\";return r},serialize:function(e,t){var a=t.scheme||e.scheme||\"urn\",r=e.nid,i=a+\":\"+(t.nid||r),o=_[i];o&&(e=o.serialize(e,t));var n=e,s=e.nss;return n.path=(r||t.nid)+\":\"+s,n}},ie=/^[0-9A-Fa-f]{8}(?:\\-[0-9A-Fa-f]{4}){3}\\-[0-9A-Fa-f]{12}$/,oe={scheme:\"urn:uuid\",parse:function(e,t){var a=e;return a.uuid=a.nss,a.nss=void 0,t.tolerant||a.uuid&&a.uuid.match(ie)||(a.error=a.error||\"UUID is not valid.\"),a},serialize:function(e,t){var a=e;return a.nss=(e.uuid||\"\").toLowerCase(),a}};_[H.scheme]=H,_[$.scheme]=$,_[te.scheme]=te,_[re.scheme]=re,_[oe.scheme]=oe,e.SCHEMES=_,e.pctEncChar=S,e.pctDecChars=E,e.parse=q,e.removeDotSegments=R,e.serialize=N,e.resolveComponents=L,e.resolve=function(e,t,a){var r=function(e,t){var a=e;if(t)for(var r in t)a[r]=t[r];return a}({scheme:\"null\"},a);return N(L(q(e,r),q(t,r),r,!0),r)},e.normalize=function(e,t){return\"string\"==typeof e?e=N(q(e,t),t):\"object\"===r(e)&&(e=q(N(e,t),t)),e},e.equal=function(e,t,a){return\"string\"==typeof e?e=N(q(e,a),a):\"object\"===r(e)&&(e=N(e,a)),\"string\"==typeof t?t=N(q(t,a),a):\"object\"===r(t)&&(t=N(t,a)),e===t},e.escapeComponent=function(e,t){return e&&e.toString().replace(t&&t.iri?s.ESCAPE:n.ESCAPE,S)},e.unescapeComponent=U,Object.defineProperty(e,\"__esModule\",{value:!0})}(t)},function(e,t,a){\"use strict\";e.exports=function(e){for(var t,a=0,r=e.length,i=0;i<r;)a++,(t=e.charCodeAt(i++))>=55296&&t<=56319&&i<r&&56320==(64512&(t=e.charCodeAt(i)))&&i++;return a}},function(e,t,a){\"use strict\";var r=e.exports=function(e,t,a){\"function\"==typeof t&&(a=t,t={}),function e(t,a,i,o,n,s,c,u,p,l){if(o&&\"object\"==typeof o&&!Array.isArray(o)){for(var m in a(o,n,s,c,u,p,l),o){var h=o[m];if(Array.isArray(h)){if(m in r.arrayKeywords)for(var d=0;d<h.length;d++)e(t,a,i,h[d],n+\"/\"+m+\"/\"+d,s,n,m,o,d)}else if(m in r.propsKeywords){if(h&&\"object\"==typeof h)for(var f in h)e(t,a,i,h[f],n+\"/\"+m+\"/\"+f.replace(/~/g,\"~0\").replace(/\\//g,\"~1\"),s,n,m,o,f)}else(m in r.keywords||t.allKeys&&!(m in r.skipKeywords))&&e(t,a,i,h,n+\"/\"+m,s,n,m,o)}i(o,n,s,c,u,p,l)}}(t,\"function\"==typeof(a=t.cb||a)?a:a.pre||function(){},a.post||function(){},e,\"\",e)};r.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},r.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},r.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},r.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0}},function(e,t,a){\"use strict\";var r=e.exports=function(){this._cache={}};r.prototype.put=function(e,t){this._cache[e]=t},r.prototype.get=function(e){return this._cache[e]},r.prototype.del=function(e){delete this._cache[e]},r.prototype.clear=function(){this._cache={}}},function(e,t,a){\"use strict\";var r=a(18),i=/^(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)$/,o=[0,31,28,31,30,31,30,31,31,30,31,30,31],n=/^(\\d\\d):(\\d\\d):(\\d\\d)(\\.\\d+)?(z|[+-]\\d\\d:\\d\\d)?$/i,s=/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i,c=/^(?:[a-z][a-z0-9+\\-.]*:)(?:\\/?\\/(?:(?:[a-z0-9\\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\\.[a-z0-9\\-._~!$&'()*+,;=:]+)\\]|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)|(?:[a-z0-9\\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\\d*)?(?:\\/(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\\/(?:(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\\?(?:[a-z0-9\\-._~!$&'()*+,;=:@\\/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\\-._~!$&'()*+,;=:@\\/?]|%[0-9a-f]{2})*)?$/i,u=/^(?:(?:[^\\x00-\\x20\"'<>%\\\\^`{|}]|%[0-9a-f]{2})|\\{[+#.\\/;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\\*)?)*\\})*$/i,p=/^(?:(?:http[s\\u017F]?|ftp):\\/\\/)(?:(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+(?::(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])*)?@)?(?:(?!10(?:\\.[0-9]{1,3}){3})(?!127(?:\\.[0-9]{1,3}){3})(?!169\\.254(?:\\.[0-9]{1,3}){2})(?!192\\.168(?:\\.[0-9]{1,3}){2})(?!172\\.(?:1[6-9]|2[0-9]|3[01])(?:\\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+-?)*(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+)(?:\\.(?:(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+-?)*(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+)*(?:\\.(?:(?:[KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\\/(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])*)?$/i,l=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,m=/^(?:\\/(?:[^~\\/]|~0|~1)*)*$/,h=/^#(?:\\/(?:[a-z0-9_\\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,d=/^(?:0|[1-9][0-9]*)(?:#|(?:\\/(?:[^~\\/]|~0|~1)*)*)$/;function f(e){return e=\"full\"==e?\"full\":\"fast\",r.copy(f[e])}function g(e){var t=e.match(i);if(!t)return!1;var a=+t[1],r=+t[2],n=+t[3];return r>=1&&r<=12&&n>=1&&n<=(2==r&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(a)?29:o[r])}function v(e,t){var a=e.match(n);if(!a)return!1;var r=a[1],i=a[2],o=a[3],s=a[5];return(r<=23&&i<=59&&o<=59||23==r&&59==i&&60==o)&&(!t||s)}e.exports=f,f.fast={date:/^\\d\\d\\d\\d-[0-1]\\d-[0-3]\\d$/,time:/^(?:[0-2]\\d:[0-5]\\d:[0-5]\\d|23:59:60)(?:\\.\\d+)?(?:z|[+-]\\d\\d:\\d\\d)?$/i,\"date-time\":/^\\d\\d\\d\\d-[0-1]\\d-[0-3]\\d[t\\s](?:[0-2]\\d:[0-5]\\d:[0-5]\\d|23:59:60)(?:\\.\\d+)?(?:z|[+-]\\d\\d:\\d\\d)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\\/?\\/)?[^\\s]*$/i,\"uri-reference\":/^(?:(?:[a-z][a-z0-9+-.]*:)?\\/?\\/)?(?:[^\\\\\\s#][^\\s#]*)?(?:#[^\\\\\\s]*)?$/i,\"uri-template\":u,url:p,email:/^[a-z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:s,ipv4:/^(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$/,ipv6:/^\\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(?:%.+)?\\s*$/i,regex:x,uuid:l,\"json-pointer\":m,\"json-pointer-uri-fragment\":h,\"relative-json-pointer\":d},f.full={date:g,time:v,\"date-time\":function(e){var t=e.split(y);return 2==t.length&&g(t[0])&&v(t[1],!0)},uri:function(e){return b.test(e)&&c.test(e)},\"uri-reference\":/^(?:[a-z][a-z0-9+\\-.]*:)?(?:\\/?\\/(?:(?:[a-z0-9\\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\\.[a-z0-9\\-._~!$&'()*+,;=:]+)\\]|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)|(?:[a-z0-9\\-._~!$&'\"()*+,;=]|%[0-9a-f]{2})*)(?::\\d*)?(?:\\/(?:[a-z0-9\\-._~!$&'\"()*+,;=:@]|%[0-9a-f]{2})*)*|\\/(?:(?:[a-z0-9\\-._~!$&'\"()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'\"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\\-._~!$&'\"()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'\"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\\?(?:[a-z0-9\\-._~!$&'\"()*+,;=:@\\/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\\-._~!$&'\"()*+,;=:@\\/?]|%[0-9a-f]{2})*)?$/i,\"uri-template\":u,url:p,email:/^[a-z0-9!#$%&'*+\\/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+\\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:function(e){return e.length<=255&&s.test(e)},ipv4:/^(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$/,ipv6:/^\\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(?:%.+)?\\s*$/i,regex:x,uuid:l,\"json-pointer\":m,\"json-pointer-uri-fragment\":h,\"relative-json-pointer\":d};var y=/t|\\s/i;var b=/\\/|:/;var k=/[^\\\\]\\\\Z/;function x(e){if(k.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},function(e,t,a){\"use strict\";var r=a(189),i=a(18).toHash;e.exports=function(){var e=[{type:\"number\",rules:[{maximum:[\"exclusiveMaximum\"]},{minimum:[\"exclusiveMinimum\"]},\"multipleOf\",\"format\"]},{type:\"string\",rules:[\"maxLength\",\"minLength\",\"pattern\",\"format\"]},{type:\"array\",rules:[\"maxItems\",\"minItems\",\"items\",\"contains\",\"uniqueItems\"]},{type:\"object\",rules:[\"maxProperties\",\"minProperties\",\"required\",\"dependencies\",\"propertyNames\",{properties:[\"additionalProperties\",\"patternProperties\"]}]},{rules:[\"$ref\",\"const\",\"enum\",\"not\",\"anyOf\",\"oneOf\",\"allOf\",\"if\"]}],t=[\"type\",\"$comment\"];return e.all=i(t),e.types=i([\"number\",\"integer\",\"string\",\"array\",\"object\",\"boolean\",\"null\"]),e.forEach(function(a){a.rules=a.rules.map(function(a){var i;if(\"object\"==typeof a){var o=Object.keys(a)[0];i=a[o],a=o,i.forEach(function(a){t.push(a),e.all[a]=!0})}return t.push(a),e.all[a]={keyword:a,code:r[a],implements:i}}),e.all.$comment={keyword:\"$comment\",code:r.$comment},a.type&&(e.types[a.type]=a)}),e.keywords=i(t.concat([\"$schema\",\"$id\",\"id\",\"$data\",\"title\",\"description\",\"default\",\"definitions\",\"examples\",\"readOnly\",\"writeOnly\",\"contentMediaType\",\"contentEncoding\",\"additionalItems\",\"then\",\"else\"])),e.custom={},e}},function(e,t,a){\"use strict\";e.exports={$ref:a(190),allOf:a(191),anyOf:a(192),$comment:a(193),const:a(194),contains:a(195),dependencies:a(196),enum:a(197),format:a(198),if:a(199),items:a(200),maximum:a(88),minimum:a(88),maxItems:a(89),minItems:a(89),maxLength:a(90),minLength:a(90),maxProperties:a(91),minProperties:a(91),multipleOf:a(201),not:a(202),oneOf:a(203),pattern:a(204),properties:a(205),propertyNames:a(206),required:a(207),uniqueItems:a(208),validate:a(87)}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r,i,o=\" \",n=e.level,s=e.dataLevel,c=e.schema[t],u=e.errSchemaPath+\"/\"+t,p=!e.opts.allErrors,l=\"data\"+(s||\"\"),m=\"valid\"+n;if(\"#\"==c||\"#/\"==c)e.isRoot?(r=e.async,i=\"validate\"):(r=!0===e.root.schema.$async,i=\"root.refVal[0]\");else{var h=e.resolveRef(e.baseId,c,e.isRoot);if(void 0===h){var d=e.MissingRefError.message(e.baseId,c);if(\"fail\"==e.opts.missingRefs){e.logger.error(d),(y=y||[]).push(o),o=\"\",!1!==e.createErrors?(o+=\" { keyword: '$ref' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(u)+\" , params: { ref: '\"+e.util.escapeQuotes(c)+\"' } \",!1!==e.opts.messages&&(o+=\" , message: 'can\\\\'t resolve reference \"+e.util.escapeQuotes(c)+\"' \"),e.opts.verbose&&(o+=\" , schema: \"+e.util.toQuotedString(c)+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+l+\" \"),o+=\" } \"):o+=\" {} \";var f=o;o=y.pop(),!e.compositeRule&&p?e.async?o+=\" throw new ValidationError([\"+f+\"]); \":o+=\" validate.errors = [\"+f+\"]; return false; \":o+=\" var err = \"+f+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",p&&(o+=\" if (false) { \")}else{if(\"ignore\"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,c,d);e.logger.warn(d),p&&(o+=\" if (true) { \")}}else if(h.inline){var g=e.util.copy(e);g.level++;var v=\"valid\"+g.level;g.schema=h.schema,g.schemaPath=\"\",g.errSchemaPath=c,o+=\" \"+e.validate(g).replace(/validate\\.schema/g,h.code)+\" \",p&&(o+=\" if (\"+v+\") { \")}else r=!0===h.$async||e.async&&!1!==h.$async,i=h.code}if(i){var y;(y=y||[]).push(o),o=\"\",e.opts.passContext?o+=\" \"+i+\".call(this, \":o+=\" \"+i+\"( \",o+=\" \"+l+\", (dataPath || '')\",'\"\"'!=e.errorPath&&(o+=\" + \"+e.errorPath);var b=o+=\" , \"+(s?\"data\"+(s-1||\"\"):\"parentData\")+\" , \"+(s?e.dataPathArr[s]:\"parentDataProperty\")+\", rootData)  \";if(o=y.pop(),r){if(!e.async)throw new Error(\"async schema referenced by sync schema\");p&&(o+=\" var \"+m+\"; \"),o+=\" try { await \"+b+\"; \",p&&(o+=\" \"+m+\" = true; \"),o+=\" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; \",p&&(o+=\" \"+m+\" = false; \"),o+=\" } \",p&&(o+=\" if (\"+m+\") { \")}else o+=\" if (!\"+b+\") { if (vErrors === null) vErrors = \"+i+\".errors; else vErrors = vErrors.concat(\"+i+\".errors); errors = vErrors.length; } \",p&&(o+=\" else { \")}return o}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r=\" \",i=e.schema[t],o=e.schemaPath+e.util.getProperty(t),n=e.errSchemaPath+\"/\"+t,s=!e.opts.allErrors,c=e.util.copy(e),u=\"\";c.level++;var p=\"valid\"+c.level,l=c.baseId,m=!0,h=i;if(h)for(var d,f=-1,g=h.length-1;f<g;)d=h[f+=1],e.util.schemaHasRules(d,e.RULES.all)&&(m=!1,c.schema=d,c.schemaPath=o+\"[\"+f+\"]\",c.errSchemaPath=n+\"/\"+f,r+=\"  \"+e.validate(c)+\" \",c.baseId=l,s&&(r+=\" if (\"+p+\") { \",u+=\"}\"));return s&&(r+=m?\" if (true) { \":\" \"+u.slice(0,-1)+\" \"),r=e.util.cleanUpCode(r)}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r=\" \",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+\"/\"+t,u=!e.opts.allErrors,p=\"data\"+(o||\"\"),l=\"valid\"+i,m=\"errs__\"+i,h=e.util.copy(e),d=\"\";h.level++;var f=\"valid\"+h.level;if(n.every(function(t){return e.util.schemaHasRules(t,e.RULES.all)})){var g=h.baseId;r+=\" var \"+m+\" = errors; var \"+l+\" = false;  \";var v=e.compositeRule;e.compositeRule=h.compositeRule=!0;var y=n;if(y)for(var b,k=-1,x=y.length-1;k<x;)b=y[k+=1],h.schema=b,h.schemaPath=s+\"[\"+k+\"]\",h.errSchemaPath=c+\"/\"+k,r+=\"  \"+e.validate(h)+\" \",h.baseId=g,r+=\" \"+l+\" = \"+l+\" || \"+f+\"; if (!\"+l+\") { \",d+=\"}\";e.compositeRule=h.compositeRule=v,r+=\" \"+d+\" if (!\"+l+\") {   var err =   \",!1!==e.createErrors?(r+=\" { keyword: 'anyOf' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(c)+\" , params: {} \",!1!==e.opts.messages&&(r+=\" , message: 'should match some schema in anyOf' \"),e.opts.verbose&&(r+=\" , schema: validate.schema\"+s+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+p+\" \"),r+=\" } \"):r+=\" {} \",r+=\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",!e.compositeRule&&u&&(e.async?r+=\" throw new ValidationError(vErrors); \":r+=\" validate.errors = vErrors; return false; \"),r+=\" } else {  errors = \"+m+\"; if (vErrors !== null) { if (\"+m+\") vErrors.length = \"+m+\"; else vErrors = null; } \",e.opts.allErrors&&(r+=\" } \"),r=e.util.cleanUpCode(r)}else u&&(r+=\" if (true) { \");return r}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r=\" \",i=e.schema[t],o=e.errSchemaPath+\"/\"+t,n=(e.opts.allErrors,e.util.toQuotedString(i));return!0===e.opts.$comment?r+=\" console.log(\"+n+\");\":\"function\"==typeof e.opts.$comment&&(r+=\" self._opts.$comment(\"+n+\", \"+e.util.toQuotedString(o)+\", validate.root.schema);\"),r}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r=\" \",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+\"/\"+t,u=!e.opts.allErrors,p=\"data\"+(o||\"\"),l=\"valid\"+i,m=e.opts.$data&&n&&n.$data;m&&(r+=\" var schema\"+i+\" = \"+e.util.getData(n.$data,o,e.dataPathArr)+\"; \"),m||(r+=\" var schema\"+i+\" = validate.schema\"+s+\";\"),r+=\"var \"+l+\" = equal(\"+p+\", schema\"+i+\"); if (!\"+l+\") {   \";var h=h||[];h.push(r),r=\"\",!1!==e.createErrors?(r+=\" { keyword: 'const' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(c)+\" , params: { allowedValue: schema\"+i+\" } \",!1!==e.opts.messages&&(r+=\" , message: 'should be equal to constant' \"),e.opts.verbose&&(r+=\" , schema: validate.schema\"+s+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+p+\" \"),r+=\" } \"):r+=\" {} \";var d=r;return r=h.pop(),!e.compositeRule&&u?e.async?r+=\" throw new ValidationError([\"+d+\"]); \":r+=\" validate.errors = [\"+d+\"]; return false; \":r+=\" var err = \"+d+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",r+=\" }\",u&&(r+=\" else { \"),r}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r=\" \",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+\"/\"+t,u=!e.opts.allErrors,p=\"data\"+(o||\"\"),l=\"valid\"+i,m=\"errs__\"+i,h=e.util.copy(e);h.level++;var d=\"valid\"+h.level,f=\"i\"+i,g=h.dataLevel=e.dataLevel+1,v=\"data\"+g,y=e.baseId,b=e.util.schemaHasRules(n,e.RULES.all);if(r+=\"var \"+m+\" = errors;var \"+l+\";\",b){var k=e.compositeRule;e.compositeRule=h.compositeRule=!0,h.schema=n,h.schemaPath=s,h.errSchemaPath=c,r+=\" var \"+d+\" = false; for (var \"+f+\" = 0; \"+f+\" < \"+p+\".length; \"+f+\"++) { \",h.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers,!0);var x=p+\"[\"+f+\"]\";h.dataPathArr[g]=f;var w=e.validate(h);h.baseId=y,e.util.varOccurences(w,v)<2?r+=\" \"+e.util.varReplace(w,v,x)+\" \":r+=\" var \"+v+\" = \"+x+\"; \"+w+\" \",r+=\" if (\"+d+\") break; }  \",e.compositeRule=h.compositeRule=k,r+=\"  if (!\"+d+\") {\"}else r+=\" if (\"+p+\".length == 0) {\";var j=j||[];j.push(r),r=\"\",!1!==e.createErrors?(r+=\" { keyword: 'contains' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(c)+\" , params: {} \",!1!==e.opts.messages&&(r+=\" , message: 'should contain a valid item' \"),e.opts.verbose&&(r+=\" , schema: validate.schema\"+s+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+p+\" \"),r+=\" } \"):r+=\" {} \";var _=r;return r=j.pop(),!e.compositeRule&&u?e.async?r+=\" throw new ValidationError([\"+_+\"]); \":r+=\" validate.errors = [\"+_+\"]; return false; \":r+=\" var err = \"+_+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",r+=\" } else { \",b&&(r+=\"  errors = \"+m+\"; if (vErrors !== null) { if (\"+m+\") vErrors.length = \"+m+\"; else vErrors = null; } \"),e.opts.allErrors&&(r+=\" } \"),r=e.util.cleanUpCode(r)}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r=\" \",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+\"/\"+t,u=!e.opts.allErrors,p=\"data\"+(o||\"\"),l=\"errs__\"+i,m=e.util.copy(e),h=\"\";m.level++;var d=\"valid\"+m.level,f={},g={},v=e.opts.ownProperties;for(x in n){var y=n[x],b=Array.isArray(y)?g:f;b[x]=y}r+=\"var \"+l+\" = errors;\";var k=e.errorPath;for(var x in r+=\"var missing\"+i+\";\",g)if((b=g[x]).length){if(r+=\" if ( \"+p+e.util.getProperty(x)+\" !== undefined \",v&&(r+=\" && Object.prototype.hasOwnProperty.call(\"+p+\", '\"+e.util.escapeQuotes(x)+\"') \"),u){r+=\" && ( \";var w=b;if(w)for(var j=-1,_=w.length-1;j<_;){C=w[j+=1],j&&(r+=\" || \"),r+=\" ( ( \"+(T=p+(q=e.util.getProperty(C)))+\" === undefined \",v&&(r+=\" || ! Object.prototype.hasOwnProperty.call(\"+p+\", '\"+e.util.escapeQuotes(C)+\"') \"),r+=\") && (missing\"+i+\" = \"+e.util.toQuotedString(e.opts.jsonPointers?C:q)+\") ) \"}r+=\")) {  \";var S=\"missing\"+i,E=\"' + \"+S+\" + '\";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(k,S,!0):k+\" + \"+S);var F=F||[];F.push(r),r=\"\",!1!==e.createErrors?(r+=\" { keyword: 'dependencies' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(c)+\" , params: { property: '\"+e.util.escapeQuotes(x)+\"', missingProperty: '\"+E+\"', depsCount: \"+b.length+\", deps: '\"+e.util.escapeQuotes(1==b.length?b[0]:b.join(\", \"))+\"' } \",!1!==e.opts.messages&&(r+=\" , message: 'should have \",1==b.length?r+=\"property \"+e.util.escapeQuotes(b[0]):r+=\"properties \"+e.util.escapeQuotes(b.join(\", \")),r+=\" when property \"+e.util.escapeQuotes(x)+\" is present' \"),e.opts.verbose&&(r+=\" , schema: validate.schema\"+s+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+p+\" \"),r+=\" } \"):r+=\" {} \";var P=r;r=F.pop(),!e.compositeRule&&u?e.async?r+=\" throw new ValidationError([\"+P+\"]); \":r+=\" validate.errors = [\"+P+\"]; return false; \":r+=\" var err = \"+P+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \"}else{r+=\" ) { \";var z=b;if(z)for(var C,A=-1,O=z.length-1;A<O;){C=z[A+=1];var q=e.util.getProperty(C),T=(E=e.util.escapeQuotes(C),p+q);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(k,C,e.opts.jsonPointers)),r+=\" if ( \"+T+\" === undefined \",v&&(r+=\" || ! Object.prototype.hasOwnProperty.call(\"+p+\", '\"+e.util.escapeQuotes(C)+\"') \"),r+=\") {  var err =   \",!1!==e.createErrors?(r+=\" { keyword: 'dependencies' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(c)+\" , params: { property: '\"+e.util.escapeQuotes(x)+\"', missingProperty: '\"+E+\"', depsCount: \"+b.length+\", deps: '\"+e.util.escapeQuotes(1==b.length?b[0]:b.join(\", \"))+\"' } \",!1!==e.opts.messages&&(r+=\" , message: 'should have \",1==b.length?r+=\"property \"+e.util.escapeQuotes(b[0]):r+=\"properties \"+e.util.escapeQuotes(b.join(\", \")),r+=\" when property \"+e.util.escapeQuotes(x)+\" is present' \"),e.opts.verbose&&(r+=\" , schema: validate.schema\"+s+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+p+\" \"),r+=\" } \"):r+=\" {} \",r+=\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } \"}}r+=\" }   \",u&&(h+=\"}\",r+=\" else { \")}e.errorPath=k;var B=m.baseId;for(var x in f){y=f[x];e.util.schemaHasRules(y,e.RULES.all)&&(r+=\" \"+d+\" = true; if ( \"+p+e.util.getProperty(x)+\" !== undefined \",v&&(r+=\" && Object.prototype.hasOwnProperty.call(\"+p+\", '\"+e.util.escapeQuotes(x)+\"') \"),r+=\") { \",m.schema=y,m.schemaPath=s+e.util.getProperty(x),m.errSchemaPath=c+\"/\"+e.util.escapeFragment(x),r+=\"  \"+e.validate(m)+\" \",m.baseId=B,r+=\" }  \",u&&(r+=\" if (\"+d+\") { \",h+=\"}\"))}return u&&(r+=\"   \"+h+\" if (\"+l+\" == errors) {\"),r=e.util.cleanUpCode(r)}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r=\" \",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+\"/\"+t,u=!e.opts.allErrors,p=\"data\"+(o||\"\"),l=\"valid\"+i,m=e.opts.$data&&n&&n.$data;m&&(r+=\" var schema\"+i+\" = \"+e.util.getData(n.$data,o,e.dataPathArr)+\"; \");var h=\"i\"+i,d=\"schema\"+i;m||(r+=\" var \"+d+\" = validate.schema\"+s+\";\"),r+=\"var \"+l+\";\",m&&(r+=\" if (schema\"+i+\" === undefined) \"+l+\" = true; else if (!Array.isArray(schema\"+i+\")) \"+l+\" = false; else {\"),r+=l+\" = false;for (var \"+h+\"=0; \"+h+\"<\"+d+\".length; \"+h+\"++) if (equal(\"+p+\", \"+d+\"[\"+h+\"])) { \"+l+\" = true; break; }\",m&&(r+=\"  }  \"),r+=\" if (!\"+l+\") {   \";var f=f||[];f.push(r),r=\"\",!1!==e.createErrors?(r+=\" { keyword: 'enum' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(c)+\" , params: { allowedValues: schema\"+i+\" } \",!1!==e.opts.messages&&(r+=\" , message: 'should be equal to one of the allowed values' \"),e.opts.verbose&&(r+=\" , schema: validate.schema\"+s+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+p+\" \"),r+=\" } \"):r+=\" {} \";var g=r;return r=f.pop(),!e.compositeRule&&u?e.async?r+=\" throw new ValidationError([\"+g+\"]); \":r+=\" validate.errors = [\"+g+\"]; return false; \":r+=\" var err = \"+g+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",r+=\" }\",u&&(r+=\" else { \"),r}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r=\" \",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+\"/\"+t,u=!e.opts.allErrors,p=\"data\"+(o||\"\");if(!1===e.opts.format)return u&&(r+=\" if (true) { \"),r;var l,m=e.opts.$data&&n&&n.$data;m?(r+=\" var schema\"+i+\" = \"+e.util.getData(n.$data,o,e.dataPathArr)+\"; \",l=\"schema\"+i):l=n;var h=e.opts.unknownFormats,d=Array.isArray(h);if(m){r+=\" var \"+(f=\"format\"+i)+\" = formats[\"+l+\"]; var \"+(g=\"isObject\"+i)+\" = typeof \"+f+\" == 'object' && !(\"+f+\" instanceof RegExp) && \"+f+\".validate; var \"+(v=\"formatType\"+i)+\" = \"+g+\" && \"+f+\".type || 'string'; if (\"+g+\") { \",e.async&&(r+=\" var async\"+i+\" = \"+f+\".async; \"),r+=\" \"+f+\" = \"+f+\".validate; } if (  \",m&&(r+=\" (\"+l+\" !== undefined && typeof \"+l+\" != 'string') || \"),r+=\" (\",\"ignore\"!=h&&(r+=\" (\"+l+\" && !\"+f+\" \",d&&(r+=\" && self._opts.unknownFormats.indexOf(\"+l+\") == -1 \"),r+=\") || \"),r+=\" (\"+f+\" && \"+v+\" == '\"+a+\"' && !(typeof \"+f+\" == 'function' ? \",e.async?r+=\" (async\"+i+\" ? await \"+f+\"(\"+p+\") : \"+f+\"(\"+p+\")) \":r+=\" \"+f+\"(\"+p+\") \",r+=\" : \"+f+\".test(\"+p+\"))))) {\"}else{var f;if(!(f=e.formats[n])){if(\"ignore\"==h)return e.logger.warn('unknown format \"'+n+'\" ignored in schema at path \"'+e.errSchemaPath+'\"'),u&&(r+=\" if (true) { \"),r;if(d&&h.indexOf(n)>=0)return u&&(r+=\" if (true) { \"),r;throw new Error('unknown format \"'+n+'\" is used in schema at path \"'+e.errSchemaPath+'\"')}var g,v=(g=\"object\"==typeof f&&!(f instanceof RegExp)&&f.validate)&&f.type||\"string\";if(g){var y=!0===f.async;f=f.validate}if(v!=a)return u&&(r+=\" if (true) { \"),r;if(y){if(!e.async)throw new Error(\"async format in sync schema\");r+=\" if (!(await \"+(b=\"formats\"+e.util.getProperty(n)+\".validate\")+\"(\"+p+\"))) { \"}else{r+=\" if (! \";var b=\"formats\"+e.util.getProperty(n);g&&(b+=\".validate\"),r+=\"function\"==typeof f?\" \"+b+\"(\"+p+\") \":\" \"+b+\".test(\"+p+\") \",r+=\") { \"}}var k=k||[];k.push(r),r=\"\",!1!==e.createErrors?(r+=\" { keyword: 'format' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(c)+\" , params: { format:  \",r+=m?\"\"+l:\"\"+e.util.toQuotedString(n),r+=\"  } \",!1!==e.opts.messages&&(r+=\" , message: 'should match format \\\"\",r+=m?\"' + \"+l+\" + '\":\"\"+e.util.escapeQuotes(n),r+=\"\\\"' \"),e.opts.verbose&&(r+=\" , schema:  \",r+=m?\"validate.schema\"+s:\"\"+e.util.toQuotedString(n),r+=\"         , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+p+\" \"),r+=\" } \"):r+=\" {} \";var x=r;return r=k.pop(),!e.compositeRule&&u?e.async?r+=\" throw new ValidationError([\"+x+\"]); \":r+=\" validate.errors = [\"+x+\"]; return false; \":r+=\" var err = \"+x+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",r+=\" } \",u&&(r+=\" else { \"),r}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r=\" \",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+\"/\"+t,u=!e.opts.allErrors,p=\"data\"+(o||\"\"),l=\"valid\"+i,m=\"errs__\"+i,h=e.util.copy(e);h.level++;var d=\"valid\"+h.level,f=e.schema.then,g=e.schema.else,v=void 0!==f&&e.util.schemaHasRules(f,e.RULES.all),y=void 0!==g&&e.util.schemaHasRules(g,e.RULES.all),b=h.baseId;if(v||y){var k;h.createErrors=!1,h.schema=n,h.schemaPath=s,h.errSchemaPath=c,r+=\" var \"+m+\" = errors; var \"+l+\" = true;  \";var x=e.compositeRule;e.compositeRule=h.compositeRule=!0,r+=\"  \"+e.validate(h)+\" \",h.baseId=b,h.createErrors=!0,r+=\"  errors = \"+m+\"; if (vErrors !== null) { if (\"+m+\") vErrors.length = \"+m+\"; else vErrors = null; }  \",e.compositeRule=h.compositeRule=x,v?(r+=\" if (\"+d+\") {  \",h.schema=e.schema.then,h.schemaPath=e.schemaPath+\".then\",h.errSchemaPath=e.errSchemaPath+\"/then\",r+=\"  \"+e.validate(h)+\" \",h.baseId=b,r+=\" \"+l+\" = \"+d+\"; \",v&&y?r+=\" var \"+(k=\"ifClause\"+i)+\" = 'then'; \":k=\"'then'\",r+=\" } \",y&&(r+=\" else { \")):r+=\" if (!\"+d+\") { \",y&&(h.schema=e.schema.else,h.schemaPath=e.schemaPath+\".else\",h.errSchemaPath=e.errSchemaPath+\"/else\",r+=\"  \"+e.validate(h)+\" \",h.baseId=b,r+=\" \"+l+\" = \"+d+\"; \",v&&y?r+=\" var \"+(k=\"ifClause\"+i)+\" = 'else'; \":k=\"'else'\",r+=\" } \"),r+=\" if (!\"+l+\") {   var err =   \",!1!==e.createErrors?(r+=\" { keyword: 'if' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(c)+\" , params: { failingKeyword: \"+k+\" } \",!1!==e.opts.messages&&(r+=\" , message: 'should match \\\"' + \"+k+\" + '\\\" schema' \"),e.opts.verbose&&(r+=\" , schema: validate.schema\"+s+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+p+\" \"),r+=\" } \"):r+=\" {} \",r+=\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",!e.compositeRule&&u&&(e.async?r+=\" throw new ValidationError(vErrors); \":r+=\" validate.errors = vErrors; return false; \"),r+=\" }   \",u&&(r+=\" else { \"),r=e.util.cleanUpCode(r)}else u&&(r+=\" if (true) { \");return r}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r=\" \",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+\"/\"+t,u=!e.opts.allErrors,p=\"data\"+(o||\"\"),l=\"valid\"+i,m=\"errs__\"+i,h=e.util.copy(e),d=\"\";h.level++;var f=\"valid\"+h.level,g=\"i\"+i,v=h.dataLevel=e.dataLevel+1,y=\"data\"+v,b=e.baseId;if(r+=\"var \"+m+\" = errors;var \"+l+\";\",Array.isArray(n)){var k=e.schema.additionalItems;if(!1===k){r+=\" \"+l+\" = \"+p+\".length <= \"+n.length+\"; \";var x=c;c=e.errSchemaPath+\"/additionalItems\",r+=\"  if (!\"+l+\") {   \";var w=w||[];w.push(r),r=\"\",!1!==e.createErrors?(r+=\" { keyword: 'additionalItems' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(c)+\" , params: { limit: \"+n.length+\" } \",!1!==e.opts.messages&&(r+=\" , message: 'should NOT have more than \"+n.length+\" items' \"),e.opts.verbose&&(r+=\" , schema: false , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+p+\" \"),r+=\" } \"):r+=\" {} \";var j=r;r=w.pop(),!e.compositeRule&&u?e.async?r+=\" throw new ValidationError([\"+j+\"]); \":r+=\" validate.errors = [\"+j+\"]; return false; \":r+=\" var err = \"+j+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",r+=\" } \",c=x,u&&(d+=\"}\",r+=\" else { \")}var _=n;if(_)for(var S,E=-1,F=_.length-1;E<F;)if(S=_[E+=1],e.util.schemaHasRules(S,e.RULES.all)){r+=\" \"+f+\" = true; if (\"+p+\".length > \"+E+\") { \";var P=p+\"[\"+E+\"]\";h.schema=S,h.schemaPath=s+\"[\"+E+\"]\",h.errSchemaPath=c+\"/\"+E,h.errorPath=e.util.getPathExpr(e.errorPath,E,e.opts.jsonPointers,!0),h.dataPathArr[v]=E;var z=e.validate(h);h.baseId=b,e.util.varOccurences(z,y)<2?r+=\" \"+e.util.varReplace(z,y,P)+\" \":r+=\" var \"+y+\" = \"+P+\"; \"+z+\" \",r+=\" }  \",u&&(r+=\" if (\"+f+\") { \",d+=\"}\")}if(\"object\"==typeof k&&e.util.schemaHasRules(k,e.RULES.all)){h.schema=k,h.schemaPath=e.schemaPath+\".additionalItems\",h.errSchemaPath=e.errSchemaPath+\"/additionalItems\",r+=\" \"+f+\" = true; if (\"+p+\".length > \"+n.length+\") {  for (var \"+g+\" = \"+n.length+\"; \"+g+\" < \"+p+\".length; \"+g+\"++) { \",h.errorPath=e.util.getPathExpr(e.errorPath,g,e.opts.jsonPointers,!0);P=p+\"[\"+g+\"]\";h.dataPathArr[v]=g;z=e.validate(h);h.baseId=b,e.util.varOccurences(z,y)<2?r+=\" \"+e.util.varReplace(z,y,P)+\" \":r+=\" var \"+y+\" = \"+P+\"; \"+z+\" \",u&&(r+=\" if (!\"+f+\") break; \"),r+=\" } }  \",u&&(r+=\" if (\"+f+\") { \",d+=\"}\")}}else if(e.util.schemaHasRules(n,e.RULES.all)){h.schema=n,h.schemaPath=s,h.errSchemaPath=c,r+=\"  for (var \"+g+\" = 0; \"+g+\" < \"+p+\".length; \"+g+\"++) { \",h.errorPath=e.util.getPathExpr(e.errorPath,g,e.opts.jsonPointers,!0);P=p+\"[\"+g+\"]\";h.dataPathArr[v]=g;z=e.validate(h);h.baseId=b,e.util.varOccurences(z,y)<2?r+=\" \"+e.util.varReplace(z,y,P)+\" \":r+=\" var \"+y+\" = \"+P+\"; \"+z+\" \",u&&(r+=\" if (!\"+f+\") break; \"),r+=\" }\"}return u&&(r+=\" \"+d+\" if (\"+m+\" == errors) {\"),r=e.util.cleanUpCode(r)}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r,i=\" \",o=e.level,n=e.dataLevel,s=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+\"/\"+t,p=!e.opts.allErrors,l=\"data\"+(n||\"\"),m=e.opts.$data&&s&&s.$data;m?(i+=\" var schema\"+o+\" = \"+e.util.getData(s.$data,n,e.dataPathArr)+\"; \",r=\"schema\"+o):r=s,i+=\"var division\"+o+\";if (\",m&&(i+=\" \"+r+\" !== undefined && ( typeof \"+r+\" != 'number' || \"),i+=\" (division\"+o+\" = \"+l+\" / \"+r+\", \",e.opts.multipleOfPrecision?i+=\" Math.abs(Math.round(division\"+o+\") - division\"+o+\") > 1e-\"+e.opts.multipleOfPrecision+\" \":i+=\" division\"+o+\" !== parseInt(division\"+o+\") \",i+=\" ) \",m&&(i+=\"  )  \"),i+=\" ) {   \";var h=h||[];h.push(i),i=\"\",!1!==e.createErrors?(i+=\" { keyword: 'multipleOf' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(u)+\" , params: { multipleOf: \"+r+\" } \",!1!==e.opts.messages&&(i+=\" , message: 'should be multiple of \",i+=m?\"' + \"+r:r+\"'\"),e.opts.verbose&&(i+=\" , schema:  \",i+=m?\"validate.schema\"+c:\"\"+s,i+=\"         , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+l+\" \"),i+=\" } \"):i+=\" {} \";var d=i;return i=h.pop(),!e.compositeRule&&p?e.async?i+=\" throw new ValidationError([\"+d+\"]); \":i+=\" validate.errors = [\"+d+\"]; return false; \":i+=\" var err = \"+d+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",i+=\"} \",p&&(i+=\" else { \"),i}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r=\" \",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+\"/\"+t,u=!e.opts.allErrors,p=\"data\"+(o||\"\"),l=\"errs__\"+i,m=e.util.copy(e);m.level++;var h=\"valid\"+m.level;if(e.util.schemaHasRules(n,e.RULES.all)){m.schema=n,m.schemaPath=s,m.errSchemaPath=c,r+=\" var \"+l+\" = errors;  \";var d,f=e.compositeRule;e.compositeRule=m.compositeRule=!0,m.createErrors=!1,m.opts.allErrors&&(d=m.opts.allErrors,m.opts.allErrors=!1),r+=\" \"+e.validate(m)+\" \",m.createErrors=!0,d&&(m.opts.allErrors=d),e.compositeRule=m.compositeRule=f,r+=\" if (\"+h+\") {   \";var g=g||[];g.push(r),r=\"\",!1!==e.createErrors?(r+=\" { keyword: 'not' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(c)+\" , params: {} \",!1!==e.opts.messages&&(r+=\" , message: 'should NOT be valid' \"),e.opts.verbose&&(r+=\" , schema: validate.schema\"+s+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+p+\" \"),r+=\" } \"):r+=\" {} \";var v=r;r=g.pop(),!e.compositeRule&&u?e.async?r+=\" throw new ValidationError([\"+v+\"]); \":r+=\" validate.errors = [\"+v+\"]; return false; \":r+=\" var err = \"+v+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",r+=\" } else {  errors = \"+l+\"; if (vErrors !== null) { if (\"+l+\") vErrors.length = \"+l+\"; else vErrors = null; } \",e.opts.allErrors&&(r+=\" } \")}else r+=\"  var err =   \",!1!==e.createErrors?(r+=\" { keyword: 'not' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(c)+\" , params: {} \",!1!==e.opts.messages&&(r+=\" , message: 'should NOT be valid' \"),e.opts.verbose&&(r+=\" , schema: validate.schema\"+s+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+p+\" \"),r+=\" } \"):r+=\" {} \",r+=\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",u&&(r+=\" if (false) { \");return r}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r=\" \",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+\"/\"+t,u=!e.opts.allErrors,p=\"data\"+(o||\"\"),l=\"valid\"+i,m=\"errs__\"+i,h=e.util.copy(e),d=\"\";h.level++;var f=\"valid\"+h.level,g=h.baseId,v=\"prevValid\"+i,y=\"passingSchemas\"+i;r+=\"var \"+m+\" = errors , \"+v+\" = false , \"+l+\" = false , \"+y+\" = null; \";var b=e.compositeRule;e.compositeRule=h.compositeRule=!0;var k=n;if(k)for(var x,w=-1,j=k.length-1;w<j;)x=k[w+=1],e.util.schemaHasRules(x,e.RULES.all)?(h.schema=x,h.schemaPath=s+\"[\"+w+\"]\",h.errSchemaPath=c+\"/\"+w,r+=\"  \"+e.validate(h)+\" \",h.baseId=g):r+=\" var \"+f+\" = true; \",w&&(r+=\" if (\"+f+\" && \"+v+\") { \"+l+\" = false; \"+y+\" = [\"+y+\", \"+w+\"]; } else { \",d+=\"}\"),r+=\" if (\"+f+\") { \"+l+\" = \"+v+\" = true; \"+y+\" = \"+w+\"; }\";return e.compositeRule=h.compositeRule=b,r+=d+\"if (!\"+l+\") {   var err =   \",!1!==e.createErrors?(r+=\" { keyword: 'oneOf' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(c)+\" , params: { passingSchemas: \"+y+\" } \",!1!==e.opts.messages&&(r+=\" , message: 'should match exactly one schema in oneOf' \"),e.opts.verbose&&(r+=\" , schema: validate.schema\"+s+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+p+\" \"),r+=\" } \"):r+=\" {} \",r+=\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",!e.compositeRule&&u&&(e.async?r+=\" throw new ValidationError(vErrors); \":r+=\" validate.errors = vErrors; return false; \"),r+=\"} else {  errors = \"+m+\"; if (vErrors !== null) { if (\"+m+\") vErrors.length = \"+m+\"; else vErrors = null; }\",e.opts.allErrors&&(r+=\" } \"),r}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r,i=\" \",o=e.level,n=e.dataLevel,s=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+\"/\"+t,p=!e.opts.allErrors,l=\"data\"+(n||\"\"),m=e.opts.$data&&s&&s.$data;m?(i+=\" var schema\"+o+\" = \"+e.util.getData(s.$data,n,e.dataPathArr)+\"; \",r=\"schema\"+o):r=s,i+=\"if ( \",m&&(i+=\" (\"+r+\" !== undefined && typeof \"+r+\" != 'string') || \"),i+=\" !\"+(m?\"(new RegExp(\"+r+\"))\":e.usePattern(s))+\".test(\"+l+\") ) {   \";var h=h||[];h.push(i),i=\"\",!1!==e.createErrors?(i+=\" { keyword: 'pattern' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(u)+\" , params: { pattern:  \",i+=m?\"\"+r:\"\"+e.util.toQuotedString(s),i+=\"  } \",!1!==e.opts.messages&&(i+=\" , message: 'should match pattern \\\"\",i+=m?\"' + \"+r+\" + '\":\"\"+e.util.escapeQuotes(s),i+=\"\\\"' \"),e.opts.verbose&&(i+=\" , schema:  \",i+=m?\"validate.schema\"+c:\"\"+e.util.toQuotedString(s),i+=\"         , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+l+\" \"),i+=\" } \"):i+=\" {} \";var d=i;return i=h.pop(),!e.compositeRule&&p?e.async?i+=\" throw new ValidationError([\"+d+\"]); \":i+=\" validate.errors = [\"+d+\"]; return false; \":i+=\" var err = \"+d+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",i+=\"} \",p&&(i+=\" else { \"),i}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r=\" \",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+\"/\"+t,u=!e.opts.allErrors,p=\"data\"+(o||\"\"),l=\"errs__\"+i,m=e.util.copy(e),h=\"\";m.level++;var d=\"valid\"+m.level,f=\"key\"+i,g=\"idx\"+i,v=m.dataLevel=e.dataLevel+1,y=\"data\"+v,b=\"dataProperties\"+i,k=Object.keys(n||{}),x=e.schema.patternProperties||{},w=Object.keys(x),j=e.schema.additionalProperties,_=k.length||w.length,S=!1===j,E=\"object\"==typeof j&&Object.keys(j).length,F=e.opts.removeAdditional,P=S||E||F,z=e.opts.ownProperties,C=e.baseId,A=e.schema.required;if(A&&(!e.opts.$data||!A.$data)&&A.length<e.opts.loopRequired)var O=e.util.toHash(A);if(r+=\"var \"+l+\" = errors;var \"+d+\" = true;\",z&&(r+=\" var \"+b+\" = undefined;\"),P){if(r+=z?\" \"+b+\" = \"+b+\" || Object.keys(\"+p+\"); for (var \"+g+\"=0; \"+g+\"<\"+b+\".length; \"+g+\"++) { var \"+f+\" = \"+b+\"[\"+g+\"]; \":\" for (var \"+f+\" in \"+p+\") { \",_){if(r+=\" var isAdditional\"+i+\" = !(false \",k.length)if(k.length>8)r+=\" || validate.schema\"+s+\".hasOwnProperty(\"+f+\") \";else{var q=k;if(q)for(var T=-1,B=q.length-1;T<B;)G=q[T+=1],r+=\" || \"+f+\" == \"+e.util.toQuotedString(G)+\" \"}if(w.length){var D=w;if(D)for(var I=-1,R=D.length-1;I<R;)ie=D[I+=1],r+=\" || \"+e.usePattern(ie)+\".test(\"+f+\") \"}r+=\" ); if (isAdditional\"+i+\") { \"}if(\"all\"==F)r+=\" delete \"+p+\"[\"+f+\"]; \";else{var N=e.errorPath,L=\"' + \"+f+\" + '\";if(e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers)),S)if(F)r+=\" delete \"+p+\"[\"+f+\"]; \";else{r+=\" \"+d+\" = false; \";var U=c;c=e.errSchemaPath+\"/additionalProperties\",(te=te||[]).push(r),r=\"\",!1!==e.createErrors?(r+=\" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(c)+\" , params: { additionalProperty: '\"+L+\"' } \",!1!==e.opts.messages&&(r+=\" , message: '\",e.opts._errorDataPathProperty?r+=\"is an invalid additional property\":r+=\"should NOT have additional properties\",r+=\"' \"),e.opts.verbose&&(r+=\" , schema: false , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+p+\" \"),r+=\" } \"):r+=\" {} \";var H=r;r=te.pop(),!e.compositeRule&&u?e.async?r+=\" throw new ValidationError([\"+H+\"]); \":r+=\" validate.errors = [\"+H+\"]; return false; \":r+=\" var err = \"+H+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",c=U,u&&(r+=\" break; \")}else if(E)if(\"failing\"==F){r+=\" var \"+l+\" = errors;  \";var $=e.compositeRule;e.compositeRule=m.compositeRule=!0,m.schema=j,m.schemaPath=e.schemaPath+\".additionalProperties\",m.errSchemaPath=e.errSchemaPath+\"/additionalProperties\",m.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers);var M=p+\"[\"+f+\"]\";m.dataPathArr[v]=f;var K=e.validate(m);m.baseId=C,e.util.varOccurences(K,y)<2?r+=\" \"+e.util.varReplace(K,y,M)+\" \":r+=\" var \"+y+\" = \"+M+\"; \"+K+\" \",r+=\" if (!\"+d+\") { errors = \"+l+\"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete \"+p+\"[\"+f+\"]; }  \",e.compositeRule=m.compositeRule=$}else{m.schema=j,m.schemaPath=e.schemaPath+\".additionalProperties\",m.errSchemaPath=e.errSchemaPath+\"/additionalProperties\",m.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers);M=p+\"[\"+f+\"]\";m.dataPathArr[v]=f;K=e.validate(m);m.baseId=C,e.util.varOccurences(K,y)<2?r+=\" \"+e.util.varReplace(K,y,M)+\" \":r+=\" var \"+y+\" = \"+M+\"; \"+K+\" \",u&&(r+=\" if (!\"+d+\") break; \")}e.errorPath=N}_&&(r+=\" } \"),r+=\" }  \",u&&(r+=\" if (\"+d+\") { \",h+=\"}\")}var V=e.opts.useDefaults&&!e.compositeRule;if(k.length){var Q=k;if(Q)for(var G,W=-1,Z=Q.length-1;W<Z;){var Y=n[G=Q[W+=1]];if(e.util.schemaHasRules(Y,e.RULES.all)){var J=e.util.getProperty(G),X=(M=p+J,V&&void 0!==Y.default);m.schema=Y,m.schemaPath=s+J,m.errSchemaPath=c+\"/\"+e.util.escapeFragment(G),m.errorPath=e.util.getPath(e.errorPath,G,e.opts.jsonPointers),m.dataPathArr[v]=e.util.toQuotedString(G);K=e.validate(m);if(m.baseId=C,e.util.varOccurences(K,y)<2){K=e.util.varReplace(K,y,M);var ee=M}else{ee=y;r+=\" var \"+y+\" = \"+M+\"; \"}if(X)r+=\" \"+K+\" \";else{if(O&&O[G]){r+=\" if ( \"+ee+\" === undefined \",z&&(r+=\" || ! Object.prototype.hasOwnProperty.call(\"+p+\", '\"+e.util.escapeQuotes(G)+\"') \"),r+=\") { \"+d+\" = false; \";N=e.errorPath,U=c;var te,ae=e.util.escapeQuotes(G);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(N,G,e.opts.jsonPointers)),c=e.errSchemaPath+\"/required\",(te=te||[]).push(r),r=\"\",!1!==e.createErrors?(r+=\" { keyword: 'required' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(c)+\" , params: { missingProperty: '\"+ae+\"' } \",!1!==e.opts.messages&&(r+=\" , message: '\",e.opts._errorDataPathProperty?r+=\"is a required property\":r+=\"should have required property \\\\'\"+ae+\"\\\\'\",r+=\"' \"),e.opts.verbose&&(r+=\" , schema: validate.schema\"+s+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+p+\" \"),r+=\" } \"):r+=\" {} \";H=r;r=te.pop(),!e.compositeRule&&u?e.async?r+=\" throw new ValidationError([\"+H+\"]); \":r+=\" validate.errors = [\"+H+\"]; return false; \":r+=\" var err = \"+H+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",c=U,e.errorPath=N,r+=\" } else { \"}else u?(r+=\" if ( \"+ee+\" === undefined \",z&&(r+=\" || ! Object.prototype.hasOwnProperty.call(\"+p+\", '\"+e.util.escapeQuotes(G)+\"') \"),r+=\") { \"+d+\" = true; } else { \"):(r+=\" if (\"+ee+\" !== undefined \",z&&(r+=\" &&   Object.prototype.hasOwnProperty.call(\"+p+\", '\"+e.util.escapeQuotes(G)+\"') \"),r+=\" ) { \");r+=\" \"+K+\" } \"}}u&&(r+=\" if (\"+d+\") { \",h+=\"}\")}}if(w.length){var re=w;if(re)for(var ie,oe=-1,ne=re.length-1;oe<ne;){Y=x[ie=re[oe+=1]];if(e.util.schemaHasRules(Y,e.RULES.all)){m.schema=Y,m.schemaPath=e.schemaPath+\".patternProperties\"+e.util.getProperty(ie),m.errSchemaPath=e.errSchemaPath+\"/patternProperties/\"+e.util.escapeFragment(ie),r+=z?\" \"+b+\" = \"+b+\" || Object.keys(\"+p+\"); for (var \"+g+\"=0; \"+g+\"<\"+b+\".length; \"+g+\"++) { var \"+f+\" = \"+b+\"[\"+g+\"]; \":\" for (var \"+f+\" in \"+p+\") { \",r+=\" if (\"+e.usePattern(ie)+\".test(\"+f+\")) { \",m.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers);M=p+\"[\"+f+\"]\";m.dataPathArr[v]=f;K=e.validate(m);m.baseId=C,e.util.varOccurences(K,y)<2?r+=\" \"+e.util.varReplace(K,y,M)+\" \":r+=\" var \"+y+\" = \"+M+\"; \"+K+\" \",u&&(r+=\" if (!\"+d+\") break; \"),r+=\" } \",u&&(r+=\" else \"+d+\" = true; \"),r+=\" }  \",u&&(r+=\" if (\"+d+\") { \",h+=\"}\")}}}return u&&(r+=\" \"+h+\" if (\"+l+\" == errors) {\"),r=e.util.cleanUpCode(r)}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r=\" \",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+\"/\"+t,u=!e.opts.allErrors,p=\"data\"+(o||\"\"),l=\"errs__\"+i,m=e.util.copy(e);m.level++;var h=\"valid\"+m.level;if(r+=\"var \"+l+\" = errors;\",e.util.schemaHasRules(n,e.RULES.all)){m.schema=n,m.schemaPath=s,m.errSchemaPath=c;var d=\"key\"+i,f=\"idx\"+i,g=\"i\"+i,v=\"' + \"+d+\" + '\",y=\"data\"+(m.dataLevel=e.dataLevel+1),b=\"dataProperties\"+i,k=e.opts.ownProperties,x=e.baseId;k&&(r+=\" var \"+b+\" = undefined; \"),r+=k?\" \"+b+\" = \"+b+\" || Object.keys(\"+p+\"); for (var \"+f+\"=0; \"+f+\"<\"+b+\".length; \"+f+\"++) { var \"+d+\" = \"+b+\"[\"+f+\"]; \":\" for (var \"+d+\" in \"+p+\") { \",r+=\" var startErrs\"+i+\" = errors; \";var w=d,j=e.compositeRule;e.compositeRule=m.compositeRule=!0;var _=e.validate(m);m.baseId=x,e.util.varOccurences(_,y)<2?r+=\" \"+e.util.varReplace(_,y,w)+\" \":r+=\" var \"+y+\" = \"+w+\"; \"+_+\" \",e.compositeRule=m.compositeRule=j,r+=\" if (!\"+h+\") { for (var \"+g+\"=startErrs\"+i+\"; \"+g+\"<errors; \"+g+\"++) { vErrors[\"+g+\"].propertyName = \"+d+\"; }   var err =   \",!1!==e.createErrors?(r+=\" { keyword: 'propertyNames' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(c)+\" , params: { propertyName: '\"+v+\"' } \",!1!==e.opts.messages&&(r+=\" , message: 'property name \\\\'\"+v+\"\\\\' is invalid' \"),e.opts.verbose&&(r+=\" , schema: validate.schema\"+s+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+p+\" \"),r+=\" } \"):r+=\" {} \",r+=\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",!e.compositeRule&&u&&(e.async?r+=\" throw new ValidationError(vErrors); \":r+=\" validate.errors = vErrors; return false; \"),u&&(r+=\" break; \"),r+=\" } }\"}return u&&(r+=\"  if (\"+l+\" == errors) {\"),r=e.util.cleanUpCode(r)}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r=\" \",i=e.level,o=e.dataLevel,n=e.schema[t],s=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+\"/\"+t,u=!e.opts.allErrors,p=\"data\"+(o||\"\"),l=\"valid\"+i,m=e.opts.$data&&n&&n.$data;m&&(r+=\" var schema\"+i+\" = \"+e.util.getData(n.$data,o,e.dataPathArr)+\"; \");var h=\"schema\"+i;if(!m)if(n.length<e.opts.loopRequired&&e.schema.properties&&Object.keys(e.schema.properties).length){var d=[],f=n;if(f)for(var g,v=-1,y=f.length-1;v<y;){g=f[v+=1];var b=e.schema.properties[g];b&&e.util.schemaHasRules(b,e.RULES.all)||(d[d.length]=g)}}else d=n;if(m||d.length){var k=e.errorPath,x=m||d.length>=e.opts.loopRequired,w=e.opts.ownProperties;if(u)if(r+=\" var missing\"+i+\"; \",x){m||(r+=\" var \"+h+\" = validate.schema\"+s+\"; \");var j=\"' + \"+(z=\"schema\"+i+\"[\"+(E=\"i\"+i)+\"]\")+\" + '\";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(k,z,e.opts.jsonPointers)),r+=\" var \"+l+\" = true; \",m&&(r+=\" if (schema\"+i+\" === undefined) \"+l+\" = true; else if (!Array.isArray(schema\"+i+\")) \"+l+\" = false; else {\"),r+=\" for (var \"+E+\" = 0; \"+E+\" < \"+h+\".length; \"+E+\"++) { \"+l+\" = \"+p+\"[\"+h+\"[\"+E+\"]] !== undefined \",w&&(r+=\" &&   Object.prototype.hasOwnProperty.call(\"+p+\", \"+h+\"[\"+E+\"]) \"),r+=\"; if (!\"+l+\") break; } \",m&&(r+=\"  }  \"),r+=\"  if (!\"+l+\") {   \",(P=P||[]).push(r),r=\"\",!1!==e.createErrors?(r+=\" { keyword: 'required' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(c)+\" , params: { missingProperty: '\"+j+\"' } \",!1!==e.opts.messages&&(r+=\" , message: '\",e.opts._errorDataPathProperty?r+=\"is a required property\":r+=\"should have required property \\\\'\"+j+\"\\\\'\",r+=\"' \"),e.opts.verbose&&(r+=\" , schema: validate.schema\"+s+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+p+\" \"),r+=\" } \"):r+=\" {} \";var _=r;r=P.pop(),!e.compositeRule&&u?e.async?r+=\" throw new ValidationError([\"+_+\"]); \":r+=\" validate.errors = [\"+_+\"]; return false; \":r+=\" var err = \"+_+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",r+=\" } else { \"}else{r+=\" if ( \";var S=d;if(S)for(var E=-1,F=S.length-1;E<F;){A=S[E+=1],E&&(r+=\" || \"),r+=\" ( ( \"+(B=p+(T=e.util.getProperty(A)))+\" === undefined \",w&&(r+=\" || ! Object.prototype.hasOwnProperty.call(\"+p+\", '\"+e.util.escapeQuotes(A)+\"') \"),r+=\") && (missing\"+i+\" = \"+e.util.toQuotedString(e.opts.jsonPointers?A:T)+\") ) \"}r+=\") {  \";var P;j=\"' + \"+(z=\"missing\"+i)+\" + '\";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(k,z,!0):k+\" + \"+z),(P=P||[]).push(r),r=\"\",!1!==e.createErrors?(r+=\" { keyword: 'required' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(c)+\" , params: { missingProperty: '\"+j+\"' } \",!1!==e.opts.messages&&(r+=\" , message: '\",e.opts._errorDataPathProperty?r+=\"is a required property\":r+=\"should have required property \\\\'\"+j+\"\\\\'\",r+=\"' \"),e.opts.verbose&&(r+=\" , schema: validate.schema\"+s+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+p+\" \"),r+=\" } \"):r+=\" {} \";_=r;r=P.pop(),!e.compositeRule&&u?e.async?r+=\" throw new ValidationError([\"+_+\"]); \":r+=\" validate.errors = [\"+_+\"]; return false; \":r+=\" var err = \"+_+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",r+=\" } else { \"}else if(x){m||(r+=\" var \"+h+\" = validate.schema\"+s+\"; \");var z;j=\"' + \"+(z=\"schema\"+i+\"[\"+(E=\"i\"+i)+\"]\")+\" + '\";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(k,z,e.opts.jsonPointers)),m&&(r+=\" if (\"+h+\" && !Array.isArray(\"+h+\")) {  var err =   \",!1!==e.createErrors?(r+=\" { keyword: 'required' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(c)+\" , params: { missingProperty: '\"+j+\"' } \",!1!==e.opts.messages&&(r+=\" , message: '\",e.opts._errorDataPathProperty?r+=\"is a required property\":r+=\"should have required property \\\\'\"+j+\"\\\\'\",r+=\"' \"),e.opts.verbose&&(r+=\" , schema: validate.schema\"+s+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+p+\" \"),r+=\" } \"):r+=\" {} \",r+=\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if (\"+h+\" !== undefined) { \"),r+=\" for (var \"+E+\" = 0; \"+E+\" < \"+h+\".length; \"+E+\"++) { if (\"+p+\"[\"+h+\"[\"+E+\"]] === undefined \",w&&(r+=\" || ! Object.prototype.hasOwnProperty.call(\"+p+\", \"+h+\"[\"+E+\"]) \"),r+=\") {  var err =   \",!1!==e.createErrors?(r+=\" { keyword: 'required' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(c)+\" , params: { missingProperty: '\"+j+\"' } \",!1!==e.opts.messages&&(r+=\" , message: '\",e.opts._errorDataPathProperty?r+=\"is a required property\":r+=\"should have required property \\\\'\"+j+\"\\\\'\",r+=\"' \"),e.opts.verbose&&(r+=\" , schema: validate.schema\"+s+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+p+\" \"),r+=\" } \"):r+=\" {} \",r+=\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } \",m&&(r+=\"  }  \")}else{var C=d;if(C)for(var A,O=-1,q=C.length-1;O<q;){A=C[O+=1];var T=e.util.getProperty(A),B=(j=e.util.escapeQuotes(A),p+T);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(k,A,e.opts.jsonPointers)),r+=\" if ( \"+B+\" === undefined \",w&&(r+=\" || ! Object.prototype.hasOwnProperty.call(\"+p+\", '\"+e.util.escapeQuotes(A)+\"') \"),r+=\") {  var err =   \",!1!==e.createErrors?(r+=\" { keyword: 'required' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(c)+\" , params: { missingProperty: '\"+j+\"' } \",!1!==e.opts.messages&&(r+=\" , message: '\",e.opts._errorDataPathProperty?r+=\"is a required property\":r+=\"should have required property \\\\'\"+j+\"\\\\'\",r+=\"' \"),e.opts.verbose&&(r+=\" , schema: validate.schema\"+s+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+p+\" \"),r+=\" } \"):r+=\" {} \",r+=\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } \"}}e.errorPath=k}else u&&(r+=\" if (true) {\");return r}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r,i=\" \",o=e.level,n=e.dataLevel,s=e.schema[t],c=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+\"/\"+t,p=!e.opts.allErrors,l=\"data\"+(n||\"\"),m=\"valid\"+o,h=e.opts.$data&&s&&s.$data;if(h?(i+=\" var schema\"+o+\" = \"+e.util.getData(s.$data,n,e.dataPathArr)+\"; \",r=\"schema\"+o):r=s,(s||h)&&!1!==e.opts.uniqueItems){h&&(i+=\" var \"+m+\"; if (\"+r+\" === false || \"+r+\" === undefined) \"+m+\" = true; else if (typeof \"+r+\" != 'boolean') \"+m+\" = false; else { \"),i+=\" var i = \"+l+\".length , \"+m+\" = true , j; if (i > 1) { \";var d=e.schema.items&&e.schema.items.type,f=Array.isArray(d);if(!d||\"object\"==d||\"array\"==d||f&&(d.indexOf(\"object\")>=0||d.indexOf(\"array\")>=0))i+=\" outer: for (;i--;) { for (j = i; j--;) { if (equal(\"+l+\"[i], \"+l+\"[j])) { \"+m+\" = false; break outer; } } } \";else{i+=\" var itemIndices = {}, item; for (;i--;) { var item = \"+l+\"[i]; \";var g=\"checkDataType\"+(f?\"s\":\"\");i+=\" if (\"+e.util[g](d,\"item\",!0)+\") continue; \",f&&(i+=\" if (typeof item == 'string') item = '\\\"' + item; \"),i+=\" if (typeof itemIndices[item] == 'number') { \"+m+\" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } \"}i+=\" } \",h&&(i+=\"  }  \"),i+=\" if (!\"+m+\") {   \";var v=v||[];v.push(i),i=\"\",!1!==e.createErrors?(i+=\" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(u)+\" , params: { i: i, j: j } \",!1!==e.opts.messages&&(i+=\" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' \"),e.opts.verbose&&(i+=\" , schema:  \",i+=h?\"validate.schema\"+c:\"\"+s,i+=\"         , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+l+\" \"),i+=\" } \"):i+=\" {} \";var y=i;i=v.pop(),!e.compositeRule&&p?e.async?i+=\" throw new ValidationError([\"+y+\"]); \":i+=\" validate.errors = [\"+y+\"]; return false; \":i+=\" var err = \"+y+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",i+=\" } \",p&&(i+=\" else { \")}else p&&(i+=\" if (true) { \");return i}},function(e,t,a){\"use strict\";var r=[\"multipleOf\",\"maximum\",\"exclusiveMaximum\",\"minimum\",\"exclusiveMinimum\",\"maxLength\",\"minLength\",\"pattern\",\"additionalItems\",\"maxItems\",\"minItems\",\"uniqueItems\",\"maxProperties\",\"minProperties\",\"required\",\"additionalProperties\",\"enum\",\"format\",\"const\"];e.exports=function(e,t){for(var a=0;a<t.length;a++){e=JSON.parse(JSON.stringify(e));var i,o=t[a].split(\"/\"),n=e;for(i=1;i<o.length;i++)n=n[o[i]];for(i=0;i<r.length;i++){var s=r[i],c=n[s];c&&(n[s]={anyOf:[c,{$ref:\"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#\"}]})}}return e}},function(e,t,a){\"use strict\";var r=a(47).MissingRef;e.exports=function e(t,a,i){var o=this;if(\"function\"!=typeof this._opts.loadSchema)throw new Error(\"options.loadSchema should be a function\");\"function\"==typeof a&&(i=a,a=void 0);var n=s(t).then(function(){var e=o._addSchema(t,void 0,a);return e.validate||function e(t){try{return o._compile(t)}catch(e){if(e instanceof r)return function i(e){var i=e.missingSchema;if(u(i))throw new Error(\"Schema \"+i+\" is loaded but \"+e.missingRef+\" cannot be resolved\");var n=o._loadingSchemas[i];n||(n=o._loadingSchemas[i]=o._opts.loadSchema(i)).then(c,c);return n.then(function(e){if(!u(i))return s(e).then(function(){u(i)||o.addSchema(e,i,void 0,a)})}).then(function(){return function e(t){try{return o._compile(t)}catch(e){if(e instanceof r)return i(e);throw e}function i(r){var i=r.missingSchema;if(u(i))throw new Error(\"Schema \"+i+\" is loaded but \"+r.missingRef+\" cannot be resolved\");var n=o._loadingSchemas[i];return n||(n=o._loadingSchemas[i]=o._opts.loadSchema(i)).then(c,c),n.then(function(e){if(!u(i))return s(e).then(function(){u(i)||o.addSchema(e,i,void 0,a)})}).then(function(){return e(t)});function c(){delete o._loadingSchemas[i]}function u(e){return o._refs[e]||o._schemas[e]}}}(t)});function c(){delete o._loadingSchemas[i]}function u(e){return o._refs[e]||o._schemas[e]}}(e);throw e}function i(r){var i=r.missingSchema;if(u(i))throw new Error(\"Schema \"+i+\" is loaded but \"+r.missingRef+\" cannot be resolved\");var n=o._loadingSchemas[i];return n||(n=o._loadingSchemas[i]=o._opts.loadSchema(i)).then(c,c),n.then(function(e){if(!u(i))return s(e).then(function(){u(i)||o.addSchema(e,i,void 0,a)})}).then(function(){return e(t)});function c(){delete o._loadingSchemas[i]}function u(e){return o._refs[e]||o._schemas[e]}}}(e)});i&&n.then(function(e){i(null,e)},i);return n;function s(t){var a=t.$schema;return a&&!o.getSchema(a)?e.call(o,{$ref:a},!0):Promise.resolve()}}},function(e,t,a){\"use strict\";var r=/^[a-z_$][a-z0-9_$-]*$/i,i=a(212);e.exports={add:function(e,t){var a=this.RULES;if(a.keywords[e])throw new Error(\"Keyword \"+e+\" is already defined\");if(!r.test(e))throw new Error(\"Keyword \"+e+\" is not a valid identifier\");if(t){if(t.macro&&void 0!==t.valid)throw new Error('\"valid\" option cannot be used with macro keywords');var o=t.type;if(Array.isArray(o)){var n,s=o.length;for(n=0;n<s;n++)l(o[n]);for(n=0;n<s;n++)p(e,o[n],t)}else o&&l(o),p(e,o,t);var c=!0===t.$data&&this._opts.$data;if(c&&!t.validate)throw new Error('$data support: \"validate\" function is not defined');var u=t.metaSchema;u&&(c&&(u={anyOf:[u,{$ref:\"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#\"}]}),t.validateSchema=this.compile(u,!0))}function p(e,t,r){for(var o,n=0;n<a.length;n++){var s=a[n];if(s.type==t){o=s;break}}o||(o={type:t,rules:[]},a.push(o));var c={keyword:e,definition:r,custom:!0,code:i,implements:r.implements};o.rules.push(c),a.custom[e]=c}function l(e){if(!a.types[e])throw new Error(\"Unknown type \"+e)}return a.keywords[e]=a.all[e]=!0,this},get:function(e){var t=this.RULES.custom[e];return t?t.definition:this.RULES.keywords[e]||!1},remove:function(e){var t=this.RULES;delete t.keywords[e],delete t.all[e],delete t.custom[e];for(var a=0;a<t.length;a++)for(var r=t[a].rules,i=0;i<r.length;i++)if(r[i].keyword==e){r.splice(i,1);break}return this}}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){var r,i,o=\" \",n=e.level,s=e.dataLevel,c=e.schema[t],u=e.schemaPath+e.util.getProperty(t),p=e.errSchemaPath+\"/\"+t,l=!e.opts.allErrors,m=\"data\"+(s||\"\"),h=\"valid\"+n,d=\"errs__\"+n,f=e.opts.$data&&c&&c.$data;f?(o+=\" var schema\"+n+\" = \"+e.util.getData(c.$data,s,e.dataPathArr)+\"; \",i=\"schema\"+n):i=c;var g,v,y,b,k,x=\"definition\"+n,w=this.definition,j=\"\";if(f&&w.$data){k=\"keywordValidate\"+n;var _=w.validateSchema;o+=\" var \"+x+\" = RULES.custom['\"+t+\"'].definition; var \"+k+\" = \"+x+\".validate;\"}else{if(!(b=e.useCustomRule(this,c,e.schema,e)))return;i=\"validate.schema\"+u,k=b.code,g=w.compile,v=w.inline,y=w.macro}var S=k+\".errors\",E=\"i\"+n,F=\"ruleErr\"+n,P=w.async;if(P&&!e.async)throw new Error(\"async keyword in sync schema\");if(v||y||(o+=S+\" = null;\"),o+=\"var \"+d+\" = errors;var \"+h+\";\",f&&w.$data&&(j+=\"}\",o+=\" if (\"+i+\" === undefined) { \"+h+\" = true; } else { \",_&&(j+=\"}\",o+=\" \"+h+\" = \"+x+\".validateSchema(\"+i+\"); if (\"+h+\") { \")),v)w.statements?o+=\" \"+b.validate+\" \":o+=\" \"+h+\" = \"+b.validate+\"; \";else if(y){var z=e.util.copy(e);j=\"\";z.level++;var C=\"valid\"+z.level;z.schema=b.validate,z.schemaPath=\"\";var A=e.compositeRule;e.compositeRule=z.compositeRule=!0;var O=e.validate(z).replace(/validate\\.schema/g,k);e.compositeRule=z.compositeRule=A,o+=\" \"+O}else{(D=D||[]).push(o),o=\"\",o+=\"  \"+k+\".call( \",e.opts.passContext?o+=\"this\":o+=\"self\",g||!1===w.schema?o+=\" , \"+m+\" \":o+=\" , \"+i+\" , \"+m+\" , validate.schema\"+e.schemaPath+\" \",o+=\" , (dataPath || '')\",'\"\"'!=e.errorPath&&(o+=\" + \"+e.errorPath);var q=s?\"data\"+(s-1||\"\"):\"parentData\",T=s?e.dataPathArr[s]:\"parentDataProperty\",B=o+=\" , \"+q+\" , \"+T+\" , rootData )  \";o=D.pop(),!1===w.errors?(o+=\" \"+h+\" = \",P&&(o+=\"await \"),o+=B+\"; \"):o+=P?\" var \"+(S=\"customErrors\"+n)+\" = null; try { \"+h+\" = await \"+B+\"; } catch (e) { \"+h+\" = false; if (e instanceof ValidationError) \"+S+\" = e.errors; else throw e; } \":\" \"+S+\" = null; \"+h+\" = \"+B+\"; \"}if(w.modifying&&(o+=\" if (\"+q+\") \"+m+\" = \"+q+\"[\"+T+\"];\"),o+=\"\"+j,w.valid)l&&(o+=\" if (true) { \");else{var D;o+=\" if ( \",void 0===w.valid?(o+=\" !\",o+=y?\"\"+C:\"\"+h):o+=\" \"+!w.valid+\" \",o+=\") { \",r=this.keyword,(D=D||[]).push(o),o=\"\",(D=D||[]).push(o),o=\"\",!1!==e.createErrors?(o+=\" { keyword: '\"+(r||\"custom\")+\"' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(p)+\" , params: { keyword: '\"+this.keyword+\"' } \",!1!==e.opts.messages&&(o+=\" , message: 'should pass \\\"\"+this.keyword+\"\\\" keyword validation' \"),e.opts.verbose&&(o+=\" , schema: validate.schema\"+u+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+m+\" \"),o+=\" } \"):o+=\" {} \";var I=o;o=D.pop(),!e.compositeRule&&l?e.async?o+=\" throw new ValidationError([\"+I+\"]); \":o+=\" validate.errors = [\"+I+\"]; return false; \":o+=\" var err = \"+I+\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \";var R=o;o=D.pop(),v?w.errors?\"full\"!=w.errors&&(o+=\"  for (var \"+E+\"=\"+d+\"; \"+E+\"<errors; \"+E+\"++) { var \"+F+\" = vErrors[\"+E+\"]; if (\"+F+\".dataPath === undefined) \"+F+\".dataPath = (dataPath || '') + \"+e.errorPath+\"; if (\"+F+\".schemaPath === undefined) { \"+F+'.schemaPath = \"'+p+'\"; } ',e.opts.verbose&&(o+=\" \"+F+\".schema = \"+i+\"; \"+F+\".data = \"+m+\"; \"),o+=\" } \"):!1===w.errors?o+=\" \"+R+\" \":(o+=\" if (\"+d+\" == errors) { \"+R+\" } else {  for (var \"+E+\"=\"+d+\"; \"+E+\"<errors; \"+E+\"++) { var \"+F+\" = vErrors[\"+E+\"]; if (\"+F+\".dataPath === undefined) \"+F+\".dataPath = (dataPath || '') + \"+e.errorPath+\"; if (\"+F+\".schemaPath === undefined) { \"+F+'.schemaPath = \"'+p+'\"; } ',e.opts.verbose&&(o+=\" \"+F+\".schema = \"+i+\"; \"+F+\".data = \"+m+\"; \"),o+=\" } } \"):y?(o+=\"   var err =   \",!1!==e.createErrors?(o+=\" { keyword: '\"+(r||\"custom\")+\"' , dataPath: (dataPath || '') + \"+e.errorPath+\" , schemaPath: \"+e.util.toQuotedString(p)+\" , params: { keyword: '\"+this.keyword+\"' } \",!1!==e.opts.messages&&(o+=\" , message: 'should pass \\\"\"+this.keyword+\"\\\" keyword validation' \"),e.opts.verbose&&(o+=\" , schema: validate.schema\"+u+\" , parentSchema: validate.schema\"+e.schemaPath+\" , data: \"+m+\" \"),o+=\" } \"):o+=\" {} \",o+=\";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; \",!e.compositeRule&&l&&(e.async?o+=\" throw new ValidationError(vErrors); \":o+=\" validate.errors = vErrors; return false; \")):!1===w.errors?o+=\" \"+R+\" \":(o+=\" if (Array.isArray(\"+S+\")) { if (vErrors === null) vErrors = \"+S+\"; else vErrors = vErrors.concat(\"+S+\"); errors = vErrors.length;  for (var \"+E+\"=\"+d+\"; \"+E+\"<errors; \"+E+\"++) { var \"+F+\" = vErrors[\"+E+\"]; if (\"+F+\".dataPath === undefined) \"+F+\".dataPath = (dataPath || '') + \"+e.errorPath+\";  \"+F+'.schemaPath = \"'+p+'\";  ',e.opts.verbose&&(o+=\" \"+F+\".schema = \"+i+\"; \"+F+\".data = \"+m+\"; \"),o+=\" } } else { \"+R+\" } \"),o+=\" } \",l&&(o+=\" else { \")}return o}},function(e){e.exports={$schema:\"http://json-schema.org/draft-07/schema#\",$id:\"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#\",description:\"Meta-schema for $data reference (JSON Schema extension proposal)\",type:\"object\",required:[\"$data\"],properties:{$data:{type:\"string\",anyOf:[{format:\"relative-json-pointer\"},{format:\"json-pointer\"}]}},additionalProperties:!1}},function(e){e.exports={$schema:\"http://json-schema.org/draft-07/schema#\",$id:\"http://json-schema.org/draft-07/schema#\",title:\"Core schema meta-schema\",definitions:{schemaArray:{type:\"array\",minItems:1,items:{$ref:\"#\"}},nonNegativeInteger:{type:\"integer\",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:\"#/definitions/nonNegativeInteger\"},{default:0}]},simpleTypes:{enum:[\"array\",\"boolean\",\"integer\",\"null\",\"number\",\"object\",\"string\"]},stringArray:{type:\"array\",items:{type:\"string\"},uniqueItems:!0,default:[]}},type:[\"object\",\"boolean\"],properties:{$id:{type:\"string\",format:\"uri-reference\"},$schema:{type:\"string\",format:\"uri\"},$ref:{type:\"string\",format:\"uri-reference\"},$comment:{type:\"string\"},title:{type:\"string\"},description:{type:\"string\"},default:!0,readOnly:{type:\"boolean\",default:!1},examples:{type:\"array\",items:!0},multipleOf:{type:\"number\",exclusiveMinimum:0},maximum:{type:\"number\"},exclusiveMaximum:{type:\"number\"},minimum:{type:\"number\"},exclusiveMinimum:{type:\"number\"},maxLength:{$ref:\"#/definitions/nonNegativeInteger\"},minLength:{$ref:\"#/definitions/nonNegativeIntegerDefault0\"},pattern:{type:\"string\",format:\"regex\"},additionalItems:{$ref:\"#\"},items:{anyOf:[{$ref:\"#\"},{$ref:\"#/definitions/schemaArray\"}],default:!0},maxItems:{$ref:\"#/definitions/nonNegativeInteger\"},minItems:{$ref:\"#/definitions/nonNegativeIntegerDefault0\"},uniqueItems:{type:\"boolean\",default:!1},contains:{$ref:\"#\"},maxProperties:{$ref:\"#/definitions/nonNegativeInteger\"},minProperties:{$ref:\"#/definitions/nonNegativeIntegerDefault0\"},required:{$ref:\"#/definitions/stringArray\"},additionalProperties:{$ref:\"#\"},definitions:{type:\"object\",additionalProperties:{$ref:\"#\"},default:{}},properties:{type:\"object\",additionalProperties:{$ref:\"#\"},default:{}},patternProperties:{type:\"object\",additionalProperties:{$ref:\"#\"},propertyNames:{format:\"regex\"},default:{}},dependencies:{type:\"object\",additionalProperties:{anyOf:[{$ref:\"#\"},{$ref:\"#/definitions/stringArray\"}]}},propertyNames:{$ref:\"#\"},const:!0,enum:{type:\"array\",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:\"#/definitions/simpleTypes\"},{type:\"array\",items:{$ref:\"#/definitions/simpleTypes\"},minItems:1,uniqueItems:!0}]},format:{type:\"string\"},contentMediaType:{type:\"string\"},contentEncoding:{type:\"string\"},if:{$ref:\"#\"},then:{$ref:\"#\"},else:{$ref:\"#\"},allOf:{$ref:\"#/definitions/schemaArray\"},anyOf:{$ref:\"#/definitions/schemaArray\"},oneOf:{$ref:\"#/definitions/schemaArray\"},not:{$ref:\"#\"}},default:!0}},function(e,t){function a(e){this.name=\"HARError\",this.message=\"validation failed\",this.errors=e,\"function\"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(\"validation failed\").stack}a.prototype=Error.prototype,e.exports=a},function(e,t,a){\"use strict\";e.exports={afterRequest:a(217),beforeRequest:a(218),browser:a(219),cache:a(220),content:a(221),cookie:a(222),creator:a(223),entry:a(224),har:a(225),header:a(226),log:a(227),page:a(228),pageTimings:a(229),postData:a(230),query:a(231),request:a(232),response:a(233),timings:a(234)}},function(e){e.exports={$id:\"afterRequest.json#\",$schema:\"http://json-schema.org/draft-06/schema#\",type:\"object\",optional:!0,required:[\"lastAccess\",\"eTag\",\"hitCount\"],properties:{expires:{type:\"string\",pattern:\"^(\\\\d{4})(-)?(\\\\d\\\\d)(-)?(\\\\d\\\\d)(T)?(\\\\d\\\\d)(:)?(\\\\d\\\\d)(:)?(\\\\d\\\\d)(\\\\.\\\\d+)?(Z|([+-])(\\\\d\\\\d)(:)?(\\\\d\\\\d))?\"},lastAccess:{type:\"string\",pattern:\"^(\\\\d{4})(-)?(\\\\d\\\\d)(-)?(\\\\d\\\\d)(T)?(\\\\d\\\\d)(:)?(\\\\d\\\\d)(:)?(\\\\d\\\\d)(\\\\.\\\\d+)?(Z|([+-])(\\\\d\\\\d)(:)?(\\\\d\\\\d))?\"},eTag:{type:\"string\"},hitCount:{type:\"integer\"},comment:{type:\"string\"}}}},function(e){e.exports={$id:\"beforeRequest.json#\",$schema:\"http://json-schema.org/draft-06/schema#\",type:\"object\",optional:!0,required:[\"lastAccess\",\"eTag\",\"hitCount\"],properties:{expires:{type:\"string\",pattern:\"^(\\\\d{4})(-)?(\\\\d\\\\d)(-)?(\\\\d\\\\d)(T)?(\\\\d\\\\d)(:)?(\\\\d\\\\d)(:)?(\\\\d\\\\d)(\\\\.\\\\d+)?(Z|([+-])(\\\\d\\\\d)(:)?(\\\\d\\\\d))?\"},lastAccess:{type:\"string\",pattern:\"^(\\\\d{4})(-)?(\\\\d\\\\d)(-)?(\\\\d\\\\d)(T)?(\\\\d\\\\d)(:)?(\\\\d\\\\d)(:)?(\\\\d\\\\d)(\\\\.\\\\d+)?(Z|([+-])(\\\\d\\\\d)(:)?(\\\\d\\\\d))?\"},eTag:{type:\"string\"},hitCount:{type:\"integer\"},comment:{type:\"string\"}}}},function(e){e.exports={$id:\"browser.json#\",$schema:\"http://json-schema.org/draft-06/schema#\",type:\"object\",required:[\"name\",\"version\"],properties:{name:{type:\"string\"},version:{type:\"string\"},comment:{type:\"string\"}}}},function(e){e.exports={$id:\"cache.json#\",$schema:\"http://json-schema.org/draft-06/schema#\",properties:{beforeRequest:{oneOf:[{type:\"null\"},{$ref:\"beforeRequest.json#\"}]},afterRequest:{oneOf:[{type:\"null\"},{$ref:\"afterRequest.json#\"}]},comment:{type:\"string\"}}}},function(e){e.exports={$id:\"content.json#\",$schema:\"http://json-schema.org/draft-06/schema#\",type:\"object\",required:[\"size\",\"mimeType\"],properties:{size:{type:\"integer\"},compression:{type:\"integer\"},mimeType:{type:\"string\"},text:{type:\"string\"},encoding:{type:\"string\"},comment:{type:\"string\"}}}},function(e){e.exports={$id:\"cookie.json#\",$schema:\"http://json-schema.org/draft-06/schema#\",type:\"object\",required:[\"name\",\"value\"],properties:{name:{type:\"string\"},value:{type:\"string\"},path:{type:\"string\"},domain:{type:\"string\"},expires:{type:[\"string\",\"null\"],format:\"date-time\"},httpOnly:{type:\"boolean\"},secure:{type:\"boolean\"},comment:{type:\"string\"}}}},function(e){e.exports={$id:\"creator.json#\",$schema:\"http://json-schema.org/draft-06/schema#\",type:\"object\",required:[\"name\",\"version\"],properties:{name:{type:\"string\"},version:{type:\"string\"},comment:{type:\"string\"}}}},function(e){e.exports={$id:\"entry.json#\",$schema:\"http://json-schema.org/draft-06/schema#\",type:\"object\",optional:!0,required:[\"startedDateTime\",\"time\",\"request\",\"response\",\"cache\",\"timings\"],properties:{pageref:{type:\"string\"},startedDateTime:{type:\"string\",format:\"date-time\",pattern:\"^(\\\\d{4})(-)?(\\\\d\\\\d)(-)?(\\\\d\\\\d)(T)?(\\\\d\\\\d)(:)?(\\\\d\\\\d)(:)?(\\\\d\\\\d)(\\\\.\\\\d+)?(Z|([+-])(\\\\d\\\\d)(:)?(\\\\d\\\\d))\"},time:{type:\"number\",min:0},request:{$ref:\"request.json#\"},response:{$ref:\"response.json#\"},cache:{$ref:\"cache.json#\"},timings:{$ref:\"timings.json#\"},serverIPAddress:{type:\"string\",oneOf:[{format:\"ipv4\"},{format:\"ipv6\"}]},connection:{type:\"string\"},comment:{type:\"string\"}}}},function(e){e.exports={$id:\"har.json#\",$schema:\"http://json-schema.org/draft-06/schema#\",type:\"object\",required:[\"log\"],properties:{log:{$ref:\"log.json#\"}}}},function(e){e.exports={$id:\"header.json#\",$schema:\"http://json-schema.org/draft-06/schema#\",type:\"object\",required:[\"name\",\"value\"],properties:{name:{type:\"string\"},value:{type:\"string\"},comment:{type:\"string\"}}}},function(e){e.exports={$id:\"log.json#\",$schema:\"http://json-schema.org/draft-06/schema#\",type:\"object\",required:[\"version\",\"creator\",\"entries\"],properties:{version:{type:\"string\"},creator:{$ref:\"creator.json#\"},browser:{$ref:\"browser.json#\"},pages:{type:\"array\",items:{$ref:\"page.json#\"}},entries:{type:\"array\",items:{$ref:\"entry.json#\"}},comment:{type:\"string\"}}}},function(e){e.exports={$id:\"page.json#\",$schema:\"http://json-schema.org/draft-06/schema#\",type:\"object\",optional:!0,required:[\"startedDateTime\",\"id\",\"title\",\"pageTimings\"],properties:{startedDateTime:{type:\"string\",format:\"date-time\",pattern:\"^(\\\\d{4})(-)?(\\\\d\\\\d)(-)?(\\\\d\\\\d)(T)?(\\\\d\\\\d)(:)?(\\\\d\\\\d)(:)?(\\\\d\\\\d)(\\\\.\\\\d+)?(Z|([+-])(\\\\d\\\\d)(:)?(\\\\d\\\\d))\"},id:{type:\"string\",unique:!0},title:{type:\"string\"},pageTimings:{$ref:\"pageTimings.json#\"},comment:{type:\"string\"}}}},function(e){e.exports={$id:\"pageTimings.json#\",$schema:\"http://json-schema.org/draft-06/schema#\",type:\"object\",properties:{onContentLoad:{type:\"number\",min:-1},onLoad:{type:\"number\",min:-1},comment:{type:\"string\"}}}},function(e){e.exports={$id:\"postData.json#\",$schema:\"http://json-schema.org/draft-06/schema#\",type:\"object\",optional:!0,required:[\"mimeType\"],properties:{mimeType:{type:\"string\"},text:{type:\"string\"},params:{type:\"array\",required:[\"name\"],properties:{name:{type:\"string\"},value:{type:\"string\"},fileName:{type:\"string\"},contentType:{type:\"string\"},comment:{type:\"string\"}}},comment:{type:\"string\"}}}},function(e){e.exports={$id:\"query.json#\",$schema:\"http://json-schema.org/draft-06/schema#\",type:\"object\",required:[\"name\",\"value\"],properties:{name:{type:\"string\"},value:{type:\"string\"},comment:{type:\"string\"}}}},function(e){e.exports={$id:\"request.json#\",$schema:\"http://json-schema.org/draft-06/schema#\",type:\"object\",required:[\"method\",\"url\",\"httpVersion\",\"cookies\",\"headers\",\"queryString\",\"headersSize\",\"bodySize\"],properties:{method:{type:\"string\"},url:{type:\"string\",format:\"uri\"},httpVersion:{type:\"string\"},cookies:{type:\"array\",items:{$ref:\"cookie.json#\"}},headers:{type:\"array\",items:{$ref:\"header.json#\"}},queryString:{type:\"array\",items:{$ref:\"query.json#\"}},postData:{$ref:\"postData.json#\"},headersSize:{type:\"integer\"},bodySize:{type:\"integer\"},comment:{type:\"string\"}}}},function(e){e.exports={$id:\"response.json#\",$schema:\"http://json-schema.org/draft-06/schema#\",type:\"object\",required:[\"status\",\"statusText\",\"httpVersion\",\"cookies\",\"headers\",\"content\",\"redirectURL\",\"headersSize\",\"bodySize\"],properties:{status:{type:\"integer\"},statusText:{type:\"string\"},httpVersion:{type:\"string\"},cookies:{type:\"array\",items:{$ref:\"cookie.json#\"}},headers:{type:\"array\",items:{$ref:\"header.json#\"}},content:{$ref:\"content.json#\"},redirectURL:{type:\"string\"},headersSize:{type:\"integer\"},bodySize:{type:\"integer\"},comment:{type:\"string\"}}}},function(e){e.exports={$id:\"timings.json#\",$schema:\"http://json-schema.org/draft-06/schema#\",required:[\"send\",\"wait\",\"receive\"],properties:{dns:{type:\"number\",min:-1},connect:{type:\"number\",min:-1},blocked:{type:\"number\",min:-1},send:{type:\"number\",min:-1},wait:{type:\"number\",min:-1},receive:{type:\"number\",min:-1},ssl:{type:\"number\",min:-1},comment:{type:\"string\"}}}},function(e){e.exports={$schema:\"http://json-schema.org/draft-06/schema#\",$id:\"http://json-schema.org/draft-06/schema#\",title:\"Core schema meta-schema\",definitions:{schemaArray:{type:\"array\",minItems:1,items:{$ref:\"#\"}},nonNegativeInteger:{type:\"integer\",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:\"#/definitions/nonNegativeInteger\"},{default:0}]},simpleTypes:{enum:[\"array\",\"boolean\",\"integer\",\"null\",\"number\",\"object\",\"string\"]},stringArray:{type:\"array\",items:{type:\"string\"},uniqueItems:!0,default:[]}},type:[\"object\",\"boolean\"],properties:{$id:{type:\"string\",format:\"uri-reference\"},$schema:{type:\"string\",format:\"uri\"},$ref:{type:\"string\",format:\"uri-reference\"},title:{type:\"string\"},description:{type:\"string\"},default:{},examples:{type:\"array\",items:{}},multipleOf:{type:\"number\",exclusiveMinimum:0},maximum:{type:\"number\"},exclusiveMaximum:{type:\"number\"},minimum:{type:\"number\"},exclusiveMinimum:{type:\"number\"},maxLength:{$ref:\"#/definitions/nonNegativeInteger\"},minLength:{$ref:\"#/definitions/nonNegativeIntegerDefault0\"},pattern:{type:\"string\",format:\"regex\"},additionalItems:{$ref:\"#\"},items:{anyOf:[{$ref:\"#\"},{$ref:\"#/definitions/schemaArray\"}],default:{}},maxItems:{$ref:\"#/definitions/nonNegativeInteger\"},minItems:{$ref:\"#/definitions/nonNegativeIntegerDefault0\"},uniqueItems:{type:\"boolean\",default:!1},contains:{$ref:\"#\"},maxProperties:{$ref:\"#/definitions/nonNegativeInteger\"},minProperties:{$ref:\"#/definitions/nonNegativeIntegerDefault0\"},required:{$ref:\"#/definitions/stringArray\"},additionalProperties:{$ref:\"#\"},definitions:{type:\"object\",additionalProperties:{$ref:\"#\"},default:{}},properties:{type:\"object\",additionalProperties:{$ref:\"#\"},default:{}},patternProperties:{type:\"object\",additionalProperties:{$ref:\"#\"},default:{}},dependencies:{type:\"object\",additionalProperties:{anyOf:[{$ref:\"#\"},{$ref:\"#/definitions/stringArray\"}]}},propertyNames:{$ref:\"#\"},const:{},enum:{type:\"array\",minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:\"#/definitions/simpleTypes\"},{type:\"array\",items:{$ref:\"#/definitions/simpleTypes\"},minItems:1,uniqueItems:!0}]},format:{type:\"string\"},allOf:{$ref:\"#/definitions/schemaArray\"},anyOf:{$ref:\"#/definitions/schemaArray\"},oneOf:{$ref:\"#/definitions/schemaArray\"},not:{$ref:\"#\"}},default:{}}},function(e,t,a){\"use strict\";var r=a(44),i=a(48),o=a(36),n=o.md5,s=o.toBase64;function c(e){this.request=e,this.hasAuth=!1,this.sentAuth=!1,this.bearerToken=null,this.user=null,this.pass=null}c.prototype.basic=function(e,t,a){if((\"string\"!=typeof e||void 0!==t&&\"string\"!=typeof t)&&this.request.emit(\"error\",new Error(\"auth() received invalid user or password\")),this.user=e,this.pass=t,this.hasAuth=!0,a||void 0===a){var r=\"Basic \"+s(e+\":\"+(t||\"\"));return this.sentAuth=!0,r}},c.prototype.bearer=function(e,t){if(this.bearerToken=e,this.hasAuth=!0,t||void 0===t){\"function\"==typeof e&&(e=e());var a=\"Bearer \"+(e||\"\");return this.sentAuth=!0,a}},c.prototype.digest=function(e,t,a){for(var r={},o=/([a-z0-9_-]+)=(?:\"([^\"]+)\"|([a-z0-9_-]+))/gi;;){var s=o.exec(a);if(!s)break;r[s[1]]=s[2]||s[3]}var c=/(^|,)\\s*auth\\s*($|,)/.test(r.qop)&&\"auth\",u=c&&\"00000001\",p=c&&i().replace(/-/g,\"\"),l=function(e,t,a,r,i,o){var s=n(t+\":\"+a+\":\"+r);return e&&\"md5-sess\"===e.toLowerCase()?n(s+\":\"+i+\":\"+o):s}(r.algorithm,this.user,r.realm,this.pass,r.nonce,p),m=n(e+\":\"+t),h=n(c?l+\":\"+r.nonce+\":\"+u+\":\"+p+\":\"+c+\":\"+m:l+\":\"+r.nonce+\":\"+m),d={username:this.user,realm:r.realm,nonce:r.nonce,uri:t,qop:c,response:h,nc:u,cnonce:p,algorithm:r.algorithm,opaque:r.opaque};for(var f in a=[],d)d[f]&&(\"qop\"===f||\"nc\"===f||\"algorithm\"===f?a.push(f+\"=\"+d[f]):a.push(f+'=\"'+d[f]+'\"'));return a=\"Digest \"+a.join(\", \"),this.sentAuth=!0,a},c.prototype.onRequest=function(e,t,a,r){var i,o=this.request;void 0===r&&void 0===e?this.request.emit(\"error\",new Error(\"no auth mechanism defined\")):i=void 0!==r?this.bearer(r,a):this.basic(e,t,a),i&&o.setHeader(\"authorization\",i)},c.prototype.onResponse=function(e){var t=this.request;if(!this.hasAuth||this.sentAuth)return null;var a=r(e.headers).get(\"www-authenticate\"),i=a&&a.split(\" \")[0].toLowerCase();switch(t.debug(\"reauth\",i),i){case\"basic\":return this.basic(this.user,this.pass,!0);case\"bearer\":return this.bearer(this.bearerToken,!0);case\"digest\":return this.digest(t.method,t.path,a)}},t.Auth=c},function(e,t,a){var r=a(3);e.exports=function(){return r.randomBytes(16)}},function(e,t){for(var a=[],r=0;r<256;++r)a[r]=(r+256).toString(16).substr(1);e.exports=function(e,t){var r=t||0,i=a;return[i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],\"-\",i[e[r++]],i[e[r++]],\"-\",i[e[r++]],i[e[r++]],\"-\",i[e[r++]],i[e[r++]],\"-\",i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]]].join(\"\")}},function(e,t,a){\"use strict\";var r=a(13),i=a(82),o=a(44),n=a(48),s=a(240),c=a(3),u=a(19).Buffer;function p(e){this.request=e,this.params=null}p.prototype.buildParams=function(e,t,a,r,i,o){var c={};for(var u in e)c[\"oauth_\"+u]=e[u];c.oauth_version||(c.oauth_version=\"1.0\"),c.oauth_timestamp||(c.oauth_timestamp=Math.floor(Date.now()/1e3).toString()),c.oauth_nonce||(c.oauth_nonce=n().replace(/-/g,\"\")),c.oauth_signature_method||(c.oauth_signature_method=\"HMAC-SHA1\");var p=c.oauth_consumer_secret||c.oauth_private_key;delete c.oauth_consumer_secret,delete c.oauth_private_key;var l=c.oauth_token_secret;delete c.oauth_token_secret;var m=c.oauth_realm;delete c.oauth_realm,delete c.oauth_transport_method;var h=t.protocol+\"//\"+t.host+t.pathname,d=o.parse([].concat(r,i,o.stringify(c)).join(\"&\"));return c.oauth_signature=s.sign(c.oauth_signature_method,a,h,d,p,l),m&&(c.realm=m),c},p.prototype.buildBodyHash=function(e,t){[\"HMAC-SHA1\",\"RSA-SHA1\"].indexOf(e.signature_method||\"HMAC-SHA1\")<0&&this.request.emit(\"error\",new Error(\"oauth: \"+e.signature_method+\" signature_method not supported with body_hash signing.\"));var a=c.createHash(\"sha1\");a.update(t||\"\");var r=a.digest(\"hex\");return u.from(r,\"hex\").toString(\"base64\")},p.prototype.concatParams=function(e,t,a){a=a||\"\";var r=Object.keys(e).filter(function(e){return\"realm\"!==e&&\"oauth_signature\"!==e}).sort();return e.realm&&r.splice(0,0,\"realm\"),r.push(\"oauth_signature\"),r.map(function(t){return t+\"=\"+a+s.rfc3986(e[t])+a}).join(t)},p.prototype.onRequest=function(e){this.params=e;var t,a,n=this.request.uri||{},s=this.request.method||\"\",c=o(this.request.headers),u=this.request.body||\"\",p=this.request.qsLib||i,l=c.get(\"content-type\")||\"\",m=\"application/x-www-form-urlencoded\",h=e.transport_method||\"header\";l.slice(0,m.length)===m&&(l=m,t=u),n.query&&(a=n.query),\"body\"!==h||\"POST\"===s&&l===m||this.request.emit(\"error\",new Error(\"oauth: transport_method of body requires POST and content-type \"+m)),t||\"boolean\"!=typeof e.body_hash||(e.body_hash=this.buildBodyHash(e,this.request.body.toString()));var d=this.buildParams(e,n,s,a,t,p);switch(h){case\"header\":this.request.setHeader(\"Authorization\",\"OAuth \"+this.concatParams(d,\",\",'\"'));break;case\"query\":var f=this.request.uri.href+=(a?\"&\":\"?\")+this.concatParams(d,\"&\");this.request.uri=r.parse(f),this.request.path=this.request.uri.path;break;case\"body\":this.request.body=(t?t+\"&\":\"\")+this.concatParams(d,\"&\");break;default:this.request.emit(\"error\",new Error(\"oauth: transport_method invalid\"))}},t.OAuth=p},function(e,t,a){var r=a(3);function i(e,t,a){return r.createHmac(a,e).update(t).digest(\"base64\")}function o(e){return encodeURIComponent(e).replace(/!/g,\"%21\").replace(/\\*/g,\"%2A\").replace(/\\(/g,\"%28\").replace(/\\)/g,\"%29\").replace(/'/g,\"%27\")}function n(e,t){return e>t?1:e<t?-1:0}function s(e,t,a){var r=function(e){var t,a,r=[];for(t in e)if(a=e[t],Array.isArray(a))for(var i=0;i<a.length;i++)r.push([t,a[i]]);else if(\"object\"==typeof a)for(var o in a)r.push([t+\"[\"+o+\"]\",a[o]]);else r.push([t,a]);return r}(a).map(function(e){return[o(e[0]),o(e[1]||\"\")]}).sort(function(e,t){return n(e[0],t[0])||n(e[1],t[1])}).map(function(e){return e.join(\"=\")}).join(\"&\");return[o(e?e.toUpperCase():\"GET\"),o(t),o(r)].join(\"&\")}function c(e,t,a,r,n){var c=s(e,t,a);return i([r||\"\",n||\"\"].map(o).join(\"&\"),c,\"sha1\")}function u(e,t,a,r,n){var c=s(e,t,a);return i([r||\"\",n||\"\"].map(o).join(\"&\"),c,\"sha256\")}function p(e,t,a,i,o){return function(e,t){return r.createSign(\"RSA-SHA1\").update(t).sign(e,\"base64\")}(i||\"\",s(e,t,a))}function l(e,t){return[e||\"\",t||\"\"].map(o).join(\"&\")}t.hmacsign=c,t.hmacsign256=u,t.rsasign=p,t.plaintext=l,t.sign=function(e,t,a,r,i,o){var n,s=1;switch(e){case\"RSA-SHA1\":n=p;break;case\"HMAC-SHA1\":n=c;break;case\"HMAC-SHA256\":n=u;break;case\"PLAINTEXT\":n=l,s=4;break;default:throw new Error(\"Signature method not supported: \"+e)}return n.apply(null,[].slice.call(arguments,s))},t.rfc3986=o,t.generateBase=s},function(e,t,a){\"use strict\";var r=a(3);t.calculateMac=function(e,t){var a=\"hawk.1.header\\n\"+t.ts+\"\\n\"+t.nonce+\"\\n\"+(t.method||\"\").toUpperCase()+\"\\n\"+t.resource+\"\\n\"+t.host.toLowerCase()+\"\\n\"+t.port+\"\\n\"+(t.hash||\"\")+\"\\n\";return t.ext&&(a+=t.ext.replace(\"\\\\\",\"\\\\\\\\\").replace(\"\\n\",\"\\\\n\")),a+=\"\\n\",t.app&&(a=a+t.app+\"\\n\"+(t.dlg||\"\")+\"\\n\"),r.createHmac(e.algorithm,e.key).update(a).digest(\"base64\")},t.header=function(e,a,i){var o=i.timestamp||Math.floor((Date.now()+(i.localtimeOffsetMsec||0))/1e3),n=i.credentials;if(!(n&&n.id&&n.key&&n.algorithm))return\"\";if(-1===[\"sha1\",\"sha256\"].indexOf(n.algorithm))return\"\";var s,c,u,p,l,m,h={ts:o,nonce:i.nonce||(s=6,c=6*(s+1),r.randomBytes(Math.ceil(c/8)).toString(\"base64\").replace(/\\+/g,\"-\").replace(/\\//g,\"_\").replace(/=/g,\"\").slice(0,s)),method:a,resource:e.pathname+(e.search||\"\"),host:e.hostname,port:e.port||(\"http:\"===e.protocol?80:443),hash:i.hash,ext:i.ext,app:i.app,dlg:i.dlg};h.hash||!i.payload&&\"\"!==i.payload||(h.hash=(u=i.payload,p=n.algorithm,l=i.contentType,(m=r.createHash(p)).update(\"hawk.1.payload\\n\"),m.update((l?l.split(\";\")[0].trim().toLowerCase():\"\")+\"\\n\"),m.update(u||\"\"),m.update(\"\\n\"),m.digest(\"base64\")));var d=t.calculateMac(n,h),f=null!==h.ext&&void 0!==h.ext&&\"\"!==h.ext,g='Hawk id=\"'+n.id+'\", ts=\"'+h.ts+'\", nonce=\"'+h.nonce+(h.hash?'\", hash=\"'+h.hash:\"\")+(f?'\", ext=\"'+h.ext.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"'):\"\")+'\", mac=\"'+d+'\"';return h.app&&(g=g+', app=\"'+h.app+(h.dlg?'\", dlg=\"'+h.dlg:\"\")+'\"'),g}},function(e,t,a){\"use strict\";var r=a(48),i=a(73),o=a(81),n=a(19).Buffer;function s(e){this.request=e,this.boundary=r(),this.chunked=!1,this.body=null}s.prototype.isChunked=function(e){var t=this,a=!1,r=e.data||e;return r.forEach||t.request.emit(\"error\",new Error(\"Argument error, options.multipart.\")),void 0!==e.chunked&&(a=e.chunked),\"chunked\"===t.request.getHeader(\"transfer-encoding\")&&(a=!0),a||r.forEach(function(e){void 0===e.body&&t.request.emit(\"error\",new Error(\"Body attribute missing in multipart.\")),o(e.body)&&(a=!0)}),a},s.prototype.setHeaders=function(e){e&&!this.request.hasHeader(\"transfer-encoding\")&&this.request.setHeader(\"transfer-encoding\",\"chunked\");var t=this.request.getHeader(\"content-type\");t&&-1!==t.indexOf(\"multipart\")?-1!==t.indexOf(\"boundary\")?this.boundary=t.replace(/.*boundary=([^\\s;]+).*/,\"$1\"):this.request.setHeader(\"content-type\",t+\"; boundary=\"+this.boundary):this.request.setHeader(\"content-type\",\"multipart/related; boundary=\"+this.boundary)},s.prototype.build=function(e,t){var a=this,r=t?new i:[];function o(e){return\"number\"==typeof e&&(e=e.toString()),t?r.append(e):r.push(n.from(e))}return a.request.preambleCRLF&&o(\"\\r\\n\"),e.forEach(function(e){var t=\"--\"+a.boundary+\"\\r\\n\";Object.keys(e).forEach(function(a){\"body\"!==a&&(t+=a+\": \"+e[a]+\"\\r\\n\")}),o(t+=\"\\r\\n\"),o(e.body),o(\"\\r\\n\")}),o(\"--\"+a.boundary+\"--\"),a.request.postambleCRLF&&o(\"\\r\\n\"),r},s.prototype.onRequest=function(e){var t=this.isChunked(e),a=e.data||e;this.setHeaders(t),this.chunked=t,this.body=this.build(a,t)},t.Multipart=s},function(e,t,a){\"use strict\";var r=a(13),i=/^https?:/;function o(e){this.request=e,this.followRedirect=!0,this.followRedirects=!0,this.followAllRedirects=!1,this.followOriginalHttpMethod=!1,this.allowRedirect=function(){return!0},this.maxRedirects=10,this.redirects=[],this.redirectsFollowed=0,this.removeRefererHeader=!1}o.prototype.onRequest=function(e){void 0!==e.maxRedirects&&(this.maxRedirects=e.maxRedirects),\"function\"==typeof e.followRedirect&&(this.allowRedirect=e.followRedirect),void 0!==e.followRedirect&&(this.followRedirects=!!e.followRedirect),void 0!==e.followAllRedirects&&(this.followAllRedirects=e.followAllRedirects),(this.followRedirects||this.followAllRedirects)&&(this.redirects=this.redirects||[]),void 0!==e.removeRefererHeader&&(this.removeRefererHeader=e.removeRefererHeader),void 0!==e.followOriginalHttpMethod&&(this.followOriginalHttpMethod=e.followOriginalHttpMethod)},o.prototype.redirectTo=function(e){var t=this.request,a=null;if(e.statusCode>=300&&e.statusCode<400&&e.caseless.has(\"location\")){var r=e.caseless.get(\"location\");if(t.debug(\"redirect\",r),this.followAllRedirects)a=r;else if(this.followRedirects)switch(t.method){case\"PATCH\":case\"PUT\":case\"POST\":case\"DELETE\":break;default:a=r}}else if(401===e.statusCode){var i=t._auth.onResponse(e);i&&(t.setHeader(\"authorization\",i),a=t.uri)}return a},o.prototype.onResponse=function(e){var t=this.request,a=this.redirectTo(e);if(!a||!this.allowRedirect.call(t,e))return!1;if(t.debug(\"redirect to\",a),e.resume&&e.resume(),this.redirectsFollowed>=this.maxRedirects)return t.emit(\"error\",new Error(\"Exceeded maxRedirects. Probably stuck in a redirect loop \"+t.uri.href)),!1;this.redirectsFollowed+=1,i.test(a)||(a=r.resolve(t.uri.href,a));var o=t.uri;return t.uri=r.parse(a),t.uri.protocol!==o.protocol&&delete t.agent,this.redirects.push({statusCode:e.statusCode,redirectUri:a}),this.followAllRedirects&&\"HEAD\"!==t.method&&401!==e.statusCode&&307!==e.statusCode&&(t.method=this.followOriginalHttpMethod?t.method:\"GET\"),delete t.src,delete t.req,delete t._started,401!==e.statusCode&&307!==e.statusCode&&(delete t.body,delete t._form,t.headers&&(t.removeHeader(\"host\"),t.removeHeader(\"content-type\"),t.removeHeader(\"content-length\"),t.uri.hostname!==t.originalHost.split(\":\")[0]&&t.removeHeader(\"authorization\"))),this.removeRefererHeader||t.setHeader(\"referer\",o.href),t.emit(\"redirect\"),t.init(),!0},t.Redirect=o},function(e,t,a){\"use strict\";var r=a(13),i=a(245),o=[\"accept\",\"accept-charset\",\"accept-encoding\",\"accept-language\",\"accept-ranges\",\"cache-control\",\"content-encoding\",\"content-language\",\"content-location\",\"content-md5\",\"content-range\",\"content-type\",\"connection\",\"date\",\"expect\",\"max-forwards\",\"pragma\",\"referer\",\"te\",\"user-agent\",\"via\"],n=[\"proxy-authorization\"];function s(e){this.request=e,this.proxyHeaderWhiteList=o,this.proxyHeaderExclusiveList=[],void 0!==e.tunnel&&(this.tunnelOverride=e.tunnel)}s.prototype.isEnabled=function(){var e=this.request;return void 0!==this.tunnelOverride?this.tunnelOverride:\"https:\"===e.uri.protocol},s.prototype.setup=function(e){var t=this.request;if(e=e||{},\"string\"==typeof t.proxy&&(t.proxy=r.parse(t.proxy)),!t.proxy||!t.tunnel)return!1;e.proxyHeaderWhiteList&&(this.proxyHeaderWhiteList=e.proxyHeaderWhiteList),e.proxyHeaderExclusiveList&&(this.proxyHeaderExclusiveList=e.proxyHeaderExclusiveList);var a,o,s,c,u=this.proxyHeaderExclusiveList.concat(n),p=this.proxyHeaderWhiteList.concat(u),l=function(e,t){var a=t.reduce(function(e,t){return e[t.toLowerCase()]=!0,e},{});return Object.keys(e).filter(function(e){return a[e.toLowerCase()]}).reduce(function(t,a){return t[a]=e[a],t},{})}(t.headers,p);l.host=(a=t.uri,o=a.port,s=a.protocol,c=a.hostname+\":\",c+=o||(\"https:\"===s?\"443\":\"80\")),u.forEach(t.removeHeader,t);var m=function(e){var t=function(e,t){return[\"https:\"===e.protocol?\"https\":\"http\",\"https:\"===t.protocol?\"Https\":\"Http\"].join(\"Over\")}(e.uri,e.proxy);return i[t]}(t),h=function(e,t){var a=e.proxy;return{proxy:{host:a.hostname,port:+a.port,proxyAuth:a.auth,headers:t},headers:e.headers,ca:e.ca,cert:e.cert,key:e.key,passphrase:e.passphrase,pfx:e.pfx,ciphers:e.ciphers,rejectUnauthorized:e.rejectUnauthorized,secureOptions:e.secureOptions,secureProtocol:e.secureProtocol}}(t,l);return t.agent=m(h),!0},s.defaultProxyHeaderWhiteList=o,s.defaultProxyHeaderExclusiveList=n,t.Tunnel=s},function(e,t,a){\"use strict\";a(35);var r,i=a(72),o=a(20),n=a(29),s=a(246),c=a(21),u=a(4),p=a(19).Buffer;function l(e){var t=this;t.options=e||{},t.proxyOptions=t.options.proxy||{},t.maxSockets=t.options.maxSockets||o.Agent.defaultMaxSockets,t.requests=[],t.sockets=[],t.on(\"free\",function(e,a,r){for(var i=0,o=t.requests.length;i<o;++i){var n=t.requests[i];if(n.host===a&&n.port===r)return t.requests.splice(i,1),void n.request.onSocket(e)}e.destroy(),t.removeSocket(e)})}function m(e,t){var a=this;l.prototype.createSocket.call(a,e,function(r){var o=i.connect(0,h({},a.options,{servername:e.host,socket:r}));a.sockets[a.sockets.indexOf(r)]=o,t(o)})}function h(e){for(var t=1,a=arguments.length;t<a;++t){var r=arguments[t];if(\"object\"==typeof r)for(var i=Object.keys(r),o=0,n=i.length;o<n;++o){var s=i[o];void 0!==r[s]&&(e[s]=r[s])}}return e}t.httpOverHttp=function(e){var t=new l(e);return t.request=o.request,t},t.httpsOverHttp=function(e){var t=new l(e);return t.request=o.request,t.createSocket=m,t.defaultPort=443,t},t.httpOverHttps=function(e){var t=new l(e);return t.request=n.request,t},t.httpsOverHttps=function(e){var t=new l(e);return t.request=n.request,t.createSocket=m,t.defaultPort=443,t},u.inherits(l,s.EventEmitter),l.prototype.addRequest=function(e,t){\"string\"==typeof t&&(t={host:t,port:arguments[2],path:arguments[3]}),this.sockets.length>=this.maxSockets?this.requests.push({host:t.host,port:t.port,request:e}):this.createConnection({host:t.host,port:t.port,request:e})},l.prototype.createConnection=function(e){var t=this;t.createSocket(e,function(a){function r(){t.emit(\"free\",a,e.host,e.port)}function i(e){t.removeSocket(a),a.removeListener(\"free\",r),a.removeListener(\"close\",i),a.removeListener(\"agentRemove\",i)}a.on(\"free\",r),a.on(\"close\",i),a.on(\"agentRemove\",i),e.request.onSocket(a)})},l.prototype.createSocket=function(e,t){var a=this,i={};a.sockets.push(i);var o=h({},a.proxyOptions,{method:\"CONNECT\",path:e.host+\":\"+e.port,agent:!1});o.proxyAuth&&(o.headers=o.headers||{},o.headers[\"Proxy-Authorization\"]=\"Basic \"+p.from(o.proxyAuth).toString(\"base64\")),r(\"making CONNECT request\");var n=a.request(o);function s(o,s,u){if(n.removeAllListeners(),s.removeAllListeners(),200===o.statusCode)c.equal(u.length,0),r(\"tunneling connection has established\"),a.sockets[a.sockets.indexOf(i)]=s,t(s);else{r(\"tunneling socket could not be established, statusCode=%d\",o.statusCode);var p=new Error(\"tunneling socket could not be established, statusCode=\"+o.statusCode);p.code=\"ECONNRESET\",e.request.emit(\"error\",p),a.removeSocket(i)}}n.useChunkedEncodingByDefault=!1,n.once(\"response\",function(e){e.upgrade=!0}),n.once(\"upgrade\",function(e,t,a){process.nextTick(function(){s(e,t,a)})}),n.once(\"connect\",s),n.once(\"error\",function(t){n.removeAllListeners(),r(\"tunneling socket could not be established, cause=%s\\n\",t.message,t.stack);var o=new Error(\"tunneling socket could not be established, cause=\"+t.message);o.code=\"ECONNRESET\",e.request.emit(\"error\",o),a.removeSocket(i)}),n.end()},l.prototype.removeSocket=function(e){var t=this.sockets.indexOf(e);if(-1!==t){this.sockets.splice(t,1);var a=this.requests.shift();a&&this.createConnection(a)}},r=process.env.NODE_DEBUG&&/\\btunnel\\b/.test(process.env.NODE_DEBUG)?function(){var e=Array.prototype.slice.call(arguments);\"string\"==typeof e[0]?e[0]=\"TUNNEL: \"+e[0]:e.unshift(\"TUNNEL:\"),console.error.apply(console,e)}:function(){},t.debug=r},function(e,t){e.exports=require(\"events\")},function(e,t){(function(){var t,a,r,i,o,n;\"undefined\"!=typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:\"undefined\"!=typeof process&&null!==process&&process.hrtime?(e.exports=function(){return(t()-o)/1e6},a=process.hrtime,i=(t=function(){var e;return 1e9*(e=a())[0]+e[1]})(),n=1e9*process.uptime(),o=i-n):Date.now?(e.exports=function(){return Date.now()-r},r=Date.now()):(e.exports=function(){return(new Date).getTime()-r},r=(new Date).getTime())}).call(this)},function(e,t){e.exports=require(\"os\")},function(e,t,a){var r,i,o;o=function(){return function(){return function(e){var t=[];if(e[0].match(/^[^\\/:]+:\\/*$/)&&e.length>1){var a=e.shift();e[0]=a+e[0]}e[0].match(/^file:\\/\\/\\//)?e[0]=e[0].replace(/^([^\\/:]+):\\/*/,\"$1:///\"):e[0]=e[0].replace(/^([^\\/:]+):\\/*/,\"$1://\");for(var r=0;r<e.length;r++){var i=e[r];if(\"string\"!=typeof i)throw new TypeError(\"Url must be a string. Received \"+i);\"\"!==i&&(r>0&&(i=i.replace(/^[\\/]+/,\"\")),i=r<e.length-1?i.replace(/[\\/]+$/,\"\"):i.replace(/[\\/]+$/,\"/\"),t.push(i))}var o=t.join(\"/\"),n=(o=o.replace(/\\/(\\?|&|#[^!])/g,\"$1\")).split(\"?\");return o=n.shift()+(n.length>0?\"?\":\"\")+n.join(\"&\")}(\"object\"==typeof arguments[0]?arguments[0]:[].slice.call(arguments))}},e.exports?e.exports=o():void 0===(i=\"function\"==typeof(r=o)?r.call(t,a,t,e):r)||(e.exports=i)},function(e,t,a){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r,i=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var a=[],r=!0,i=!1,o=void 0;try{for(var n,s=e[Symbol.iterator]();!(r=(n=s.next()).done)&&(a.push(n.value),!t||a.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return a}(e,t);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},n=a(251),s=(r=n)&&r.__esModule?r:{default:r};function c(e,t){return 0===t?e+\"\\n\":e+\"\\n\"+(0,s.default)(\"\",2*t)}t.default=function(e){var t=\"---\";e.frontmatter.forEach(function(e){return Object.entries(e).forEach(function(e){var a=i(e,2),r=a[0],n=a[1];t=function e(t,a,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;try{if(\"object\"===(void 0===a?\"undefined\":o(a))){if(a instanceof Array){var s=\"\"+a.map(function(e){return'\"'+e+'\"'});return\"\"+c(r,n)+t+\": [\"+s+\"]\"}return a instanceof Error?r:Object.entries(a).reduce(function(t,a){var r=i(a,2);return\"\"+e(r[0],r[1],t,n+1)},\"\"+c(r,n)+t+\":\")}return\"\"+c(r,n)+t+': \"'+a+'\"'}catch(e){return\"\"+c(r,n)+t+\": \"+JSON.stringify(a)}}(r,n,t)})}),t+=\"\\n---\";try{t=t+\"\\n\"+e.body}catch(a){t=t+\"\\n\"+JSON.stringify(e.body)}return t}},function(e,t,a){\"use strict\";e.exports=function(e,t,a){if((t-=(e+=\"\").length)<=0)return e;a||0===a||(a=\" \");if(\" \"==(a+=\"\")&&t<10)return r[t]+e;var i=\"\";for(;1&t&&(i+=a),t>>=1;)a+=a;return i+e};var r=[\"\",\" \",\"  \",\"   \",\"    \",\"     \",\"      \",\"       \",\"        \",\"         \"]}]));"
  },
  {
    "path": "gatsby-browser.js",
    "content": "/**\n * Implement Gatsby's Browser APIs in this file.\n *\n * See: https://www.gatsbyjs.org/docs/browser-apis/\n */\n\n// You can delete this file if you're not using it\n"
  },
  {
    "path": "gatsby-config.js",
    "content": "module.exports = {\n  siteMetadata: {\n    title: 'Github Actions',\n  },\n  plugins: [\n    'gatsby-plugin-react-helmet',\n    {\n      resolve: `gatsby-source-filesystem`,\n      options: {\n        name: `images`,\n        path: `${__dirname}/src/images`,\n      },\n    },\n    'gatsby-transformer-sharp',\n    'gatsby-plugin-sharp',\n    {\n      resolve: `gatsby-plugin-manifest`,\n      options: {\n        name: 'gatsby-starter-default',\n        short_name: 'starter',\n        start_url: '/',\n        background_color: '#663399',\n        theme_color: '#663399',\n        display: 'minimal-ui',\n        icon: 'src/images/github.png',\n      },\n    },\n    {\n      resolve: `gatsby-plugin-google-analytics`,\n      options: {\n        trackingId: 'UA-133219838-1',\n      },\n    },\n    {\n      resolve: `gatsby-source-filesystem`,\n      options: {\n        path: `${__dirname}/src/actions`,\n        name: 'actions',\n      },\n    },\n    {\n      resolve: 'gatsby-transformer-remark',\n      options: {\n        plugins: [], // just in case those previously mentioned remark plugins sound cool :)\n      },\n    },\n\n    // this (optional) plugin enables Progressive Web App + Offline functionality\n    // To learn more, visit: https://gatsby.app/offline\n    // 'gatsby-plugin-offline',\n  ],\n}\n"
  },
  {
    "path": "gatsby-node.js",
    "content": "const path = require('path')\n\nexports.createPages = ({ actions, graphql }) => {\n  const { createPage } = actions\n\n  const blogPostTemplate = path.resolve(`src/templates/blog-post.js`)\n\n  return graphql(`\n    {\n      allMarkdownRemark(\n        sort: { order: ASC, fields: [frontmatter___title] }\n        limit: 1000\n      ) {\n        edges {\n          node {\n            frontmatter {\n              path\n            }\n          }\n        }\n      }\n    }\n  `).then(result => {\n    if (result.errors) {\n      return Promise.reject(result.errors)\n    }\n\n    result.data.allMarkdownRemark.edges.forEach(({ node }) => {\n      createPage({\n        path: node.frontmatter.path,\n        component: blogPostTemplate,\n        context: {}, // additional data can be passed via context\n      })\n    })\n  })\n}\n"
  },
  {
    "path": "gatsby-ssr.js",
    "content": "/**\n * Implement Gatsby's SSR (Server Side Rendering) APIs in this file.\n *\n * See: https://www.gatsbyjs.org/docs/ssr-apis/\n */\n\n// You can delete this file if you're not using it\n"
  },
  {
    "path": "netlify.toml",
    "content": "\n[build]\n  functions = \"functions\""
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"github-action\",\n  \"description\": \"List of Github Actions\",\n  \"version\": \"1.0.0\",\n  \"author\": \"David Boyne\",\n  \"dependencies\": {\n    \"fuse.js\": \"^3.3.0\",\n    \"gatsby\": \"^2.13.40\",\n    \"gatsby-image\": \"^2.0.20\",\n    \"gatsby-plugin-google-analytics\": \"^2.0.8\",\n    \"gatsby-plugin-manifest\": \"^2.0.9\",\n    \"gatsby-plugin-offline\": \"^2.0.16\",\n    \"gatsby-plugin-react-helmet\": \"^3.0.2\",\n    \"gatsby-plugin-sharp\": \"^2.0.14\",\n    \"gatsby-source-filesystem\": \"^2.0.11\",\n    \"gatsby-transformer-remark\": \"^2.1.15\",\n    \"gatsby-transformer-sharp\": \"^2.1.8\",\n    \"json-to-frontmatter-markdown\": \"^1.0.0\",\n    \"react\": \"^16.6.3\",\n    \"react-dom\": \"^16.6.3\",\n    \"react-helmet\": \"^5.2.0\",\n    \"request\": \"^2.88.0\",\n    \"request-promise\": \"^4.2.2\",\n    \"tomlify\": \"^0.2.2\",\n    \"url-join\": \"^4.0.0\"\n  },\n  \"keywords\": [\n    \"gatsby\"\n  ],\n  \"license\": \"MIT\",\n  \"scripts\": {\n    \"build\": \"npm run build:functions && gatsby build\",\n    \"build:functions\": \"netlify-lambda build src/functions\",\n    \"develop\": \"gatsby develop\",\n    \"start\": \"npm run develop\",\n    \"format\": \"prettier --write \\\"src/**/*.js\\\"\",\n    \"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n  },\n  \"devDependencies\": {\n    \"all-contributors-cli\": \"^5.11.0\",\n    \"netlify-lambda\": \"^1.3.0\",\n    \"prettier\": \"^1.15.2\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/gatsbyjs/gatsby-starter-default\"\n  }\n}\n"
  },
  {
    "path": "src/actions/PHP-Lint.md",
    "content": "---\npath: \"/PHP-Lint\"\ntitle: \"PHP Lint\"\ngithub_url: \"https://github.com/michaelw90/PHP-Lint\"\nauthor: \"michaelw90\"\nsubtitle: \"Github Action for PHPLint\"\ntags: [\"github-actions\",\"php\",\"php-linter\",\"linting\"]\n---\n# GitHub Action for PHPLint\n\nGitHub Action implementation of the PHPLint Package provided by [https://github.com/overtrue/phplint](@Overtrue/phplint). \n\n## Usage\n\nYou can use it as a Github Action like this:\n\n_.github/main.workflow_\n```\nworkflow \"PHP Linting\" {\n  resolves = [\"Execute\"]\n  on = \"pull_request\"\n}\n\naction \"Execute\" {\n  uses = \"michaelw90/php-lint@master\"\n}\n\n```\n\nIf provided, a `.phplint.yml` file in the root will be used for configuration during run of the Action.\n\n## See it in practice\n\nYou can find a working and not working PR here:\nhttps://github.com/michaelw90/PHP-Lint-Demo/pulls\n"
  },
  {
    "path": "src/actions/a-branch-cleanup.md",
    "content": "---\npath: '/a-branch-cleanup'\ntitle: 'A Branch Cleanup'\ngithub_url: 'https://github.com/jessfraz/branch-cleanup-action'\nauthor: 'jessfraz'\ntags: ['branch', 'pull-request', 'github']\nsubtitle: 'A GitHub action to automatically delete the branch after a pull request has been merged.'\n---\n\n[![Travis CI](https://img.shields.io/travis/jessfraz/branch-cleanup-action.svg?style=for-the-badge)](https://travis-ci.org/jessfraz/branch-cleanup-action)\n\n> **NOTE:** This will **never** delete the repository's default branch. If the pull request is closed _without_ merging, it will **not** delete it.\n\n**Table of Contents**\n\n<!-- toc -->\n\n- [Usage](#usage)\n- [Contributing](#contributing)\n  - [Running the tests](#running-the-tests)\n\n<!-- tocstop -->\n\n## Usage\n\n```\nworkflow \"on pull request merge, delete the branch\" {\n  on = \"pull_request\"\n  resolves = [\"branch cleanup\"]\n}\n\naction \"branch cleanup\" {\n  uses = \"jessfraz/branch-cleanup-action@master\"\n  secrets = [\"GITHUB_TOKEN\"]\n}\n```\n\n![demo](https://github.com/jessfraz/branch-cleanup-action/raw/master/demo.png)\n"
  },
  {
    "path": "src/actions/aloba.md",
    "content": "---\npath: \"/aloba\"\ntitle: \"aloba\"\ngithub_url: \"https://github.com/containous/aloba\"\nauthor: \"containous\"\nsubtitle: \"Myrmica Aloba 🐜: Add labels and milestone on pull requests and issues.\"\ntags: [\"labels\",\"milestone\",\"github\",\"pull-requests\",\"issues\",\"assign\"]\n---\n\n# Myrmica Aloba 🐜: Add labels and milestone on pull requests and issues.\n\n[![Release](https://img.shields.io/github/release/containous/aloba.svg?style=flat)](https://github.com/containous/aloba/releases)\n[![Build Status](https://travis-ci.org/containous/aloba.svg?branch=master)](https://travis-ci.org/containous/aloba)\n[![Docker Build Status](https://img.shields.io/docker/build/containous/aloba.svg)](https://hub.docker.com/r/containous/aloba/builds/)\n\n- on new issue: adds the label `status/0-needs-triage`\n- on new pull request:\n    - adds the label `status/0-needs-triage`\n    - adds labels based on [rules](#rules).\n    - adds a milestone (if a milestone matches the based branch of the PR).\n    - adds a label related to the size of the pull request.\n\n## Usage\n\n- `GITHUB_TOKEN`: Github Token.\n- `.github/aloba-rules.toml`: the rules to apply.\n\n```\nMyrmica Aloba - GitHub Action.\n\nUsage: action [--flag[=true|false| ]] [-f[true|false| ]] ...     set true/false to boolean flag(s)\n\nFlags:\n    --debug   Debug mode.                        (default \"false\")\n    --dry-run Dry run mode.                      (default \"true\")\n-h, --help    Print Help (this message) and exit\n```\n\n## Examples\n\n```hcl\nworkflow \"Aloba: Issues\" {\n  on = \"issues\"\n  resolves = [\"issue-labels\"]\n}\n\naction \"issue-labels\" {\n  uses = \"docker://containous/aloba\"\n  secrets = [\"GITHUB_TOKEN\"]\n  args = \"action --dry-run=false\"\n}\n\nworkflow \"Aloba: Pull Requests\" {\n  on = \"pull_request\"\n  resolves = [\"pull-request-labels\"]\n}\n\naction \"pull-request-labels\" {\n  uses = \"docker://containous/aloba\"\n  secrets = [\"GITHUB_TOKEN\"]\n  args = \"action --dry-run=false\"\n}\n```\n\n## Rules\n\n```toml\n[[Rules]]\n  Label = \"area/vegetable\"\n  Regex = \"(?i).*(tomate|carotte).*\"\n\n[[Rules]]\n  Label = \"area/cheese\"\n  Regex = \"cheese/.*\"\n\n[[Rules]]\n  Label = \"area/infrastructure\"\n  Regex = \"(?i)(\\\\.github|script/).*\"\n\n[Limits]\n  [Limits.Small]\n    SumLimit = 150\n    DiffLimit = 70\n    FilesLimit = 20\n  [Limits.Medium]\n    SumLimit = 400\n    DiffLimit = 200\n    FilesLimit = 50\n```\n"
  },
  {
    "path": "src/actions/android.md",
    "content": "---\npath: '/android'\ntitle: 'Android'\ngithub_url: 'https://github.com/vgaidarji/android-github-actions'\nauthor: 'vgaidarji'\ntags: ['android']\nsubtitle: 'A collection of GitHub actions to perform Android related tasks.'\n---\n\n## Usage\n\nUsage information for individual commands can be found in their respective directories.\n"
  },
  {
    "path": "src/actions/apprise-ga.md",
    "content": "---\npath: \"/apprise-ga\"\ntitle: \"apprise-ga\"\ngithub_url: \"https://github.com/cstuder/apprise-ga\"\nauthor: \"cstuder\"\nsubtitle: \"GitHub Action to send a push notification via a series of different services thanks to the the Apprise library\"\ntags: [\"github-actions\",\"notifications\",\"email\",\"push-notifications\",\"events\",\"apprise\",\"jinja2\"]\n---\n# apprise-ga\n\nGitHub Action to send a push notification via a series of different services thanks to the the [Apprise library](https://github.com/caronc/apprise)\n\nSupports services like Slack, AWS SNS, Discord, IFTTT, Matrix, Microsoft Teams, Telegram, Twitter etc., as well as email and webhooks.\n\nSupports dynamically adding event data to the notification message.\n\n## Action block syntax\n\n```hcl\naction \"Send push notification\" {\n  uses = \"cstuder/apprise-ga@master\"\n  secrets = [\"APPRISE_URL\"]\n  args = [\"Notification title\", \"Notification message\"]\n}\n```\n\n## Usage\n\n1. Create a new action in your workflow which uses `cstuder/apprise-ga@master`.\n1. Look up the syntax for your push notification URL in the list of [Supported Notifications](https://github.com/caronc/apprise#supported-notifications) by Apprise. (I.e. `protocol://user:password@hostname/channel`)\n1. Add this URL as the secret `APPRISE_URL` to the action.\n1. Add your message to `args` in the format [\"TITLE\", \"MESSAGE\"]. (This might not work in the current version of the visual workflow editor.)\n\n### Inserting event data with templates\n\nFor both title and message you can use the [Jinja2](http://jinja.pocoo.org) syntax to insert data from the event trigger (`/github/workflow/event.json`) into your notification.\n\nFind the event data in the list of [GitHub webhook payloads](https://developer.github.com/v3/activity/events/types/).\n\n#### Templating example\n\nFor a push event, you might use the following arguments:\n\n`args = [\"Push received on {{ ref }}\", \"Commit by {{ head_commit.author.name }}: {{ head_commit.message | truncate(128) }} ({{ head_commit.id[0:7] }})\"]`\n\n## Action configuration\n\n### Environment variables\n\nNone.\n\n### Secrets\n\nKey|Value\n---|---\n`APPRISE_URL`|Notification URL according to [Apprise](https://github.com/caronc/apprise#supported-notifications)\n\n### Required arguments\n\nPosition|Value\n---|---\n1|Notification title\n2|Notification message\n\n### Optional arguments\n\nNone.\n\n## License\n\nMIT.\n"
  },
  {
    "path": "src/actions/assignee-to-reviewer.md",
    "content": "---\npath: '/assignee-to-reviewer'\ntitle: 'Set pull request reviewers based on assignees'\ngithub_url: 'https://github.com/pullreminders/assignee-to-reviewer-action'\nauthor: 'pullreminders'\ntags: ['github', 'pull-request']\nsubtitle: 'If your team currently uses pull request Assignees but would like to switch to Review Requests, having everyone change their workflows can be difficult. This GitHub Action eases the transition by automatically creating and removing review requests based on Assignees.'\n---\n\n## Usage\n\nThis Action subscribes to [Pull request events](https://developer.github.com/v3/activity/events/types/#pullrequestevent) which fire whenever users are assigned or unassigned to pull requests.\n\n```workflow\nworkflow \"Assign reviewers based on assignees\" {\n  on = \"pull_request\"\n  resolves = [\"Assignee to reviewer\"]\n}\n\naction \"Assignee to reviewer\" {\n  uses = \"pullreminders/assignee-to-reviewer-action@master\"\n  secrets = [\n    \"GITHUB_TOKEN\"\n  ]\n}\n```\n\n## Demo\n\n<img src=\"https://github.com/pullreminders/assignee-to-reviewer-action/raw/master/docs/images/example.png\" width=\"540\">\n"
  },
  {
    "path": "src/actions/automerge.md",
    "content": "---\npath: '/automerge'\ntitle: 'Automerge'\ngithub_url: 'https://github.com/pascalgn/automerge-action'\nauthor: 'Pascal'\ntwitter: '@pascalgn'\ntags: ['merge', 'rebase']\nsubtitle: 'GitHub action to automatically merge pull requests that are ready.'\n---\n\nGitHub action to automatically merge pull requests that are ready.\n\nThis action will behave differently based on the labels assigned to a pull request:\n\n- `automerge` means that changes from the base branch will automatically be merged into the pull request, but only when \"Require branches to be up to date before merging\" is enabled in the branch protection rules. When the PR is ready, it will automatically be merged.\n- `autorebase` means that when changes happen in the base branch, the pull request will be rebased onto the base branch. When the PR is ready, it will automatically be merged (with a merge commit) into the base branch.\n- pull requests without one of these labels will be ignored\n\nA pull request is considered ready when:\n\n1. the required number of review approvals has been given (if enabled in the branch protection rules) and\n2. the required checks have passed (if enabled in the branch protection rules) and\n3. the pull request is up to date (if enabled in the branch protection rules)\n\nAfter the pull request has been merged successfully, the branch will be deleted (unless there exist branch protection rules preventing this branch from being deleted).\n\n## Usage\n\nAdd this to your `.github/main.workflow` file:\n\n```\nworkflow \"automerge pull requests on updates\" {\n  on = \"pull_request\"\n  resolves = [\"automerge\"]\n}\n\nworkflow \"automerge pull requests on reviews\" {\n  on = \"pull_request_review\"\n  resolves = [\"automerge\"]\n}\n\nworkflow \"automerge pull requests on status updates\" {\n  on = \"status\"\n  resolves = [\"automerge\"]\n}\n\nworkflow \"rebase other pull requests after merges\" {\n  on = \"push\"\n  resolves = [\"automerge\"]\n}\n\naction \"automerge\" {\n  uses = \"pascalgn/automerge-action@9d655352861c757731df72b6ac21d65fdf6d92ee\"\n  secrets = [\"GITHUB_TOKEN\"]\n}\n```\n"
  },
  {
    "path": "src/actions/aws-sam.md",
    "content": "---\npath: '/aws-sam'\ntitle: 'AWS SAM'\ngithub_url: 'https://github.com/apex/actions/'\nauthor: 'apex'\ntags: ['aws', 'sam', 'serverless']\nsubtitle: 'Deploy serverless infrastructure with AWS SAM'\n---\n\n<img src=\"https://camo.githubusercontent.com/0c87b4de5284ac7a9c1aa65e4d0cd7f353481527/687474703a2f2f746a686f6c6f7761796368756b2e636f6d3a363030302f7376672f7469746c652f415045582f414354494f4e53\">\n\n## Actions\n\n[GitHub Actions](https://github.com/features/actions) for automating builds, deployments, and so on.\n\n- [Up](./up) — Deploy serverless applications and APIs to [AWS Lambda](https://aws.amazon.com/lambda/)\n- [Go](./go) — Build Go applications\n- [Slack](./slack) — Send Slack messages\n- [AWS SAM](./aws/sam) — Deploy serverless infrastructure with [AWS SAM](https://aws.amazon.com/serverless/sam/)\n\n## Resources\n\n- [Docker Images](https://github.com/lambci/docker-lambda) for Lambda\n\n---\n"
  },
  {
    "path": "src/actions/aws.md",
    "content": "---\npath: '/aws'\ntitle: 'aws'\ngithub_url: 'https://github.com/actions/aws'\nauthor: 'github'\ntags: ['aws', 'amazon']\nsubtitle: 'This repository contains GitHub Actions for Amazon Web Services, for performing common tasks such as using EKS, as well as a generic cli for doing arbitrary actions with the AWS commandline client.'\n---\n\n## Usage\n\nUsage information for individual commands can be found in their respective directories.\n"
  },
  {
    "path": "src/actions/azure.md",
    "content": "---\npath: '/azure'\ntitle: 'Azure'\ngithub_url: 'https://github.com/Azure/github-actions'\nauthor: 'Azure'\ntags: ['azure', 'microsoft']\nsubtitle: 'This Action for Azure enables arbitrary actions for interacting with Azure services via the az command-line client.'\n---\n\n_Not much details on the README.md_\n\nMore information found here [https://github.com/Azure/github-actions](https://github.com/Azure/github-actions)\n"
  },
  {
    "path": "src/actions/azure_node.md",
    "content": "---\npath: '/azure-node'\ntitle: 'Azure-Node'\ngithub_url: 'https://github.com/sdras/example-azure-node'\nauthor: 'Sarah Drasner'\ntags: ['azure', 'microsoft']\ntwitter: '@sarah_edo'\nsubtitle: 'An example Node webapp deployed to Azure with GitHub actions. More info in this article: css-tricks.com/introducing-github-actions.'\n---\n"
  },
  {
    "path": "src/actions/cake-tasks.md",
    "content": "---\npath: '/cake-tasks'\ntitle: 'Cake Tasks'\ngithub_url: 'https://github.com/gep13/cake-actions'\nauthor: 'gep13'\ntags: []\nsubtitle: 'These Cake GitHub Actions allow you to run Cake tasks as part of your GitHub workflow..'\n---\n\n## Actions\n\n### Task Action\n\nRuns a Cake Task, defined in a build.cake in the root of the repository.\n\nSee the task [README](https://github.com/gep13/cake-actions/blob/master/task/README.md) for more details.\n"
  },
  {
    "path": "src/actions/clojure-formatter.md",
    "content": "---\npath: '/clojure-formatter'\ntitle: 'Clojure Formatter'\ngithub_url: 'https://github.com/bltavares/actions'\nauthor: 'bltavares'\ntags: ['clojure', 'formatter', 'autofixer']\nsubtitle: 'This actions will check the formating of the project, using cljfmt.'\n---\n\n## Validations on Push\n\nThis actions will check the formating of the project, using\n[cljfmt](https://github.com/weavejester/cljfmt).\n\n`cljfmt` plugin required to be installed on your project,\nas well as any variable needed to access all the dependencies of the project.\n\nGiven that this plugin uses `lein cljfmt`, it might need extra environment\nvariable and secrets, such as `AWS_ACCESS_KEY_ID` and `AWS_ACCESS_KEY_KEY`.\n\n## Fixes on Pull Request review\n\nThis action provides automated fixes using Pull Request review comments.\n\nIf the comment starts with `fix $action_name` or `fix cljfmt`, a new commit will\nbe added to the branch with the automated fixes applied.\n\n**Supports**: autofix on push\n\n## Example workflow\n\n```hcl\nworkflow \"on push\" {\n  on = \"push\"\n  resolves = [\"cljfmt\"]\n}\n\n# Used for fix on review\nworkflow \"on review\" {\n  resolves = [\"cljfmt\"]\n  on = \"pull_request_review\"\n}\n\naction \"cljfmt\" {\n  uses = \"bltavares/actions/cljfmt@master\"\n  # Enable autofix on push\n  # args = [\"autofix\"]\n  # Used for pushing changes for `fix` comments on review\n  secrets = [\"GITHUB_TOKEN\"]\n}\n```\n"
  },
  {
    "path": "src/actions/cloudflare-worker.md",
    "content": "---\npath: '/cloudflare-workder'\ntitle: 'Cloudflare worker'\ngithub_url: 'https://github.com/cpilsworth/cloudflare-worker-action'\nauthor: 'cpilsworth'\ntags: ['Cloudflare', 'Worker']\nsubtitle: 'A GitHub action to deploy a Cloudflare Worker on push to the master branch.'\n---\n\n[![Build Status](https://travis-ci.org/cpilsworth/cloudflare-worker-action.svg?branch=master)](https://travis-ci.org/cpilsworth/cloudflare-worker-action)\n\n```hcl\nworkflow \"on push to master, deploy worker to Cloudflare\" {\n  on = \"push\"\n  resolves = [\"worker deploy\"]\n}\n\naction \"worker deploy\" {\n  uses = \"cpilsworth/cloudflare-worker-action@master\"\n  env = {\n    CLOUDFLARE_EMAIL = \"you@example.com\",\n    CLOUDFLARE_ZONE = \"diffa.co.uk\",\n    WORKER_JS = \"bin/worker.js\",\n  }\n  secrets = [ \"CLOUDFLARE_TOKEN\" ]\n}\n```\n\n_Heavily_ inspired by [Jessie Frazelle's](https://twitter.com/jessfraz) [aws-fargate-action](https://github.com/jessfraz/aws-fargate-action) GitHub action project. :trophy:\n\n### Tests\n\nThe tests use [shellcheck](https://github.com/koalaman/shellcheck). You don't\nneed to install anything. They run in a container.\n\n```console\n$ make test\n```\n\n### Using the `Makefile`\n\n```console\n$ make help\ncf-apply                      Run terraform apply for Amazon.\ncf-destroy                    Run terraform destroy for Amazon.\ncf-plan                       Run terraform plan for Amazon.\nshellcheck                     Runs the shellcheck tests on the scripts.\ntest                           Runs the tests on the repository.\nupdate-terraform               Update terraform binary locally from the docker container.\nupdate                         Update terraform binary locally.\n```\n"
  },
  {
    "path": "src/actions/composer.md",
    "content": "---\npath: '/composer'\ntitle: 'Composer'\ngithub_url: 'https://github.com/pxgamer/composer-action'\nauthor: 'Owen Voke'\ntwitter: '@pxgamer112'\ntags: ['php', 'composer']\nsubtitle: 'GitHub Action for interacting with Composer.'\n---\n\n # Action details \n\nThis Action for [Composer](https://getcomposer.org) enables arbitrary actions with the Composer command-line client.\n\n## Usage\n\nVia GitHub Workflow\n\n```hcl\naction \"Composer Install\" {\n  uses = \"pxgamer/composer-action\"\n  args = \"install\"\n}\n```\n\n"
  },
  {
    "path": "src/actions/cowsays.md",
    "content": "---\npath: '/cowsays'\ntitle: 'Cowsays Action'\ngithub_url: 'https://github.com/mscoutermarsh/cowsays-action'\nauthor: 'Mike Coutermarsh'\ntwitter: '@mscccc'\nsubtitle: 'Say things with a cow'\n---\n\n\n# Action details\n\n# 🐮 cowsays-action\nCowsays for GitHub Actions. This Action wraps the [ruby_cowsay](https://github.com/PatrickTulskie/ruby_cowsay) gem.\n\n```\n _____________ \n< Ship it!!!!!! >\n ------------- \n      \\   ^__^\n       \\  (oo)\\_______\n          (__)\\       )\\/\\\n              ||----w |\n              ||     ||\n\n```\n\n## 🐄 Usage\n\n```hcl\nworkflow \"Deploy Master\" {\n  on = \"push\"\n  resolves = [\"cow\"]\n}\n\naction \"cow\" {\n  uses = \"mscoutermarsh/cowsays-action@master\"\n  args = \"Ship it!!!!!\"\n}\n```\n"
  },
  {
    "path": "src/actions/dart-formatter.md",
    "content": "---\npath: '/dart-formatter'\ntitle: 'Dart & flutter formatter'\ngithub_url: 'https://github.com/bltavares/actions'\nauthor: 'bltavares'\ntags: ['dart', 'flutter', 'dartfmt', 'formatter', 'autofixer']\nsubtitle: 'This actions will check the formating of a Dart (or Flutter) project, using dartfmt.'\n---\n\n## Validations on Push\n\nThis actions will check the formating of a Dart (or Flutter) project,\nusing [dartfmt](https://github.com/dart-lang/dart_style).\n\n## Fixes on Pull Request review\n\nThis action provides automated fixes using Pull Request review comments.\n\nIf the comment starts with `fix $action_name` or `fix dartfmt`, a new commit\nwill be added to the branch with the automated fixes applied.\n\n**Supports**: autofix on push\n\n## Example workflow\n\n```hcl\nworkflow \"on push\" {\n  on = \"push\"\n  resolves = [\"dartfmt\"]\n}\n\nworkflow \"on review\" {\n  resolves = [\"dartfmt\"]\n  on = \"pull_request_review\"\n}\n\naction \"dartfmt\" {\n  uses = \"bltavares/actions/dartfmt@master\"\n  # Enable autofix on push\n  # args = [\"autofix\"]\n  # Used for pushing changes for `fix` comments on review\n  secrets = [\"GITHUB_TOKEN\"]\n}\n```\n"
  },
  {
    "path": "src/actions/digitalocean.md",
    "content": "---\npath: \"/actions\"\ntitle: \"DigitalOcean\"\ngithub_url: \"https://github.com/digitalocean/actions\"\nauthor: \"digitalocean\"\nsubtitle: \"GitHub Actions for DigitalOcean\"\ntags: ['cli', 'cloud', 'digitalocean']\n---\n# GitHub Actions for DigitalOcean\n\nThis action enables you to interact with [DigitalOcean](https://www.digitalocean.com/) services via [the `doctl` command-line client](https://github.com/digitalocean/doctl).\n\n## Usage\n\nAs an example, one common use case is retrieving the credentials for a Kubernetes cluster hosted on DigitalOcean for use in a deployment workflow:\n\n\n```hcl\naction \"Save DigitalOcean kubeconfig\" {\n  needs = [\"Push image to Docker Hub\"]\n  uses = \"digitalocean/actions/doctl@master\"\n  secrets = [\"DIGITALOCEAN_ACCESS_TOKEN\"]\n  env = {\n    CLUSTER_NAME = \"example\"\n  }\n  args = [\"kubernetes cluster kubeconfig show $CLUSTER_NAME > $HOME/.kubeconfig\"]\n}\n```\n\nSee [this reposirory](https://github.com/andrewsomething/example-doctl-action) for a full end-to-end example that also demonstrates building the Docker image, pushing it to Docker Hub, and using `kubectl` to deploy to the Kubernetes cluster on DigitalOcean.\n\n### Secrets\n\n- `DIGITALOCEAN_ACCESS_TOKEN` – **Required** A DigitalOcean personal access token ([more info](https://www.digitalocean.com/docs/api/create-personal-access-token/)).\n\n### Environment variables\n\nWe provide defaults for the following, these may also be overridden:\n\n- `DIGITALOCEAN_OUTPUT_FORMAT`- **Optional** doctl's output output format, defaults to `json`\n\nBy default, this action is configured to save output in JSON format to `${HOME}/${GITHUB_ACTION}.${DIGITALOCEAN_OUTPUT_FORMAT}`for consumption by downstream actions.\n\n## License\n\nThe Dockerfile and associated scripts and documentation in this project are released under the [MIT License](LICENSE).\n"
  },
  {
    "path": "src/actions/discord-notification.md",
    "content": "---\npath: '/discord-notification'\ntitle: 'Discord Notification'\ngithub_url: 'https://github.com/Ilshidur/action-discord'\nauthor: 'Ilshidur'\ntags: ['discord', 'notification']\nsubtitle: 'Sends a Discord notification message. Simple as that. Supports all workflow event types by using the Discord GitHub webhooks.'\n---\n\nSends a Discord notification message. Simple as that.\nSupports all [workflow event types](https://developer.github.com/webhooks/#events) by using the [Discord GitHub webhooks](https://discordapp.com/developers/docs/resources/webhook#execute-githubcompatible-webhook).\n\n![GitHub Action](action.png 'GitHub Action')\n\n_Appearance on Discord :_\n\n![Discord message](discord.png 'Discord message')\n\nThis GitHub action is part of a list of Actions that are located in an other repo. Feel free to check it out : https://github.com/Ilshidur/actions.\n\n<hr/>\n\n## Usage\n\n```\naction \"Discord notification\" {\n  uses = \"Ilshidur/actions/discord@master\"\n  secrets = [\"DISCORD_WEBHOOK\"]\n  args = \"The project has been deployed.\"\n}\n```\n\n**NOTICE :** for stability purposes, it is recommended to use the action with an explicit commit SHA-1 :\n\n`uses = \"Ilshidur/actions/discord@a08c189\"` (=> link to the commits list : https://github.com/Ilshidur/actions/commits/master)\n\n### Arguments\n\nBy default, the GitHub action will send a notificaction with the event informations. Providing the arguments will override the message.\n\n#### Examples\n\n- `args = \"Hello, beautiful ! I ran a GitHub Actions for you <3\"`\n- `args = \"I showed you my commit. Please respond.\"`\n\n### Secrets\n\n- **`DISCORD_WEBHOOK`** (**required**): the Discord webhook URL (see https://support.discordapp.com/hc/en-us/articles/228383668-Intro-to-Webhooks)\n  - **_IMPORTANT !!_ You MUST NOT append `/github` at the end of the webhook.**\n- That's all.\n"
  },
  {
    "path": "src/actions/dnscontrol-action.md",
    "content": "---\npath: '/dnscontrol-action'\ntitle: 'dnscontrol-action'\ngithub_url: 'https://github.com/koenrh/dnscontrol-action'\nauthor: 'koenrh'\nsubtitle: 'Deploy your DNS configuration using GitHub Actions using DNSControl.'\ntags: ['dns']\n---\n\n# DNSControl Action\n\nDeploy your DNS configuration using [GitHub Actions](https://github.com/actions)\nusing [DNSControl](https://github.com/StackExchange/dnscontrol/).\n\n## Usage\n\nThese are the three relevant sub commands to use with this action.\n\n### check\n\nRun the action with the 'check' argument in order to check and validate the `dnscontrol.js`\nfile. This action does not communicate with the DNS providers, hence does not require\nany secrets to be set.\n\n```workflow\naction \"DNSControl check\" {\n  uses = \"koenrh/dnscontrol-action@master\"\n  args = \"check\"\n}\n```\n\n### preview\n\nRun the action with the 'preview' argument to check what changes need to be made.\nIt prints out what DNS records are expected to be created, modified or deleted.\nThis action requires the secrets for the specified DNS providers.\n\n```workflow\naction \"DNSControl preview\" {\n  uses = \"koenrh/dnscontrol-action@master\"\n  args = \"preview\"\n  secrets = [\"CLOUDFLARE_API_USER\", \"CLOUDFLARE_API_KEY\"]\n}\n```\n\nThis is the action you probably want to run for each branch so that proposed changes\ncould be verified before an authorized person merges these changes into `master`.\n\n### push\n\nRun the action with the 'push' arugment to publish the changes to the specified\nDNS providers.\n\nRunning the action with the 'push' argument will publish the changes with the\nspecified DNS providers. You should probably only use this command combined with\nthe GitHub [Filters action](https://github.com/actions/bin/tree/master/filter#filters-for-github-actions)\nto make sure that only changes in the `master` branch are deployed to production.\n\n```workflow\naction \"DNSControl push\" {\n  uses = \"koenrh/dnscontrol-action@master\"\n  args = \"push\"\n  secrets = [\"CLOUDFLARE_API_KEY\", \"CLOUDFLARE_API_USER\"]\n}\n```\n\nYou should probably only use this command combined with the GitHub [Filters action](https://github.com/actions/bin/tree/master/filter#filters-for-github-actions)\nto make sure that only changes in the `master` branch are deployed to production.\n\n## Secrets\n\nDepending on the DNS providers that are used, this action requires secrets to be\nset.\n\n### Cloudflare\n\n[Documentation](https://stackexchange.github.io/dnscontrol/providers/cloudflare)\n\n- `CLOUDFLARE_API_USER`\n- `CLOUDFLARE_API_KEY`\n- `CLOUDFLARE_ACCOUNT_ID` (optional)\n- `CLOUDFLARE_ACCOUNT_NAME` (optional)\n\n### DigitalOcean\n\n[Documentation](https://stackexchange.github.io/dnscontrol/providers/digitalocean)\n\n- `DIGITALOCEAN_OAUTH_TOKEN`\n\n### DNSimple\n\n[Documentation](https://stackexchange.github.io/dnscontrol/providers/dnsimple)\n\n- `DNSIMPLE_ACCOUNT_ACCESS_TOKEN`\n\n### Gandi\n\n[Documentation](https://stackexchange.github.io/dnscontrol/providers/gandi)\n\n- `GANDI_API_KEY`\n\n### Google CLOUD DNS\n\n[Documentation](https://stackexchange.github.io/dnscontrol/providers/gcloud)\n\n- `GOOGLE_CLOUD_PROJECT_ID`\n- `GOOGLE_CLOUD_PRIVATE_KEY_ID`\n- `GOOGLE_CLOUD_PRIVATE_KEY`\n- `GOOGLE_CLOUD_CLIENT_EMAIL`\n- `GOOGLE_CLOUD_CLIENT_ID`\n- `GOOGLE_CLOUD_CLIENT_X509_CERT_URL`\n\n### Linode\n\n[Documentation](https://stackexchange.github.io/dnscontrol/providers/linode)\n\n- `LINODE_ACCESS_TOKEN`\n\n### Name.com\n\n[Documentation](https://stackexchange.github.io/dnscontrol/providers/name.com)\n\n- `NAME_COM_API_USER`\n- `NAME_COM_API_KEY`\n- `NAME_COM_API_URL` (optional)\n\n### Namecheap\n\n[Documentation](https://stackexchange.github.io/dnscontrol/providers/namecheap)\n\n- `NAMECHEAP_API_USER`\n- `NAMECHEAP_API_KEY`\n- `NAMECHEAP_BASE_URL` (optional)\n\n### NS1\n\n[Documentation](https://stackexchange.github.io/dnscontrol/providers/ns1)\n\n- `NSONE_API_KEY`\n\n### OVH\n\n[Documentation](https://stackexchange.github.io/dnscontrol/providers/ovh)\n\n- `OVH_APP_KEY`\n- `OVH_APP_SECRET_KEY`\n- `OVH_CONSUMER_KEY`\n\n### Amazon Route 53\n\n[Documentation](https://stackexchange.github.io/dnscontrol/providers/route53)\n\n- `AWS_ACCESS_KEY_ID`\n- `AWS_SECRET_ACCESS_KEY`\n- `AWS_SESSION_TOKEN` (optional)\n\n### SoftLayer\n\n[Documentation](https://stackexchange.github.io/dnscontrol/providers/softlayer)\n\n- `SOFTLAYER_USERNAME`\n- `SOFTLAYER_API_KEY`\n\n### Vultr\n\n[Documentation](https://stackexchange.github.io/dnscontrol/providers/vultr)\n\n- `VULTR_TOKEN`\n"
  },
  {
    "path": "src/actions/docker-linter.md",
    "content": "---\npath: '/docker-linter'\ntitle: 'DockerFile Linter'\ngithub_url: 'https://github.com/jwr0/dockerfile-linter-action'\nauthor: 'jwr0'\ntags: ['docker', 'linter']\nsubtitle: 'A GitHub action for linting Dockerfiles and commenting on a PR with any errors.'\n---\n\n## Usage\n\nYou should have something like this in your `.github/main.workflow`:\n\n```\nworkflow \"on pull request, Dockerfile lint\" {\n  on = \"pull_request\"\n  resolves = [\"Dockerfile lint\"]\n}\n\naction \"Dockerfile lint\" {\n  uses = \"jwr0/dockerfile-linter-action\"\n  secrets = [\"GITHUB_TOKEN\"]\n  # Optionally, if your Dockerfile is not in the root of your repository,\n  # you can specify a DOCKERFILE environment variable with the path to\n  # your Dockerfile\n  env = {\n    DOCKERFILE = \"./some/other/directory/Dockerfile\"\n  }\n}\n```\n\nAs part of a pull request, the GitHub Action bot will comment with any\nmistakes it found in your Dockerfile. Or if no mistakes are found, it won't\nleave any comment.\n\n![demo](demo.png)\n\n## Underlying project\n\nThis GitHub Action repository simply packages up other software to make them usable in the context of GitHub Actions. Specifically, the logic used by the Dockerfile linter comes from another project: [replicatedhq/dockerfilelint](https://github.com/replicatedhq/dockerfilelint). They also offer a web-based linter at [fromlatest.io](https://www.fromlatest.io/).\n\n## Issues\n\nAny issues using this GitHub Action can be filed using [GitHub Issues](https://github.com/jwr0/dockerfile-linter-action/issues).\n"
  },
  {
    "path": "src/actions/docker.md",
    "content": "---\npath: '/docker'\ntitle: 'Docker'\ngithub_url: 'https://github.com/actions/docker'\nauthor: 'GitHub'\ntags: ['docker', 'cli']\nsubtitle: 'This repository contains GitHub Actions for Docker, for performing common tasks such as authorizing and tagging containers, as well as a generic cli for doing arbitrary actions with the Docker commandline client.'\n---\n\n## Usage\n\nUsage information for individual commands can be found in their respective directories.\n"
  },
  {
    "path": "src/actions/ember-cli.md",
    "content": "---\npath: '/ember-cli'\ntitle: 'Ember Cli'\ngithub_url: 'https://github.com/NuckChorris/ember-cli-actions'\nauthor: 'NuckChorris'\ntags: ['ember']\nsubtitle: 'This Action for ember-cli enables arbitrary actions with the ember-cli command-line client, including deploying ember applications with ember-cl-deploy.'\n---\n\n## Usage\n\nAn example workflow to build, test, and publish an ember application follows:\n\n```hcl\nworkflow \"Build, Test, and Publish\" {\n  on = \"push\"\n  resolves = [\"Deploy\"]\n}\n\naction \"Build\" {\n  uses = \"NuckChorris/ember-cli-actions@master\"\n  args = \"install\"\n}\n\naction \"Test\" {\n  needs = \"Build\"\n  uses = \"NuckChorris/ember-cli-actions@master\"\n  args = \"test\"\n}\n\naction \"Publish\" {\n  needs = \"Test\"\n  uses = \"NuckChorris/ember-cli-actions@master\"\n  args = \"deploy --access public\"\n}\n```\n"
  },
  {
    "path": "src/actions/firebase.md",
    "content": "---\npath: '/firebase'\ntitle: 'Firebase'\ngithub_url: 'https://github.com/w9jds/firebase-action'\nauthor: 'w9jds'\ntags: ['firebase']\nsubtitle: 'This Action for firebase-tools enables arbitrary actions with the firebase command-line client..'\n---\n\n### Secrets\n\n- `FIREBASE_TOKEN` - **Required**. The token to use for authentication. This token can be aquired through the `firebase login:ci` command.\n\n### Environment variables\n\n- `PROJECT_ID` - **Optional**. To specify a specific project to use for all commands, not required if you specify a project in your `.firebaserc` file.\n\n#### Example\n\nTo authenticate with Firebase, and deploy to Firebase Hosting:\n\n```hcl\naction \"Deploy Production Site\" {\n  uses = \"w9jds/firebase-action@master\"\n  args = \"deploy --only hosting:prod\"\n  env = {\n    PROJECT_ID = \"new-eden-storage-a5c23\"\n  }\n  secrets = [\"FIREBASE_TOKEN\"]\n}\n```\n"
  },
  {
    "path": "src/actions/gatsby-cli.md",
    "content": "---\npath: '/gatsby-cli'\ntitle: 'Gatsby CLI'\ngithub_url: 'https://github.com/jzweifel/gatsby-cli-github-action'\nauthor: 'Jacob Zweifel'\ntwitter: '@jacob_zweifel'\ntags: [gatsby, cli]\nsubtitle: 'This Action wraps the Gatsby CLI to enable common Gatsby commands.'\n---\n\n\n# Action details\n\n## Usage\n\n```workflow\nworkflow \"Build Gatsby Site\" {\n  on = \"push\"\n  resolves = [\"build\"]\n}\n\naction \"build\" {\n    uses = \"jzweifel/gatsby-cli-github-action\"\n    args = \"build\"\n}\n```\n\n```workflow\nworkflow \"Build Gatsby Site in Subdirectory\" {\n  on = \"push\"\n  resolves = [\"build\"]\n}\n\naction \"build\" {\n    uses = \"jzweifel/gatsby-cli-github-action\"\n    env = {\n      GATSBY_PROJECT_PATH = \"./client\"\n    }\n    args = \"build\"\n}\n```\n\n### Environment variables\n\n* `GATSBY_PROJECT_PATH` - **Optional**. Directory from which to execute the Gatsby CLI.\n"
  },
  {
    "path": "src/actions/ghpages.md",
    "content": "---\npath: \"/ghpages\"\ntitle: \"ghpages\"\ngithub_url: \"https://github.com/maxheld83/ghpages\"\nauthor: \"maxheld83\"\nsubtitle: \"Deploy arbitrary static assets to GitHub Actions\"\ntags: [\"github-actions\",\"github-pages\",\"deployment\",\"static-site\",\"cicd\",\"continuous-integration\",\"continuous-delivery\",\"docker\"]\n---\n# GitHub Action to Deploy Static Assets to GitHub Actions\n\n[![Actions Status](https://wdp9fww0r9.execute-api.us-west-2.amazonaws.com/production/badge/maxheld83/ghpages)](https://github.com/maxheld83/ghpages/actions)\n[![GitHubActions](https://img.shields.io/badge/as%20seen%20on%20-GitHubActions-blue.svg)](https://github-actions.netlify.com/ghpages)\n\n<img src=\"https://github.com/maxheld83/ghpages/blob/master/action-running.gif?raw=true\" align=\"right\" width=200/>\n\nThis action simply lets you deploy arbitrary folders of static content from your workflow's working directory (`/github/workspace`) to [GitHub pages](https://pages.github.com).\nThis works by having your action instance `git push` your chosen asset folder (`BUILD_DIR`) to the `gh-pages` branch of your GitHub repository for the `gh-pages` branch to be served.\nRemember that you may also have to adjust your [repository settings](https://help.github.com/articles/configuring-a-publishing-source-for-github-pages/).\n\nThere are already great GitHub actions to use static site generators *and* then deploy to GitHub Pages (for [jekyll](https://github.com/helaili/jekyll-action), [jekyll](https://github.com/BryanSchuetz/jekyll-deploy-gh-pages), [zola](https://github.com/shalzz/zola-deploy-action) and surely many more to come).\nThis action isn't that, though I've borrowed much of the git action from these works.\n\n**This action will not build anything, it just deploys.**\n\n\n## Secrets\n\n<img src=\"https://github.com/maxheld83/ghpages/blob/master/action-config.png?raw=true\" align=\"right\" width=200/>\n\nDeployment to GitHub pages happens by `git push`ing to the `gh-pages` branch.\nTo authorise this, the GitHub action needs a secret.\nFor now, somewhat confusingly, the `GITHUB_TOKEN` [available for every repo](https://developer.github.com/actions/creating-workflows/storing-secrets/) *does* suffice to push to `gh-pages`, but *does not* suffice to trigger a  page build on GitHub, or even propagate the content to the GitHub content-delivery network.\n\nYou therefore **have to [create a custom Personal Access Token (PAT)](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/)** much like you'd do for external services (say, Travis).\nYou then have to paste this token into the GitHub UI as a secret under the name `GH_PAT` (repository settings/secrets) and call it in the action as in the below.\n\nI've asked GitHub to streamline this process.\nThe discussion is documented [here](https://github.com/maxheld83/ghaction-ghpages/issues/1).\n\n\n## Environment Variables\n\nJust `BUILD_DIR`, the build directory relative to your repository root.\nYou can also pass `/.` if you want to push your repository root.\n\n\n## Arguments\n\nNone.\n\n\n## Example Usage\n\n<img src=\"https://github.com/maxheld83/ghpages/blob/master/action-in-use.png?raw=true\" align=\"right\" width=200/>\n\n```\naction \"Deploy to GitHub Pages\" {\n  uses = \"maxheld83/ghpages@v0.1.1\"\n  env = {\n    BUILD_DIR = \"public/\"\n  }\n  secrets = [\"GH_PAT\"]\n}\n```\n"
  },
  {
    "path": "src/actions/git-auto-commit-action.md",
    "content": "---\npath: \"/git-auto-commit-action\"\ntitle: \"git-auto-commit-action\"\ngithub_url: \"https://github.com/stefanzweifel/git-auto-commit-action\"\nauthor: \"stefanzweifel\"\nsubtitle: \"Automatically Commit changed Files back to Github in Github Actions\"\ntags: [\"github-action\",\"github-actions\",\"git\",\"github\"]\n---\n# git-auto-commit-action\n\nThis GitHub Action automatically commits files which have been changed during a Workflow run and pushes the Commit back to GitHub.\nThe Committer is \"GitHub Actions <actions@github.com>\" and the Author of the Commit is \"Your GitHub Username <github_username@users.noreply.github.com>.\n\nIf no changes are available, the Actions does nothing.\n\nThis Action has been inspired and adapted from the [auto-commit](https://github.com/cds-snc/github-actions/tree/master/auto-commit\n)-Action of the Canadian Digital Service and the [commit](https://github.com/elstudio/actions-js-build/blob/41d604d6e73d632e22eac40df8cc69b5added04b/commit/entrypoint.sh)-Action by Eric Johnson.\n\n## Usage\n\nAdd the following step at the end of your job.\n\n```yaml\n- uses: stefanzweifel/git-auto-commit-action@v2.3.0\n  with:\n    commit_message: Apply automatic changes\n    branch: ${{ github.head_ref }}\n\n    # Optional git params\n    commit_options: '--no-verify --signoff'\n\n    # Optional glob pattern of files which should be added to the commit\n    file_pattern: src/\\*.js\n  env:\n    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n```\n\nYou **do not** have to create a new secret called `GITHUB_TOKEN` in your repository. `GITHUB_TOKEN` is a special token GitHub creates automatically during an Action run. (See [the documentation](https://help.github.com/en/articles/virtual-environments-for-github-actions#creating-and-using-secrets-encrypted-variables) for details)\n\nThe Action will only commit files back, if changes are available. The resulting commit **will not trigger** another GitHub Actions Workflow run!\n\nIt is recommended to use this Action in Workflows which listen to the `pull_request` event. If you want to use the Action on other events, you have to hardcode the value for `branch` as `github.head_ref` is only available in Pull Requests.\n\n## Example Usage\n\nThis Action will only work, if the job in your workflow changes project files.\nThe most common use case for this, is when you're running a Linter or Code-Style fixer on GitHub Actions.\n\nIn this example I'm running `php-cs-fixer` in a PHP project.\n\n\n```yaml\nname: php-cs-fixer\n\non:\n  pull_request:\n    paths:\n    - '**.php'\n\njobs:\n  php-cs-fixer:\n    runs-on: ubuntu-latest\n\n    steps:\n    - uses: actions/checkout@v1\n      with:\n        fetch-depth: 1\n\n    - name: Run php-cs-fixer\n      uses: docker://oskarstark/php-cs-fixer-ga\n\n    - name: Commit changed files\n      uses: stefanzweifel/git-auto-commit-action@v2.3.0\n      with:\n        commit_message: Apply php-cs-fixer changes\n        branch: ${{ github.head_ref }}\n        file_pattern: src/\\*.php\n      env:\n        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n\n```\n\n### Inputs\n\nCheckout [`action.yml`](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/action.yml) for a full list of supported inputs.\n\n## Versioning\n\nWe use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/stefanzweifel/git-auto-commit-action/tags).\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/LICENSE) file for details.\n"
  },
  {
    "path": "src/actions/gitcret.md",
    "content": "---\npath: \"/gitcret\"\ntitle: \"gitcret\"\ngithub_url: \"https://github.com/CySeq/gitcret\"\nauthor: \"CySeq\"\nsubtitle: \"Prevents pushing sensitive keys/credentials. Continuously scan your repositories, commits or pull-requests for sensitive credentials and generate alerts.\"\ntags: [\"security\",\"security-tools\",\"security-automation\",\"devops\",\"github-actions\",\"gitleaks\",\"github-secrets\",\"security-audit\"]\n---\n# gitCret\nPrevents pushing sensitive keys/credentials. Continuously scan your repositories, commits or pull-requests for sensitive credentials and generate alerts.\n\n# Setup\n\n## New Workflow\n\n- Add following code to the .github/workflows/gitcret.yml\n```\nname: gitCret\n\non: [pull_request, push]\n\njobs:\n  gitcret:\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@v1\n    - name: gitCret\n      uses: CySeq/gitcret@v2\n      env:\n        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n```\n- Your code will be automatically audited for sensitive credentials on each PR and Commit.\n\n## Existing Workflow\n\n- Add following code as a new Job inside your workflow.\n```\n  gitcret:\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@v1\n    - name: gitCret\n      uses: CySeq/gitcret@v2\n      env:\n        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n```\n\n## Environment Variables\n- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n\n## Credits\n- [zricethezav/gitleaks](https://github.com/zricethezav/gitleaks) for underlying git credentials detection mechanism.\n"
  },
  {
    "path": "src/actions/github-deployments.md",
    "content": "---\npath: \"/github-deployment-action\"\ntitle: \"github-deployment-action\"\ngithub_url: \"https://github.com/NiklasMerz/github-deployment-action\"\nauthor: \"NiklasMerz\"\nsubtitle: \"Create deployments on Github with actions\"\ntags: [\"actions\",\"github-actions\",\"deployment\",\"github-deployment\",\"github-action\"]\n---\n# Create Github deployments in you actions\n\n> If you have any questions please ping me. This action basically works but has not all features I want it to.\n\nThis actions allows you to create a deployment and set a deployment status.\n\nFor options please see `deployment.js` and the [Github documentation](https://developer.github.com/v3/repos/deployments/)\n\nFirst create a deployment and with flag `-f`  create the success status:\n````\n- name: create deployment\n    uses: niklasmerz/github-deployment-action@master\n    if: contains(github.ref, 'master')\n    env:\n    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n    with:\n    args: -o niklasmerz -r myrepo -c master -e production\n- name: set deployment status\n    uses: niklasmerz/github-deployment-action@master\n    if: contains(github.ref, 'master')\n    env:\n    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n    with:\n    args: -o niklasmerz -r myrepo -s success -u https://url.com -f\n````\n"
  },
  {
    "path": "src/actions/github-push-action.md",
    "content": "---\npath: '/github-push-action'\ntitle: 'github-push-action'\ngithub_url: 'https://github.com/ad-m/github-push-action'\nauthor: 'ad-m'\ntags: ['git']\nsubtitle: 'The GitHub Actions for pushing to GitHub repository local changes authorizing using GitHub token.'\n---\n\n# GitHub Action for GitHub Push\n\nThe GitHub Actions for pushing to GitHub repository local changes authorizing using GitHub token.\n\nWith ease:\n- update new code placed in the repository, e.g. by running a linter on it,\n- track changes in script results using Git as archive,\n- publish page using GitHub-Pages,\n- mirror changes to a separate repository.\n\n## Example Workflow file\n\nAn example workflow to authenticate with GitHub Platform:\n\n```yaml\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@master\n    - name: Create local changes\n      run: |\n        ...\n    - name: Commit files\n      run: |\n        git config --local user.email \"action@github.com\"\n        git config --local user.name \"GitHub Action\"\n        git commit -m \"Add changes\" -a\n    - name: Push changes\n      uses: ad-m/github-push-action@master\n      with:\n        github_token: ${{ secrets.GITHUB_TOKEN }}\n```\n\n## Inputs\n\n| name | value | default | description |\n| ---- | ----- | ------- | ----------- |\n| github_token | string | | Token for the repo. Can be passed in using `${{ secrets.GITHUB_TOKEN }}`. |\n| branch | string | 'master' | Destination branch to push changes. |\n| force | boolean | false | Determines if force push is used. |\n| directory | string | '.' | Directory to change to before pushing. |\n| repository | string | '' | Repository name. Default or empty repository name represents current github repository. If you want to push to other repository, you should make a [personal access token](https://github.com/settings/tokens) and use it as the `github_token` input.  |\n\n## No affiliation with GitHub Inc.\n\nGitHub are registered trademarks of GitHub, Inc. GitHub name used in this project are for identification purposes only. The project is not associated in any way with GitHub Inc. and is not an official solution of GitHub Inc. It was made available in order to facilitate the use of the site GitHub.\n"
  },
  {
    "path": "src/actions/github-wiki.md",
    "content": "---\npath: \"/github-wiki-action\"\ntitle: \"github-wiki-action\"\ngithub_url: \"https://github.com/Andrew-Chen-Wang/github-wiki-action\"\nauthor: \"Andrew-Chen-Wang\"\nsubtitle: \"Updates your GitHub wiki by using rsync\"\ntags: [\"actions\",\"wiki\",\"github-actions\"]\n---\n# Andrew-Chen-Wang/github-wiki-action@v2\nUpdates your GitHub wiki by using rsync.\n\nThis action updates your repository's wiki\nbased on a single directory that matches with\nyour Wiki's git. You can use a Wiki directory\nfrom any repository you wish.\n\n_**It is recommended that you still have a Home.md\nor whatever extension you want instead of MD.**_ This\nis so that GitHub doesn't automatically make a Home.md\nfor you again.\n\nTable of Contents:\n- Features\n- Usage\n- Inputs\n- Inspiration\n- License\n- Non-Affiliation with Github Inc.\n\n---\n### Features\n\n- rsync all your files from one directory (either from the current or other repository) to your GitHub's repo's wiki.\n    - rsyncing from a different repository requires a [GitHub PAT](https://github.com/settings/tokens/new?scopes=repo&description=wiki%20page%20creator%20token)\n- Use the commit message from your repository's git's commit. You can specify a custom one if you want.\n- Be able to exclude files and directories based on an input of a list.\n\n---\n### Usage\n\nYou must have a single wiki page available from the beginning.\nIt can be blank, but there must be at least one page that exists.\nYou must also have a directory where all your wiki files will\nbe located (the default directory is \"wiki/\"). To include the\nmandatory homepage, have a file in your wiki/ directory\ncalled Home.md or with any other extension (e.g. rst).\n\n```yaml\nname: Deploy Wiki\n\non:\n  push:\n    paths:\n      # Trigger only when wiki directory changes\n      - 'wiki/**'\n    branches:\n      # And only on master branch\n      - master\n\njobs:\n  deploy-wiki:\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@v2\n\n    - name: Push Wiki Changes\n      uses: Andrew-Chen-Wang/github-wiki-action@v2\n      env:\n        # Make sure you have that / at the end. We use rsync \n        # WIKI_DIR's default is wiki/\n        WIKI_DIR: wiki/\n        GH_PAT: ${{ secrets.GITHUB_TOKEN }}\n        GH_MAIL: ${{ secrets.YOUR_EMAIL }}\n        GH_NAME: ${{ github.repository_owner }}\n        EXCLUDED_FILES: \"a/ b.md\"\n```\n\nIf you plan on having a different repository host your wiki\ndirectory, you're going to need a Personal Access Token instead of the `GITHUB_TOKEN`\nwith the minimal scopes [seen here.](https://github.com/settings/tokens/new?scopes=repo&description=wiki%20page%20creator%20token)\n\n---\n### Inputs\n\n| Argument | Required | Default value | Description |\n|----------|----------|---------------|-------------|\n| WIKI_DIR | No | wiki/ | Directory to rsync files to the wiki.(https://github.com/settings/tokens/new?scopes=repo). |\n| GH_TOKEN | Yes | | The GitHub Token for this action to use. Specify `${{ secrets.GITHUB_TOKEN }}`. |\n| GH_MAIL | Yes | | The email associated with the token. |\n| GH_NAME | Yes | | The username associated with the token. |\n| EXCLUDED_FILES | No | | The files or directories you want to exclude. Note, we use rsync |\n| REPO | No | `${{ github.repository }}` | The target repository. Default is the current repo. If you specify a different repository (e.g. Andrew-Chen-Wang/github-wiki-action), then you must use a PAT. |\n| WIKI_PUSH_MESSAGE | No | Your commit's message | The message to add to your commit to the wiki git |\n\n---\n### Inspiration\nThis intended usage was to avoid hosting a private ReadTheDocs\nand instead just use GitHub wiki.\n\nLargely inspired by [wiki-page-creator-action](https://github.com/Decathlon/wiki-page-creator-action)\nand the [issue that arose from it](https://github.com/Decathlon/wiki-page-creator-action/issues/11),\nthis GitHub action tries to update the entire wiki based on a single\ndirectory.\n\n---\n### License\n\n```\n   Copyright 2020 Andrew Chen Wang\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n```\n\n---\n### Non-Affiliation with GitHub Inc.\n\nThis repository/action and its creator is not affiliated with\nGitHub Inc.\n"
  },
  {
    "path": "src/actions/golang.md",
    "content": "---\npath: '/golang'\ntitle: 'Golang'\ngithub_url: 'https://github.com/cedrickring/golang-action'\nauthor: 'cedrickring'\ntags: ['golang', 'go']\nsubtitle: 'This Action allows you to run Go commands with your code. It will automatically setup your workspace (~/go/src/github.com/<your-name>/<repo>) before the command is run.'\n---\n\n## How to use\n\n1. Add an Action\n2. Enter \"cedrickring/golang-action@1.0.0\"\n3. Add a command in the args section like:\n   ```bash\n   go build -o my_executable main.go\n   ```\n   or run your `make` targets with\n   ```bash\n   make test\n   ```\n"
  },
  {
    "path": "src/actions/google-cloud-platform.md",
    "content": "---\npath: '/google-cloud-platform'\ntitle: 'Google Cloud Platform'\ngithub_url: 'https://github.com/actions/gcloud'\nauthor: 'github'\ntags: ['google', 'cloud', 'platform', 'containers']\nsubtitle: 'GitHub Actions for Google Cloud Platform, for performing common tasks such as authorizing and tagging containers, as well as a generic cli for doing arbitrary actions with the Google cloud SDK command-line client.'\n---\n\n## Usage\n\nUsage information for individual commands can be found in their respective directories.\n\n- [`cli`](/cli)\n- [`auth`](/auth)\n"
  },
  {
    "path": "src/actions/goreleaser.md",
    "content": "---\npath: \"/goreleaser\"\ntitle: \"GoReleaser\"\ngithub_url: \"https://github.com/goreleaser/goreleaser\"\nauthor: \"goreleaser\"\nsubtitle: \"GoReleaser: Deliver Go binaries as fast and easily as possible .\"\ntags: [\"golang\", \"go\", \"release-automation\", \"docker\", \"snapcraft\", \"package\", \"rpm\", \"deb\"]\n---\n\nhttps://goreleaser.com/actions/\n\n## Usage\n\nYou can create a workflow like this to push your releases.\n\n```hcl\nworkflow \"Release\" {\n  on = \"push\"\n  resolves = [\"goreleaser\"]\n}\n\naction \"is-tag\" {\n  uses = \"actions/bin/filter@master\"\n  args = \"tag\"\n}\n\naction \"goreleaser\" {\n  uses = \"docker://goreleaser/goreleaser\"\n  secrets = [\n    \"GITHUB_TOKEN\",\n    # at least GITHUB_TOKEN is required, you may need more though\n    \"DOCKER_USERNAME\",\n    \"DOCKER_PASSWORD\",\n  ]\n  args = \"release\"\n  needs = [\"is-tag\"]\n}\n```\n\nThis should support almost everything already supported by GoReleaser’s [Docker image](https://hub.docker.com/r/goreleaser/goreleaser).\nCheck the [install](https://goreleaser.com/install) section for more details.\n\n## What doesn’t work\n\nProjects that depend on `$GOPATH`.\nGitHub Actions override the `WORKDIR` instruction and it seems like we can’t override it.\n\nIn the future releases we may hack something together to work around this, but, for now, only projects using Go modules are supported.\n"
  },
  {
    "path": "src/actions/gradle.md",
    "content": "---\npath: '/gradle'\ntitle: 'gradle'\ngithub_url: 'https://github.com/MrRamych/gradle-actions'\nauthor: 'MrRamych'\nsubtitle: 'Github Actions for Gradle'\ntags: ['github', 'github-actions', 'workflow', 'gradle', 'wrapper']\n---\n\n# Github Actions for Gradle\n\nExecute [Gradle](https://github.com/gradle/gradle) task using wrapper.\n\n## Usage\n\nTo create action in visual editor use `MrRamych/gradle-actions@master` repo.\n\nThe `args` represent the task to be executed.\n\n## Example\n\nAn example `main.workflow` file to run tests on push.\n\n```\nworkflow \"Push\" {\n  on = \"push\"\n  resolves = [\"Test\"]\n}\n\naction \"Test\" {\n  uses = \"MrRamych/gradle-actions@master\"\n  args = \"test\"\n}\n```\n"
  },
  {
    "path": "src/actions/graphql-inspector.md",
    "content": "---\npath: '/graphql-inspector'\ntitle: 'GraphQL Inspector'\ngithub_url: 'https://github.com/kamilkisiela/graphql-inspector'\nauthor: 'kamilkisiela'\ntags: ['graphql']\nsubtitle: 'A tool that inspects GraphQL API in order to find breaking changes or changes that are dangerous or entirely safe.'\n---\n\nMore information at [https://github.com/kamilkisiela/graphql-inspector](https://github.com/kamilkisiela/graphql-inspector)\n"
  },
  {
    "path": "src/actions/hadolint.md",
    "content": "---\npath: '/hadolint'\ntitle: 'Hadolint'\ngithub_url: 'https://github.com/burdzwastaken/hadolint-action'\nauthor: 'burdzwastaken'\ntags: ['dockerfile', 'docker', 'hadolint']\nsubtitle: 'A GitHub action to run hadolint and reports violations given a Dockerfile within a repository on a pull request'\n---\n\n## Usage\n\n```\nworkflow \"hadolint action\" {\n  on = \"pull_request\"\n  resolves = [\"hadolint on pr\"]\n}\n\naction \"hadolint on pr\" {\n  uses = \"burdzwastaken/hadolint-action@master\"\n  secrets = [\"GITHUB_TOKEN\"]\n  env = {\n    HADOLINT_ACTION_DOCKERFILE_FOLDER = \".\"\n  }\n}\n```\n\n## Environment Variables\n\n| Name                                | Default | Description                                                                                             |\n| ----------------------------------- | ------- | ------------------------------------------------------------------------------------------------------- |\n| `HADOLINT_ACTION_DOCKERFILE_FOLDER` | `.`     | Which directory the `Dockerfile` to run hadolint on resides in. Relative to the root of the repository. |\n| `HADOLINT_ACTION_COMMENT`           | `true`  | Set to `false` to disable commenting back on the PR with the violations found in the `Dockerfile`.      |\n\n![demo](images/404-no-beta-access)\n\n## TODO\n\n- Let users supply their own configuration file\n- Multiple `Dockerfile` support\n"
  },
  {
    "path": "src/actions/heroku.md",
    "content": "---\npath: '/heroku-cli'\ntitle: 'Heroku CLI'\ngithub_url: 'https://github.com/actions/heroku'\nauthor: 'github'\ntags: ['heroku', 'cli']\nsubtitle: 'This Action wraps the Heroku CLI to enable common Heroku commands.'\n---\n\n## Usage\n\nAn example workflow to build a docker container from source and push and release the image to an existing application on Heroku:\n\n```\nworkflow \"Deploy to Heroku\" {\n  on = \"push\"\n  resolves = \"release\"\n}\n\naction \"login\" {\n  uses = \"actions/heroku@master\"\n  args = \"container:login\"\n  secrets = [\"HEROKU_API_KEY\"]\n}\n\naction \"push\" {\n  uses = \"actions/heroku@master\"\n  needs = \"login\"\n  args = \"container:push -a calm-fortress-1234 web\"\n  secrets = [\"HEROKU_API_KEY\"]\n}\n\naction \"release\" {\n  uses = \"actions/heroku@master\"\n  needs = \"push\"\n  args = \"container:release -a calm-fortress-1234 web\"\n  secrets = [\"HEROKU_API_KEY\"]\n}\n```\n\n### Secrets\n\n- `HEROKU_API_KEY` - **Required**. The token to use for authentication with the Heroku API ([more info](https://help.heroku.com/PBGP6IDE/how-should-i-generate-an-api-key-that-allows-me-to-use-the-heroku-platform-api))\n\n### Environment variables\n\n- `HEROKU_APP` - **Optional**. To specify a Heroku application\n\n## License\n\nThe Dockerfile and associated scripts and documentation in this project are released under the [MIT License](LICENSE).\n\nContainer images built with this project include third party materials. See [THIRD_PARTY_NOTICE.md](THIRD_PARTY_NOTICE.md) for details.\n"
  },
  {
    "path": "src/actions/home-assistant.md",
    "content": "---\npath: '/home-assistant'\ntitle: 'Home Assistant'\ngithub_url: 'https://github.com/maddox/actions'\nauthor: 'maddox'\ntags: ['github', 'google', 'home', 'assistant']\nsubtitle: 'Control your home via Home Assistant. This action allows you to make a service call to your Home Assistant instance. Blink a light when a deploy is done, set your lights to green when CI goes green, lock your front door until the deploy is complete. Of course you want to incorporate your smart devices into your GitHub workflow!'\n---\n\n<img width=\"303\" alt=\"image\" src=\"https://user-images.githubusercontent.com/260/47250759-603f2780-d3f5-11e8-9305-e65723aaee6c.png\">\n\n## Usage\n\nTo use the action simply add the following lines to your `.github/main.workflow`\nand provide the required Secrets and Environment Variables\n\n```\naction \"Flash office lights\" {\n  uses = \"maddox/actions/home-assistant@master\"\n  secrets = [\"HASS_HOST\", \"HASS_TOKEN\"]\n  env = {\n    SERVICE_DATA = \"{\\n  \\\"entity_id\\\": \\\"light.office\\\",\\n  \\\"flash\\\": \\\"short\\\"\\n}\"\n    DOMAIN = \"light\"\n    SERVICE = \"turn_on\"\n  }\n}\n```\n\n### Minimum Home Assistant Version\n\nIn order to use this action, your Home Assistant instance's version\nmust be > 0.78. This action uses the new user auth scheme that has been added\nalong with the long-lived access tokens you can generate.\n\nOnce you are on a valid version, you can create a long-lived access token from\nyour profile page. Click your user in the side bar to access the `Long-Lived Access Tokens`\nsection at the bottom of the page.\n\n### Required Secrets\n\nYou'll need to provide some secrets to use the action.\n\n- **HASS_HOST**: Your fully qualified host address for your Home Assistant instance, ie `https://home.yourname.com` or `https://98.22.42.53`.\n- **HASS_TOKEN**: Your long-lived access token.\n\n### Required Environment Variables\n\nYou'll need to provide some environment variables to specify exactly what you want to do.\n\n- **DOMAIN**: The domain of the device you want to control. ie, `light`, `script`, `media_player`.\n- **SERVICE**: The service you want called on that domain. ie, `turn_on`, `pause`.\n- **SERVICE_DATA**: A JSON string of data for the service call. ie, `{\"entity_id\":\"light.living_room_window\", \"flash\": \"short\"}`\n\n[Learn more](https://developers.home-assistant.io/docs/en/external_api_rest.html#post-api-services-lt-domain-lt-service) about service calls via the REST api.\n"
  },
  {
    "path": "src/actions/httpie-action.md",
    "content": "---\npath: '/httpie-action'\ntitle: 'Httpie'\ngithub_url: 'https://github.com/swinton/httpie-action'\nauthor: 'swinton'\ntags: ['http', 'cli']\nsubtitle: 'A general purpose HTTP client for GitHub Actions, wrapping the HTTPie CLI to enable human-friendly interactions with third-party web services that expose an API over HTTP in your development workflow.'\n---\n\n## Why not just use webhooks?\n\nGreat question! Webhooks will likely _just work_ in the vast majority of cases :sparkles:\n\nIn certain situations though, this may be a better solution, as it provides more fine-grained control over the HTTP request that gets sent, for example you can:\n\n1. Form an entirely custom payload\n1. Use a variety of different authentication methods\n1. Use a variety of different request methods (`GET`, `POST`, `PATCH`, etc.)\n1. Send a variety of different MIME types\n1. Follow any redirects\n1. Act on the HTTP response\n1. Basically, leverage all of [the features of HTTPie](https://github.com/jakubroztocil/httpie/blob/1.0.2/README.rst#main-features) :sparkles:\n\n## Super simple example\n\nTo `POST` some `JSON` data, `{\"hello\": \"world\"}`, to `https://httpbin.org/anything` on every `push` to the repo:\n\n```hcl\nworkflow \"Call external API\" {\n  on = \"push\"\n  resolves = [\"Call httpbin\"]\n}\n\naction \"Call httpbin\" {\n  uses = \"swinton/httpie-action@master\"\n  args = [\"POST\", \"httpbin.org/anything\", \"hello=world\"]\n}\n```\n\n## More examples\n\n### Using output in a downstream action\n\nIn this more advanced, but somewhat contrived, example we'll open an issue in the current repository, and then comment and close that issue in subsequent actions.\n\n**Note**, this is made possible since the response body is preserved in a file, `$HOME/$GITHUB_ACTION.response.body` (along with response headers, in `$HOME/$GITHUB_ACTION.response.headers`, and the entire response, in `$HOME/$GITHUB_ACTION.response`). The response can then be parsed in downstream actions using [`jq`](https://stedolan.github.io/jq/), a _command-line JSON processor_, which is _pre-baked_ into the container.\n\n```hcl\naction \"Issue\" {\n  uses = \"swinton/httpie-action@master\"\n  args = [\"--auth-type=jwt\", \"--auth=$GITHUB_TOKEN\", \"POST\", \"api.github.com/repos/$GITHUB_REPOSITORY/issues\", \"title=Hello\\\\ world\"]\n  secrets = [\"GITHUB_TOKEN\"]\n}\n\naction \"Comment on issue\" {\n  needs = [\"Issue\"]\n  uses = \"swinton/httpie-action@master\"\n  args = [\"--auth-type=jwt\", \"--auth=$GITHUB_TOKEN\", \"POST\", \"`jq .comments_url /github/home/Issue.response.body --raw-output`\", \"body=Thanks\\\\ for\\\\ playing\\\\ :v:\"]\n  secrets = [\"GITHUB_TOKEN\"]\n}\n\naction \"Close issue\" {\n  needs = [\"Issue\"]\n  uses = \"swinton/httpie-action@master\"\n  args = [\"--auth-type=jwt\", \"--auth=$GITHUB_TOKEN\", \"PATCH\", \"`jq .url /github/home/Issue.response.body --raw-output`\", \"state=closed\"]\n  secrets = [\"GITHUB_TOKEN\"]\n}\n```\n\n### Trigger another workflow\n\nIn this example, we'll trigger a separate workflow, via [the repository's dispatches endpoint](https://developer.github.com/actions/creating-workflows/triggering-a-repositorydispatch-webhook/#how-to-trigger-the-repositorydispatch-webhook).\n\n**Note**, `$PAT` refers to a personal access token, [created separately](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/), and [stored as a secret](https://developer.github.com/actions/creating-workflows/storing-secrets/).\n\n```hcl\naction \"Trigger workflow\" {\n  uses = \"swinton/httpie-action@master\"\n  args = [\"--auth-type=jwt\", \"--auth=$PAT\", \"POST\", \"api.github.com/repos/$GITHUB_REPOSITORY/dispatches\", \"Accept:application/vnd.github.everest-preview+json\", \"event_type=demo\"]\n  secrets = [\"PAT\"]\n}\n```\n\n## Presets\n\nSome [HTTPie presets](https://github.com/jakubroztocil/httpie/blob/1.0.2//README.rst#config) are applied by default by the included [`config.json`](config.json), that make sense in the context of GitHub Actions, namely:\n\n1. [`--check-status`](https://github.com/jakubroztocil/httpie/blob/1.0.2//README.rst#scripting): Causes a workflow to exit if the HTTP status is one of `3xx`, `4xx`, or `5xx`\n1. [`--ignore-stdin`](https://github.com/jakubroztocil/httpie/blob/1.0.2//README.rst#best-practices): Disables HTTPie's default behaviour of automatically reading STDIN, typically not desirable during non-interactive invocations\n1. [`--default-scheme=https`](https://github.com/jakubroztocil/httpie/blob/1.0.2//README.rst#custom-default-scheme): Assumes `https://` is the default prefix for URLs, so you can just say (for example) `api.github.com/zen` as opposed to `https://api.github.com/zen`\n1. [`--print=hb`](https://github.com/jakubroztocil/httpie/blob/1.0.2//README.rst#output-options): Prints both response headers _and_ response body in the output\n\n## Plugins\n\nA few [authentication plugins](https://github.com/jakubroztocil/httpie/blob/1.0.2//README.rst#auth-plugins) are included:\n\n1. [`httpie-api-auth`](https://github.com/pd/httpie-api-auth): Provides support for the ApiAuth authentication scheme\n1. [`httpie-aws-auth`](https://github.com/httpie/httpie-aws-auth): Provides support AWS authentication\n1. [`httpie-hmac-auth`](https://github.com/guardian/httpie-hmac-auth): Provides support for HMAC authentication\n1. [`httpie-jwt-auth`](https://github.com/teracyhq/httpie-jwt-auth): Provides support for JSON Web Tokens\n\n## More info\n\nUsage docs for HTTPie are [here](https://github.com/jakubroztocil/httpie).\n"
  },
  {
    "path": "src/actions/hugo-to-github-pages.md",
    "content": "---\npath: '/hugo-to-github-pages'\ntitle: 'Build Hugo static content site and publish it to gh-pages branch'\ngithub_url: 'https://github.com/khanhicetea/gh-actions-hugo-deploy-gh-pages'\nauthor: 'khanhicetea'\ntags: ['hugo']\nsubtitle: 'GitHub Action for building and publishing Hugo-built site.'\n---\n\nInspired by [BryanSchuetz/jekyll-deploy-gh-pages](https://github.com/BryanSchuetz/jekyll-deploy-gh-pages)\n\n## Secrets\n\n- `GITHUB_TOKEN` - _Required_ for pushing files to gh-pages branch.\n\n## Environment Variables\n\nNOTHING\n\n## Example\n\n**main.workflow**\n\n```hcl\nworkflow \"Deploy to GitHub Pages\" {\n  on = \"push\"\n  resolves = [\"hugo-deploy-gh-pages\"]\n}\n\naction \"hugo-deploy-gh-pages\" {\n  uses = \"khanhicetea/gh-actions-hugo-deploy-gh-pages@master\"\n  secrets = [\"GITHUB_TOKEN\"]\n}\n```\n\n## Example site\n\n- https://github.com/khanhicetea/.com\n"
  },
  {
    "path": "src/actions/install-qt-action.md",
    "content": "---\npath: \"/install-qt-action\"\ntitle: \"Install Qt\"\ngithub_url: \"https://github.com/jurplel/install-qt-action\"\nauthor: \"jurplel\"\nsubtitle: \"Install Qt on your Github Actions workflows with just one simple action\"\ntags: []\n---\n# `install-qt-action`\n\nInstalling Qt on Github Actions workflows manually is the worst.\n\nYou know what's easier than dealing with that? Just using this:\n```yml\n    - name: Install Qt\n      uses: jurplel/install-qt-action@v1\n```\n\nAll done.\n\n## Options\n\n### `version`\nThe desired version of Qt to install.\n\nDefault: `5.12.5` (Latest LTS at the time of writing)\n\n### `host`\nThis is the host platform of the Qt version you will be installing. It's unlikely that you will need to set this manually if you are just building.\n\nFor example, if you are building on Linux and targeting desktop, you would set host to `linux`. If you are building on Linux and targeting android, you would set host to `linux` also. The host platform is the platform that your application will build on, not its target platform.\n\nPossible values: `windows`, `mac`, or `linux`\n\nDefaults to the current platform it is being run on.\n\n\n### `target`\nThis is the target platform that you will be building for. You will want to set this if you are building for iOS or Android. \n\n**Please note that iOS builds are supported only on macOS hosts**\n\nPossible values: `desktop`, `android`, or `ios`\n\nDefault: `desktop`\n\n### `arch`\nThis is the target architecture that your program will be built for. This is only used for Windows and Android.\n\n**Linux x86 packages are not supported by this action.** Qt does not offer pre-built Linux x86 packages. Please consider using your distro's repository or building it manually.\n\n**Possible values:**\n\nWindows: `win64_msvc2017_64`, `win64_msvc2015_64`, `win32_msvc2015`, `win32_mingw53`, or `win64_mingw73`\n\nAndroid: `android_x86`, `android_armv7`\n\n**Default values:**\n\nWindows: `win64_msvc2017_64`\n\nAndroid: `android_armv7`\n\n### `dir`\nThis is the directory prefix that Qt will be installed to.\n\nFor example, if you set dir to `/example/`, your bin folder will be located at `/example/Qt5.12.5/5.12.5/(your_arch)/bin`. When possible, access your Qt directory through the `Qt5_Dir` environment variable.\n\nDefault: `${RUNNER_WORKSPACE}` (this is one above the starting directory)\n\n## More info\n\nThe Qt bin directory is added to your `path` environment variable. `Qt5_Dir` is also set appropriately for cmake. \n\nBig thanks to the [aqtinstall](https://github.com/miurahr/aqtinstall/) developers for making this easy. Please go support them, they did all of the hard work here.\n\nThis action is distributed under the [MIT license](LICENSE).\n\nBy using this action, you agree to the terms of Qt's licensing. See [Qt licensing](https://www.qt.io/licensing/) and [Licenses used by Qt](https://doc.qt.io/qt-5/licenses-used-in-qt.html). \n"
  },
  {
    "path": "src/actions/issue-label-manager.md",
    "content": "---\npath: '/issue-label-manager'\ntitle: 'Issue Label Manager'\ngithub_url: 'https://github.com/lannonbr/issue-label-manager-action'\nauthor: 'lannonbr'\ntags: ['github', 'labels', 'automation']\nsubtitle: 'This GitHub Action allows you to declaratively state the labels to be defined in a repo.'\n---\n\nIn the repo you'd like to use this, define a JSON file in `.github/labels.json`. This file will contain an array of objects that have a name, color, and description as shown in the example below.\n\n![labels.json file](https://github.com/lannonbr/issue-label-manager-action/raw/master/screenshots/json.png)\n\nThen, set up a workflow that executes this action. When run, it will update the list of labels in the repo to match the JSON file and will delete any other labels.\n\nThe result of using the labels.json file shown above is as follows:\n\n![Labels result](https://github.com/lannonbr/issue-label-manager-action/raw/master/screenshots/labels.png)\n\nIf a label doesn't need a description, leave out the `description` field of the entry in the json file and when deployed the label will not contain a description.\n\n## Usage\n\nThis action only needs the GITHUB_TOKEN secret as it interacts with the GitHub API to modify labels. The action can be used as such:\n\n```hcl\naction \"Update Label\" {\n  uses = \"lannonbr/issue-label-manager-action@master\"\n  secrets = [\"GITHUB_TOKEN\"]\n}\n```\n"
  },
  {
    "path": "src/actions/jekyll-builds-on-github-pages.md",
    "content": "---\npath: '/jekyll-builds-on-github-pages'\ntitle: 'Custom Jekyll Builds on GitHub Pages'\ngithub_url: 'https://github.com/BryanSchuetz/jekyll-deploy-gh-pages'\nauthor: 'BryanSchuetz'\ntags: ['Jekyll', 'github', 'pages']\nsubtitle: '\nA GitHub Action for building and deploying a Jekyll repo back to its gh-pages branch. Why not just let GitHub Pages build it? Becaues this way we can use our own custom Jekyll plugins and build scripts.'\n---\n\n## Secrets\n\n- `GITHUB_TOKEN`: Access key scoped to the repository, we need this to push the site files back to the repo. (specify in workflow)\n\n## Environment Variables\n\n- `GITHUB_ACTOR`: Username of repo owner or object intiating the action (GitHub Provides)\n- `GITHUB_REPO`: Owner/Repository (GitHub Provides)\n\n## Examples\n\n```hcl\nworkflow \"Deploy Site\" {\n  on = \"push\"\n  resolves = [\"Build and Deploy Jekyll\"]\n}\n\naction \"Build and Deploy Jekyll\" {\n  uses = \"BryanSchuetz/jekyll-deploy-gh-pages@master\"\n  secrets = [\"GITHUB_TOKEN\"]\n}\n```\n\nClones the repo, builds the site, and commits it back to the gh-pages branch of the repository.\n\n## Caveats\n\n- Needs a .gemfile\n- `destination:` should be set to `./build` in your \\_config.yml file—as God demands.\n- Be sure that any custom gems needed are included in your Gemfile.\n- If you're looking to seperate out the build/deploy steps of this action so you can throw your own actions in between them, look at the limited build and deploy actions in this rpo.\n"
  },
  {
    "path": "src/actions/jenkins-single-shot.md",
    "content": "---\npath: '/jenkins-single-shot'\ntitle: 'POC for Jenkins Single-shot master'\ngithub_url: 'https://github.com/jonico/jenkinsfile-runner-github-actions'\nauthor: 'jonico'\ntags: ['jenkins']\nsubtitle: 'This is a POC how to run Jenkins Single-shot masters inside a GitHub Action Workflow.'\n---\n\n![image](https://user-images.githubusercontent.com/1872314/47345918-3b280e80-d6ac-11e8-9f44-8cc02754f691.png)\n\nAny GitHub project with a `Jenkinsfile`can use those actions to execute its defined workflow inside a Docker container run by GitHub that spawns up a new Jenkins master, executes the tests and exits.\n\nThe commit that triggered the GitHub Action is [automatically mapped](https://developer.github.com/actions/creating-github-actions/accessing-the-runtime-environment/#filesystem) to `/github/workspace` in the Jenkins Docker container. Test results are reported back to the corresponding pull requests.\n\n![image](https://user-images.githubusercontent.com/1872314/47347618-ed150a00-d6af-11e8-87f7-e425c6a43867.png)\n\n![image](https://user-images.githubusercontent.com/1872314/47346015-732f5180-d6ac-11e8-9fbd-9c534e7b3f34.png)\n\n## Available GitHub Actions\n\nThe POC comes with two actions:\n\n#### [jenkinsfile-runner-prepackaged](https://github.com/jonico/jenkinsfile-runner-github-actions/tree/master/jenkinsfile-runner-prepackaged) (recommended)\n\nUses the [official Jenkinsfile-Runner](https://github.com/jenkinsci/jenkinsfile-runner) and prepackages Jenkins 2.138.2 and Maven 3.5.2 with it. There is also a [Dockerfile](https://hub.docker.com/r/jonico/jenkinsfile-runner-prepackaged/) available you could refer to in [your workflow](https://help.github.com/articles/about-github-actions/#about-workflows) if you do not like to [refer to the source](https://github.com/jonico/jenkinsfile-runner-github-actions/tree/master/jenkinsfile-runner-prepackaged).\n\n#### [jenkinsfile-runner-lazyloaded](https://github.com/jonico/jenkinsfile-runner-github-actions/tree/master/jenkinsfile-runner-lazyloaded)\n\nUses [an alternative Jenkinsfile-Runner implementation](https://github.com/ndeloof/jenkinsfile-runner) that first downloads the latest version of Jenkins LTS and all plugins specified in `plugins.txt` in the commit that is triggering the GitHub Action. There is also a [Dockerfile](https://hub.docker.com/r/jonico/jenkinsfile-runner-lazyloaded/) available you could refer to in [your workflow](https://help.github.com/articles/about-github-actions/#about-workflows) if you do not like to [refer to the source](https://github.com/jonico/jenkinsfile-runner-github-actions/tree/master/jenkinsfile-runner-lazyloaded).\n\n## How to use the actions\n\nHere is an example [GitHub Action workflow](https://help.github.com/articles/about-github-actions/#about-workflows) that shows how to use the actions in parallel:\n\n```\nworkflow \"Jenkins single-shot master\" {\n  on = \"push\"\n  resolves = [\"jenkinsfile-runner-lazyloaded\", \"jenkinsfile-runner-prepackaged\"]\n}\n\naction \"jenkinsfile-runner-prepackaged\" {\n  uses = \"jonico/jenkinsfile-runner-github-actions/jenkinsfile-runner-prepackaged@master\"\n  secrets = [\"GITHUB_TOKEN\"]\n}\n\naction \"jenkinsfile-runner-lazyloaded\" {\n  uses = \"docker://jonico/jenkinsfile-runner-lazyloaded\"\n  secrets = [\"GITHUB_TOKEN\"]\n}\n```\n\nFor anything else but demonstration purposes, you probably only want to run one approach (and not both in parallel).\n\nFor this case, just remove the action you do not need from the [`resolves`](https://developer.github.com/actions/creating-workflows/workflow-configuration-options/#workflow-blocks) attribute of the workflow.\n\n## An example Jenkinsfile that was tested with this\n\n```groovy\n#!groovy\nimport groovy.json.JsonOutput\n\nnode {\n    // pull request or feature branch\n    if  (env.GITHUB_REF != 'refs/heads/master') {\n        checkoutSource()\n        build()\n        unitTest()\n    } // master branch / production\n    else {\n        checkoutSource()\n        build()\n        allTests()\n        createRelease(\"${env.GITHUB_ACTION}-${env.GITHUB_SHA}\")\n    }\n}\n\ndef createRelease(name) {\n  stage ('createRelease') {\n        def payload = JsonOutput.toJson([\"tag_name\": \"v-${name}\", \"name\": \"GitHub Action triggered release: ${name}\", \"body\": \"This release has been created with the help of a Jenkins single-shot master running inside of a GitHub Action. For more details visit https://github.com/jonico/jenkinsfile-runner-github-actions\"])\n        def apiUrl = \"https://api.github.com/repos/${env.GITHUB_REPOSITORY}/releases\"\n        mysh(\"curl -s --output /dev/null -H \\\"Authorization: Token ${env.GITHUB_TOKEN}\\\" -H \\\"Accept: application/json\\\" -H \\\"Content-type: application/json\\\" -X POST -d '${payload}' ${apiUrl}\")\n    }\n}\n\n// prevent output of secrets and a globbing patterns by Jenkins\ndef mysh(cmd) {\n    sh('#!/bin/sh -e\\n' + cmd)\n}\n\ndef checkoutSource() {\n  stage ('checkoutSource') {\n    // as the commit that triggered that Jenkins action is already mapped to /github/workspace, we just copy that to the workspace\n    copyFilesToWorkSpace()\n  }\n}\n\ndef copyFilesToWorkSpace() {\n  mysh \"cp -r /github/workspace/* $WORKSPACE\"\n}\n\ndef build () {\n    stage ('Build') {\n      mvn 'clean install -DskipTests=true -Dmaven.javadoc.skip=true -Dcheckstyle.skip=true -B -V'\n    }\n}\n\n\ndef unitTest() {\n    stage ('Unit tests') {\n      mvn 'test -B -Dmaven.javadoc.skip=true -Dcheckstyle.skip=true'\n    }\n}\n\ndef allTests() {\n    stage ('All tests') {\n      // don't skip anything\n      mvn 'test -B'\n    }\n}\n\ndef mvn(args) {\n    sh \"mvn ${args} -Dmaven.repo.local=/github/workspace/.m2\"\n}\n```\n\nThere are some things to point out with this example:\n\n- the commit who triggered the action is placed by GitHub Actions into `/github/workspace` and the `checkoutSource` function is just doing a file copy of all files in this directory to the job's workspace (can probably be optimized)\n- maven's local repo is set to `/github/workspace/.m2` as the workspace directory is [shared across actions](https://developer.github.com/actions/creating-github-actions/accessing-the-runtime-environment/#filesystem) of the same workflow\n- so far, Jenkins environmental variables are not populated based on the [GitHub Actions context](https://developer.github.com/actions/creating-github-actions/accessing-the-runtime-environment/#environment-variables) - instead, the GitHub Action environmental variable `GITHUB_REF`\n- there is no need to explicitly set the commit status after the build finishes as GitHub Actions will do this automatically based on the exit code of the wrapped action\n- the `mysh`function is used to not show shell glob expansion or `GITHUB_SECRET` in the Jenkinsfile\n\n![image](https://user-images.githubusercontent.com/1872314/47358580-64579780-d6ca-11e8-8f75-484bdc661a10.png)\n\n## Local Trouble-shooting / customize the packaged Jenkins and plugins\n\n#### Jenkinsfile-Runner Prepackaged\n\n```bash\ndocker pull jonico/jenkinsfile-runner-prepackaged\n```\n\nor if you like to build the Docker image from scratch\n\n```bash\n\ngit clone https://github.com/jonico/jenkinsfile-runner-github-actions.git\n\ncd jenkinsfile-runner-github-actions/jenkinsfile-runner-prepackaged\n\ndocker build -t jonico/jenkinsfile-runner-prepackaged .\n```\n\nThen, cd to your git repo that contains your Jenkinsfile and mount it to `/github/workspace` while running the docker container\n\n```bash\ncd <your-repo>\n\ndocker run --rm -it -v $(pwd):/github/workspace  jonico/jenkinsfile-runner-prepackaged\n```\n\nIf you are using environmental variables in your `Jenkinsfile`, you would have to specify them using the \"-e\" command line option for docker:\n\n```bash\ndocker run --rm -it -v $(pwd):/github/workspace -e GITHUB_REPOSITORY=jonico/reading-time-app -e GITUB_GITHUB_REF=refs/heads/create-releases -e GITHUB_ACTION=jenkinsfile-runner-prepackaged -e GITHUB_SHA=mysha-3 -e GITHUB_TOKEN=<redacted> jonico/jenkinsfile-runner-prepackaged\n```\n\nIn case you like to modify the [Docker base image](https://hub.docker.com/r/jonico/jenkinsfile-runner-github-action/) that defines which version of Jenkins and which plugins are included, you find the Dockerfile [here](https://github.com/jonico/jenkinsfile-runner/blob/master/Dockerfile).\n\n#### Jenkinsfile-Runner Lazyloaded\n\n```bash\ndocker pull jonico/jenkinsfile-runner-lazyloaded\n```\n\nor if you like to build the Docker image from scratch\n\n```bash\n\ngit clone https://github.com/jonico/jenkinsfile-runner-github-actions.git\n\ncd jenkinsfile-runner-github-actions/jenkinsfile-runner-lazyloaded\n\ndocker build -t jonico/jenkinsfile-runner-lazyloaded .\n```\n\nThen, cd to your git repo that contains your Jenkinsfile and mount it to `/github/workspace` while running the docker container\n\n```bash\ncd <your-repo>\n\ndocker run --rm -it -v $(pwd):/github/workspace  jonico/jenkinsfile-runner-lazyloaded\n```\n\nIf you are using environmental variables in your `Jenkinsfile`, you would have to specify them using the \"-e\" command line option for docker.\n\n```bash\ndocker run --rm -it -v $(pwd):/github/workspace -e GITHUB_REPOSITORY=jonico/reading-time-app -e GITUB_GITHUB_REF=refs/heads/create-releases -e GITHUB_ACTION=jenkinsfile-runner-lazyloaded -e GITHUB_SHA=mysha-3 -e GITHUB_TOKEN=<redacted> jonico/jenkinsfile-runner-lazyloaded\n```\n\nThe customization of the [underlying Docker base image](https://hub.docker.com/r/jenkins/jenkinsfile-runner/) can be done [by customizing this repo](https://github.com/ndeloof/jenkinsfile-runner).\n\n## Current Limitations / TODOs\n\nThis is just a POC, in order to productize this, you would probably\n\n- [Automate](https://jenkins.io/blog/2018/10/16/custom-war-packager/#jenkinsfile-runner-packaging) the creation of the pre-packaged Jenkins Docker container\n- populate Jenkins environmental variables based on the [GitHub Actions context](https://developer.github.com/actions/creating-github-actions/accessing-the-runtime-environment/#environment-variables)\n- Find a better way to populate the job workspace with the content of `/github/workspace` other than manually copying the files over as part of your `Jenkinsfile`\n- Find a better way to package maven binaries and additional plugins\n- Find a better way to share maven plugins other than manually mapping the local maven repo to `/github/workspace/.m2` in your `Jenkinsfile`\n- Find a better way to cache the lazy-loaded Jenkins as `/github/workspace/.jenkinsfile-runner-cache` as specified [here](https://github.com/jonico/jenkinsfile-runner-github-actions/blob/master/jenkinsfile-runner-lazyloaded/Dockerfile#L19)\n- Add examples of how to work with [Jenkins secrets](https://github.com/ndeloof/jenkinsfile-runner#sensitive-data)\n- Provide examples how to copy parts of the Jenkins results to an external storage\n"
  },
  {
    "path": "src/actions/js-build-tools.md",
    "content": "---\npath: '/js-build-tools'\ntitle: 'JavaScript Build Tools'\ngithub_url: 'https://github.com/elstudio/actions-js-build'\nauthor: 'elstudio'\ntags: ['npm', 'grunt', 'gulp', 'css', 'sass', 'less']\nsubtitle: 'Run JS build tasks with Gulp, Grunt or NPM, then commit any changed files and push them back to your original repository. Perfect for Grunt or Gulp tasks that do CSS (or SASS/LESS) compilation or JS transpilation. If your build task changes files, these actions are for you.'\n---\n\nThis repository contains two actions that may be used independently -- typically one after another:\n\n- **build** (elstudio/actions-js-build/build@master): Looks for a gulpfile.js or Gruntfile.js in the working directory, then installs any required npm packages and runs the appropriate build tool. If it finds neither gulp or grunt, the script runs npm. Set the workflow `args` arguments to run the tasks of your choice.\n- **commit** (elstudio/actions-js-build/commit@master): Commits any file changes, and pushes them back to the current branch of the origin repository on GitHub.\n\n## Usage\n\nAn example workflow to run `grunt default` task to build, test, then commit and push any changes back to the GitHub origin repository:\n\n```hcl\nworkflow \"Grunt compile\" {\n  on = \"push\"\n  resolves = [\"Commit and Push\"]\n}\n\naction \"Build\" {\n  uses = \"elstudio/actions-js-build/build@master\"\n  env = {\n    WD_PATH = \"./web/themes/nw8\"\n  }\n  args = \"default\"\n}\n\naction \"Commit and Push\" {\n  uses = \"elstudio/actions-js-build/commit@master\"\n  needs = [\"Build\"]\n  secrets = [\"GITHUB_TOKEN\"]\n  env = {\n    PUSH_BRANCH = \"staging\"\n  }\n}\n```\n\n### Secrets\n\n- `GITHUB_TOKEN` - **Required**. The token to use for authentication with GitHub to commit and push changes back to the origin repository. ([more info](https://developer.github.com/actions/creating-github-actions/accessing-the-runtime-environment/#environment-variables))\n\n### Environment variables\n\n- `WD_PATH` - **Optional**. To specify a directory other than the repository root where NPM's Package.json and either gulpfile.js or Gruntfile.js may be found.\n- `PUSH_BRANCH` - **Optional**. The branch that changes will be pushed to. Default is the currently checked out branch.\n"
  },
  {
    "path": "src/actions/lint-pull-request.md",
    "content": "### Static linting for pull requests\n\nThis release supports linting pull request titles and descriptions by testing against a regular expression, supplies as action input.\n\nIf the linting fails, you can configure the action to automatically leave a comment explaining the rules for pull request structure. You are free to add as many rules as you want.\n\nIf the pull request passes, the action will clean up after itself to not clutter your pull request with unnecessary comments. You are also able to supply a set of labels that can be added on success, to allow prefiltering your pull requests and see which are ready for review from a structural perspective.\n\n### Example workflow:\n\n```\nname: Lint Pull Request\non:\n  pull_request:\n    types: [opened, edited]\n\njobs:\n  lint-pull-request:\n    name: Lint Pull Request\n    runs-on: ubuntu-latest \n\n    steps:\n      - name: Lint Pull Request\n        uses: reaction-link/actions-lint-pull-request@v1\n        with:\n          config-bot-repotoken: ${{secrets.SOME_SECRET}}\n          config-bot-login: mybotaccount    \n          github-event: ${{toJson(github.event)}}\n          use-title-regex: '(Feature|Bugfix|Hotfix|Release)(\\/KEY-\\d+)?:\\s\\w+'\n          use-approval-labels: '[\"Good Structure\"]'\n          use-explanation-title: '[\"- There must be a title in this format: `Feature|Bugfix|Hotfix|Release: Title`\",\"- If applicable, add your issue ticket (e.g. `REA-100`) with a slash in the title\",\"- Use `Feature` for enhancements or new functionality\",\"- Use `Bugfix` only if you fixed a known bug\",\"- Use `Hotfix` for problems introduced by previous merges\",\"- Use proper capitalization in your title\"]'\n```\n\n### Result on fail\n\n<img width=\"1061\" alt=\"Bildschirmfoto 2022-03-25 um 12 16 44\" src=\"https://user-images.githubusercontent.com/5528623/160111357-c1938548-cccc-41ee-9ead-3e02c043012b.png\">\n\n### Result on success\n\n<img width=\"640\" alt=\"Bildschirmfoto 2022-03-25 um 12 35 42\" src=\"https://user-images.githubusercontent.com/5528623/160113810-6e218beb-1e2b-4a23-9e57-44b916058a5c.png\">\n\n### Available inputs\n\n```\ninputs:\n  config-bot-repotoken:\n    description: \"Token with repo-scope permissions for a GitHub user (bot account for example)\"\n    required: true\n  config-bot-login:\n    description: \"Username of the GitHub user (bot account for example)\"\n    required: true\n  github-event:\n    description: \"toJSON of github.event (event triggering the action)\"\n    required: true\n  use-greetings:\n    description: \"JSON string array to use for randomly selected greetings (used in comment body, runs through JSON.parse)\"\n    default: '[\"Hello @{name},\\n\"]'\n  use-approval-labels:\n    description: \"JSON string array to use for labeling linted pull request (runs through JSON.parse)\"\n    default: '[\"Good\"]'\n  use-title-regex:\n    description: \"Regex string to use for linting the pull request title\"\n    default: '\\w+'\n  use-description-regex:\n    description: \"Regex string to use for linting the pull request description\"\n    default: '\\w+'\n  use-title-regex-flag:\n    description: \"Regex flag to use for linting the pull request title (Use empty string for none)\"\n    default: 'g'\n  use-description-regex-flag:\n    description: \"Regex flag to use for linting the pull request description (Use empty string for none)\"\n    default: 'g'\n  use-problem-title:\n    description: \"Template string to use for highlighting a title that failed to pass (used in comment body). Template-Literals: {title}\"\n    default: '- The title `{title}` is not the format I expected.'\n  use-problem-description:\n    description: \"Template string to use for highlighting a description that failed to pass (used in comment body). Template-Literals: {body}\"\n    default: '- The description `{body}` is not the format I expected.'\n  use-explanation-title:\n    description: \"JSON string array to describe rules to pass linting for the pull request title (used in comment body, runs through JSON.parse)\"\n    default: '[\"- There must be a title\",\"- Use proper capitalization\"]'\n  use-explanation-description:\n    description: \"JSON string array to describe rules to pass linting for the pull request description (used in comment body, runs through JSON.parse)\"\n    default: '[\"- There must be a description\"]'\n\n```\n\n### Caveats\n- You can supply `config-bot-repotoken: ${{secrets.GITHUB_TOKEN}}` and `config-bot-login: github-actions` if you don't have a bot account.\n- You can supply your own user-login and a personal access token for your account (stored as a secret in private repositories) to leave comments on your behalf\n- Currently linting is limited to the pull request title and its description, other aspects will follow (commit messages, amount of commits, etc.)\n- Use the raw regular expression, don't enclose the expression in `\\\\`\n- Supply a flag for the expression with the additional inputs available\n- Have a look at the README or the action.yml to see available inputs, their use-cases and what is happening to them (some are JSON parsed and require string escaping for example!)\n- Configure the action to be a required action for pull requests against protected branches to enforce your pull request structure rules\n- Combine GitHub's ability to auto-link to project management software if it detects an issue key by supplying a regular expression that requires an issue key to be existent (or make it optional like in the example above)\n\n\n### Happy Linting\n\n![bot-thumbsup](https://user-images.githubusercontent.com/5528623/160114894-6e0684c6-395f-432d-8c0c-99937469eb16.png)\n\n\n"
  },
  {
    "path": "src/actions/mercure.md",
    "content": "---\npath: \"/action-mercure\"\ntitle: \"action-mercure\"\ngithub_url: \"https://github.com/Ilshidur/action-mercure\"\nauthor: \"Ilshidur\"\nsubtitle: \"🚀 GitHub Action for Mercure\"\ntags: [\"mercure\",\"server-sent-events\",\"live-updates\",\"push\",\"subscription\"]\n---\n# 🚀 GitHub Action for Mercure\n\nSend a [Mercure](https://mercure.rocks) publish event. Simple as that.\n\n![GitHub Action](https://github.com/Ilshidur/action-mercure/raw/master/action.png \"GitHub Action\")\n\n<hr/>\n\n## Demo\n\n1) Go to https://demo.mercure.rocks, in the **Subscribe** section.\n2) Subscribe for notifications on this *topic* : **`foo`**.\n3) 🌟 Star 🌟 this repo !\n4) Quickly switch to the Mercure demo page to see a notification in your browser.\n\n## Usage\n\n```hcl\naction \"Publish notification\" {\n  uses = \"Ilshidur/action-mercure@master\"\n  secrets = [\"MERCURE_HUB_URL\", \"MERCURE_HUB_JWT\"]\n  args = \"{ \\\"hello\\\": \\\"world\\\" }\"\n}\n```\n\n**NOTICE :** for stability purposes, it is recommended to use the action with an explicit commit SHA-1 :\n\n`uses = \"Ilshidur/action-mercure@eea8db9\"` (=> link to the commits list : https://github.com/Ilshidur/action-mercure/commits/master)\n\n### Arguments\n\nThe argument is the content of the event to send. It is **RECOMMENDED** to use JSON.\n\n**Environment variables can be interpolated** in the message using brackets (`{{` and `}}`) :\n\ne.g.: `args = \"{ \\\"action\\\": \\\"{{ GITHUB_ACTION }}\\\" }\"`\n\n### Environment variables\n\n* **`MERCURE_TOPICS`**: the Mercure topics. **Supports interpolation** using (`{{` and `}}`).\n\n### Secrets\n\n* **`MERCURE_HUB_URL`**: the **public** Mercure hub URL (**required**).\n* **`MERCURE_HUB_JWT`**: the publisher JWT (**required**).\n* That's all.\n\n## License\n\nGNU GENERAL PUBLIC LICENSE v3.\n\n<hr/>\n\n<p align=\"center\">\n  Don't forget to 🌟 Star 🌟 the repo if you like this GitHub Action !<br/>\n  <a href=\"https://github.com/Ilshidur/action-mercure/issues/new\">Your feedback is appreciated</a>\n</p>\n"
  },
  {
    "path": "src/actions/mjolnir.md",
    "content": "---\npath: \"/gha-mjolnir\"\ntitle: \"Mjolnir\"\ngithub_url: \"https://github.com/ldez/gha-mjolnir\"\nauthor: \"ldez\"\nsubtitle: \":hammer: GitHub Action to close issues related to the merge of a pull request.\"\ntags: [\"github-action\",\"issues\",\"pull-requests\",\"close\"]\n---\n# Mjolnir\n\n[![Release](https://img.shields.io/github/release/ldez/gha-mjolnir.svg?style=flat)](https://github.com/ldez/gha-mjolnir/releases)\n\nCloses issues related to the merge of a pull request.\n\nUseful:\n\n- to close multiple issues related to a pull request.\n- to close issues related to a pull request not based on the default branch (i.e. `master`).\nBy example when a branch is related to version (e.g. `v1.5`, `v2.0`, ...)\n\n## Supported syntax\n\n- prefixes (case insensitive): `close`, `closes`, `closed`, `fix`, `fixes`, `fixed`, `resolve`, `resolves`, `resolved`\n- issues references separators (can be mixed): ` ` (space), `,` (period)\n- prefix and issues references can be separated by: ` ` (space), `:` (colon), on both.\n\nExamples:\n\n```\nFixes #1,#2,#3\nclose #1, #2, #3\nfix #1 #2 #3\nresolve #1,#2 #3\nResolves: #1,#2,#3\nclosed : #1, #2, #3\n```\n\n## Usage\n\n```hcl\nworkflow \"Auto close issues\" {\n  on = \"pull_request\"\n  resolves = [\"mjolnir-issues\"]\n}\n\naction \"mjolnir-issues\" {\n  uses = \"docker://ldez/gha-mjolnir\"\n  secrets = [\"GITHUB_TOKEN\"]\n  args = \"\"\n}\n```\n"
  },
  {
    "path": "src/actions/my-broken-link-checker.md",
    "content": "---\npath: \"/action-my-broken-link-checker\"\ntitle: \"My Broken Link Checker\"\ngithub_url: \"https://github.com/ruzickap/action-my-broken-link-checker\"\nauthor: \"ruzickap\"\nsubtitle: \"A GitHub Action for checking broken links.\"\ntags: [\"broken-links\",\"github-actions\",\"github-action\",\"actions\",\"website\",\"checker\",\"links\",\"link-checker\",\"url-checker\"]\n---\n\n# GitHub Actions: My Broken Link Checker ✔\n\n[![GitHub Marketplace](https://img.shields.io/badge/Marketplace-My%20Broken%20Link%20Checker-blue.svg?colorA=24292e&colorB=0366d6&style=flat&longCache=true&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAM6wAADOsB5dZE0gAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAERSURBVCiRhZG/SsMxFEZPfsVJ61jbxaF0cRQRcRJ9hlYn30IHN/+9iquDCOIsblIrOjqKgy5aKoJQj4O3EEtbPwhJbr6Te28CmdSKeqzeqr0YbfVIrTBKakvtOl5dtTkK+v4HfA9PEyBFCY9AGVgCBLaBp1jPAyfAJ/AAdIEG0dNAiyP7+K1qIfMdonZic6+WJoBJvQlvuwDqcXadUuqPA1NKAlexbRTAIMvMOCjTbMwl1LtI/6KWJ5Q6rT6Ht1MA58AX8Apcqqt5r2qhrgAXQC3CZ6i1+KMd9TRu3MvA3aH/fFPnBodb6oe6HM8+lYHrGdRXW8M9bMZtPXUji69lmf5Cmamq7quNLFZXD9Rq7v0Bpc1o/tp0fisAAAAASUVORK5CYII=)](https://github.com/marketplace/actions/my-broken-link-checker)\n[![license](https://img.shields.io/github/license/ruzickap/action-my-broken-link-checker.svg)](https://github.com/ruzickap/action-my-broken-link-checker/blob/master/LICENSE)\n[![release](https://img.shields.io/github/release/ruzickap/action-my-broken-link-checker.svg)](https://github.com/ruzickap/action-my-broken-link-checker/releases/latest)\n[![GitHub release date](https://img.shields.io/github/release-date/ruzickap/action-my-broken-link-checker.svg)](https://github.com/ruzickap/action-my-broken-link-checker/releases)\n![GitHub Actions status](https://github.com/ruzickap/action-my-broken-link-checker/workflows/docker-image/badge.svg)\n[![Docker Hub Build Status](https://img.shields.io/docker/cloud/build/peru/my-broken-link-checker.svg)](https://hub.docker.com/r/peru/my-broken-link-checker)\n\nThis is a GitHub Action to check broken link in your static files or web pages.\nThe [muffet](https://github.com/raviqqe/muffet) is used for URL checking task.\n\nSee the basic GitHub Action example to run periodic checks (weekly)\nagainst [google.com](https://google.com):\n\n```yaml\non:\n  schedule:\n    - cron: '0 0 * * 0'\n\nname: Check markdown links\njobs:\n  my-broken-link-checker:\n    name: Check broken links\n    runs-on: ubuntu-18.04\n    steps:\n      - name: Check\n        uses: ruzickap/action-my-broken-link-checker@v1\n        with:\n          url: https://www.google.com\n          cmd_params: \"--one-page-only\"  # Check just one page\n```\n\nThis deploy action can be combined with [Static Site Generators](https://www.staticgen.com/)\n(Hugo, MkDocs, Gatsby, GitBook, mdBook, etc.). The following examples expects\nto have the web page stored in `./build` directory. There is a [caddy](https://caddyserver.com/)\nweb server started during the tests which is using the hostname from the `URL`\nparameter and serving the web pages (see the details in [entrypoint.sh](./entrypoint.sh)).\n\n```yaml\n- name: Check\n  uses: ruzickap/action-my-broken-link-checker@v1\n  with:\n    url: https://www.example.com/test123\n    pages_path: ./build/\n    cmd_params: --buffer-size=8192 --concurrency=10 --skip-tls-verification --limit-redirections=5 --timeout=20  # muffet parameters\n    run_timeout: 600  # maximum amount of time to run muffet (default is set to 300 seconds)\n```\n\nDo you want to skip the docker build step? OK, the script mode is also available:\n\n```yaml\n- name: Check\n  env:\n    INPUT_URL: https://www.example.com/test123\n    INPUT_PAGES_PATH: ./build/\n    INPUT_CMD_PARAMS: --buffer-size=8192 --concurrency=10 --skip-tls-verification  # --skip-tls-verification is mandatory parameter when using https and \"PAGES_PATH\"\n  run: wget -qO- https://raw.githubusercontent.com/ruzickap/action-my-broken-link-checker/v1/entrypoint.sh | bash\n```\n\n## Parameters\n\nEnvironment variables used by `./entrypoint.sh` script.\n\n| Variable            | Default                               | Description                                                                                                                                                              |\n| ------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| `INPUT_CMD_PARAMS`  | `--buffer-size=8192 --concurrency=10` | Command line parameters for URL checker [muffet](https://github.com/raviqqe/muffet) - details [here](https://github.com/raviqqe/muffet/blob/master/arguments.go#L16-L34) |\n| `INPUT_DEBUG`       | false                                 | Enable debug mode for the `./entrypoint.sh` script (`set -x`)                                                                                                            |\n| `INPUT_PAGES_PATH`  |                                       | Relative path to the directory with local web pages                                                                                                                      |\n| `INPUT_RUN_TIMEOUT` | 300                                   | Maximum number of seconds that URL checker can be running                                                                                                                |\n| `INPUT_URL`         | (**Mandatory / Required**)            | URL which will be checked                                                                                                                                                |\n\n## Full example\n\nGitHub Action example:\n\n```yaml\nname: Checks\n\non:\n  push:\n    branches:\n      - master\n\njobs:\n  build-deploy:\n    runs-on: ubuntu-18.04\n    steps:\n      - name: Create web page\n        run: |\n          mkdir -v public\n          cat > public/index.html << EOF\n          <!DOCTYPE html>\n          <html>\n            <head>\n              My page which will be stored on my-testing-domain.com domain\n            </head>\n            <body>\n              Links:\n              <ul>\n                <li><a href=\"https://my-testing-domain.com\">https://my-testing-domain.com</a></li>\n                <li><a href=\"https://my-testing-domain.com:443\">https://my-testing-domain.com:443</a></li>\n              </ul>\n            </body>\n          </html>\n          EOF\n\n      - name: Check links using script\n        env:\n          INPUT_URL: https://my-testing-domain.com\n          INPUT_PAGES_PATH: ./public/\n          INPUT_CMD_PARAMS: \"--skip-tls-verification --verbose\"\n          INPUT_RUN_TIMEOUT: 100\n          INPUT_DEBUG: true\n        run: wget -qO- https://raw.githubusercontent.com/ruzickap/action-my-broken-link-checker/v1/entrypoint.sh | bash\n\n      - name: Check links using container\n        uses: ruzickap/action-my-broken-link-checker@v1\n        with:\n          url: https://my-testing-domain.com\n          pages_path: ./public/\n          cmd_params: \"--skip-tls-verification --verbose\"\n          run_timeout: 10\n          debug: true\n```\n\n## Best practices\n\nLet's try to automate the creating the web pages as much as possible.\n\nThe ideal situation require the repository naming convention, where the name of\nthe GitHub repository should match the URL where it will be hosted.\n\n### GitHub Pages with custom domain\n\nThe mandatory part is the repository name `awsug.cz` which is the same as the\ndomain:\n\n* Repository name: [awsugcz/awsug.cz](https://github.com/awsugcz/awsug.cz)\n  \\-> Web pages: [https://awsug.cz](https://awsug.cz)\n\nThe web pages will be stored as GitHub Pages on it's [own domain](https://help.github.com/en/github/working-with-github-pages/configuring-a-custom-domain-for-your-github-pages-site).\n\nThe GH Action file may looks like:\n\n```yaml\nname: hugo-build\n\non:\n  pull_request:\n    types: [opened, synchronize]\n  push:\n\njobs:\n  hugo-build:\n    runs-on: ubuntu-18.04\n    steps:\n      - uses: actions/checkout@v2\n\n      - name: Checkout submodules\n        shell: bash\n        run: |\n          auth_header=\"$(git config --local --get http.https://github.com/.extraheader)\"\n          git submodule sync --recursive\n          git -c \"http.extraheader=$auth_header\" -c protocol.version=2 submodule update --init --force --recursive --depth=1\n\n      - name: Setup Hugo\n        uses: peaceiris/actions-hugo@v2.3.2\n        with:\n          hugo-version: '0.62.0'\n\n      - name: Build\n        run: |\n          hugo --gc\n          cp LICENSE README.md public/\n          echo \"${{ github.event.repository.name }}\" > public/CNAME\n\n      - name: Check broken links\n        env:\n          INPUT_URL: https://${{ github.event.repository.name }}\n          INPUT_PAGES_PATH: public\n          INPUT_CMD_PARAMS: --verbose --buffer-size=8192 --concurrency=10 --skip-tls-verification --exclude=linkedin.com\n        run: |\n          wget -qO- https://raw.githubusercontent.com/ruzickap/action-my-broken-link-checker/v1/entrypoint.sh | bash\n\n      - name: Deploy\n        uses: peaceiris/actions-gh-pages@v2.8.0\n        if: github.event_name == 'push' && github.ref == 'refs/heads/master'\n        env:\n          ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}\n          PUBLISH_BRANCH: gh-pages\n          PUBLISH_DIR: public\n        with:\n          forceOrphan: true\n```\n\nThe example is using [Hugo](https://gohugo.io/).\n\n### GitHub Pages with [github.io](https://github.io) domain\n\nThe mandatory part is the repository name `k8s-harbor` which is the directory\npart at the and of `ruzickap.github.io`:\n\n* Repository name: [ruzickap/k8s-harbor](https://github.com/ruzickap/k8s-harbor)\n  \\-> Web pages: [https://ruzickap.github.io/k8s-harbor](https://ruzickap.github.io/k8s-harbor)\n\nIn the example the web pages will be using GitHub's domain [github.io](https://github.io).\n\n```yaml\nname: vuepress-build-check-deploy\n\non:\n  pull_request:\n    types: [opened, synchronize]\n    paths:\n      - .github/workflows/vuepress-build-check-deploy.yml\n      - docs/**\n      - package.json\n      - package-lock.json\n  push:\n    paths:\n      - .github/workflows/vuepress-build-check-deploy.yml\n      - docs/**\n      - package.json\n      - package-lock.json\n\njobs:\n  vuepress-build-check-deploy:\n    runs-on: ubuntu-18.04\n    steps:\n      - uses: actions/checkout@v2\n\n      - name: Install Node.js 12\n        uses: actions/setup-node@v1\n        with:\n          node-version: 12.x\n\n      - name: Install VuePress and build the document\n        run: |\n          npm install\n          npm run build\n          cp LICENSE docs/.vuepress/dist\n          sed -e \"s@(part-@(https://github.com/${GITHUB_REPOSITORY}/tree/master/docs/part-@\" -e 's@.\\/.vuepress\\/public\\/@./@' docs/README.md > docs/.vuepress/dist/README.md\n\n      - name: Check broken links\n        env:\n          INPUT_URL: https://${{ github.event.repository.owner.name }}.github.io/${{ github.event.repository.name }}\n          INPUT_PAGES_PATH: .\n          INPUT_CMD_PARAMS: --buffer-size=8192 --concurrency=10 --skip-tls-verification\n        run: |\n          ln -s docs/.vuepress/dist ${{ github.event.repository.name }}\n          wget -qO- https://raw.githubusercontent.com/ruzickap/action-my-broken-link-checker/v1/entrypoint.sh | bash\n\n      - name: Deploy\n        uses: peaceiris/actions-gh-pages@v2.8.0\n        if: github.event_name == 'push' && github.ref == 'refs/heads/master'\n        env:\n          ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}\n          PUBLISH_BRANCH: gh-pages\n          PUBLISH_DIR: ./docs/.vuepress/dist\n        with:\n          forceOrphan: true\n```\n\nIn this case I'm using [VuePress](https://vuepress.vuejs.org/) to create my\npage.\n\n---\n\nBoth examples can be used as a **generic template**, and you do not need to\nchange them for your projects.\n\n## Running locally\n\nIt's possible to use the checking script locally. It will install [caddy](https://caddyserver.com/)\nand [muffet](https://github.com/raviqqe/muffet) binaries if they\nare not already installed on your system.\n\n```bash\nexport INPUT_URL=\"https://google.com\"\nexport INPUT_CMD_PARAMS=\"--ignore-fragments --one-page-only --concurrency=10 --verbose\"\n./entrypoint.sh\n```\n\nOutput:\n\n```text\n*** INFO: [2019-12-30 14:53:54] Start checking: \"https://google.com\"\nhttps://www.google.com/\n        200     http://www.google.cz/history/optout?hl=cs\n        200     http://www.google.cz/intl/cs/services/\n        200     https://accounts.google.com/ServiceLogin?hl=cs&passive=true&continue=https://www.google.com/\n        200     https://drive.google.com/?tab=wo\n        200     https://mail.google.com/mail/?tab=wm\n        200     https://maps.google.cz/maps?hl=cs&tab=wl\n        200     https://news.google.cz/nwshp?hl=cs&tab=wn\n        200     https://play.google.com/?hl=cs&tab=w8\n        200     https://www.google.com/advanced_search?hl=cs&authuser=0\n        200     https://www.google.com/images/branding/googlelogo/1x/googlelogo_white_background_color_272x92dp.png\n        200     https://www.google.com/intl/cs/about.html\n        200     https://www.google.com/intl/cs/ads/\n        200     https://www.google.com/intl/cs/policies/privacy/\n        200     https://www.google.com/intl/cs/policies/terms/\n        200     https://www.google.com/language_tools?hl=cs&authuser=0\n        200     https://www.google.com/preferences?hl=cs\n        200     https://www.google.com/setprefdomain?prefdom=CZ&prev=https://www.google.cz/&sig=K_WmKyDZc24PJiXFyTjsUeLLrG-P4%3D\n        200     https://www.google.com/textinputassistant/tia.png\n        200     https://www.google.cz/imghp?hl=cs&tab=wi\n        200     https://www.google.cz/intl/cs/about/products?tab=wh\n        200     https://www.youtube.com/?gl=CZ&tab=w1\n*** INFO: [2019-12-30 14:53:55] Checks completed...\n```\n\nYou can also use the advantage of the container to run the checks locally\nwithout touching your system:\n\n```bash\nexport INPUT_URL=\"https://google.com\"\nexport INPUT_CMD_PARAMS=\"--ignore-fragments --one-page-only --concurrency=10 --verbose\"\ndocker run --rm -t -e INPUT_URL -e INPUT_CMD_PARAMS peru/my-broken-link-checker\n```\n\nAnother example when checking the the web page locally stored on your disk.\nIn this case I'm using the web page created in the `./tests/` directory from\nthis git repository:\n\n```bash\nexport INPUT_URL=\"https://my-testing-domain.com\"\nexport INPUT_PAGES_PATH=\"${PWD}/tests/\"\nexport INPUT_CMD_PARAMS=\"--skip-tls-verification --verbose\"\n./entrypoint.sh\n```\n\nOutput:\n\n```text\n*** INFO: Using path \"/home/pruzicka/git/action-my-broken-link-checker/tests/\" as domain \"my-testing-domain.com\" with URI \"https://my-testing-domain.com\"\n*** INFO: [2019-12-30 14:54:22] Start checking: \"https://my-testing-domain.com\"\nhttps://my-testing-domain.com/\n        200     https://my-testing-domain.com\n        200     https://my-testing-domain.com/run_tests.sh\n        200     https://my-testing-domain.com:443\n        200     https://my-testing-domain.com:443/run_tests.sh\nhttps://my-testing-domain.com:443/\n        200     https://my-testing-domain.com\n        200     https://my-testing-domain.com/run_tests.sh\n        200     https://my-testing-domain.com:443\n        200     https://my-testing-domain.com:443/run_tests.sh\n*** INFO: [2019-12-30 14:54:22] Checks completed...\n```\n\nThe same example as above, but in this case I'm using the container:\n\n```bash\nexport INPUT_URL=\"https://my-testing-domain.com\"\nexport INPUT_PAGES_PATH=\"${PWD}/tests/\"\nexport INPUT_CMD_PARAMS=\"--skip-tls-verification --verbose\"\ndocker run --rm -t -e INPUT_URL -e INPUT_CMD_PARAMS -e INPUT_PAGES_PATH -v \"$INPUT_PAGES_PATH:$INPUT_PAGES_PATH\" peru/my-broken-link-checker\n```\n\n## Examples\n\nSome other examples of building and checking web pages using [Static Site Generators](https://www.staticgen.com/)\nand GitHub Actions can be found here: [https://github.com/peaceiris/actions-gh-pages/](https://github.com/peaceiris/actions-gh-pages/)\n\nThe following links contains real examples of My Broken Link Checker:\n\n* Go to \"Actions -> check-broken-links\" in this repository\n\n* Static page generated by [Hugo](https://gohugo.io/)\n  with checked links: [example](https://github.com/ruzickap/xvx.cz/blob/e30eca99a13821b6fcf322ef636fd03f5d5ce989/.github/workflows/hugo-build.yml#L34-L40)\n\n* Static page generated by [VuePress](https://vuepress.vuejs.org/)\n  with checked links: [example](https://github.com/ruzickap/k8s-harbor/blob/7973e8c2df395999e38271ba863e307a5da07f49/.github/workflows/vuepress-build-check-deploy.yml#L93-L100)\n"
  },
  {
    "path": "src/actions/netlify-build.md",
    "content": "---\npath: '/netlify-build'\ntitle: 'Netlify: Build'\ngithub_url: 'https://github.com/netlify/actions'\nauthor: 'netlify'\ntags: ['netlify', 'build']\nsubtitle: 'Trigger a build on Netlify, if there is no site for this repo it can automagically set up one with the specified base directory, command, and publish directory.'\n---\n\n## Secrets\n\n- `GITHUB_TOKEN` - _Required_ GitHub token provided by actions to validate requests\n- `NETLIFY_SITE_ID` - _Optional_ API site ID of the site you wanna work on\n  [Obtain it from the UI](https://www.netlify.com/docs/cli/#link-with-an-environment-variable)\n\n## Environment Variables\n\n- `NETLIFY_BASE` - _Optional_ Directory to change to before starting build\n- `NETLIFY_CMD` - _Optional_ Build command to build site\n- `NETLIFY_DIR` - _Optional_ The directory to publish (relative to root of your repo)\n\n## Examples\n\nTrigger a build to a specific site in Netlify\n\n```hcl\nworkflow \"Publish on Netlify\" {\n  on = \"push\"\n  resolves = [\"Publish\"]\n}\n\naction \"Publish\" {\n  uses = \"netlify/actions/build@master\"\n  secrets = [\"GITHUB_TOKEN\", \"NETLIFY_SITE_ID\"]\n}\n```\n\nTrigger a build on Netlify, if there's no site for this repo it will automagically set up one with the specified base, command, and publish directory.\n\n```hcl\nworkflow \"Publish on Netlify\" {\n  on = \"push\"\n  resolves = [\"Publish\"]\n}\n\naction \"Publish\" {\n  uses = \"netlify/actions/build@master\"\n  secrets = [\"GITHUB_TOKEN\"]\n  env = {\n    NETLIFY_BASE = \"site\"\n    NETLIFY_CMD = \"npm build\"\n    NETLIFY_DIR = \"site/_build\"\n  }\n}\n```\n"
  },
  {
    "path": "src/actions/netlify-cli.md",
    "content": "---\npath: '/netlify-cli'\ntitle: 'Netlify: CLI'\ngithub_url: 'https://github.com/netlify/actions'\nauthor: 'netlify'\ntags: ['netlify', 'cli']\nsubtitle: 'This Action enables arbitrary actions with the Netlify CLI'\n---\n\n## Secrets\n\n- `NETLIFY_AUTH_TOKEN` - _Required_ The token to use for authentication.\n  [Obtain one with the UI](https://www.netlify.com/docs/cli/#obtain-a-token-in-the-netlify-ui)\n- `NETLIFY_SITE_ID` - _Optional_ API site ID of the site you wanna work on\n  [Obtain it from the UI](https://www.netlify.com/docs/cli/#link-with-an-environment-variable)\n\n## Example\n\n```hcl\nworkflow \"Publish on Netlify\" {\n  on = \"push\"\n  resolves = [\"Publish\"]\n}\n\naction \"Publish\" {\n  uses = \"netlify/actions/cli@master\"\n  args = \"deploy --dir=site --functions=functions\"\n  secrets = [\"NETLIFY_AUTH_TOKEN\", \"NETLIFY_SITE_ID\"]\n}\n```\n"
  },
  {
    "path": "src/actions/netlify-diff-includes.md",
    "content": "---\npath: '/netlify-diff-includes'\ntitle: 'Netlify: Diff Includes Filter'\ngithub_url: 'https://github.com/netlify/actions'\nauthor: 'netlify'\ntags: ['netlify']\nsubtitle: '\nThis action includes a filter to stop workflows unless certain files or directories are changed in a range of commits.'\n---\n\n## Examples\n\n```hcl\nworkflow \"Publish docs if changed\" {\n  on = \"push\"\n  resolves = [\"Publish\"]\n}\n\naction \"Check changes in docs\" {\n  uses = \"netlify/actions/diff-includes@master\"\n  // this can be one or many files/directories\n  args = \"docs\"\n}\n\n// This will only be run if there are changes in docs directory in the last set\n// of commits pushed\naction \"Publish\" {\n  needs = \"Checks changes in docs\"\n  uses = \"netlify/actions/build@master\"\n  // see https://github.com/netlify/actions/tree/master/build for details\n  secrets = [\"GITHUB_TOKEN\", \"NETLIFY_SITE_ID\"]\n  env = {\n    // this should match previouse action `args` until known issue is resolved\n    BUILD_DIR = \"docs\"\n  }\n}\n```\n"
  },
  {
    "path": "src/actions/nexmo-sms.md",
    "content": "---\npath: '/nexmo-sms'\ntitle: 'Nexmo SMS'\ngithub_url: 'https://github.com/nexmo-community/nexmo-sms-action'\nauthor: 'nexmo-community'\ntags: ['sms', 'nexmo']\nsubtitle: 'Send an SMS from GitHub Actions using Nexmo. The passed in args represent the contents of the message.'\n---\n\n## Usage\n\nThe `args` represent the recipient and the contents of the message.\n\nFor example:\n\n```workflow\nworkflow \"Send SMS On Push\" {\n  on = \"push\"\n  resolves = [\"notification\"]\n}\n\naction \"notification\" {\n    uses = \"nexmo-community/nexmo-sms-action@master\"\n    secrets = [\n        \"NEXMO_API_KEY\",\n        \"NEXMO_API_SECRET\",\n        \"NEXMO_NUMBER\"\n    ]\n    args = \"15551234567 New pull on $GITHUB_REPOSITORY from $GITHUB_ACTOR.\"\n}\n```\n\nwill send `New pull on $GITHUB_REPOSITORY from $GITHUB_ACTOR` to `15551234567`.\n\nIf you don't want to expose your recipient number, you can use secrets.\n\nFor example, a new secret called `DEVOPS_NUMBER` could be used inside of `args` as follows:\n\n```workflow\nworkflow \"Send SMS On Push\" {\n  on = \"push\"\n  resolves = [\"notification\"]\n}\n\naction \"notification\" {\n    uses = \"nexmo-community/nexmo-sms-action@master\"\n    secrets = [\n        \"NEXMO_API_KEY\",\n        \"NEXMO_API_SECRET\",\n        \"NEXMO_NUMBER\",\n        \"DEVOPS_NUMBER\"\n    ]\n    args = \"$DEVOPS_NUMBER New pull on $GITHUB_REPOSITORY from $GITHUB_ACTOR.\"\n}\n```\n\nThis allows for you to reuse this action to send messages to various recipients.\n\n## Secrets\n\nThis action uses the following required secrets:\n\n- `NEXMO_API_KEY` - Your Nexmo API Key.\n- `NEXMO_API_SECRET` - Your Nexmo API Secret.\n- `NEXMO_NUMBER` - A number on your Nexmo account without any spaces or symbols. Example: 15551231234\n\n## Event Information\n\nGitHub stores the event information in the json file at `$GITHUB_EVENT_PATH`. You can use [jq] to parse this file and send its contents in the SMS:\n\n```sh\njq .issue.html_url $GITHUB_EVENT_PATH --raw-output\n```\n\nHere's an example of sending an SMS any time an issue is created with the urgent label:\n\n```workflow\nworkflow \"Send SMS On Urgent Issue\" {\n  resolves = [\n    \"Send Urgent Issue Message\",\n  ]\n  on = \"issues\"\n}\n\naction \"Has Urgent Label\" {\n  uses = \"actions/bin/filter@8738e95\"\n  args = \"label urgent\"\n}\n\naction \"Label Being Added\" {\n  uses = \"actions/bin/filter@8738e95\"\n  args = \"action labeled\"\n}\n\naction \"Send Urgent Issue Message\" {\n  needs = [\"Label Being Added\", \"Has Urgent Label\"]\n  secrets = [\n    \"NEXMO_API_KEY\",\n    \"NEXMO_API_SECRET\",\n    \"NEXMO_NUMBER\",\n    \"DEVOPS_NUMBER\",\n  ]\n  args = \"$DEVOPS_NUMBER This urgent issue needs your attention: `jq .issue.html_url $GITHUB_EVENT_PATH --raw-output`\"\n  uses = \"nexmo-community/nexmo-sms-action@master\"\n}\n```\n\n[github actions]: https://github.com/actions\n[nexmo]: https://developer.nexmo.com\n[jq]: https://stedolan.github.io/jq/\n"
  },
  {
    "path": "src/actions/node-code-formatter.md",
    "content": "---\npath: \"/node-code-formatter\"\ntitle: \"node-code-formatter\"\ngithub_url: \"https://github.com/MarvinJWendt/run-node-formatter\"\nauthor: \"MarvinJWendt\"\nsubtitle: \"Automatically formats your code with your preferred code formatter!\"\ntags: [\"formatter\", \"format\", \"linter\", \"node\", \"style\", \"standard\", \"prettier\"]\n---\n# Node Code Formatter\n\n[![GitHub Action](https://img.shields.io/badge/-GitHub_Action-black?logo=github&style=flat-square)](https://github.com/marketplace/actions/node-code-formatter)\n[![GitHub license](https://img.shields.io/github/license/MarvinJWendt/run-node-formatter?style=flat-square)](https://github.com/MarvinJWendt/run-node-formatter/blob/master/LICENSE)\n[![GitHub issues](https://img.shields.io/github/issues/MarvinJWendt/run-node-formatter)](https://github.com/MarvinJWendt/run-node-formatter/issues)\n[![GitHub stars](https://img.shields.io/github/stars/MarvinJWendt/run-node-formatter?style=flat-square)](https://github.com/MarvinJWendt/run-node-formatter/stargazers)\n\n> Automatically formats your code!\n\n## Automatically format pull requests\n\n_Never tell your users to format their code, as we do it on the fly!_\n\n![image](https://user-images.githubusercontent.com/31022056/64829627-6457d300-d5cd-11e9-9bc0-6a35d095ec64.png)\n\n## Usage :pencil2:\n\n1. Create a `formatter.yml` file in `.github/workflows/`\n2. Paste this code into the file:\n\n```yml\non: push\nname: Node Code Formatter\njobs:\n  lint:\n    name: Node Code Formatter\n    runs-on: ubuntu-latest\n    steps:\n    - name: Node Code Formatter\n      uses: MarvinJWendt/run-node-formatter@1.2.1\n      env:\n        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n```\n\n3. Commit the file :twisted_rightwards_arrows:\n\n## Setup formatter scripts :clipboard:\n\nSimply put your code formatter into a script named `format` or `lint` in your `package.json` (Yarn only supports a `lint` script at the moment).\n\n**Make sure that your code formatter is a dependency of your module!**\n\n### StandardJS\n\n```json\n...\n\"scripts\": {\n    \"format\": \"standard --fix\"\n  }\n```\n\n### Prettier\n\n```json\n...\n\"scripts\": {\n    \"format\": \"prettier\"\n  }\n```"
  },
  {
    "path": "src/actions/notify-slack-action.md",
    "content": "---\npath: \"/notify-slack-action\"\ntitle: \"notify-slack-action\"\ngithub_url: \"https://github.com/ravsamhq/notify-slack-action\"\nauthor: \"ravsamhq\"\nsubtitle: \"Send Github Actions workflow status notifications to Slack regarding failures, warnings, or even success.\"\ntags: [\"github-actions\",\"github-action\",\"slack-bot\",\"slack-actions\",\"workflow-status-notifications\",\"slack\",\"workflow\",\"notifications\"]\n---\n![Test](https://github.com/ravsamhq/notify-slack-action/workflows/Test/badge.svg)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n# Notify Slack Action\n\nSend Github Actions workflow status notifications to Slack regarding failures, warnings or even success.\n\n### Example workflow\n\n```yaml\nsteps:\n  - uses: ravsamhq/notify-slack-action@master\n    if: always()\n    with:\n      status: ${{ job.status }}\n      notify_when: 'failure' # default is 'success,failure,warnings'\n    env:\n      SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required\n```\n\n<sub>Made in Python &bull; By [Ravgeet Dhillon](https://github.com/ravgeetdhillon) @ [RavSam Web Solutions](https://www.ravsam.in).</sub>\n"
  },
  {
    "path": "src/actions/npm-audit-fix.md",
    "content": "---\npath: '/npm-audit-fix'\ntitle: 'npm Audit Fix'\ngithub_url: 'https://github.com/JasonEtco/npm-audit-fix-action'\nauthor: 'JasonEtco'\ntags: ['npm', 'pull-request']\nsubtitle: 'Work in progress GitHub Action that opens a pull request following an npm audit fix --forcey.'\n---\n\n<p align=\"center\">\n  <img width=\"600\" src=\"https://user-images.githubusercontent.com/10660468/47612046-bf7de700-da48-11e8-85fd-071003a079d4.png\" alt=\"Screenshot of the Action creating a new pull request\" />\n</p>\n\n### Still todo\n\n- Figure out how to best test Actions\n- Smarter logic around when `--force` should be used (if at all)\n- It runs `npm audit`, checks the sum vulnerabilities, then `npm audit fix` needed - could that be optimized to one command?\n"
  },
  {
    "path": "src/actions/npm-cli.md",
    "content": "---\npath: '/npm-cli'\ntitle: 'NPM Cli'\ngithub_url: 'https://github.com/actions/npm'\nauthor: 'GitHub'\ntags: ['cli']\nsubtitle: 'This Action for npm enables arbitrary actions with the npm command-line client, including testing packages and publishing to a registry.'\n---\n\n## Usage\n\nAn example workflow to build, test, and publish an npm package to the default public registry follows:\n\n```hcl\nworkflow \"Build, Test, and Publish\" {\n  on = \"push\"\n  resolves = [\"Publish\"]\n}\n\naction \"Build\" {\n  uses = \"actions/npm@master\"\n  args = \"install\"\n}\n\naction \"Test\" {\n  needs = \"Build\"\n  uses = \"actions/npm@master\"\n  args = \"test\"\n}\n\n# Filter for a new tag\naction \"Tag\" {\n  needs = \"Test\"\n  uses = \"actions/bin/filter@master\"\n  args = \"tag\"\n}\n\naction \"Publish\" {\n  needs = \"Tag\"\n  uses = \"actions/npm@master\"\n  args = \"publish --access public\"\n  secrets = [\"NPM_AUTH_TOKEN\"]\n}\n```\n\n### Secrets\n\n- `NPM_AUTH_TOKEN` - **Optional**. The token to use for authentication with the npm registry. Required for `npm publish` ([more info](https://docs.npmjs.com/getting-started/working_with_tokens))\n\n### Environment variables\n\n- `NPM_REGISTRY_URL` - **Optional**. To specify a registry to authenticate with. Defaults to `registry.npmjs.org`\n- `NPM_CONFIG_USERCONFIG` - **Optional**. To specify a non-default per-user configuration file. Defaults to `$HOME/.npmrc` ([more info](https://docs.npmjs.com/misc/config#npmrc-files))\n\n#### Example\n\nTo authenticate with, and publish to, a registry other than `registry.npmjs.org`:\n\n```hcl\naction \"Publish\" {\n  uses = \"actions/npm@master\"\n  args = \"publish --access public\"\n  env = {\n    NPM_REGISTRY_URL = \"someOtherRegistry.someDomain.net\"\n  }\n  secrets = [\"NPM_AUTH_TOKEN\"]\n}\n```\n\n## License\n\nThe Dockerfile and associated scripts and documentation in this project are released under the [MIT License](LICENSE).\n\nContainer images built with this project include third party materials. See [THIRD_PARTY_NOTICE.md](THIRD_PARTY_NOTICE.md) for details.\n"
  },
  {
    "path": "src/actions/okteto.md",
    "content": "---\npath: '/okteto'\ntitle: 'Okteto Deploy'\ngithub_url: 'https://github.com/okteto/actions'\nauthor: 'Luis Vilca'\ntwitter: '@ferluisxd'\ntags: ['okteto','cd','ci','devops','docker','k8s']\nsubtitle: 'This actions is to automate the deploy of okteto (similar to okteto push from their cli'\n---\n\n\nThis repository contains a bunch of actions to behave like the okteto CLI,\nyou can find more info in their repository\n\nLearn more about okteto [here](https://okteto.com/docs/getting-started/index.html)\n\n## Usage\n\nBelow you'll find my script to deploy your app to the cloud (similar to okteto push)\n\n```name: CD\n\non: \n  push:\n    branches:\n      - master\n\njobs:\n\n  devflow:\n    runs-on: ubuntu-latest\n    steps:\n    \n    - uses: okteto/actions/login@master\n      with:\n        token: ${{ secrets.OKTETO_TOKEN }}\n    \n    - name: \"Create devlopment environments namespace\"\n      uses: okteto/actions/namespace@master\n      with:\n        name: your-okteto-username\n\n    - name: \"Deploy application\"\n      uses: okteto/actions/apply@master\n      with:\n        namespace: your-okteto-username\n        manifest: k8s.yaml\n\n    - name: \"Push changes\"\n      uses: okteto/actions/namespace@master\n      with:\n        namespace: your-okteto-username\n        name: your-cloud-application-name\n        deploy: \"true\"\n```"
  },
  {
    "path": "src/actions/pandoc.md",
    "content": "---\npath: \"/pandoc\"\ntitle: \"pandoc\"\ngithub_url: \"https://github.com/maxheld83/pandoc\"\nauthor: \"maxheld83\"\nsubtitle: \"GitHub action to run pandoc\"\ntags: [\"github-actions\",\"continuous-delivery\",\"pandoc\",\"latex\",\"markdown\",\"html\"]\n---\n# GitHub Action to Convert Documents via Pandoc\n\n[![Actions Status](https://wdp9fww0r9.execute-api.us-west-2.amazonaws.com/production/badge/maxheld83/pandoc)](https://github.com/maxheld83/pandoc/actions)\n[![GitHubActions](https://img.shields.io/badge/as%20seen%20on%20-GitHubActions-blue.svg)](https://github-actions.netlify.com/pandoc)\n\nThis action lets you use [pandoc](https://pandoc.org/), the **swiss army knife of document conversion**.\n\nIt is based on the [`pandoc/latex`](https://hub.docker.com/r/pandoc/latex/) docker image and thus ships with LaTeX, so you can also convert right through to PDF.\nThe action currently uses pandoc 2.6 and will be upgrade periodically. \n\n\n## Secrets\n\nNone.\n\n\n## Environment Variables\n\n- `OUT_DIR` (optional) a path relative from `workspace/github` (~ your repository root) *without* trailing slash.\n  \n  It's often useful to have pandoc output to a separate directory, for example for easier deployment.\n  You can *create* such a directory using the `OUT_DIR` environment variable.\n  \n  If you've set it, the directory will be `mkdir`ed.\n  Remember to point the output argument of your pandoc call in the `args` section to this new directory.\n\n\n## Arguments\n\nAll arguments get appended to the [`pandoc` command](https://pandoc.org/MANUAL.html).\n\n\n## Example Usage\n\nThis is the action block used to render the website for this action.\n\n```\naction \"Convert\" {\n  uses = \"maxheld83/pandoc@v0.1.0\"\n  env = {\n    OUT_DIR = \"public\"\n  }\n  args = [\n    \"--standalone\",\n    \"--output=public/index.html\",\n    \"README.md\"\n  ]\n}\n```\n"
  },
  {
    "path": "src/actions/php-code-fixer.md",
    "content": "---\npath: '/php-code-fixer'\ntitle: 'PHP Code Fixer'\ngithub_url: 'https://github.com/OskarStark/php-cs-fixer-ga'\nauthor: 'OskarStark'\ntags: []\nsubtitle: 'Github Action for PHP-CS-Fixer.'\n---\n\n## Usage\n\nYou can use it as a Github Action like this:\n\n_.github/main.workflow_\n\n```\nworkflow \"Main\" {\n  on = \"push\"\n  resolves = [\"PHP-CS-Fixer\"]\n}\n\naction \"PHP-CS-Fixer\" {\n  uses = \"docker://oskarstark/php-cs-fixer-ga\"\n  secrets = [\"GITHUB_TOKEN\"]\n}\n```\n\n_to use a custom config for example, --diff and --dry-run option:_\n\n```diff\nworkflow \"Main\" {\n  on = \"push\"\n  resolves = [\"PHP-CS-Fixer\"]\n}\n\naction \"PHP-CS-Fixer\" {\n  uses = \"docker://oskarstark/php-cs-fixer-ga\"\n  secrets = [\"GITHUB_TOKEN\"]\n+  args = \"--config=.project.php_cs --diff --dry-run\"\n}\n```\n\n**You can copy/paste the .github folder (under examples/) to your project and thats all!**\n\n## Docker\n\nA Docker-Image is built automatically and located here:\nhttps://cloud.docker.com/u/oskarstark/repository/docker/oskarstark/php-cs-fixer-ga\n\nYou can run it in any given directory like this:\n\n`docker run --rm -it -w=/app -v ${PWD}:/app oskarstark/php-cs-fixer-ga:latest`\n\n## A picture is worth a thousand words\n\nYou can find a working and not working PR here:\nhttps://github.com/OskarStark/test-php-cs-fixer-ga/pulls\n"
  },
  {
    "path": "src/actions/php-stan.md",
    "content": "---\npath: '/php-stan'\ntitle: 'PHPStan'\ngithub_url: 'https://github.com/OskarStark/phpstan-ga'\nauthor: 'OskarStark'\ntags: []\nsubtitle: 'PHPStan Static code analyzer Action.'\n---\n\n## Usage\n\nYou can use it as a Github Action like this:\n\n_.github/main.workflow_\n\n```\nworkflow \"Main\" {\n  on = \"push\"\n  resolves = [\"PHPStan\"]\n}\n\naction \"PHPStan\" {\n  uses = \"docker://oskarstark/phpstan-ga\"\n  secrets = [\"GITHUB_TOKEN\"]\n  args = \"analyse src/\"\n}\n```\n\n_to use a specific level:_\n\n```diff\nworkflow \"Main\" {\n  on = \"push\"\n  resolves = [\"PHPStan\"]\n}\n\naction \"PHPStan\" {\n  uses = \"docker://oskarstark/phpstan-ga\"\n  secrets = [\"GITHUB_TOKEN\"]\n+  args = \"analyse src/ --level=4\"\n}\n```\n\n**You can copy/paste the .github folder (under examples/) to your project and thats all!**\n\n## Docker\n\nA Docker-Image is built automatically and located here:\nhttps://cloud.docker.com/u/oskarstark/repository/docker/oskarstark/phpstan-ga\n\nYou can run it in any given directory like this:\n\n`docker run --rm -it -w=/app -v ${PWD}:/app oskarstark/phpstan-ga:latest analyse src/`\n"
  },
  {
    "path": "src/actions/phpqa.md",
    "content": "---\npath: '/phpqa'\ntitle: 'PHPQA toolsuite'\ngithub_url: 'https://github.com/mickaelandrieu/phpqa-ga'\nauthor: 'mickaelandrieu'\ntags: []\nsubtitle: 'PHPQA toolsuite action.'\n---\n\n## Usage\n\nYou can use it as a Github Action like this:\n\n_.github/main.workflow_\n\n```\nworkflow \"Main\" {\n  on = \"push\"\n  resolves = [\"PHPQA\"]\n}\n\naction \"PHPQA\" {\n  uses = \"docker://mickaelandrieu/phpqa-ga\"\n  secrets = [\"GITHUB_TOKEN\"]\n  args = \"--report --output=cli\"\n}\n```\n\n**You can copy/paste the .github folder (under examples/) to your project and thats all!**\n\n## Docker\n\nA Docker-Image is built automatically and located here:\nhttps://cloud.docker.com/u/mickaelandrieu/repository/docker/mickaelandrieu/phpqa-ga\n\nYou can run it in any given directory like this:\n\n`docker run --rm -it -w=/app -v ${PWD}:/app mickaelandrieu/phpqa-ga:latest tools`\n"
  },
  {
    "path": "src/actions/powershell-formatter.md",
    "content": "---\npath: '/powershell-formatter'\ntitle: 'Powershell formatter'\ngithub_url: 'https://github.com/bltavares/actions'\nauthor: 'bltavares'\ntags: ['powershell', 'formatter', 'autofixer']\nsubtitle: 'This actions will check the formating of the Dockerfiles in the project, using Powershell-Beautiffier.'\n---\n\n## Validations on Push\n\nThis actions will check the formating of the Dockerfiles in the project, using\n[Powershell-Beautiffier](https://github.com/DTW-DanWard/PowerShell-Beautifier)\n\nAction name was changed just to provide a shorter version\n\n## Fixes on Pull Request review\n\nThis action provides automated fixes using Pull Request review comments.\n\nIf the comment starts with `fix $action_name` or `fix pwshfmt`, a new commit\nwill be added to the branch with the automated fixes applied.\n\n**Supports**: autofix on push\n\n## Example workflow\n\n```hcl\nworkflow \"on push\" {\n  on = \"push\"\n  resolves = [\"pwshfmt\"]\n}\n\nworkflow \"on review\" {\n  resolves = [\"pwshfmt\"]\n  on = \"pull_request_review\"\n}\n\naction \"pwshfmt\" {\n  uses = \"bltavares/actions/pwshfmt@master\"\n  # Enable autofix on push\n  # args = [\"autofix\"]\n  # Used for pushing changes for `fix` comments on review\n  secrets = [\"GITHUB_TOKEN\"]\n}\n```\n"
  },
  {
    "path": "src/actions/pr-status-giphy.md",
    "content": "---\npath: \"/pr-status-giphy\"\ntitle: \"Pull Request Status Giphy Action\"\ngithub_url: \"https://github.com/jzweifel/pr-status-giphy-action\"\nauthor: \"jzweifel\"\nsubtitle: \"A GitHub Action that displays a random thumbs up or thumbs down gif from giphy when pull request checks finish. \"\ntags: [gif,utility,fun]\n---\n# Pull Request Status Giphy Action\n\nA GitHub Action that displays a random thumbs up or thumbs down gif from Giphy when all checks on a Pull Request complete.\n\nIt will automatically clean up an existing comment before making a new one if checks are re-run.\n\nWorks best when used in a workflow that runs on the `pull_request` event.\n\n![thumbs-up-pr](https://github.com/jzweifel/pr-status-giphy-action/raw/master/media/thumbs-up-pr.gif)\n\n![thumbs-down-pr](https://github.com/jzweifel/pr-status-giphy-action/raw/master/media/thumbs-down-pr.gif)\n\n## Usage\n\n```\nworkflow \"Pull Request Status Checks\" {\n  resolves = \"PR Status Giphy\"\n  on = \"pull_request\"\n}\n\naction \"PR Status Giphy\" {\n  uses = \"jzweifel/pr-status-giphy-action@master\"\n  secrets = [\"GITHUB_TOKEN\", \"GIPHY_API_KEY\"]\n}\n```\n\n### Secrets\n\n- `GITHUB_TOKEN` - **Required**.\n- `GIPHY_API_KEY` - **Required**. Your secret Giphy Api Key. You can create this key [here](https://developers.giphy.com/dashboard/?create=true).\n\n## License\n\nThe Dockerfile and associated scripts and documentation in this project are released under the [MIT License](LICENSE).\n\nContainer images built with this project include third party materials. See [THIRD_PARTY_NOTICE.md](THIRD_PARTY_NOTICE.md) for details.\n"
  },
  {
    "path": "src/actions/psake.md",
    "content": "---\npath: '/psake-tasks'\ntitle: 'Run psake tasks'\ngithub_url: 'https://github.com/devblackops/psake-github-action'\nauthor: 'devblackops'\ntags: []\nsubtitle: 'This official psake GitHub Action allow you to run psake tasks as part of your GitHub workflow.'\n---\n\n## Actions\n\n### Task\n\nRuns one or more psake tasks defined in a `psakeFile.ps1` in the root of the repository.\nThe file containing your psake tasks can be overridden via environment variables.\n\n## Success Criteria\n\nThis action succeeds if the `psake` task(s) complete without error.\n\n## Usage\n\n```hcl\naction \"psake test\" {\n    # Replace <latest tag> with the latest tag from\n    # https://github.com/devblackops/psake-github-action/releases\n    uses = \"devblackops/psake-github-action@<latest tag>\"\n\n    # If you need to change the default psakeFile name, PSDepend requirements file,\n    # or skip requirements installation entirely, specify here.\n    # See Environment Variables below for details.\n    env = {\n        PSAKE_FILE = \"./psakeFile.ps1\"\n    }\n\n    # The psake task(s) to execute\n    args = [\"Test\"]\n}\n```\n\n## Environment Variables\n\n| Name          | Default               | Description                                                    |\n| ------------- | --------------------- | -------------------------------------------------------------- |\n| PSAKE_FILE    | \"./psakeFile.ps1\"     | The default psake task file to execute                         |\n| PSDEPEND_FILE | \"./requirements.psd1\" | The default PSDepend file to install dependencies from         |\n| SKIP_REQS     | \"false\"               | Set to `\"true\"` to skip installing dependencies via `PSDepend` |\n\n## Arguments\n\nArguments to the `Task` action determine what `psake` tasks to execute.\nBy default, `psake` will execute a task called `Default` that is defined in the psakeFile.\n\nExecute the `test` psake task.\n\n```hcl\naction \"psake test\" {\n    ...\n    args = [\"Test\"]\n}\n```\n\nExecute the `init`, `build`, and `test` psake tasks.\n\n```hcl\naction \"psake test\" {\n    ...\n    args = [\"init, build, test\"]\n}\n```\n"
  },
  {
    "path": "src/actions/publish-puppet-forge.md",
    "content": "---\npath: \"/action-forge-publish\"\ntitle: \"action-forge-publish\"\ngithub_url: \"https://github.com/barnumbirr/action-forge-publish\"\nauthor: \"Martin Simon\"\ntwitter: '@barnumbirr'\nsubtitle: \"GitHub Action to build and publish modules to Puppet Forge.\"\ntags: ['deployment', 'publish', 'Puppet', 'Forge']\n---\n# action-forge-publish\n\nThis action allows you to upload your module to [Puppet Forge](https://forge.puppet.com/).\n\n## Usage\n\nTo use the action add the following step to your workflow file (e.g. `.github/workflows/main.yml`)\n\n```yaml\nname: Build and publish to Puppet Forge\n\non:\n push:\n  tags:\n      - v[0-9]+.[0-9]+.[0-9]+\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n    - name: Get latest tag\n      run: echo ::set-env name=RELEASE_VERSION::$(echo ${GITHUB_REF:10})\n    - name: Clone repository\n      uses: actions/checkout@v1\n      with:\n        ref: ${{ env.RELEASE_VERSION }}\n    - name: Build and publish module\n      uses: barnumbirr/action-forge-publish@v1.2.0\n      env:\n       FORGE_API_KEY: ${{ secrets.FORGE_API_KEY }}\n       REPOSITORY_URL: https://forgeapi.puppet.com/v3/releases\n```\n\n## License:\n\n```\nCopyright 2019 Martin Simon\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n   http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n"
  },
  {
    "path": "src/actions/publish-wordpress-plugin.md",
    "content": "---\npath: '/publish-wordpress-plugin'\ntitle: 'Publish WordPress plugin'\ngithub_url: 'https://github.com/lubusIN/actions'\nauthor: 'lubusIN'\ntags: ['wordpress']\nsubtitle: 'Github action to publish your WordPress plugin to wordpress.org plugin repository. Develop plugin on github and once done tag the release, sit back and relax. WordPress action will publish the release to wordpress.org SVN and create SVN tag based on the github release tag.'\n---\n\n<p align=\"center\">\n<img src=\"https://user-images.githubusercontent.com/1039236/51209809-253a8a80-1937-11e9-9dc1-0267bcb74390.png\" />\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/lubusIN/actions\"><img src=\"https://img.shields.io/github/license/lubusIN/actions.svg\" alt=\"Licence\"></a>\n<a href=\"https://github.com/lubusIN/actions\"><img src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square\" alt=\"PRs\"></a>\n</p>\n\n<center>\n<a href=\"https://lubus.in/\">\n<img src=\"https://user-images.githubusercontent.com/1039236/40877801-3fa8ccf6-66a4-11e8-8f42-19ed4e883ce9.png\" />\n</a>\n</center>\n\n# WordPress\n\nGithub action to publish your WordPress plugin to wordpress.org plugin repository. Develop plugin on github and once done tag the release, sit back and relax. WordPress action will publish the release to wordpress.org SVN and create SVN tag based on the github release tag.\n\n> _**Note**_:\n>\n> - WordPress action depends on [archive](https://github.com/lubusIN/actions/tree/master/archive) action to build the distibution archive which is published to wordpress.org SVN\n> - Keep all assets for plugin repository under `.wordpress-org`\n> - Create numeric release tag e.g. `1.0.0` as action uses same name for SVN tag folder\n\n## Environment Variables\n\n- **WP_SLUG**: plugin slug on wordpress.org\n\n## Secrets\n\n- **WP_USERNAME**: your wordpress.org username\n- **WP_PASSWORD**: your wordpress.org password\n\n## Example Workflow\n\n```HCL\n    # Workflow to publish plugin release to wordpress.org\n    workflow \"Release Plugin\" {\n        on = \"push\"\n        resolves = [\"wordpress\"]\n    }\n\n    # Filter for tag\n    action \"tag\" {\n        uses = \"actions/bin/filter@master\"\n        args = \"tag\"\n    }\n\n    # Install Dependencies\n    action \"install\" {\n        uses = \"actions/npm@e7aaefe\"\n        needs = \"tag\"\n        args = \"install\"\n    }\n\n    # Build Plugin\n    action \"build\" {\n        uses = \"actions/npm@e7aaefe\"\n        needs = [\"install\"]\n        args = \"run build\"\n    }\n\n    # Create Release ZIP archive\n    action \"archive\" {\n        uses = \"lubusIN/actions/archive@master\"\n        needs = [\"build\"]\n        env = {\n                ZIP_FILENAME = \"plugin-slug\"\n            }\n    }\n\n    # Publish to wordpress.org repository\n    action \"wordpress\" {\n        uses = \"lubusIN/actions/wordpress@master\"\n        needs = [\"archive\"]\n        env = {\n            WP_SLUG = \"plugin-slug\"\n        }\n        secrets = [\n            \"WP_USERNAME\",\n            \"WP_PASSWORD\"\n        ]\n    }\n```\n"
  },
  {
    "path": "src/actions/pulumi.md",
    "content": "---\npath: '/pulumi'\ntitle: 'Pulumi'\ngithub_url: 'https://github.com/pulumi/actions'\nauthor: 'pulumi'\ntags: ['cloud']\nsubtitle: 'Pulumis GitHub Actions deploy apps and infrastructure to your cloud of choice, using just your favorite language and GitHub. This includes previewing, validating, and collaborating on proposed deployments in the context of Pull Requests, and triggering deployments or promotions between different environments by merging or directly committing code.'\n---\n\n## Getting Started\n\nTo get started with Pulumi's GitHub Actions, check out our documentation: [https://pulumi.io/github](https://pulumi.io/github)\n\n## Demos and Examples\n\nTo see some examples of this in action, see the following links:\n\n- [Our introductory blog post](https://blog.pulumi.com/continuous-delivery-to-any-cloud-using-github-actions-and-pulumi)\n- [Dockerized Ruby on Rails, in Kubernetes, with hosted Cloud SQL](https://github.com/pulumi/actions-example-gke-rails)\n- [Short 90 second video from GitHub Universe Keynote](https://www.youtube.com/watch?v=59SxB2uY9E0)\n- [Short 90 second video on GitOps and Pull Request workflows](https://www.youtube.com/watch?v=MKbDVDBuKUA)\n- [Longer 7 minute video exploring the ins and outs of Pulumi GitHub Actions in practice](https://www.youtube.com/watch?v=1Et2TkuxqJg)\n\n## Cloud Providers\n\nBelow are some quick tips on using Pulumi's GitHub Actions support with your cloud provider. This typically\nentails configuring a service principal for unattended access, storing the resulting credentials using\n[GitHub Secrets](https://developer.github.com/actions/creating-workflows/storing-secrets/), and consuming\nthem using [the `secrets` attribute](https://developer.github.com/actions/creating-workflows/workflow-configuration-options/#actions-attributes)\non your workflow's action.\n\n> If your cloud of choice isn't listed, that doesn't necessarily mean Pulumi doesn't support it; please see\n> [Pulumi's QuickStart page](https://pulumi.io/quickstart) for more complete documentation.\n\n### Amazon Web Services (AWS)\n\nFor AWS, you'll need to create or use or use an existing IAM user for your action. Please see\n[the Pulumi documentation page](https://pulumi.io/quickstart/aws/setup.html#environment-variables) for pointers\nto the relevant AWS documentation for doing this.\n\nAs soon as you have an AWS user in hand, you'll set the environment variables `AWS_ACCESS_KEY_ID` and\n`AWS_SECRET_ACCESS_KEY` using GitHub Secrets, and then consume them in your action:\n\n```\nworkflow \"Update\" {\n    on = \"push\"\n    resolves = [ \"Pulumi Deploy (Current Stack)\" ]\n}\n\naction \"Pulumi Deploy (Current Stack)\" {\n    uses = \"docker://pulumi/actions\"\n    args = [ \"up\" ]\n    env = {\n        \"PULUMI_CI\" = \"up\"\n    }\n    secrets = [\n        \"PULUMI_ACCESS_TOKEN\",\n        \"AWS_ACCESS_KEY_ID\",\n        \"AWS_SECRET_ACCESS_KEY\"\n    ]\n}\n```\n\nFailure to configure this correctly will lead to an error message.\n\n### Microsoft Azure\n\nFor Azure, you'll need to create or use an existing Azure Service Principal for your action. Please see\n[the Pulumi documentation page](https://pulumi.io/quickstart/azure/setup.html#service-principal-authentication) for\npointers to the relevant Azure documentation for doing this.\n\nAs soon as you have a service principal in hand, you'll set the environment variables `ARM_SUBSCRIPTION_ID`,\n`ARM_CLIENT_ID`, `ARM_CLIENT_SECRET`, and `ARM_TENANT_ID` using GitHub Secrets, and consume them in your action:\n\n```\nworkflow \"Update\" {\n    on = \"push\"\n    resolves = [ \"Pulumi Deploy (Current Stack)\" ]\n}\n\naction \"Pulumi Deploy (Current Stack)\" {\n    uses = \"docker://pulumi/actions\"\n    args = [ \"up\" ]\n    env = {\n        \"PULUMI_CI\" = \"up\"\n    }\n    secrets = [\n        \"PULUMI_ACCESS_TOKEN\",\n        \"ARM_SUBSCRIPTION_ID\",\n        \"ARM_CLIENT_ID\",\n        \"ARM_CLIENT_SECRET\",\n        \"ARM_TENANT_ID\"\n    ]\n}\n```\n\nFailure to configure this correctly will lead to the error message `Error building AzureRM Client: Azure CLI Authorization Profile was not found. Please ensure the Azure CLI is installed and then log-in with 'az login'`.\n\n### Google Cloud Platform\n\nFor GCP, you'll need to create or use or use an existing service account key. Please see\n[the Pulumi documentation page](https://pulumi.io/quickstart/gcp/setup.html) for pointers\nto the relevant GCP documentation for doing this.\n\nAs soon as you have credentials in hand, you'll set the environment variable `GOOGLE_CREDENTIALS` to contain the\ncredentials JSON using GitHub Secrets, and then consume it in your action:\n\n```\nworkflow \"Update\" {\n    on = \"push\"\n    resolves = [ \"Pulumi Deploy (Current Stack)\" ]\n}\n\naction \"Pulumi Deploy (Current Stack)\" {\n    uses = \"docker://pulumi/actions\"\n    args = [ \"up\" ]\n    env = {\n        \"PULUMI_CI\" = \"up\"\n    }\n    secrets = [\n        \"PULUMI_ACCESS_TOKEN\",\n        \"GOOGLE_CREDENTIALS\"\n    ]\n}\n```\n\nFailure to configure this correctly will lead to an error message.\n"
  },
  {
    "path": "src/actions/py-lambda-action.md",
    "content": "---\npath: \"/py-lambda\"\ntitle: \"py-lambda\"\ngithub_url: \"https://github.com/mariamrf/py-lambda-action\"\nauthor: \"mariamrf\"\nsubtitle: \"A Github Action to deploy AWS Lambda functions written in Python with their dependencies in a separate layer.\"\ntags: [\"actions\",\"aws\",\"lambda\",\"lambda-layer\"]\n---\n# py-lambda-action\nA Github Action to deploy AWS Lambda functions written in Python with their dependencies in a separate layer. For now, only works with Python 3.6.\n\n## Use\nDoesn't take any arguments. Deploys everything in the repo as code to the Lambda function, and installs/zips/deploys the dependencies as a separate layer the function can then immediately use.\n### Structure\n- Lambda code should be structured normally/as Lambda would expect it.\n- **Dependencies must be stored in a `requirements.txt`**.\n### Environment variables\nStored as secrets or env vars, doesn't matter. But also please don't put your AWS keys outside Secrets.\n- **AWS Credentials**  \n    That includes the `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, etc. It's used by `awscli`, so the docs for that [can be found here](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html).\n- `LAMBDA_LAYER_ARN`  \n    The ARN for the Lambda layer the dependencies should be pushed to **without the version** (every push is a new version).\n- `LAMBDA_FUNCITON_NAME`  \n    The Lambda function name. [From the AWS docs](https://docs.aws.amazon.com/cli/latest/reference/lambda/update-function-code.html), it can be any of the following:\n    - Function name - `my-function`  \n    - Function ARN - `arn:aws:lambda:us-west-2:123456789012:function:my-function`  \n    - Partial ARN - `123456789012:function:my-function`\n- `BRANCH` (optional)  \n    If the action should only be executed on a certain branch (e.g. `master`).\n\n### Example workflow\n```hcl\nworkflow \"Build & deploy\" {\n  on = \"push\"\n  resolves = [\"py-lambda-deploy\"]\n}\n\naction \"py-lambda-deploy\" {\n  uses = \"mariamrf/py-lambda-action@master\"\n  secrets = [\n    \"AWS_ACCESS_KEY_ID\",\n    \"AWS_SECRET_ACCESS_KEY\",\n    \"AWS_DEFAULT_REGION\",\n    \"LAMBDA_FUNCTION_NAME\",\n    \"LAMBDA_LAYER_ARN\",\n  ]\n  env = {\n    BRANCH = \"master\"\n  }\n}\n```\n"
  },
  {
    "path": "src/actions/pypi-publish.md",
    "content": "---\npath: \"/gh-action-pypi-publish\"\ntitle: \"gh-action-pypi-publish\"\ngithub_url: \"https://github.com/pypa/gh-action-pypi-publish\"\nauthor: \"pypa\"\nsubtitle: \"GitHub Action for publishing pre-build distribution packages to PyPI (from `dist/` dir)\"\ntags: [\"github-action\",\"python\",\"workflow\",\"workflow-automation\",\"pypi\",\"python-packaging\",\"twine\",\"secrets\",\"upload\",\"release\",\"release-automation\",\"release-helper\",\"workflows\",\"github-actions\"]\n---\n# PyPI publish GitHub Action\nThis action allows you to upload your [Python distribution package](\nhttps://packaging.python.org/glossary/#term-distribution-package) to\nPyPI.\nThis text suggests a minimalistic usage overview. For more detailed\nwalkthrough check out the [PyPA guide].\n\n\n## Usage\n\nTo use the action add the following step to your workflow file (e.g.\n`.github/workflows/main.yml`)\n\n\n```yml\n- name: Publish a Python distribution to PyPI\n  uses: pypa/gh-action-pypi-publish@master\n  with:\n    user: __token__\n    password: ${{ secrets.pypi_password }}\n```\n\n> **Pro tip**: instead of using branch pointers, like `master`, pin versions of\nActions that you use to tagged versions or sha1 commit identifiers. This will\nmake your workflows more secure and better reproducible, saving you from sudden\nand unpleasant surprises.\n\nA common use case is to upload packages only on a tagged commit, to do so add a\nfilter to the step:\n\n\n```yml\n  if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')\n```\n\nSo the full step would look like:\n\n\n```yml\n- name: Publish package\n  if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')\n  uses: pypa/gh-action-pypi-publish@master\n  with:\n    user: __token__\n    password: ${{ secrets.pypi_password }}\n```\n\nThe example above uses the new [API token](https://pypi.org/help/#apitoken)\nfeature of PyPI, which is recommended to restrict the access the action has.\n\nThe secret used in `${{ secrets.pypi_password }}` needs to be created on the\nsettings page of your project on GitHub. See [Creating & using secrets].\n\n\n## Non-goals\n\nThis GitHub Action [has nothing to do with _building package\ndistributions_]. Users are responsible for preparing dists for upload\nby putting them into the `dist/` folder prior to running this Action.\n\n\n## Advanced release management\n\nFor best results, figure out what kind of workflow fits your\nproject's specific needs.\n\nFor example, you could implement a parallel workflow that\npushes every commit to TestPyPI or your own index server,\nlike `devpi`. For this, you'd need to (1) specify a custom\n`repository_url` value and (2) generate a unique version\nnumber for each upload so that they'd not create a conflict.\nThe latter is possible if you use `setuptools_scm` package but\nyou could also invent your own solution based on the distance\nto the latest tagged commit.\n\nYou'll need to create another token for a separate host and then\n[save it as a GitHub repo secret][Creating & using secrets].\n\nThe action invocation in this case would look like:\n```yml\n- name: Publish package to TestPyPI\n  uses: pypa/gh-action-pypi-publish@master\n  with:\n    user: __token__\n    password: ${{ secrets.test_pypi_password }}\n    repository_url: https://test.pypi.org/legacy/\n```\n\n\n## License\n\nThe Dockerfile and associated scripts and documentation in this project\nare released under the [BSD 3-clause license](LICENSE.md).\n\n\n[Creating & using secrets]:\nhttps://help.github.com/en/articles/virtual-environments-for-github-actions#creating-and-using-secrets-encrypted-variables\n[has nothing to do with _building package distributions_]:\nhttps://github.com/pypa/gh-action-pypi-publish/issues/11#issuecomment-530480449\n[PyPA guide]:\nhttps://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/\n"
  },
  {
    "path": "src/actions/rebase-pr.md",
    "content": "---\npath: '/rebase-pr'\ntitle: 'Automaticly rebase pull requests'\ngithub_url: 'https://github.com/cirrus-actions/rebase'\nauthor: 'cirrus-actions'\ntags: ['pull-request', 'github']\nsubtitle: 'GitHub action to automatically rebase pull requests.'\n---\n\n[![Build Status](https://api.cirrus-ci.com/github/cirrus-actions/rebase.svg)](https://cirrus-ci.com/github/cirrus-actions/rebase) [![](https://images.microbadger.com/badges/version/cirrusactions/rebase.svg)](https://microbadger.com/images/cirrusactions/rebase) [![](https://images.microbadger.com/badges/image/cirrusactions/rebase.svg)](https://microbadger.com/images/cirrusactions/rebase)\n\nAfter installation simply comment `/rebase` to trigger the action:\n\n![rebase-action](https://user-images.githubusercontent.com/989066/51547853-14a57b00-1e35-11e9-841d-33114f0f0bd5.gif)\n\n# Limitations\n\nDue to current [limitations of GitHub Actions](https://developer.github.com/actions/):\n\n> GitHub Actions is limited to private repositories and push events in public repositories during the limited public beta.\n\n_Rebase_ action currently only works on private repositories since it requires `IssueCommentEvent` event.\n\n# Installation\n\nTo configure the action simply add the following lines to your `.github/main.workflow` workflow file:\n\n```\nworkflow \"Automatic Rebase\" {\n  on = \"issue_comment\"\n  resolves = \"Rebase\"\n}\n\naction \"Rebase\" {\n  uses = \"docker://cirrusactions/rebase:latest\"\n  secrets = [\"GITHUB_TOKEN\"]\n}\n```\n"
  },
  {
    "path": "src/actions/release-archive.md",
    "content": "---\npath: '/release-archive'\ntitle: 'Release Archive'\ngithub_url: 'https://github.com/lubusIN/actions'\nauthor: 'lubusIN'\ntags: ['zip']\nsubtitle: 'Github action to create release zip archive.'\n---\n\n<p align=\"center\">\n<img src=\"https://user-images.githubusercontent.com/1039236/51209746-f6bcaf80-1936-11e9-8d0e-78fb92c06cfd.png\" />\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/lubusIN/actions\"><img src=\"https://img.shields.io/github/license/lubusIN/actions.svg\" alt=\"Licence\"></a>\n<a href=\"https://github.com/lubusIN/actions\"><img src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square\" alt=\"PRs\"></a>\n</p>\n\n<center>\n<a href=\"https://lubus.in/\">\n<img src=\"https://user-images.githubusercontent.com/1039236/40877801-3fa8ccf6-66a4-11e8-8f42-19ed4e883ce9.png\" />\n</a>\n</center>\n\n# Archive\n\nCurrently action excludes following development/build files/folders:\n\n- node_modules\n- .git\n- .github\n- .wordpress-org\n- src\n- .gitkeep\n- .distignore\n- .gitignore\n- .editorconfig\n- .eslintignore\n- .eslintrc\n- .nvmrc\n- CHANGELOG.md\n- CONTRIBUTING.md\n- docker-compose.yml\n- package-lock.json\n- package.json\n- README.md\n- webpack.config.js\n- actions\n\n> _**Note**_:\n>\n> - To be used as part of workflow where archive can be used for further action like release or publish.\n\n## Environment Variables\n\n- **ARCHIVE_FILENAME**: filename for the zip archive\n\n## Example Workflow\n\n```HCL\n    # Workflow to create distribution archive\n    workflow \"Create Archive\" {\n        on = \"push\"\n        resolves = [\"archive\"]\n    }\n\n    # Filter for tag\n    action \"tag\" {\n        uses = \"actions/bin/filter@master\"\n        args = \"tag\"\n    }\n\n    # Install Dependencies\n    action \"install\" {\n        uses = \"actions/npm@e7aaefe\"\n        needs = \"tag\"\n        args = \"install\"\n    }\n\n    # Build\n    action \"build\" {\n        uses = \"actions/npm@e7aaefe\"\n        needs = [\"install\"]\n        args = \"run build\"\n    }\n\n    # Create Release ZIP archive\n    action \"archive\" {\n        uses = \"lubusIN/actions/archive@master\"\n        needs = [\"build\"]\n        env = {\n                ZIP_FILENAME = \"archive-filename\"\n            }\n    }\n```\n\n## Feedback / Suggestions\n\nIf you have any suggestions/feature request that you would like to see, feel free to let us know in the [issues section](https://github.com/lubusIN/actions/issues)\n\n## Credits\n\n[Ajit Bohra](https://twitter.com/ajitbohra)\n\n## Support Us\n\n<a href=\"https://www.patreon.com/lubus\">\n<img src=\"https://c5.patreon.com/external/logo/become_a_patron_button.png\" alt=\"Become A Patron\"/>\n</a>\n\n[LUBUS](http://lubus.in) is a web design agency based in Mumbai, India.\n\nYou can pledge on [patreon](https://www.patreon.com/lubus) to support the development & maintenance of various [opensource](https://github.com/lubusIN/) stuff we are building.\n\n## License\n\n`archive action` is open-sourced software licensed under the [MIT](LICENSE)\n"
  },
  {
    "path": "src/actions/release_notify.md",
    "content": "---\npath: '/release-notify-action'\ntitle: 'Release notify'\ngithub_url: 'https://github.com/bitoiu/release-notify-action'\nauthor: 'bitoiu'\ntags: ['email', 'notification']\nsubtitle: 'This repo contains a re-usable GitHub Action that when installed sends an e-mail to a distribution list with the release note contents every time a GitHub Release is created for the repository. This Action makes use of SendGrids API to send the e-mails.'\n---\n\n## Pre-requisites\n\nTo run this action you'll need:\n\n- To be part of the [Actions beta](https://github.com/features/actions). Note that during the beta, Actions will only run on private repositories.\n- A [**SendGrid API Key**](https://sendgrid.com/docs/ui/account-and-settings/api-keys/). _SendGrid is [free to up 100 e-mails a day](https://sendgrid.com/pricing/) so feel free to register and get your API KEY._\n- **A text file hosted anywhere** with the list of e-mail recipients. _I personally use [GitHub Gists](https://gist.github.com) and get the link of the raw file._\n\n## Setup\n\n### 1. Create the release workflow\n\nAdd a new workflow to your `.github/main.workflow` to trigger on `release`.\n\n<img src=\"https://user-images.githubusercontent.com/1192590/47112721-11578d80-d24f-11e8-8504-4864cd8d0c93.png\" alt=\"new-workflow\" width=\"300\" />\n\n### 2. Create the Action\n\nCreate an action that uses this repository `bitoiu/release-notify-action@master` or points to Docker Hub at `docker://bitoiu/release-notifiy-action`\n\n<img src=\"https://user-images.githubusercontent.com/1192590/47112720-11578d80-d24f-11e8-968d-bb3de5831ce8.png\" alt=\"new-action\" width=\"300\" />\n\n### 3. Set the SendGrid secret\n\nUsing the Visual Editor create a new secret on the action named `SENDGRID_API_TOKEN`. Set the value to your [SendGrid API Key](https://sendgrid.com/docs/ui/account-and-settings/api-keys/).\n\n<img src=\"https://user-images.githubusercontent.com/1192590/47112718-11578d80-d24f-11e8-8b97-544290ed5910.png\" alt=\"new-secret\" width=\"300\" />\n\n### 4. Set the RECIPIENTS secret\n\nDo the same for a secret named `RECIPIENTS` that you need to set to the URI of the text file with the target recipients. The contents of the file should be a list of e-mails separated by newline, for example:\n\n```\nmona@github.com\nactions_are_awesome@github.com\n```\n\nIf you don't know where to host this file, just go to [GitHub Gists](https://gist.github.com) and create a new textfile with the e-mails you want to target. After you save the file just click `raw` and get the URI of the file you've just created.\n\n### 5. Commit the changes\n\nMake sure you commit all pending changes. After you've done that your `main.workflow` should look similar to this:\n\n```\n\nworkflow \"Release Notifier\" {\n  on = \"release\"\n  resolves = [\"Notify Releases\"]\n}\n\naction \"Notify Releases\" {\n  uses = \"bitoiu/release-notify-action@master\"\n  secrets = [\"SENDGRID_API_TOKEN\", \"RECIPIENTS\"]\n}\n\n```\n\nOn the visual editor it should look similar to this:\n\n![visual editor](https://user-images.githubusercontent.com/1192590/47112717-10bef700-d24f-11e8-86a7-ef28d3d270c8.png)\n\n### 6. Test the workflow!\n\nCreate a new release for your repository and verify that the action triggers and that the e-mails were sent. Sometimes it's worth checking the spam inbox.\n\n## Local testing\n\nThe main script that does the heavy lifting is a NodeJS file. As such you can simply test it like any other node program, for example, running the following inside the `src` folder:\n\n```\nSENDGRID_API_TOKEN=XXX RECIPIENTS=ABSOLUTE_PATH_TO_TXT_FILE_WITH_RECIPIENTS GITHUB_EVENT_PATH=ABSOLUTE_PATH_TO_SAMPLE_PAYLOAD_FILE_PROVIDED node notify.js\n```\n\nIf you prefer to test the container directly (which is a tiny bit slower but more reliable) you can just run something like:\n\n```\ndocker build -t release . && docker run --env-file=./env release\n```\n\nBe sure to rename `env.template` to `env` and fill it with your environment variables.\n"
  },
  {
    "path": "src/actions/repetitive.md",
    "content": "---\npath: '/repetitive'\ntitle: 'Repetitive Actions'\ngithub_url: 'https://github.com/repetitive/actions'\nauthor: 'repetitive'\nsubtitle: 'Collection of repetitive GitHub Actions'\ntags: ['action', 'actions', 'github-actions', 'github-api', 'pull-request']\n---\n\n## repetitive actions\n\nCollection of repetitive GitHub Actions.\nThat can be used in other repos across GitHub:\n\n- [Create Pull Request when branch is pushed](https://github.com/repetitive/actions/tree/master/auto-pr)\n- [Evaluate Clojure in the issue comment](https://github.com/repetitive/actions/tree/master/clojure)\n"
  },
  {
    "path": "src/actions/rstats.md",
    "content": "---\npath: \"/ghactions\"\ntitle: \"GitHub actions for R\"\ngithub_url: \"https://github.com/maxheld83/ghactions\"\nauthor: \"maxheld83\"\nsubtitle: \"Actions and accompanying rstats package to do R things via GitHub actions.\"\ntags: [\"github-actions\",\"rstats\",\"setup\",\"github\",\"cicd\",\"continous-integration\",\"continous-delivery\",\"devops\",\"data-science\"]\n---\n\n<img src=\"https://github.com/maxheld83/ghactions/blob/master/logo.png?raw=true\" width=200/ align=\"right\" style=\"padding-left: 20px\">\n\n[![Actions Status](https://wdp9fww0r9.execute-api.us-west-2.amazonaws.com/production/badge/maxheld83/ghactions)](https://github.com/maxheld83/ghactions/actions)\n[![lifecycle](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://www.tidyverse.org/lifecycle/#experimental)\n[![CRAN status](https://www.r-pkg.org/badges/version/ghactions)](https://cran.r-project.org/package=ghactions)\n[![codecov](https://codecov.io/gh/maxheld83/ghactions/branch/master/graph/badge.svg)](https://codecov.io/gh/maxheld83/ghactions)\n[![License: MIT](https://img.shields.io/github/license/maxheld83/ghactions.svg?style=flat)](https://opensource.org/licenses/MIT)\n\n[GitHub actions](https://github.com/features/actions) are a new workflow automation feature of the popular code repository host GitHub.\nThe product is currently in **limited beta**.\n\nThis repository, **ghactions**, offers three avenues to **bring GitHub actions to the `#rstats` community**:\n\n1. Some **actions** to run R-specific jobs on GitHub, including [arbitrary R code](http://www.maxheld.de/ghactions/articles/rscript-byod.html) or deploying to [shinyapps.io](http://shinyapps.io).\n  These actions are maintained in this repository, but are not technically part of the accompanying ghactions R package.\n  You can use these actions independently from the package; they are freely available on GitHub marketplace.\n  In fact, the whole idea of GitHub actions is that people re-use such small building blocks any way they like.\n2. The accompanying [**ghactions R package**](#workflows) furnishes you with some out-of-the-box **workflows** for different kinds of projects.\n  These functions are styled after the popular [usethis](http://usethis.r-lib.org) package.\n  They don't do much: They just set you up with some configuration files for your project, using sensible defaults.\n3. Documenting experiences and evolving [**best practices**](http://www.maxheld.de/ghactions/articles/ghactions.html) for how to make the most of GitHub actions for R.\n\n<img src=\"https://github.com/maxheld83/ghactions/blob/master/pkgwf.gif?raw=true\" width=400/ align=right style=\"padding-left: 20px\">\n\n\n## Installation\n\nTo install, run:\n\n```r\ndevtools::install_github(\"maxheld83/ghactions\")\n```\n\nBecause you're likely only to ever use it *once*, **you need not take on ghactions as a dependency in your projects.**\n\n\n## Quick Start\n\nGitHub actions just requires a special file in a special directory at the root of your repository to work: `.github/main.workflow`.\n\nTo quickly set up such a file for frequently used project kinds, run:\n\n```r\nghactions::use_ghactions(workflow = website())\n```\n\nSee the documentation for implied defaults and alternatives.\n\nThen push to GitHub and go to the actions tab in your repository.\nEnjoy.\n"
  },
  {
    "path": "src/actions/rsync.md",
    "content": "---\npath: \"/rsync\"\ntitle: \"rsync\"\ngithub_url: \"https://github.com/maxheld83/rsync\"\nauthor: \"maxheld83\"\nsubtitle: \"GitHub action to deploy to some server via rsync and ssh\"\ntags: [\"github-actions\",\"github-action\",\"bash\",\"bash-script\",\"ssh\",\"rsync\",\"deployment\"]\n---\n# GitHub Action to Deploy via `rsync` over ssh\n\n[![Actions Status](https://wdp9fww0r9.execute-api.us-west-2.amazonaws.com/production/badge/maxheld83/rsync)](https://github.com/maxheld83/rsync/actions)\n[![GitHubActions](https://img.shields.io/badge/as%20seen%20on%20-GitHubActions-blue.svg)](https://github-actions.netlify.com/rsync)\n\nSometimes, you might want to deploy static assets to some old school webserver over ssh.\nThis is your action.\n\nIt allows you to transfer files *from* your working directory (`/github/workspace`) *to* some server using `rsync` over ssh.\nHelpfully, `/github/workspace` includes a copy of your repository *source*, as well as any build artefacts left behind by previous workflow steps (= other actions you ran before).\n\n\n## Disclaimer\n\nGitHub actions is still [in limited public beta](https://github.com/features/actions) and advises against [usage in production](https://developer.github.com/actions/).\n\nThis action in particular requires ssh private keys (see secrets), and **may thus be vulnerable**.\nThe ssh authentification **may need improvement** (see [issues](https://github.com/maxheld83/rsync/)).\n\n\n## Secrets\n\nThis action requires two secrets to authenticate over ssh:\n\n- `SSH_PRIVATE_KEY`\n- `SSH_PUBLIC_KEY`\n\nYou get both of these from the server you deploy to.\n\nRemember to never commit these keys, but [provide them to the GitHub UI](https://developer.github.com/actions/creating-workflows/storing-secrets/) (repository settings/secrets).\n\n\n## Environment Variables\n\nThis action requires three environment variables used to register the target server in `$HOME/.ssh/known_hosts`.\nThis is to make sure that the action is talking to a trusted server.\n\n**`known_hosts` verification currently fails and is overriden, see [issue 1](https://github.com/maxheld83/rsync/issues/1)**.\n\n- `HOST_NAME` (the name of the server you wish to deploy to, such as `foo.example.com`)\n- `HOST_IP` (the IP of the server you wish to deploy to, such as `111.111.11.111`)\n- `HOST_FINGERPRINT` (the fingerprint of the server you wish to deploy to, can have different formats)\n\nThe `HOST_NAME` is *also* used in the below required arguments.\n\n\n## Required Arguments\n\n`rsync` requires:\n\n- `SRC`: source directory, relative path *from* `/github/workspace`\n- `[USER@]HOST::DEST`: target user (optional), target server, and directory from root *on* that target server. \n  Remember you can reuse the environment variable `$HOST_NAME`.\n\nFor action `rsync` options, see `entrypoint.sh` in the source.\nFor more options and documentation on `rsync`, see [https://rsync.samba.org](https://rsync.samba.org).\n\n\n## Example Usage\n\n```\naction \"Deploy with rsync\" {\n  uses = \"maxheld83/rsync@v0.1.1\"\n  needs = \"Write sha\"\n  secrets = [\n    \"SSH_PRIVATE_KEY\",\n    \"SSH_PUBLIC_KEY\"\n  ]\n  env = {\n    HOST_NAME = \"foo.example.com\"\n    HOST_IP = \"111.111.11.111\"\n    HOST_FINGERPRINT = \"ecdsa-sha2-nistp256 AAAA...\"\n  }\n  args = [\n    \"$GITHUB_WORKSPACE/index.html\",\n    \"alice@$HOST_NAME:path/to/destination\"\n  ]\n}\n```\n"
  },
  {
    "path": "src/actions/ruby-gems.md",
    "content": "---\npath: '/ruby-gem'\ntitle: 'Ruby Gems'\ngithub_url: 'https://github.com/scarhand/actions-ruby'\nauthor: 'scarhand'\nsubtitle: 'This Action for rubygems enables arbitrary actions with the gem command-line client, including publishing to a registry.'\n---\n\n## Usage\n\nAn example workflow to build and publish a gem to the default public registry follows:\n\n```hcl\nworkflow \"Build, Test, and Publish\" {\n  on = \"push\"\n  resolves = [\"Publish\"]\n}\n\naction \"Build\" {\n  uses = \"scarhand/actions-ruby@master\"\n  args = \"build *.gemspec\"\n}\n\n# Filter for a new tag\naction \"Tag\" {\n  needs = \"Build\"\n  uses = \"actions/bin/filter@master\"\n  args = \"tag v*\"\n}\n\naction \"Publish\" {\n  needs = \"Tag\"\n  uses = \"scarhand/actions-ruby@master\"\n  args = \"push *.gem\"\n  secrets = [\"RUBYGEMS_AUTH_TOKEN\"]\n}\n```\n\n### Secrets\n\n- `RUBYGEMS_AUTH_TOKEN` - **Optional**. The token to use for authentication with the rubygems repository. Required for `gem push`.\n\n### Environment variables\n\n- `RUBYGEMS_HOST` - **Optional**. To specify a repository to authenticate with. Defaults to `https://rubygems.org` [more info](https://guides.rubygems.org/command-reference/#gem-environment).\n\n#### Example\n\nTo authenticate with, and publish to, a registry other than `https://rubygems.org`:\n\n```hcl\naction \"Publish\" {\n  uses = \"scarhand/actions-ruby@master\"\n  args = \"push *.gem\"\n  env = {\n    GEM_REPOSITORY_URL = \"https://someOtherRepository.someDomain.net\"\n  }\n  secrets = [\"RUBYGEMS_AUTH_TOKEN\"]\n}\n```\n"
  },
  {
    "path": "src/actions/ruby-linter.md",
    "content": "---\npath: '/ruby-linter'\ntitle: 'Ruby linter and formatter'\ngithub_url: 'https://github.com/bltavares/actions'\nauthor: 'bltavares'\ntags: ['ruby', 'lint', 'formatter', 'autofixer']\nsubtitle: 'This action will check the formating of the Dockerfiles in the project, using rubocop.'\n---\n\n## Validations on Push\n\nThis actions will check the formating of the Dockerfiles in the project, using\n[rubocop](https://github.com/rubocop-hq/rubocop)\n\n## Fixes on Pull Request review\n\nThis action provides automated fixes using Pull Request review comments.\n\nIf the comment starts with `fix $action_name` or `fix rubocop`, a new commit will\nbe added to the branch with the automated fixes applied.\n\n**Supports**: autofix on push\n\n## Example workflow\n\n```hcl\nworkflow \"on push\" {\n  on = \"push\"\n  resolves = [\"rubocop\"]\n}\n\n# Used for fix on review\nworkflow \"on review\" {\n  resolves = [\"rubocop\"]\n  on = \"pull_request_review\"\n}\n\naction \"rubocop\" {\n  uses = \"bltavares/actions/rubocop@master\"\n  # Enable autofix on push\n  # args = [\"autofix\"]\n  # Used for pushing changes for `fix` comments on review\n  secrets = [\"GITHUB_TOKEN\"]\n}\n```\n"
  },
  {
    "path": "src/actions/run-github-actions-locally.md",
    "content": "---\npath: '/run-github-actions-locally'\ntitle: 'Github actions locally'\ngithub_url: 'https://github.com/nektos/act'\nauthor: 'nektos'\ntags: ['local', 'github']\nsubtitle: 'Run your GitHub Actions locally!'\n---\n\n![](https://github.com/nektos/act/wiki/img/logo-150.png)\n\n# Overview [![Join the chat at https://gitter.im/nektos/act](https://badges.gitter.im/nektos/act.svg)](https://gitter.im/nektos/act?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Go Report Card](https://goreportcard.com/badge/github.com/nektos/act)](https://goreportcard.com/report/github.com/nektos/act)\n\n> \"Think globally, <code>act</code> locally\"\n\nRun your [GitHub Actions](https://developer.github.com/actions/) locally! Why would you want to do this? Two reasons:\n\n- **Fast Feedback** - Rather than having to commit/push every time you want test out the changes you are making to your `main.workflow` file (or for any changes to embedded GitHub actions), you can use `act` to run the actions locally. The [environment variables](https://developer.github.com/actions/creating-github-actions/accessing-the-runtime-environment/#environment-variables) and [filesystem](https://developer.github.com/actions/creating-github-actions/accessing-the-runtime-environment/#filesystem) are all configured to match what GitHub provides.\n- **Local Task Runner** - I love [make](<https://en.wikipedia.org/wiki/Make_(software)>). However, I also hate repeating myself. With `act`, you can use the GitHub Actions defined in your `main.workflow` file to replace your `Makefile`!\n\n# How Does It Work?\n\nWhen you run `act` it reads in your GitHub Actions from `.github/main.workflow` and determines the set of actions that need to be run. It uses the Docker API to either pull or build the necessary images, as defined in your `main.workflow` file and finally determines the execution path based on the dependencies that were defined. Once it has the execution path, it then uses the Docker API to run containers for each action based on the images prepared earlier. The [environment variables](https://developer.github.com/actions/creating-github-actions/accessing-the-runtime-environment/#environment-variables) and [filesystem](https://developer.github.com/actions/creating-github-actions/accessing-the-runtime-environment/#filesystem) are all configured to match what GitHub provides.\n\nLet's see it in action with a [sample repo](https://github.com/cplee/github-actions-demo)!\n\n![Demo](https://github.com/nektos/act/wiki/quickstart/act-quickstart.gif)\n\n# Installation\n\nTo install with [Homebrew](https://brew.sh/), run:\n\n`brew install nektos/tap/act`\n\nAlternatively, you can use the following:\n\n`curl https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash`\n\n# Commands\n\n```\n# List the actions\nact -l\n\n# Run the default (`push`) event:\nact\n\n# Run a specific event:\nact pull-request\n\n# Run a specific action:\nact -a test\n\n# Run in dry-run mode:\nact -n\n\n# Run in reuse mode to save state:\nact -r\n```\n\n# Support\n\nNeed help? Ask on [Gitter](https://gitter.im/nektos/act)!\n\n# Contributing\n\nWant to contribute to act? Awesome! Check out the [contributing guidelines](CONTRIBUTING.md) to get involved.\n\n## Building from source\n\n- Install Go tools 1.11.4+ - (https://golang.org/doc/install)\n- Clone this repo `git clone git@github.com:nektos/act.git`\n- Run unit tests with `make check`\n- Build and install: `make install`\n"
  },
  {
    "path": "src/actions/semantic-release-action.md",
    "content": "---\npath: \"/semantic-release-action\"\ntitle: \"GitHub Action for Semantic Release\"\ngithub_url: \"https://github.com/cycjimmy/semantic-release-action\"\nauthor: \"cycjimmy\"\nsubtitle: \"GitHub Action for Semantic Release\"\ntags: [\"semantic\",\"release\",\"actions\",\"github-actions\"]\n---\n# Semantic Release Action\n![][workflows-badge-image]\n[![semantic-release][semantic-image]][semantic-url]\n![npm license][license-image]\n\n[workflows-badge-image]: https://github.com/cycjimmy/semantic-release-action/workflows/Test%20Release/badge.svg\n[semantic-url]: https://github.com/semantic-release/semantic-release\n[semantic-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[license-image]: https://img.shields.io/npm/l/@cycjimmy/semantic-release-action.svg?style=flat-square\n\nGitHub Action for [Semantic Release](https://github.com/semantic-release/semantic-release). \n\n## Usage\n#### Step1: Set any [Semantic Release Configuration](https://github.com/semantic-release/semantic-release/blob/master/docs/usage/configuration.md#configuration) in your repository.\n\n#### Step2: [Add Secrets](https://help.github.com/en/articles/virtual-environments-for-github-actions#creating-and-using-secrets-encrypted-variables) in your repository for the [Semantic Release Authentication](https://github.com/semantic-release/semantic-release/blob/master/docs/usage/ci-configuration.md#authentication) Environment Variables.\n\n#### Step3: Add a [Workflow File](https://help.github.com/en/articles/workflow-syntax-for-github-actions) to your repository to create custom automated processes.\n* inputs:\n  * `branch`: [Optional] The branch on which releases should happen. It will override the branch attribute in your configuration file. If the attribute is not configured on both sides, the default is master.\n  * `semantic_version`: [Optional] Specify specifying version range for semantic-release. If no version range is specified, semantic-release@^15 will be used by default.\n  * `extra_plugins`: [Optional] Extra plugins for pre-install. You can also specify specifying version range for the extra plugins if you prefer.\n  * `dry_run`: [Optional] Whether to run semantic release in `dry-run` mode. It will override the dryRun attribute in your configuration file.\n* outputs:\n  * `new_release_published`: Whether a new release was published. `true` or `false`\n  * `new_release_version`: Version of the new release\n  * `new_release_major_version`: Major version of the new release\n  * `new_release_minor_version`: Minor version of the new release\n  * `new_release_patch_version`: Patch version of the new release\n\nA simple example\n```yaml\nsteps:\n  - name: Semantic Release\n    uses: cycjimmy/semantic-release-action@v2\n    env:\n      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n      NPM_TOKEN: ${{ secrets.NPM_TOKEN }}\n```\n\nAn advanced example\n```yaml\nsteps:\n  - name: Semantic Release\n    uses: cycjimmy/semantic-release-action@v2\n    id: semantic   # Need an `id` for output variables\n    with:\n      branch: master\n      semantic_version: 15.13.28\n      # You can specify specifying version range for the extra plugins if you prefer.\n      extra_plugins: |\n        @semantic-release/git\n        @semantic-release/changelog@3.0.0\n    env:\n      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n      NPM_TOKEN: ${{ secrets.NPM_TOKEN }}\n      \n  - name: Do something when a new release published\n    if: steps.semantic.outputs.new_release_published == 'true'\n    run: ...\n```\n"
  },
  {
    "path": "src/actions/send-emails.md",
    "content": "---\npath: '/send-emails'\ntitle: 'Send Emails'\ngithub_url: 'https://github.com/cirrus-actions/email'\nauthor: 'cirrus-actions'\ntags: ['email']\nsubtitle: 'This is a simple GitHub action that allows to send emails when a GitHub Check Suite completes.'\n---\n\n[![Build Status](https://api.cirrus-ci.com/github/cirrus-actions/email.svg)](https://cirrus-ci.com/github/cirrus-actions/email) [![](https://images.microbadger.com/badges/version/cirrusactions/email.svg)](https://microbadger.com/images/cirrusactions/email) [![](https://images.microbadger.com/badges/image/cirrusactions/email.svg)](https://microbadger.com/images/cirrusactions/email)\n\nThis requires a few environment variables:\n\n- `APP_NAME` - Name of an application for which to send emails for.\n- `MAIL_FROM` - email address to send emails from.\n- `MAIL_HOST` - SMTP host to send emails to.\n- `MAIL_USERNAME` and `MAIL_PASSWORD` - username and password to authorize with the SMTP server.\n- `GITHUB_TOKEN` - is standard environment variable for GitHub actions.\n- optional `IGNORED_CONCLUSIONS` to secify conclusions to report. By default only `success` and `neutral` checks are ignored.\n\nNow your action can look liker this in your `.github/main.workflow` workflow file:\n\n```\naction \"Cirrus CI Email\" {\n  uses = \"docker://cirrusactions/email:latest\"\n  env = {\n    APP_NAME = \"Cirrus CI\"\n  }\n  secrets = [\"GITHUB_TOKEN\", \"MAIL_FROM\", \"MAIL_HOST\", \"MAIL_USERNAME\", \"MAIL_PASSWORD\"]\n}\n```\n"
  },
  {
    "path": "src/actions/setup-flutter.md",
    "content": "---\npath: '/setup-flutter'\ntitle: 'Setup Flutter environment'\ngithub_url: 'https://github.com/tnc1997/github-actions/blob/master/setup-flutter'\nauthor: 'Thomas Clark'\ntags: ['flutter']\nsubtitle: 'Setup a Flutter environment and add it to the PATH.'\n---\n\n# setup-flutter\n\nThis action sets up a flutter environment for use in actions by:\n\n- optionally downloading and installing a version of flutter by channel and adding to PATH\n\n## Usage\n\nSee [action.yml](https://github.com/tnc1997/github-actions/blob/master/setup-flutter/action.yml)\n\nBasic:\n```yaml\nsteps:\n  - uses: actions/checkout@master\n  - uses: tnc1997/github-actions/setup-flutter@master\n    with:\n      channel: 'stable'\n  - run: flutter build appbundle\n  - run: flutter build ios\n```\n\nMatrix Testing:\n```yaml\njobs:\n  build:\n    runs-on: macOS-latest\n    strategy:\n      matrix:\n        flutter: [ 'stable', 'beta', 'dev' ]\n    steps:\n      - uses: actions/checkout@master\n      - uses: tnc1997/github-actions/setup-flutter@master\n        with:\n          channel: ${{ matrix.flutter }}\n      - run: flutter build appbundle\n      - run: flutter build ios\n```\n"
  },
  {
    "path": "src/actions/setup-php.md",
    "content": "---\npath: \"/setup-php\"\ntitle: \"setup-php\"\ngithub_url: \"https://github.com/shivammathur/setup-php\"\nauthor: \"shivammathur\"\ntwitter: '@meshivammathur'\nsubtitle: \"Github action to setup PHP\"\ntags: ['github','github-actions','php','composer','actions']\n---\n\n<p align=\"center\">\n  <a href=\"https://github.com/marketplace/actions/setup-php-action\" target=\"_blank\">\n    <img src=\"https://repository-images.githubusercontent.com/206578964/e0a18480-dc65-11e9-8dd3-b9ffbf5575fe\" alt=\"Setup PHP in GitHub Actions\" width=\"400\">\n  </a>\n</p>\n\n<h1 align=\"center\">Setup PHP in GitHub Actions</h1>\n\n<p align=\"center\">\n  <a href=\"https://github.com/shivammathur/setup-php\" title=\"GitHub action to setup PHP\"><img alt=\"GitHub Actions status\" src=\"https://github.com/shivammathur/setup-php/workflows/Main%20workflow/badge.svg\"></a>\n  <a href=\"https://codecov.io/gh/shivammathur/setup-php\" title=\"Code coverage\"><img alt=\"Codecov Code Coverage\" src=\"https://codecov.io/gh/shivammathur/setup-php/branch/master/graph/badge.svg\"></a>\n  <a href=\"https://github.com/shivammathur/setup-php/blob/master/LICENSE\" title=\"license\"><img alt=\"LICENSE\" src=\"https://img.shields.io/badge/license-MIT-428f7e.svg\"></a>\n  <a href=\"https://github.com/shivammathur/setup-php#tada-php-support\" title=\"PHP Versions Supported\"><img alt=\"PHP Versions Supported\" src=\"https://img.shields.io/badge/php-%3E%3D%205.3-8892BF.svg\"></a>\n</p>\n\nSetup PHP with required extensions, php.ini configuration, code-coverage support and various tools like composer in [GitHub Actions](https://github.com/features/actions \"GitHub Actions\"). This action gives you a cross platform interface to setup the PHP environment you need to test your application. Refer to [Usage](https://github.com/shivammathur/setup-php#memo-usage \"How to use this\") section and [examples](#examples \"Examples of use\") to see how to use this.\n\n## Contents\n\n- [PHP Support](https://github.com/shivammathur/setup-php#tada-php-support)\n- [OS/Platform Support](https://github.com/shivammathur/setup-php#cloud-osplatform-support)\n- [PHP Extension Support](https://github.com/shivammathur/setup-php#heavy_plus_sign-php-extension-support)\n- [Tools Support](https://github.com/shivammathur/setup-php#wrench-tools-support)\n- [Coverage support](https://github.com/shivammathur/setup-php#signal_strength-coverage-support)\n  - [Xdebug](https://github.com/shivammathur/setup-php#xdebug)\n  - [PCOV](https://github.com/shivammathur/setup-php#pcov)\n  - [Disable Coverage](https://github.com/shivammathur/setup-php#disable-coverage)\n- [Usage](https://github.com/shivammathur/setup-php#memo-usage)\n  - [Inputs](https://github.com/shivammathur/setup-php#inputs)\n  - [Basic Setup](https://github.com/shivammathur/setup-php#basic-setup)\n  - [Matrix Setup](https://github.com/shivammathur/setup-php#matrix-setup)\n  - [Experimental Setup](https://github.com/shivammathur/setup-php#experimental-setup)  \n  - [Thread Safe Setup](https://github.com/shivammathur/setup-php#thread-safe-setup)\n  - [Force Update](https://github.com/shivammathur/setup-php#force-update)\n  - [Verbose Setup](https://github.com/shivammathur/setup-php#verbose-setup)\n  - [Cache Extensions](https://github.com/shivammathur/setup-php#cache-extensions)\n  - [Cache Composer Dependencies](https://github.com/shivammathur/setup-php#cache-composer-dependencies)\n  - [Problem Matchers](https://github.com/shivammathur/setup-php#problem-matchers)\n  - [Examples](https://github.com/shivammathur/setup-php#examples)\n- [License](https://github.com/shivammathur/setup-php#scroll-license)\n- [Dependencies](https://github.com/shivammathur/setup-php#bookmark-dependencies)\n- [Further Reading](https://github.com/shivammathur/setup-php#bookmark_tabs-further-reading)\n\n## PHP Support\n\n|PHP Version|Stability|Release Support|\n|--- |--- |--- |\n|5.3|`Stable`|`End of life`|\n|5.4|`Stable`|`End of life`|\n|5.5|`Stable`|`End of life`|\n|5.6|`Stable`|`End of life`|\n|7.0|`Stable`|`End of life`|\n|7.1|`Stable`|`End of life`|\n|7.2|`Stable`|`Security fixes only`|\n|7.3|`Stable`|`Active`|\n|7.4|`Stable`|`Active`|\n|8.0|`Experimental`|`In development`|\n\n**Note:** Specifying `8.0` in `php-version` input installs a nightly build of `PHP 8.0.0-dev` with `PHP JIT`, `Union Types v2` and other [new features](https://wiki.php.net/rfc#php_80 \"New features implemented in PHP 8\"). See [experimental setup](https://github.com/shivammathur/setup-php#experimental-setup) for more information.\n\n## OS/Platform Support\n\n|Virtual environment|matrix.operating-system|\n|--- |--- |\n|Windows Server 2019|`windows-latest` or `windows-2019`|\n|Ubuntu 18.04|`ubuntu-latest` or `ubuntu-18.04`|\n|Ubuntu 16.04|`ubuntu-16.04`|\n|macOS X Catalina 10.15|`macos-latest` or `macOS-10.15`|\n\n## PHP Extension Support\n- On `ubuntu` by default extensions which are available as a package can be installed. If the extension is not available as a package but it is on `PECL`, it can be installed by specifying `pecl` in the tools input.\n\n```yaml\nuses: shivammathur/setup-php@v2\nwith:\n  php-version: '7.4'\n  tools: pecl\n  extensions: swoole\n```\n\n- On `windows` extensions which have `windows` binary on `PECL` can be installed.\n\n- On `macOS` extensions which are on `PECL` can be installed.\n\n- Extensions which are installed along with PHP if specified are enabled.\n\n- Specific versions of PECL extensions can be installed by suffixing the extension with the version. This is useful for installing old versions of extensions which support end of life PHP versions.\n\n```yaml\nuses: shivammathur/setup-php@v2\nwith:\n  php-version: '7.4'\n  tools: pecl\n  extensions: pcov-1.0.6\n```\n\n- Pre-release versions of PECL extensions can be installed by suffixing the extension with its state i.e `alpha`, `beta`, `devel` or `snapshot`.\n\n```yaml\nuses: shivammathur/setup-php@v2\nwith:\n  php-version: '7.4'\n  tools: pecl\n  extensions: xdebug-beta\n```\n\n- Extensions which cannot be installed gracefully leave an error message in the logs, the action is not interrupted.\n\n## Tools Support\n\nThese tools can be setup globally using the `tools` input.\n\n`codeception`, `composer`, `composer-prefetcher`, `cs2pr`, `deployer`, `pecl`, `phinx`, `phive`, `phpcbf`, `phpcpd`, `php-config`, `php-cs-fixer`, `phpcs`, `phpize`, `phpmd`, `phpstan`, `phpunit`, `prestissimo`, `psalm`, `symfony`\n\n```yaml\nuses: shivammathur/setup-php@v2\nwith:\n  php-version: '7.4'\n  tools: php-cs-fixer, phpunit\n```\n\nTo setup a particular version of a tool, specify it in the form `tool:version`.  \nVersion should be in semver format and a valid release of the tool.\n\n```yaml\nuses: shivammathur/setup-php@v2\nwith:\n  php-version: '7.4'\n  tools: php-cs-fixer:2.15.5, phpunit:8.5.1\n``` \n\n**Note**\n- `composer` is setup by default.\n- Specifying version for `composer` and `pecl` has no effect, latest versions of both tools which are compatible with the PHP version will be setup.\n- If the version specified for the tool is not in semver format, latest version of the tool will be setup.\n- Tools which cannot be installed gracefully leave an error message in the logs, the action is not interrupted.\n\n## Coverage support\n\n### Xdebug\n\nSpecify `coverage: xdebug` to use `Xdebug`.  \nRuns on all [PHP versions supported](https://github.com/shivammathur/setup-php#tada-php-support \"List of PHP versions supported on this GitHub Action\") except `8.0`.\n\n```yaml\nuses: shivammathur/setup-php@v2\nwith:\n  php-version: '7.4'\n  coverage: xdebug\n```\n\n### PCOV\n\nSpecify `coverage: pcov` to use `PCOV` and disable `Xdebug`.  \nIt is much faster than `Xdebug`.  \n`PCOV` needs `PHP >= 7.1`.  \nIf your source code directory is other than `src`, `lib` or, `app`, specify `pcov.directory` using the `ini-values` input.  \n\n```yaml\nuses: shivammathur/setup-php@v2\nwith:\n  php-version: '7.4'\n  ini-values: pcov.directory=api #optional, see above for usage.\n  coverage: pcov\n```\n\n### Disable Coverage\n\nSpecify `coverage: none` to remove both `Xdebug` and `PCOV`.  \nConsider disabling the coverage using this PHP action for these reasons.\n\n- You are not generating coverage reports while testing.\n- It will remove `Xdebug`, which will have a positive impact on PHP performance.\n- You are using `phpdbg` for running your tests.\n\n```yaml\nuses: shivammathur/setup-php@v2\nwith:\n  php-version: '7.4'\n  coverage: none\n```\n\n## Usage\n\n### Inputs\n\n#### `php-version` (required)\n\n- Specify the PHP version you want to setup.\n- Accepts a `string`. For example `'7.4'`.\n- See [PHP support](https://github.com/shivammathur/setup-php#tada-php-support) for supported PHP versions.\n\n#### `extensions` (optional)\n\n- Specify the extensions you want to setup.\n- Accepts a `string` in csv-format. For example `mbstring, zip`.\n- See [PHP extension support](https://github.com/shivammathur/setup-php#heavy_plus_sign-php-extension-support) for more info.\n\n#### `ini-values` (optional)\n\n- Specify the values you want to add to `php.ini`.\n- Accepts a `string` in csv-format. For example `post_max_size=256M, short_open_tag=On`.\n\n#### `coverage` (optional)\n\n- Specify the code coverage driver you want to setup.\n- Accepts `xdebug`, `pcov` or `none`.\n- See [coverage support](https://github.com/shivammathur/setup-php#signal_strength-coverage-support) for more info.\n\n#### `tools` (optional)\n\n- Specify the tools you want to setup.\n- Accepts a `string` in csv-format. For example `phpunit, phpcs`\n- See [tools Support](https://github.com/shivammathur/setup-php#wrench-tools-support) for tools supported.\n\nSee below for more info.\n\n### Basic Setup\n\n> Setup a particular PHP version.\n\n```yaml\nsteps:\n- name: Checkout\n  uses: actions/checkout@v2\n\n- name: Setup PHP\n  uses: shivammathur/setup-php@v2\n  with:\n    php-version: '7.4'\n    extensions: mbstring, intl\n    ini-values: post_max_size=256M, short_open_tag=On\n    coverage: xdebug    \n    tools: php-cs-fixer, phpunit\n```\n\n### Matrix Setup\n\n> Setup multiple PHP versions on multiple operating systems.\n\n```yaml\njobs:\n  run:\n    runs-on: ${{ matrix.operating-system }}\n    strategy:\n      matrix:\n        operating-system: [ubuntu-latest, windows-latest, macos-latest]\n        php-versions: ['5.6', '7.0', '7.1', '7.2', '7.3', '7.4']\n    name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}\n    steps:\n    - name: Checkout\n      uses: actions/checkout@v2\n\n    - name: Setup PHP\n      uses: shivammathur/setup-php@v2\n      with:\n        php-version: ${{ matrix.php-versions }}\n        extensions: mbstring, intl\n        ini-values: post_max_size=256M, short_open_tag=On\n        coverage: xdebug        \n        tools: php-cs-fixer, phpunit\n```\n\n### Experimental Setup\n\n> Setup a nightly build of `PHP 8.0.0-dev` from the [master branch](https://github.com/php/php-src/tree/master \"Master branch on PHP source repository\") of PHP.\n\n- This version is currently in development and is an experimental feature on this action.\n- `PECL` is installed by default with this version on `ubuntu`.\n- Some extensions might not support this version currently.\n- Refer to this [RFC](https://wiki.php.net/rfc/jit \"PHP JIT RFC configuration\") for configuring `PHP JIT` on this version.\n- Refer to this [list of RFCs](https://wiki.php.net/rfc#php_80 \"List of RFCs implemented in PHP8\") implemented in this version.\n\n```yaml\nsteps:\n- name: Checkout\n  uses: actions/checkout@v2\n\n- name: Setup PHP\n  uses: shivammathur/setup-php@v2\n  with:\n    php-version: '8.0'\n    extensions: mbstring\n    ini-values: opcache.jit_buffer_size=256M, opcache.jit=1235, pcre.jit=1\n    coverage: pcov\n    tools: php-cs-fixer, phpunit\n```\n\n### Thread Safe Setup\n\n- `NTS` versions are setup by default.\n- On `ubuntu` and `macOS` only NTS versions are supported.\n- On `windows` both `TS` and `NTS` versions are supported.\n\n```yaml\njobs:\n  run:\n    runs-on: windows-latest\n    name: Setup PHP TS on Windows\n    steps:\n    - name: Checkout\n      uses: actions/checkout@v2\n\n    - name: Setup PHP\n      uses: shivammathur/setup-php@v2\n      with:\n        php-version: '7.4'\n      env:\n        PHPTS: ts # specify ts or nts\n```\n\n### Force Update\n\n- PHP versions which are pre-installed on the GitHub Actions runner are not updated to their latest patch release by default.\n- You can specify the `update` environment variable to `true` to force update to the latest release.\n\n```yaml\n- name: Setup PHP\n  uses: shivammathur/setup-php@v2\n  with:\n    php-version: '7.4'\n  env:\n    update: true # specify true or false\n```\n\n### Verbose Setup\n\n- To debug any issues, you can use the `verbose` tag instead of `v2`.\n\n```yaml\n- name: Setup PHP\n  uses: shivammathur/setup-php@verbose\n  with:\n    php-version: '7.4'\n```\n\n### Cache Extensions\n\nYou can persist PHP extensions you setup using the [`shivammathur/cache-extensions`](https://github.com/shivammathur/cache-extensions \"GitHub Action to cache php extensions\") and [`action/cache`](https://github.com/actions/cache \"GitHub Action to cache files\") GitHub Actions. Extensions which take very long to setup if cached are available in the next workflow run and enabled directly which reduces the workflow execution time.  \n\n```yaml\nruns-on: ${{ matrix.operating-system }}\nstrategy:\n  matrix:\n    operating-system: [ubuntu-latest, windows-latest, macos-latest]\n    php-versions: ['7.2', '7.3', '7.4']\nname: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}\nenv:\n  extensions: intl, pcov\n  key: cache-v1 # can be any string, change to clear the extension cache.\nsteps:\n- name: Checkout\n  uses: actions/checkout@v2\n\n- name: Setup cache environment\n  id: cache-env\n  uses: shivammathur/cache-extensions@v1\n  with:\n    php-version: ${{ matrix.php-versions }}\n    extensions: ${{ env.extensions }}\n    key: ${{ env.key }}\n\n- name: Cache extensions\n  uses: actions/cache@v1\n  with:\n    path: ${{ steps.cache-env.outputs.dir }}\n    key: ${{ steps.cache-env.outputs.key }}\n    restore-keys: ${{ steps.cache-env.outputs.key }}\n\n- name: Setup PHP\n  uses: shivammathur/setup-php@v2\n  with:\n    php-version: ${{ matrix.php-versions }}\n    extensions: ${{ env.extensions }}\n```\n\n### Cache Composer Dependencies\n\nYou can persist composer's internal cache directory using the [`action/cache`](https://github.com/actions/cache \"GitHub Action to cache files\") GitHub Action. Dependencies cached are loaded directly instead of downloading them while installation. The files cached are available across check-runs and will reduce the workflow execution time.\n\n**Note:** Please do not cache `vendor` directory using `action/cache` as that will have side-effects.\n\n```yaml\n- name: Get Composer Cache Directory\n  id: composer-cache\n  run: echo \"::set-output name=dir::$(composer config cache-files-dir)\"\n\n- name: Cache dependencies\n  uses: actions/cache@v1\n  with:\n    path: ${{ steps.composer-cache.outputs.dir }}\n    key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}\n    restore-keys: ${{ runner.os }}-composer-\n\n- name: Install Dependencies\n  run: composer install --prefer-dist\n```\n\nIn the above example, if you support a range of `composer` dependencies and do not commit `composer.lock`, you can use the hash of `composer.json` as the key for your cache.\n\n```yaml\nkey: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} \n``` \n\n### Problem Matchers\n\n#### PHP\n\nSetup problem matchers for your `PHP` output by adding this step after the `setup-php` step. This will scan the logs for PHP errors and warnings, and surface them prominently in the GitHub Actions UI by creating annotations and log file decorations.\n\n```yaml\n- name: Setup Problem Matchers for PHP\n  run: echo \"::add-matcher::${{ runner.tool_cache }}/php.json\"\n```\n\n#### PHPUnit\n\nSetup problem matchers for your `PHPUnit` output by adding this step after the `setup-php` step. This will scan the logs for failing tests and surface that information prominently in the GitHub Actions UI by creating annotations and log file decorations.\n\n```yaml\n- name: Setup Problem Matchers for PHPUnit\n  run: echo \"::add-matcher::${{ runner.tool_cache }}/phpunit.json\"\n```\n\n#### Other Tools\n\nFor tools that support `checkstyle` reporting like `phpstan`, `psalm`, `php-cs-fixer` and `phpcs` you can use `cs2pr` to annotate your code.  \nFor examples refer to [cs2pr documentation](https://github.com/staabm/annotate-pull-request-from-checkstyle).  \n\n> Here is an example with `phpstan`.\n\n```yaml\n- name: Setup PHP\n  uses: shivammathur/setup-php@v2\n  with:\n    php-version: '7.4'\n    tools: cs2pr, phpstan\n\n- name: PHPStan\n  run: phpstan analyse src --error-format=checkstyle | cs2pr\n```\n\n### Examples\n\nCheck examples for setting up this GitHub Action with different PHP Frameworks/Packages [here](https://github.com/shivammathur/setup-php#examples).\n\n## License\n\nThe scripts and documentation in this project are released under the [MIT License](https://github.com/shivammathur/setup-php/blob/master/LICENSE \"License for shivammathur/setup-php\"). This project has multiple [dependencies](https://github.com/shivammathur/setup-php#bookmark-dependencies \"Dependencies for this PHP Action\"). Their licenses can be found in their respective repositories.\n\n## Dependencies\n\n- [Node.js dependencies](https://github.com/shivammathur/setup-php/network/dependencies \"Node.js dependencies\")\n- [gplessis/dotdeb-php](https://github.com/gplessis/dotdeb-php \"Packaging for end of life PHP versions\")\n- [mlocati/powershell-phpmanager](https://github.com/mlocati/powershell-phpmanager \"Package to handle PHP on windows\")\n- [ppa:ondrej/php](https://launchpad.net/~ondrej/+archive/ubuntu/php \"Packaging active PHP packages\")\n- [shivammathur/cache-extensions](https://github.com/shivammathur/cache-extensions \"GitHub action to help with caching PHP extensions\")\n- [shivammathur/homebrew-php](https://github.com/shivammathur/homebrew-php \"Tap for PHP builds for MacOS\")\n- [shivammathur/php-builder](https://github.com/shivammathur/php-builder \"Nightly PHP package\")\n- [shivammathur/php5-ubuntu](https://github.com/shivammathur/php5-ubuntu \"Scripts to setup PHP5 versions\")\n\n## Further Reading\n\n- [About GitHub Actions](https://github.com/features/actions \"GitHub Actions\")\n- [GitHub Actions Syntax](https://help.github.com/en/articles/workflow-syntax-for-github-actions \"GitHub Actions Syntax\")\n- [Other Awesome Actions](https://github.com/sdras/awesome-actions \"List of Awesome GitHub Actions\")\n"
  },
  {
    "path": "src/actions/shaking-finger.md",
    "content": "---\npath: '/shaking-finger'\ntitle: 'Shaking Finger'\ngithub_url: 'https://github.com/jessfraz/shaking-finger-action'\nauthor: 'jessfraz'\ntags: ['gif', 'fun']\nsubtitle: 'A GitHub action that displays a gif of Conan O`Brien shaking his finger to a pull request on fail. It will also automatically clean up the comment when the build passes :)'\n---\n\n[![Travis CI](https://img.shields.io/travis/jessfraz/shaking-finger-action.svg?style=for-the-badge)](https://travis-ci.org/jessfraz/shaking-finger-action)\n\nA GitHub action that displays a gif of Conan O'Brien shaking his finger to a pull request on fail.\n\nIt will also automatically clean up the comment when the build passes :)\n\n**Table of Contents**\n\n<!-- toc -->\n\n- [Usage](#usage)\n- [Contributing](#contributing)\n  - [Running the tests](#running-the-tests)\n\n<!-- tocstop -->\n\n## Usage\n\n```\nworkflow \"shaking finger action\" {\n  on = \"pull_request\"\n  resolves = [\"post gif on fail\"]\n}\n\naction \"post gif on fail\" {\n  uses = \"jessfraz/shaking-finger-action@master\"\n  secrets = [\"GITHUB_TOKEN\"]\n}\n```\n\n![demo](https://github.com/jessfraz/shaking-finger-action/raw/master/demo.png)\n\n## Contributing\n\n### Running the tests\n\nThe tests use [shellcheck](https://github.com/koalaman/shellcheck). You don't\nneed to install anything. They run in a container.\n\n```console\n$ make test\n```\n"
  },
  {
    "path": "src/actions/size-label-action.md",
    "content": "---\npath: '/size-label'\ntitle: 'Assign size labels'\ngithub_url: 'https://github.com/pascalgn/size-label-action'\nauthor: 'Pascal'\ntwitter: '@pascalgn'\ntags: ['label', 'assign']\nsubtitle: 'GitHub action to assign labels based on pull request change sizes.'\n---\n\nLabels are taken from https://github.com/kubernetes/kubernetes/labels?q=size\n\n## Usage\n\nAdd this to your `.github/main.workflow` file:\n\n```\nworkflow \"on pull request changes, assign size labels\" {\n  on = \"pull_request\"\n  resolves = [\"assign size labels\"]\n}\n\naction \"assign size labels\" {\n  uses = \"pascalgn/size-label-action@6e8642272f404d447c8a912dc095295f70341724\"\n  secrets = [\"GITHUB_TOKEN\"]\n}\n```\n"
  },
  {
    "path": "src/actions/slack-message-as-bot.md",
    "content": "---\npath: '/slack-message-as-bot'\ntitle: 'Slack Message as bot'\ngithub_url: 'https://github.com/pullreminders/slack-github-action'\nauthor: 'pullreminders'\ntags: ['slack']\nsubtitle: '\nThis action wraps the Slack chat.postMessage API method for posting to channels, private groups, and DMs. This action is designed to be used with Slack bot tokens. Slack bots have two main advantages versus user tokens and incoming webhooks: (1) Bots cant be disabled inadvertently when a Slack user is disabled or removed. Slack has written about this in a recent announcement, and (2) Bots offer a powerful range of capabilities that can be leveraged to perform more functions.'\n---\n\n## Usage:\n\n```workflow\naction \"Post message to Slack\" {\n  uses = \"pullreminders/slack-github-action@master\"\n  secrets = [\n    \"SLACK_BOT_TOKEN\",\n  ]\n  args = \"{\\\"channel\\\":\\\"C1234567890\\\",\\\"text\\\":\"Hello world\"}\"\n}\n```\n\nHere's what the Slack message would look like:\n\n<img src=\"docs/images/slack-message-example.png\" width=\"540\">\n\n## Setup\n\nTo use this GitHub Action you'll first need to create a Slack App and install it to your Slack workspace.\n\n### Creating a Slack App\n\n1. **Create a Slack App**. Go to [Slack's developer site](https://api.slack.com/apps) then click \"Create an app\". Name the app \"GitHub Action\" (you can change this later) and make sure your team's Slack workspace is selected under \"Development Slack Workspace\" ([see screenshot](docs/images/slack-app.png)).\n2. **Add a Bot user**. Browse to the \"Bot users\" page listed in the sidebar. Name your bot \"GitHub Action\" (you can change this later) and leave the other default settings as-is ([see screenshot](docs/images/bot-user.png)).\n3. **Set an icon for your bot.** Browse to the \"Basic information\" page listed in the sidebar. Scroll down to the section titled \"Display information\" to set an icon. Feel free to use one of the [icons in this repository](docs/app-icons).\n4. **Install your app to your workspace.** At the top of the \"Basic information\" page you can find a section titled \"Install your app to your workspace\". Click on it, then use the button to complete the installation ([see screenshot](docs/images/install-slack-all.png)).\n\n## Using the action\n\nTo use this GitHub Action, you'll need to set a `SLACK_BOT_TOKEN` secret on GitHub. To get your Slack bot token, browse to the \"OAuth & Permissions\" page listed in Slack and copy the \"Bot User OAuth Access Token\" beginning in `xoxb-`.\n\n### Posting messages\n\nSlack's [chat.postMessage](https://api.slack.com/methods/chat.postMessage) method accepts a JSON payload containing options — this JSON payload should be supplied as the argument in your GitHub Action. At a bare minimum, your payload must include a channel ID and the message. Here's what a basic message might look like:\n\n```workflow\naction \"Post message to Slack\" {\n  uses = \"pullreminders/slack-github-action@master\"\n  secrets = [\n    \"SLACK_BOT_TOKEN\",\n  ]\n  args = \"{\\\"channel\\\":\\\"C1234567890\\\",\\\"text\\\":\"Hello world\"}\"\n}\n```\n\nPlease note that if you are using the visual editor you should not escape quotes because GitHub will automatically escape them for you.\n\n#### Channel IDs\n\nA \"channel ID\" can be the ID of a channel, private group, or user you would like to post a message to. Your bot can message any user in your Slack workspace but needs to be invited into channels and private groups before it can post to them.\n\nIf you open Slack in your web browser, you can find channel IDs at the end of the URL when viewing channels and private groups. Note that this doesn't work for direct messages.\n\n```\nhttps://myworkspace.slack.com/messages/CHANNEL_ID/\n```\n\nYou can also find channel IDs using the Slack API. Get a list of channels that your bot is a member of via Slack's [users.conversations](https://api.slack.com/methods/users.conversations) endpoint. Get user IDs for direct messages using Slack's [users.lookupByEmail](https://api.slack.com/methods/users.lookupByEmail) endpoint\n\n#### Formatting messages\n\nPlease refer to [Slack's documentation](https://api.slack.com/docs/messages) on message formatting. They also have a [message builder](https://api.slack.com/docs/messages/builder) that's great for playing around and previewing messages. Your messages can contain attachments, markdown, buttons, and more.\n\n## Secrets\n\n- `SLACK_BOT_TOKEN` - **Required**. The Slack bot token to use for posting messages ([more info](https://api.slack.com/docs/token-types#bot))\n"
  },
  {
    "path": "src/actions/slack-message.md",
    "content": "---\npath: '/slack-message'\ntitle: 'Slack message'\ngithub_url: 'https://github.com/apex/actions'\nauthor: 'apex'\ntags: ['slack']\nsubtitle: 'GitHub Action for sending Slack messages which were defined by previous action(s) in ./slack.json.'\n---\n\n## Secrets\n\n- `SLACK_WEBHOOK_URL` - _Required_ The Slack webhook URL.\n\n## Environment Variables\n\n- `SLACK_CHANNEL` - _Optional_ The Slack channel name.\n- `SLACK_USERNAME` - _Optional_ The Slack message username.\n- `SLACK_ICON` - _Optional_ The Slack message icon.\n\n## Example\n\nThis example sends a Slack notification after a deployment is complete. The `apex/actions/up`\naction generates a slack.json to provide a message.\n\n```hcl\nworkflow \"Deployment\" {\n  on = \"push\"\n  resolves = [\"Deploy Notification\"]\n}\n\naction \"Build\" {\n  uses = \"apex/actions/go@master\"\n}\n\naction \"Deploy\" {\n  needs = \"Build\"\n  uses = \"apex/actions/up@master\"\n  secrets = [\"AWS_SECRET_ACCESS_KEY\", \"AWS_ACCESS_KEY_ID\"]\n  args = \"deploy production\"\n}\n\naction \"Deploy Notification\" {\n  needs = \"Deploy\"\n  uses = \"apex/actions/slack@master\"\n  secrets = [\"SLACK_WEBHOOK_URL\"]\n}\n```\n\n## Links\n\n- Message format: https://api.slack.com/docs/messages/builder\n"
  },
  {
    "path": "src/actions/sleep.md",
    "content": "---\npath: '/sleep'\ntitle: 'Sleep'\ngithub_url: 'https://github.com/maddox/actions'\nauthor: 'maddox'\ntags: []\nsubtitle: 'Sometimes you just need to stall a little. This action will simply call sleep for N seconds in case you need a little padding in your workflow.'\n---\n\n<img width=\"300\" alt=\"image\" src=\"https://user-images.githubusercontent.com/260/47250532-ac3b9d80-d3f0-11e8-88af-9215c626da22.png\">\n\n## Usage\n\nTo use the action simply add the following lines to your `.github/main.workflow`\n\n```\naction \"Sleep\" {\n  uses = \"maddox/actions/sleep@master\"\n  args = \"15\"\n}\n```\n\n### Required Arguments\n\nThe only argument used or required is the number of seconds you want to sleep for.\n\n## License\n\nThe Dockerfile and associated scripts and documentation in this project are released under the [MIT License](LICENSE).\n"
  },
  {
    "path": "src/actions/spothub.md",
    "content": "---\npath: '/spothub'\ntitle: 'SpotHub'\ngithub_url: 'https://github.com/swinton/SpotHub'\nauthor: 'swinton'\ntags: []\nsubtitle: 'Collaborate on Spotify playlists using Pull Requests.'\n---\n\n## How does this even work?\n\nUsing [**GitHub Actions**](https://github.com/features/actions) of course!\n\nOn every `push` to the `master` branch, [the Action](https://github.com/swinton/SpotHub/blob/bc2d697744a710bce3ce6a56a10d473045c3ea53/.github/actions/spotify-playlist/Dockerfile) will:\n\n1. [Grab a fresh _access token_ from Spotify](https://github.com/swinton/SpotHub/blob/bc2d697744a710bce3ce6a56a10d473045c3ea53/.github/actions/spotify-playlist/get_access_token.sh), using the `SPOTIFY_AUTH` and `SPOTIFY_REFRESH_TOKEN` [secrets](https://developer.github.com/actions/creating-workflows/storing-secrets/).\n1. [Generate a JSON payload](https://github.com/swinton/SpotHub/blob/bc2d697744a710bce3ce6a56a10d473045c3ea53/.github/actions/spotify-playlist/process_playlist.sh), from [`playlist.csv`](playlist.csv).\n1. [Update a playlist on Spotify](https://github.com/swinton/SpotHub/blob/bc2d697744a710bce3ce6a56a10d473045c3ea53/.github/actions/spotify-playlist/populate_playlist.sh), specified by the `playlist_id` [environment variable](https://developer.github.com/actions/creating-github-actions/accessing-the-runtime-environment/#environment-variables).\n\n## What do I do?\n\n1. Update `playlist.csv`\n1. `git commit`\n1. `git push`\n1. Enjoy your [updated Spotify playlist](https://open.spotify.com/user/stevewinton/playlist/5lNXObovv3WL1Ioyag2FuG)\n\n## Why was this built?\n\nSo we can [collaborate on playlists the right way](https://github.com/swinton/SpotHub/pull/1) :wink:\n\nAlso, because I :heart: Spotify and GitHub, and now I can bring 2 of my favorite things together with [GitHub Actions](https://github.com/features/actions).\n\nSign up for the GitHub Actions beta [here](https://github.com/features/actions) :headphones: :relaxed:\n"
  },
  {
    "path": "src/actions/ssh.md",
    "content": "---\npath: '/ssh'\ntitle: 'SSH'\ngithub_url: 'https://github.com/maddox/actions'\nauthor: 'maddox'\ntags: []\nsubtitle: 'Run a thing on your server. This action will run the provided argument as a command on your $HOST via SSH.'\n---\n\n<img width=\"303\" alt=\"image\" src=\"https://user-images.githubusercontent.com/260/47310459-3eb48a80-d605-11e8-867f-702182404b51.png\">\n\n## Usage\n\nTo use the action simply add the following lines to your `.github/main.workflow`\n\n```\naction \"Run deploy script\" {\n  uses = \"maddox/actions/ssh@master\"\n  args = \"/opt/deploy/run\"\n  secrets = [\n    \"PRIVATE_KEY\",\n    \"PUBLIC_KEY\",\n    \"HOST\",\n    \"USER\"\n  ]\n}\n```\n\n### Required Arguments\n\nThe argument you will use is the command that will be ran on your sever via SSH.\n\n#### Examples\n\n- `args = \"/opt/deploy/run\"`\n- `args = \"touch ~/.reload\"`\n\n### Required Secrets\n\nYou'll need to provide some secrets to use the action.\n\n- **PRIVATE_KEY**: Your SSH private key.\n- **PUBLIC_KEY**: Your SSH public key.\n- **HOST**: The host the action will SSH to to run the command. ie, `your.site.com`.\n- **USER**: The user the SSH command will auth as with the public key.\n"
  },
  {
    "path": "src/actions/storybook-surge.md",
    "content": "---\npath: '/storybook-surge'\ntitle: 'Storybook to Surge'\ngithub_url: 'https://github.com/codeship/storybook-surge-github-action'\nauthor: 'codeship'\ntags: ['react']\nsubtitle: 'This action will take an existing storybook configuration and deploy that storybook to branch specific static surge.sh sites. Intended to be set up on `push`.'\n---\n\n### Required Secrets\n\nYou can set these up within the workflow editor tool.\n\n- `SURGE_LOGIN`\n- `SURGE_TOKEN`\n\n### Behavior\n\nWhen you push to your repository this action will:\n\n- Start a pending GitHub Deployment for the branch\n- Build your storybook\n- Deploy your storybook to a public surge.sh site\n- Update the pending GitHub Deployment with the URL of the storybook.\n\nThe urls follow the pattern:\n\n    https://{repo_owner}-{repo_name}-storybook-{branch_name}.surge.sh\n\n### Example workflow\n\n```\nworkflow \"Storybook\" {\n  on = \"push\"\n  resolves = [\"Publish Storybook to Surge.sh\"]\n}\n\naction \"Publish Storybook to Surge.sh\" {\n  uses = \"codeship/storybook-surge-github-action@0.0.1\"\n  secrets = [\n    \"SURGE_LOGIN\",\n    \"SURGE_TOKEN\",\n    \"GITHUB_TOKEN\",\n  ]\n}\n```\n"
  },
  {
    "path": "src/actions/synk-cli.md",
    "content": "---\npath: '/synk-cli'\ntitle: 'Synk Cli'\ngithub_url: 'https://github.com/clarkio/snyk-cli-action'\nauthor: 'clarkio'\ntags: ['security']\nsubtitle: 'A GitHub action to run snyk test for vulnerabilities in the project'\n---\n\n## How to Use\n\n1. Add Action\n2. Enter `clarkio/snyk-cli-action@master`\n3. Add Secret named `SNYK_TOKEN`\n4. Go to your [Snyk Account Settings](https://app.snyk.io/account) and get your API token value\n5. Enter the value of the token you copied from Snyk as the secret in the GitHub Action\n"
  },
  {
    "path": "src/actions/terraform.md",
    "content": "---\npath: '/terraform'\ntitle: 'Terraform'\ngithub_url: 'https://github.com/hashicorp/terraform-github-actions/blob/master/README.md'\nauthor: 'hashicorp'\ntags: ['terraform']\nsubtitle:\n  'These official Terraform GitHub Actions allow you to run `terraform fmt`, `validate`\n  and `plan` on your pull requests to help you review and validate Terraform changes.'\n---\n\n## Getting Started\n\nTo get started, check out our documentation: [https://www.terraform.io/docs/github-actions/getting-started/](https://www.terraform.io/docs/github-actions/getting-started/).\n\n## Actions\n\n### Fmt Action\n\nRuns `terraform fmt` and comments back if any files are not formatted correctly.\n<img src=\"https://github.com/hashicorp/terraform-github-actions/raw/master/assets/fmt.png\" alt=\"Terraform Fmt Action\" width=\"80%\" />\n\n### Validate Action\n\nRuns `terraform validate` and comments back on error.\n<img src=\"https://github.com/hashicorp/terraform-github-actions/raw/master/assets/validate.png\" alt=\"Terraform Validate Action\" width=\"80%\" />\n\n### Plan Action\n\nRuns `terraform plan` and comments back with the output.\n<img src=\"https://github.com/hashicorp/terraform-github-actions/raw/master/assets/plan.png\" alt=\"Terraform Plan Action\" width=\"80%\" />\n"
  },
  {
    "path": "src/actions/tslint-linter.md",
    "content": "---\npath: '/tslint-linter'\ntitle: 'TypeScript linter & formatter'\ngithub_url: 'https://github.com/bltavares/actions'\nauthor: 'bltavares'\ntags: ['typescript', 'lint', 'formatter', 'autofixer']\nsubtitle: 'This actions will check Typescript projects using tslint'\n---\n\n## Validations on Push\n\nThis actions will check Typescript projects using\n[tslint](https://github.com/palantir/tslint)\n\n`tslint` requires a `tsconfig.json` to be located on the root of the project,\ndescribing how the Typescript project is organized, and a `tslint.json` file to\ndefine the rules that the linter will follow.\n\n## Fixes on Pull Request review\n\nThis action provides automated fixes using Pull Request review comments.\n\nIf the comment starts with `fix $action_name` or `fix tslint`, a new commit will\nbe added to the branch with the automated fixes applied.\n\n**Supports**: autofix on push\n\n## Example workflow\n\n```hcl\nworkflow \"on push\" {\n  on = \"push\"\n  resolves = [\"tslint\"]\n}\n\n# Used for fix on review\nworkflow \"on review\" {\n  resolves = [\"tslint\"]\n  on = \"pull_request_review\"\n}\n\naction \"tslint\" {\n  uses = \"bltavares/actions/tslint@master\"\n  # Enable autofix on push\n  # args = [\"autofix\"]\n  # Used for pushing changes for `fix` comments on review\n  secrets = [\"GITHUB_TOKEN\"]\n}\n```\n"
  },
  {
    "path": "src/actions/tweet.md",
    "content": "---\npath: '/twitter-action'\ntitle: 'Send a Tweet'\ngithub_url: 'https://github.com/xorilog/twitter-action'\nauthor: 'xorilog'\ntags: ['twitter', 'tweet']\nsubtitle: 'Send a tweet with a GitHub Action.'\n---\n\nSmall action which sends a tweet.\n\n# Auth\n\nAbout the authentication see: https://developer.twitter.com/en/apps\ncreate an account, create an app\n@see https://apps.twitter.com/\n\n# retrieve the access tokens\n\n@see https://developer.twitter.com/en/apps\n\n# Use Action\n\n```\nworkflow \"on push tag, tweet message\" {\n  on = \"push\"\n  resolves = [\"Advertise tweetosphere\"]\n}\n\naction \"Advertise tweetosphere\" {\n  uses = \"xorilog/twitter-action@master\"\n  args = [\"-message\", \"New version is out ! $GITHUB_REF\"]\n  secrets = [\"TWITTER_CONSUMER_KEY\", \"TWITTER_CONSUMER_SECRET\", \"TWITTER_ACCESS_TOKEN\", \"TWITTER_ACCESS_SECRET\"]\n}\n```\n\n# Build\n\n```\ngo get .\ngo build\n```\n\n# Usage\n\n```\nexport TWITTER_CONSUMER_KEY=xxx\nexport TWITTER_CONSUMER_SECRET=xxx\nexport TWITTER_ACCESS_TOKEN=xxx\nexport TWITTER_ACCESS_SECRET=xxx\n./twitter-action -message \"Hello Twitter :)\"\n\n```\n\n# Docker\n\n```\n# If building locally\ndocker build -t xorilog/twitter-action .\n\n# else:\ndocker run --rm -e TWITTER_CONSUMER_KEY=${TWITTER_CONSUMER_KEY} \\\n       -e TWITTER_CONSUMER_SECRET=${TWITTER_CONSUMER_SECRET} \\\n       -e TWITTER_ACCESS_TOKEN=${TWITTER_ACCESS_TOKEN} \\\n       -e TWITTER_ACCESS_SECRET=${TWITTER_ACCESS_SECRET} \\\n       xorilog/twitter-action -message \"Hello Twitter :)\"\n```\n"
  },
  {
    "path": "src/actions/twitter-action.md",
    "content": "---\npath: '/twitter-action'\ntitle: 'Send a Tweet'\ngithub_url: 'https://github.com/xorilog/twitter-action'\nauthor: 'xorilog'\ntags: ['twitter', 'tweet']\nsubtitle: 'Send a tweet with a GitHub Action.'\n---\n\nSmall action which sends a tweet.\n\n# Auth\n\nAbout the authentication see: https://developer.twitter.com/en/apps\ncreate an account, create an app\n@see https://apps.twitter.com/\n\n# retrieve the access tokens\n\n@see https://developer.twitter.com/en/apps\n\n# Use Action\n\n```\nworkflow \"on push tag, tweet message\" {\n  on = \"push\"\n  resolves = [\"Advertise tweetosphere\"]\n}\n\naction \"Advertise tweetosphere\" {\n  uses = \"xorilog/twitter-action@master\"\n  args = [\"-message\", \"New version is out ! $GITHUB_REF\"]\n  secrets = [\"TWITTER_CONSUMER_KEY\", \"TWITTER_CONSUMER_SECRET\", \"TWITTER_ACCESS_TOKEN\", \"TWITTER_ACCESS_SECRET\"]\n}\n```\n\n# Build\n\n```\ngo get .\ngo build\n```\n\n# Usage\n\n```\nexport TWITTER_CONSUMER_KEY=xxx\nexport TWITTER_CONSUMER_SECRET=xxx\nexport TWITTER_ACCESS_TOKEN=xxx\nexport TWITTER_ACCESS_SECRET=xxx\n./twitter-action -message \"Hello Twitter :)\"\n\n```\n\n# Docker\n\n```\n# If building locally\ndocker build -t xorilog/twitter-action .\n\n# else:\ndocker run --rm -e TWITTER_CONSUMER_KEY=${TWITTER_CONSUMER_KEY} \\\n       -e TWITTER_CONSUMER_SECRET=${TWITTER_CONSUMER_SECRET} \\\n       -e TWITTER_ACCESS_TOKEN=${TWITTER_ACCESS_TOKEN} \\\n       -e TWITTER_ACCESS_SECRET=${TWITTER_ACCESS_SECRET} \\\n       xorilog/twitter-action -message \"Hello Twitter :)\"\n```\n"
  },
  {
    "path": "src/actions/vamp.md",
    "content": "---\npath: '/vamp'\ntitle: 'vamp'\ngithub_url: 'https://github.com/magneticio/vamp-github-actions'\nauthor: 'magneticio'\nsubtitle: 'GitHub Actions For Vamp'\ntags: []\n---\n\n# Vamp GitHub Actions\n\nThese official Vamp GitHub Actions allow you to run Vamp CLI commands within you GitHub actions workflow.\n\n## Getting Started\n\n## Actions\n\nUsage information for individual actions can be found in their respective directories.\n\n### CLI Action\n\nWraps the Vamp CLI to enable Vamp commands to be run. [action](https://github.com/magneticio/vamp-github-actions/blob/master/cli)\n\n### Login Action\n\nWraps the Vamp CLI `vamp login` command, allowing for Actions to log into Vamp. [action](https://github.com/magneticio/vamp-github-actions/blob/master/login)\n\n### Workflow Action\n\nWraps the Vamp CLI, allowing for Actions to create a Vamp Workflow. [action](https://github.com/magneticio/vamp-github-actions/blob/master/workflow)\n"
  },
  {
    "path": "src/actions/vscode-vsce.md",
    "content": "---\npath: '/vscode-vsce'\ntitle: 'vscode deploying extensions'\ngithub_url: 'https://github.com/lannonbr/vsce-action'\nauthor: 'lannonbr'\ntags: ['vscode']\nsubtitle: 'A GitHub Action to automate deploying VS Code extensions by using vsce. It will enable workflows to easily deploy your VS Code extensions to the marketplace.'\n---\n\n# Usage\n\nHere's an example workflow which publishes an extension when you push to the master branch.\n\n```workflow\nworkflow \"Deploy Extension\" {\n  on = \"push\"\n  resolves = [\"Publish\"]\n}\n\n# Install npm dependencies\n# Note: --unsafe-perm is used as GitHub Actions does not run `npm run post-install` without it for some reason.\naction \"npm install\" {\n  uses = \"actions/npm@33871a7\"\n  args = [\"install\", \"--unsafe-perm\"]\n}\n\n# Check for master branch\naction \"Master\" {\n  uses = \"actions/bin/filter@master\"\n  args = \"branch master\"\n  needs = [\"npm install\"]\n}\n\n# publish extension\naction \"Publish\" {\n  uses = \"lannonbr/vsce-action@master\"\n  args = \"publish -p $VSCE_TOKEN\"\n  needs = [\"Master\"]\n  secrets = [\"VSCE_TOKEN\"]\n}\n```\n\n# Secrets\n\nThe `VSCE_TOKEN` secret is used to authenticate with Azure DevOps when running the `vsce` CLI. You can find out how to create this token here on the VS Code Docs: [Publishing VS Code Extensions](https://code.visualstudio.com/docs/extensions/publish-extension)\n\n# Example Use Cases\n\n- Deploy nightly builds once a day if the `master` branch has changed since the last build.\n- Deploy releases after PRs with a `Release` label are merged into Master.\n- Promote new version of extension on social media with additional Actions.\n\nCreating and publishing extensions with `vsce` is already fairly simple, but this will further integrate it into CI workflows with GitHub Actions.\n"
  },
  {
    "path": "src/actions/wait-for-200.md",
    "content": "---\npath: '/wait-for-200'\ntitle: 'Wait for 200'\ngithub_url: 'https://github.com/maddox/actions'\nauthor: 'maddox'\ntags: []\nsubtitle: 'Wait till the host is up. This action will simply check that a URL is returning a `200` HTTP status code before completing. You have the option to set how many seconds between checks and how many tries before it exits in failure.'\n---\n\n<img width=\"301\" alt=\"image\" src=\"https://user-images.githubusercontent.com/260/47251250-fd9f5900-d3ff-11e8-9a4f-d15343e9c3a3.png\">\n\n## Usage\n\nTo use the action simply add the following lines to your `.github/main.workflow`\n\n```\naction \"Wait for 200\" {\n  uses = \"maddox/actions/wait-for-200@master\"\n}\n```\n\n### Required Environment Variables\n\nYou'll need to provide some environment variables to specify exactly how you\nwant the action to work.\n\n- **URL**: The URL you want to poll. ie, `https://domain.com`.\n- **SECONDS_BETWEEN_CHECKS**: How many seconds you want to wait between checking if the URL returns a `200` HTTP status code. ie, `2`.\n- **MAX_TRIES**: The number of tries before failing. ie, `20`.\n\n## License\n\nThe Dockerfile and associated scripts and documentation in this project are released under the [MIT License](LICENSE).\n"
  },
  {
    "path": "src/actions/webpack-stats-to-packtracker.md",
    "content": "---\npath: '/webpack-stats-to-packtracker'\ntitle: 'Webpack stats to packtracker.io'\ngithub_url: 'https://github.com/packtracker/github-action'\nauthor: 'packtracker'\ntags: ['webpack']\nsubtitle: 'This GitHub action will upload your webpack build stats to the packtracker.io service.'\n---\n\n### Configuration\n\n#### Secrets (Required)\n\n- `PT_PROJECT_TOKEN` - your [packtracker.io](https://packtracker.io/?utm_source=github&utm_medium=action&utm_campaign=links) project token.\n\n#### Environment variables (Optional)\n\n- `WEBPACK_CONFIG_PATH` - the relative path to your webpack configuration (if you have one)\n\n#### Workflow\n\nA sample workflow file might look something like this\n\n```\nworkflow \"packtracker.io\" {\n  on = \"push\"\n  resolves = [\"Report to packtracker.io\"]\n}\n\naction \"Report to packtracker.io\" {\n  uses = \"packtracker/github-action@1.1.2\"\n  secrets = [\"PT_PROJECT_TOKEN\"]\n  env = {\n    \"WEBPACK_CONFIG_PATH\" = \"./config/webpack/production.js\"\n  }\n}\n```\n"
  },
  {
    "path": "src/actions/wemake-python-styleguide.md",
    "content": "---\npath: \"/wemake-python-styleguide\"\ntitle: \"wemake-python-styleguide\"\ngithub_url: \"https://github.com/wemake-services/wemake-python-styleguide\"\nauthor: \"wemake-services\"\nsubtitle: \"The strictest and most opinionated python linter ever!\"\ntags: [\"python\",\"python3\",\"flake8\",\"flake8-plugin\",\"styleguide\",\"wemake-services\",\"code-quality\",\"linter\"]\n---\n# wemake-python-styleguide\n\n[![wemake.services](https://img.shields.io/badge/%20-wemake.services-green.svg?label=%20&logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC%2FxhBQAAAAFzUkdCAK7OHOkAAAAbUExURQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP%2F%2F%2F5TvxDIAAAAIdFJOUwAjRA8xXANAL%2Bv0SAAAADNJREFUGNNjYCAIOJjRBdBFWMkVQeGzcHAwksJnAPPZGOGAASzPzAEHEGVsLExQwE7YswCb7AFZSF3bbAAAAABJRU5ErkJggg%3D%3D)](https://wemake.services)\n[![Supporters](https://img.shields.io/opencollective/all/wemake-python-styleguide.svg?color=gold&label=supporters)](https://opencollective.com/wemake-python-styleguide)\n[![Build Status](https://travis-ci.org/wemake-services/wemake-python-styleguide.svg?branch=master)](https://travis-ci.org/wemake-services/wemake-python-styleguide)\n[![Coverage Status](https://coveralls.io/repos/github/wemake-services/wemake-python-styleguide/badge.svg?branch=master)](https://coveralls.io/github/wemake-services/wemake-python-styleguide?branch=master)\n[![Github Action](https://github.com/wemake-services/wemake-python-styleguide/workflows/wps/badge.svg)](https://github.com/wemake-services/wemake-python-styleguide/actions)\n[![Python Version](https://img.shields.io/pypi/pyversions/wemake-python-styleguide.svg)](https://pypi.org/project/wemake-python-styleguide/)\n[![wemake-python-styleguide](https://img.shields.io/badge/style-wemake-000000.svg)](https://github.com/wemake-services/wemake-python-styleguide)\n---\n\nWelcome to the strictest and most opinionated python linter ever.\n\n<p align=\"center\">\n  <a href=\"https://wemake-python-stylegui.de\">\n    <img src=\"https://raw.githubusercontent.com/wemake-services/wemake-python-styleguide/master/docs/_static/logo.png\"\n         alt=\"wemake-python-styleguide logo\">\n  </a>\n</p>\n\n`wemake-python-styleguide` is actually a [flake8](http://flake8.pycqa.org/en/latest/)\nplugin with [some other plugins](https://wemake-python-stylegui.de/en/latest/pages/usage/violations/index.html#external-plugins) as dependencies.\n\n## Quickstart\n\n```bash\npip install wemake-python-styleguide\n```\n\nYou will also need to create a `setup.cfg` file with the [configuration](https://wemake-python-stylegui.de/en/latest/pages/usage/configuration.html).\n\nWe highly recommend to also use:\n\n- [flakehell](https://wemake-python-stylegui.de/en/latest/pages/usage/integrations/flakehell.html) for easy integration into a **legacy** codebase\n- [nitpick](https://wemake-python-stylegui.de/en/latest/pages/usage/integrations/nitpick.html) for sharing and validating configuration across multiple projects\n\n\n## Running\n\n```bash\nflake8 your_module.py\n```\n\nThis app is still just good old `flake8`!\nAnd it won't change your existing workflow.\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/wemake-services/wemake-python-styleguide/master/docs/_static/running.png\"\n       alt=\"invocation resuts\">\n</p>\n\nSee [\"Usage\" section](https://wemake-python-stylegui.de/en/latest/pages/usage/setup.html)\nin the docs for examples and integrations.\n\n\n## What we are about\n\nThe ultimate goal of this project is\nto make all people write **exactly** the same `python` code.\n\n|                            | black | mypy | pylint | flake8 | wemake-python-styleguide |\n|----------------------------|-------|------|--------|--------|--------------------------|\n| Formats code?              |   ✅   |   ❌   |    ❌   |    ❌   |             ❌            |\n| Finds style issues?        |   ✅   |   ❌   |    ✅   |    ✅   |             ✅            |\n| Finds bugs?                |   ❌   |   ✅   |    ✅   |    🤔   |             ✅            |\n| Finds complex code?        |   ❌   |   ❌   |    ✅   |    🤔   |             ✅            |\n| Has a lot of strict rules? |   ❌   |   ❌   |    🤔   |    ❌   |             ✅            |\n| Has a lot of plugins?      |   ❌   |   ❌   |    ❌   |    ✅   |             ✅            |\n\nWe have several primary objectives:\n\n0. Enforce `python3.6+` usage\n1. Significantly reduce complexity of your code and make it more maintainable\n2. Enforce \"There should be one -- and preferably only one -- obvious way to do it\" rule to coding and naming styles\n3. Protect developers from possible errors and enforce best practices\n\nYou can find all error codes and plugins [in the docs](https://wemake-python-stylegui.de/en/latest/pages/usage/violations/index.html).\n\n\n## What we are not\n\nWe are *not* planning to do the following things:\n\n0. Assume or check types, use `mypy` together with our linter\n1. [Reformat code](https://wemake-python-stylegui.de/en/latest/pages/usage/integrations/auto-formatters.html), since we believe that developers should do that\n2. Check for `SyntaxError` or logical bugs, write tests instead\n3. Appeal to everyone. But, you can [switch off](https://wemake-python-stylegui.de/en/latest/pages/usage/setup.html#ignoring-violations) any rules that you don't like\n\n\n## Supporting us\n\nWe in [wemake.services](https://wemake.services) make\nall our tools open-source by default, so the community can benefit from them.\nIf you use our tools and they make your life easier and brings business value,\nyou can return us a favor by supporting the work we do.\n\n[![Gold Tier](https://opencollective.com/wemake-python-styleguide/tiers/gold-sponsor.svg?width=890)](https://opencollective.com/wemake-python-styleguide)\n\n[![Silver Tier](https://opencollective.com/wemake-python-styleguide/tiers/silver-sponsor.svg?width=890&avatarHeight=45&button=0)](https://opencollective.com/wemake-python-styleguide)\n\n[![Bronze Tier](https://opencollective.com/wemake-python-styleguide/tiers/bronze-sponsor.svg?width=890&avatarHeight=35&button=0)](https://opencollective.com/wemake-python-styleguide)\n\n\n## Show your style\n\nIf you use our linter - it means that your code is awesome.\nYou can be proud of it!\nAnd you should share your accomplishment with others\nby including a badge to your `README` file. It looks like this:\n\n[![wemake-python-styleguide](https://img.shields.io/badge/style-wemake-000000.svg)](https://github.com/wemake-services/wemake-python-styleguide)\n\n### Markdown\n\n```md\n[![wemake-python-styleguide](https://img.shields.io/badge/style-wemake-000000.svg)](https://github.com/wemake-services/wemake-python-styleguide)\n```\n\n### Restructured text\n\n```rst\n.. image:: https://img.shields.io/badge/style-wemake-000000.svg\n   :target: https://github.com/wemake-services/wemake-python-styleguide\n```\n\n\n## Contributing\n\nWe **warmly welcome** all contributions!\n\n[![List of contributors](https://opencollective.com/wemake-python-styleguide/contributors.svg?width=890&button=0)](https://github.com/wemake-services/wemake-python-styleguide/graphs/contributors)\n\nSee [\"Contributing\"](https://wemake-python-stylegui.de/en/latest/pages/api/index.html#contributing) section in the documentation if you want to contribute.\n\nYou can start with [issues that need some help](https://github.com/wemake-services/wemake-python-styleguide/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22)\nright now.\n"
  },
  {
    "path": "src/actions/wip.md",
    "content": "---\npath: '/wip'\ntitle: 'Work In Progress'\ngithub_url: 'https://github.com/wip/action'\nauthor: 'wip'\nsubtitle: 'a work in progress action - work in progress'\ntags: []\n---\n\n<p align=center><a href=\"https://github.com/wip/app/tree/master/assets\"><img src=\"https://github.com/wip/app/raw/master/assets/wip-logo.png\" alt=\"\" width=\"200\" height=\"200\"></a></p>\n\n<h1 align=\"center\">DO NOT MERGE – as an action.</h1>\n\nThis GitHub Action sets a pull request status to pending if the title includes \"WIP\".\n\nAn example workflow looks like this (switch to the <kbd>`<> Edit new file`</kbd> tab when creating a new action and paste the code below):\n\n```workflow\nworkflow \"Set status on pull_request\" {\n  on = \"pull_request\"\n  resolves = [\"Set status\"]\n}\n\naction \"Set status\" {\n  uses = \"wip/action@master\"\n  secrets = [\"GITHUB_TOKEN\"]\n}\n```\n"
  },
  {
    "path": "src/actions/wordpress-dotorg-plugin-deploy.md",
    "content": "---\npath: \"/wordpress-dotorg-plugin-deploy\"\ntitle: \"WordPress.org Plugin Deploy\"\ngithub_url: \"https://github.com/10up/action-wordpress-plugin-deploy\"\nauthor: \"10up\"\ntwitter: \"@10up\"\nsubtitle: \"Deploy your plugin to the WordPress.org repository using GitHub Actions.\"\ntags: [wordpress,plugin,deploy]\n---\n# WordPress.org Plugin Deploy\n\nThis Action commits the contents of your Git tag to the WordPress.org plugin repository using the same tag name. It can exclude files as defined in either `.distignore` or `.gitattributes`, and moves anything from a `.wordpress-org` subdirectory to the top-level `assets` directory in Subversion (plugin banners, icons, and screenshots).\n\n### ☞ For updating the readme and items in the assets directory between releases, please see our [WordPress.org Plugin Readme/Assets Update Action](https://github.com/10up/action-wordpress-plugin-asset-update)\n\n## Configuration\n\n### Required secrets\n* `SVN_USERNAME`\n* `SVN_PASSWORD`\n\n[Secrets are set in your repository settings](https://help.github.com/en/articles/virtual-environments-for-github-actions#creating-and-using-secrets-encrypted-variables). They cannot be viewed once stored.\n\n### Optional environment variables\n* `SLUG` - defaults to the repository name, customizable in case your WordPress repository has a different slug or is capitalized differently.\n* `VERSION` - defaults to the tag name; do not recommend setting this except for testing purposes.\n* `ASSETS_DIR` - defaults to `.wordpress-org`, customizable for other locations of WordPress.org plugin repository-specific assets that belong in the top-level `assets` directory (the one on the same level as `trunk`).\n\n## Excluding files from deployment\nIf there are files or directories to be excluded from deployment, such as tests or editor config files, they can be specified in either a `.distignore` file or a `.gitattributes` file using the `export-ignore` directive. If a `.distignore` file is present, it will be used; if not, the Action will look for a `.gitattributes` file and barring that, will write a basic temporary `.gitattributes` into place before proceeding so that no Git/GitHub-specific files are included.\n\n`.distignore` is useful particularly when there are built files that are in `.gitignore`, and is a file that is used in [WP-CLI](https://wp-cli.org/). For modern plugin setups with a build step and no built files committed to the repository, this is the way forward. `.gitattributes` is useful for plugins that don't run a build step as a part of the Actions workflow and also allows for GitHub's generated ZIP files to contain the same contents as what is committed to WordPress.org. If you would like to attach a ZIP file with the proper contents that decompresses to a folder name without version number as WordPress generally expects, you can add steps to your workflow that generate the ZIP and attach it to the GitHub release (concrete examples to come).\n\n### Sample baseline files\n\n#### `.distignore`\n\n**Notes:** `.distignore` is for files to be ignored **only**; it does not currently allow negation like `.gitignore`. This comes from its current expected syntax in WP-CLI's [`wp dist-archive` command](https://github.com/wp-cli/dist-archive-command/). It is possible that this Action will allow for includes via something like a `.distinclude` file in the future, or that WP-CLI itself makes a change that this Action will reflect for consistency. It also will need to contain more than `.gitattributes` because that method **also** respects `.gitignore`.\n\n```\n/.wordpress-org\n/.git\n/.github\n/node_modules\n\n.distignore\n.gitignore\n```\n\n#### `.gitattributes`\n\n```gitattributes\n# Directories\n/.wordpress-org export-ignore\n/.github export-ignore\n\n# Files\n/.gitattributes export-ignore\n/.gitignore export-ignore\n```\n\n\n## Example Workflow File\n```yml\nname: Deploy to WordPress.org\non:\n  push:\n    tags:\n    - \"*\"\njobs:\n  tag:\n    name: New tag\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@master\n    - name: Build\n      run: |\n        npm install\n        npm run build\n    - name: WordPress Plugin Deploy\n      uses: 10up/action-wordpress-plugin-deploy@master\n      env:\n        SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}\n        SVN_USERNAME: ${{ secrets.SVN_USERNAME }}\n        SLUG: my-super-cool-plugin\n```\n\n## Contributing\nWant to help? Check out our [contributing guidelines](CONTRIBUTING.md) to get started.\n\n<p align=\"center\">\n<a href=\"http://10up.com/contact/\"><img src=\"https://10updotcom-wpengine.s3.amazonaws.com/uploads/2016/10/10up-Github-Banner.png\" width=\"850\"></a>\n</p>\n\n## License\n\nOur GitHub Actions are available for use and remix under the MIT license.\n\n### ☞ Check out our [collection of WordPress-focused GitHub Actions](https://github.com/10up/actions-wordpress)\n\n"
  },
  {
    "path": "src/actions/wordpress-plugin-asset-update.md",
    "content": "---\npath: \"/action-wordpress-plugin-asset-update\"\ntitle: \"WordPress.org Plugin Readme/Assets Update\"\ngithub_url: \"https://github.com/10up/action-wordpress-plugin-asset-update\"\nauthor: \"10up\"\nsubtitle: \"Update your plugin readme and assets in the WordPress.org repository outside of new releases\"\ntags: [wordpress,plugin,readme,assets,deploy]\n---\n# WordPress.org Plugin Readme/Assets Update\n\nThis Action commits any `readme.txt` and WordPress.org-specific assets changes in your specified branch to the WordPress.org plugin repository if no other changes have been made since the last deployment to WordPress.org. This is useful for updating things like screenshots or `Tested up to` separately from functional changes, provided your Git branching methodology avoids changing anything else in the specified branch between functional releases. It is **highly recommended** that you use a stable branch where you only merge readme/asset commits in between larger functional merges that only occur when preparing for a release (often implemented as `master` vs. `develop`).\n\nBecause the WordPress.org plugin repository shows information from `readme.txt` in the specified `Stable tag`, this Action also attempts to parse out the stable tag from `readme.txt` and deploy to there as well as `trunk`. If your stable tag is `trunk` or a tag that does not exist in the `tags` subfolder, it will skip that part of the update and only update `trunk` and/or `assets`.\n\n**Important note:** If your development process leads to a situation where `master` (or other specified branch) only contains changes to `readme.txt` or `assets` since the last sync to the plugin directory and those changes are in preparation for the next release, those changes will go live and potentially be misleading to users. Usage of this Action assumes a fairly traditional Git methodology that involves merging all changes to `master` when functional changes are ready and that this seemingly unlikely situation will therefore not happen in your repo; there are no safeguards against syncing changes based on readme/asset content, as that cannot be predicted.\n\n### ☞ This Action is meant to be used in tandem with our [WordPress.org Plugin Deploy Action](https://github.com/10up/action-wordpress-plugin-deploy)\n\n## Configuration\n\n### Required secrets\n* `SVN_USERNAME`\n* `SVN_PASSWORD`\n\n[Secrets are set in your repository settings](https://help.github.com/en/articles/virtual-environments-for-github-actions#creating-and-using-secrets-encrypted-variables). They cannot be viewed once stored.\n\n### Optional environment variables\n* `SLUG` - defaults to the repository name, customizable in case your WordPress repository has a different slug or is capitalized differently.\n* `ASSETS_DIR` - defaults to `.wordpress-org`, customizable for other locations of WordPress.org plugin repository-specific assets that belong in the top-level `assets` directory (the one on the same level as `trunk`)\n\n## Example Workflow File\n```yml\nname: Plugin asset/readme update\non:\n  push:\n    branches:\n    - master\njobs:\n  master:\n    name: Push to master\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@master\n    - name: WordPress.org plugin asset/readme update\n      uses: 10up/action-wordpress-plugin-asset-update@master\n      env:\n        SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}\n        SVN_USERNAME: ${{ secrets.SVN_USERNAME }}\n```\n\n### Known issues\n* It would be more efficient to additionally use the `paths` filter for the `push` action to reduce the number of runs. So far in testing it is possible to limit it to pushes that include readme/asset files as specified, but not ones that *only* include those files. The Action itself still needs to run as written because it compares the totality of changes in the branch against what's in SVN and not just the contents of the current push.\n\n## Contributing\nWant to help? Check out our [contributing guidelines](CONTRIBUTING.md) to get started.\n\n<p align=\"center\">\n<a href=\"http://10up.com/contact/\"><img src=\"https://10updotcom-wpengine.s3.amazonaws.com/uploads/2016/10/10up-Github-Banner.png\" width=\"850\"></a>\n</p>\n\n## License\n\nOur GitHub Actions are available for use and remix under the MIT license.\n\n### ☞ Check out our [collection of WordPress-focused GitHub Actions](https://github.com/10up/actions-wordpress)\n"
  },
  {
    "path": "src/actions/wordpress-pot-generator.md",
    "content": "---\npath: '/wordpress-pot-generator'\ntitle: 'WordPress Pot Generator'\ngithub_url: 'https://github.com/wpapps/wp-pot-generator'\nauthor: 'Varun Sridharan'\ntags: ['wordpress']\nsubtitle: 'Generate POT Files for your wordpress Plugin / Theme based on the content inside Github Repo'\n---\n\n<p align=\"center\">\n<img src=\"https://user-images.githubusercontent.com/1039236/51209809-253a8a80-1937-11e9-9dc1-0267bcb74390.png\" />\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/wpapps/wp-pot-generator\"><img src=\"https://img.shields.io/github/license/wpapps/wp-pot-generator.svg\" alt=\"Licence\"></a>\n<a href=\"https://github.com/wpapps/wp-pot-generator\"><img src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square\" alt=\"PRs\"></a>\n</p>\n\n# WordPress Pot Generator - ***Github Action***\nThis Action Generates POT Files for your wordpress Plugin / Theme based on the content inside Github Repo\n\n## Configuration\n* `SAVE_PATH` - Location / Path to save POT File **Required**\n* `ITEM_SLUG` - Slug of your WordPress Theme / Plugin Slug  **Required**\n* `DOMAIN` - WordPress Theme / Plugin ***TextDomain***\n* `PACKAGE_NAME` - WordPress Theme / Plugin Name\n* `GITHUB_TOKEN` - you do not need to generate one but you do have to explicitly make it available to the Action\n* `HEADERS`  - Array in JSON format of custom headers which will be added to the POT file. Defaults to empty array.\n\n## Example Workflow File\n```\nworkflow \"Deploy\" {\n  resolves = [\"WordPress Pot Generator\"]\n  on = \"push\"\n}\n\naction \"WordPress Pot Generator\" {\n  uses = \"varunsridharan/wordpress-pot-generator@master\"\n  env = {\n    SAVE_PATH = \"langs/filename.pot\"\n    ITEM_SLUG = \"your-textdomain\"\n  }\n  secrets = [\"GITHUB_TOKEN\"]\n}\n```\n"
  },
  {
    "path": "src/actions/wp-text-domain.md",
    "content": "---\npath: '/wp-text-domain'\ntitle: 'WP Text Domain - Github Action'\ngithub_url: 'https://github.com/wpapps/wp-text-domain'\nauthor: 'Varun Sridharan'\ntags: ['wordpress']\nsubtitle: 'Add Text Domain To Your WordPress Plugin / Themes On The Fly'\n---\n\n<p align=\"center\">\n<img src=\"https://user-images.githubusercontent.com/1039236/51209809-253a8a80-1937-11e9-9dc1-0267bcb74390.png\" />\n</p>\n\n<p align=\"center\">\n<a href=\"https://github.com/wpapps/wp-text-domain\"><img src=\"https://img.shields.io/github/license/wpapps/wp-text-domain.svg\" alt=\"Licence\"></a>\n<a href=\"https://github.com/wpapps/wp-text-domain\"><img src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square\" alt=\"PRs\"></a>\n</p>\n\n# WP Text Domain - ***Github Action***\nThis Action Adds TextDomain To your wordpress Plugin / Theme based on the content inside Github Repo\n\n## Configuration\n* `DOMAIN` - Slug of your WordPress Theme / Plugin Slug  **Required**\n* `GITHUB_TOKEN` - you do not need to generate one but you do have to explicitly make it available to the Action\n\n## Example Workflow File\n```\nworkflow \"Deploy\" {\nresolves = [\"WP Text Domain\"]\non = \"push\"\n}\n\naction \"WP Text Domain\" {\nuses = \"wpapps/wp-text-domain@master\"\nenv = {\nDOMAIN = \"your-textdomain\"\n}\nsecrets = [\"GITHUB_TOKEN\"]\n}\n```\n"
  },
  {
    "path": "src/actions/yarn.md",
    "content": "---\npath: '/yarn'\ntitle: 'Yarn'\ngithub_url: 'https://github.com/Borales/actions-yarn'\nauthor: 'Borales'\ntags: ['yarn', 'npm']\nsubtitle: 'This Action for yarn enables arbitrary actions with the yarn command-line client, including testing packages and publishing to a registry.'\n---\n\n## Usage\n\nAn example workflow to build, test, and publish an npm package to the default public registry follows:\n\n```hcl\nworkflow \"Build, Test, and Publish\" {\n  on = \"push\"\n  resolves = [\"Publish\"]\n}\n\naction \"Build\" {\n  uses = \"borales/actions-yarn@master\"\n  args = \"install\"\n}\n\naction \"Test\" {\n  needs = \"Build\"\n  uses = \"borales/actions-yarn@master\"\n  args = \"test\"\n}\n\naction \"Publish\" {\n  needs = \"Test\"\n  uses = \"borales/actions-yarn@master\"\n  args = \"publish --access public\"\n  secrets = [\"NPM_AUTH_TOKEN\"]\n}\n```\n\n### Secrets\n\n- `NPM_AUTH_TOKEN` - **Optional**. The token to use for authentication with the npm registry. Required for `yarn publish` ([more info](https://docs.npmjs.com/getting-started/working_with_tokens))\n\n### Environment variables\n\n- `NPM_REGISTRY_URL` - **Optional**. To specify a registry to authenticate with. Defaults to `registry.npmjs.org`\n- `NPM_CONFIG_USERCONFIG` - **Optional**. To specify a non-default per-user configuration file. Defaults to `$HOME/.npmrc` ([more info](https://docs.npmjs.com/misc/config#npmrc-files))\n\n#### Example\n\nTo authenticate with, and publish to, a registry other than `registry.npmjs.org`:\n\n```hcl\naction \"Publish\" {\n  uses = \"borales/actions-yarn@master\"\n  args = \"publish --access public\"\n  env = {\n    NPM_REGISTRY_URL = \"someOtherRegistry.someDomain.net\"\n  }\n  secrets = [\"NPM_AUTH_TOKEN\"]\n}\n```\n"
  },
  {
    "path": "src/actions/zeit-now.md",
    "content": "---\npath: '/zeit-now'\ntitle: 'Zeit Now'\ngithub_url: 'https://github.com/actions/zeit-now'\nauthor: 'GitHub'\ntags: []\nsubtitle: 'This Action wraps the Now CLI to enable common Now commands.'\n---\n\n## Usage\n\n```workflow\nworkflow \"Deploy on Now\" {\n  on = \"push\"\n  resolves = [\"alias\"]\n}\n\naction \"deploy\" {\n  uses = \"actions/zeit-now@master\"\n  secrets = [\n    \"ZEIT_TOKEN\",\n  ]\n}\n\naction \"alias\" {\n  needs = [\"deploy\"]\n  uses = \"actions/zeit-now@master\"\n  args = \"alias\"\n  secrets = [\n    \"ZEIT_TOKEN\",\n  ]\n}\n```\n\nFor more examples, visit: [actions/example-zeit-now](https://github.com/actions/example-zeit-now).\n\n### Secrets\n\n- `ZEIT_TOKEN` - **Required**. The token to use for authentication with the Zeit Now API ([more info](https://zeit.co/blog/introducing-api-tokens-management))\n\n## License\n\nThe Dockerfile and associated scripts and documentation in this project are released under the [MIT License](LICENSE).\n\nContainer images built with this project include third party materials. See [THIRD_PARTY_NOTICE.md](THIRD_PARTY_NOTICE.md) for details.\n"
  },
  {
    "path": "src/actions/zola-deploy.md",
    "content": "---\npath: '/zola-deploy'\ntitle: 'Zola Deploy'\ngithub_url: 'https://github.com/shalzz/zola-deploy-action'\nauthor: 'shalzz'\ntags: []\nsubtitle: 'A GitHub action to automatically build and deploy your zola site to the master branch as GitHub Pages.'\n---\n\n## Usage\n\n```\nworkflow \"Build and deploy on push\" {\n  on = \"push\"\n  resolves = [\"zola deploy\"]\n}\n\naction \"zola deploy\" {\n  uses = \"shalzz/zola-deploy-action@master\"\n  secrets = [\"TOKEN\"]\n}\n```\n\n## Secrets\n\n- `TOKEN`: Personal Access key with the scope `public_repo`, we need this\n  to push the site files back to the repo.\n  ( Actions already provides a `GITHUB_TOKEN` which is an installation token and does not trigger a GitHub Pages builds hence we need a personal access token )\n\n## Custom Domain\n\nIf you're using a custom domain for your GitHub Pages site put the CNAME\nin `static/CNAME` so that zola puts it in the root of the public folder\nwhich is where GitHub expects it to be.\n\n[zola]: https://github.com/getzola/zola\n"
  },
  {
    "path": "src/components/Action-Card/index.js",
    "content": "import React from 'react'\nimport urljoin from 'url-join'\nimport { navigate } from 'gatsby'\n\nimport './styles.css'\n\nconst AcitonCard = ({ path, title, author, subtitle, github_url } = {}) => {\n  const urlParts = github_url.split('github.com')\n  const repoPath = urlParts[urlParts.length - 1]\n\n  const starBadgeUrl = `${urljoin(\n    'https://img.shields.io/github/stars',\n    repoPath\n  )}.svg?style=social`\n\n  return (\n    <div className=\"action-card__container column is-one-third\">\n      <div className=\"action-card\" onClick={() => navigate(path)}>\n        <div className=\"action-card-icon\">\n          <img\n            src=\"https://github.githubassets.com/images/modules/site/features/action-build.svg\"\n            alt=\"Build\"\n            className=\"position-relative\"\n          />\n        </div>\n        <div className=\"action-card__header\">\n          <h4>{title}</h4>\n          <p>by {author}</p>\n          <img src={starBadgeUrl} />\n        </div>\n        <div className=\"action-card__body\">\n          <p>{subtitle}</p>\n        </div>\n        <div className=\"action-card__footer\">\n          <span>Read more</span>\n        </div>\n      </div>\n    </div>\n  )\n}\n\nexport default AcitonCard\n"
  },
  {
    "path": "src/components/Action-Card/styles.css",
    "content": ".action-card {\n  box-shadow: inset 0 0 0 1px #e1e4e8, 0 2px 4px rgba(0, 0, 0, 0.15);\n  margin-bottom: 80px;\n  box-sizing: border-box;\n  margin: 40px 10px;\n  z-index: 1;\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  width: 100%;\n}\n\n.action-card__container.column {\n  display: flex;\n}\n\n.action-card:hover {\n  cursor: pointer;\n}\n\n.action-card:before {\n  background: #f6f8fa;\n  border-radius: 50%;\n  box-shadow: 0 0 0 1px #e1e4e8;\n  content: '';\n  display: block;\n  height: 34px;\n  left: 50%;\n  margin: 0 0 0 -17px;\n  position: absolute;\n  top: -17px;\n  width: 34px;\n  z-index: -1;\n}\n\n.action-card span {\n  color: #0366d6;\n}\n\n.action-card__header {\n  background: #f6f8fa;\n  padding: 24px 100px 24px 32px;\n  border-radius: 6px 6px 0 0;\n  box-shadow: inset 0 0 0 1px #e1e4e8;\n}\n\n.action-card__body {\n  padding: 32px;\n  height: 100%;\n}\n\n.action-card-icon {\n  background: #0366d6;\n  border-radius: 50%;\n  height: 60px;\n  width: 60px;\n  text-align: center !important;\n  margin: 15px 15px 0 0;\n  position: absolute;\n  right: 10px;\n}\n\n.action-card-icon * {\n  top: 50%;\n  transform: translateY(50%);\n}\n\n.action-card__footer {\n  box-shadow: inset 0 1px 0 0 #e1e4e8;\n  text-align: right;\n  padding: 24px 32px;\n}\n\n.action-card__header img {\n  width: 100px;\n  margin-bottom: 0;\n}\n\n.action-card:after {\n  background: #fff;\n  bottom: -20px;\n  content: '';\n  display: block;\n  height: 45px;\n  left: 50%;\n  margin: 0 0 0 -23px;\n  position: absolute;\n  width: 46px;\n  box-shadow: inset 0 0 0 1px #e1e4e8, 0 2px 4px rgba(0, 0, 0, 0.15);\n  z-index: 0;\n  border-radius: 50%;\n}\n\n.content .action-card__header h4 {\n  margin: 0;\n  padding: 0;\n}\n\n.action-card__header p {\n  font-size: 18px;\n}\n"
  },
  {
    "path": "src/components/ActionHeader/index.js",
    "content": "import React from 'react'\nimport urljoin from 'url-join'\n\nconst ActionHeader = ({ title, github_url, author }) => {\n  return (\n    <section className=\"main hero is-primary is-medium\">\n      <div className=\"hero-body\">\n        <div className=\"container has-text-centered\">\n          <h1 className=\"title\">{title}</h1>\n          <h2 className=\"subtitle\">By {author}</h2>\n        </div>\n      </div>\n    </section>\n  )\n}\n\nexport default ActionHeader\n"
  },
  {
    "path": "src/components/Footer/index.js",
    "content": "import React from 'react'\n\nimport './styles.css'\n\nconst Footer = () => {\n  return (\n    <footer className=\"footer hero is-primary is-size-4\">\n      <div className=\"has-text-centered is-size-6\">\n        <p>An open source list of GitHub Actions️.</p>\n        <p>\n          <svg\n            class=\"octicon octicon-code\"\n            viewBox=\"0 0 14 16\"\n            version=\"1.1\"\n            width=\"14\"\n            height=\"16\"\n            aria-hidden=\"true\"\n          >\n            <path\n              fill-rule=\"evenodd\"\n              d=\"M9.5 3L8 4.5 11.5 8 8 11.5 9.5 13 14 8 9.5 3zm-5 0L0 8l4.5 5L6 11.5 2.5 8 6 4.5 4.5 3z\"\n            />\n          </svg>{' '}\n          with{' '}\n          <svg\n            class=\"octicon octicon-heart\"\n            viewBox=\"0 0 12 16\"\n            version=\"1.1\"\n            width=\"12\"\n            height=\"16\"\n            aria-hidden=\"true\"\n          >\n            <path\n              fill-rule=\"evenodd\"\n              d=\"M11.2 3c-.52-.63-1.25-.95-2.2-1-.97 0-1.69.42-2.2 1-.51.58-.78.92-.8 1-.02-.08-.28-.42-.8-1-.52-.58-1.17-1-2.2-1-.95.05-1.69.38-2.2 1-.52.61-.78 1.28-.8 2 0 .52.09 1.52.67 2.67C1.25 8.82 3.01 10.61 6 13c2.98-2.39 4.77-4.17 5.34-5.33C11.91 6.51 12 5.5 12 5c-.02-.72-.28-1.39-.8-2.02V3z\"\n            />\n          </svg>{' '}\n          by{' '}\n          <a class=\"text-gray-light\" href=\"https://github.com/boyney123\">\n            boyney123\n          </a>\n        </p>\n        <p>\n          <a\n            href=\"https://twitter.com/boyney123?ref_src=twsrc%5Etfw\"\n            class=\"twitter-follow-button\"\n            data-size=\"large\"\n            data-show-screen-name=\"false\"\n            data-show-count=\"false\"\n          >\n            Follow @boyney123\n          </a>\n        </p>\n      </div>\n    </footer>\n  )\n}\n\nexport default Footer\n"
  },
  {
    "path": "src/components/Footer/styles.css",
    "content": "footer p {\n  margin-bottom: 10px;\n}\n\n.footer {\n  color: #797676;\n  font-size: 1.3em;\n  padding: 3rem 1.5rem 3rem !important;\n}\n\n.footer svg {\n  vertical-align: middle;\n}\n"
  },
  {
    "path": "src/components/Navigation/index.js",
    "content": "import React from 'react'\n\nimport './styles.css'\n\nconst Navigation = () => {\n  return (\n    <nav className=\"navbar\" role=\"navigation\" aria-label=\"main navigation\">\n      <div id=\"navbarBasicExample\" className=\"navbar-menu\">\n        <div className=\"navbar-end\">\n          <div className=\"navbar-item\">\n            <div className=\"\">\n              <a\n                className=\"is-primary\"\n                href=\"https://github.com/features/actions\"\n                target=\"_blank\"\n              >\n                <strong>Getting Started with Actions</strong>\n              </a>\n            </div>\n          </div>\n        </div>\n      </div>\n    </nav>\n  )\n}\n\nexport default Navigation\n"
  },
  {
    "path": "src/components/Navigation/styles.css",
    "content": "nav.navbar {\n  background: #423a3a;\n  color: white;\n  padding: 0 70px;\n}\n\nnav.navbar h1,\nnav.navbar a {\n  color: white;\n  float: right;\n}\n"
  },
  {
    "path": "src/components/SiteHeader/index.js",
    "content": "import React from 'react'\n\nconst SiteHeader = ({ handleFilter, count }) => {\n  return (\n    <section className=\"main hero is-primary is-medium\">\n      <div className=\"hero-body\">\n        <div className=\"container has-text-centered\">\n          <h1 className=\"title\">GitHub Actions</h1>\n\n          <h2 className=\"subtitle\">\n            Built to help developers find GitHub Actions.\n          </h2>\n          <div>\n            <input\n              id=\"search-action\"\n              className=\"input is-large\"\n              onChange={handleFilter}\n              placeholder=\"Find an Action (e.g Pull Request, Docker, AWS)\"\n            />\n          </div>\n          <a\n            className=\"button is-large add-action\"\n            href=\"https://github.com/boyney123/github-actions/blob/master/CONTRIBUTING.md#adding-your-configuration-to-github-actions\"\n            target=\"_blank\"\n          >\n            <i class=\"fab fa-github\" />\n            Add an action\n          </a>\n          <p className=\"mt20\">\n            Currently listing <strong>{count}</strong> actions and counting...\n          </p>\n          <div className=\"badges\">\n            <a\n              href=\"https://twitter.com/intent/tweet?text=Check%20out%20this%20GitHub%20action%20list%20from%20%40boyney123%20https%3A%2F%2Fgithub-actions.netlify.com\"\n              rel=\"nofollow\"\n              target=\"_blank\"\n            >\n              <img\n                className=\"badges__twitter\"\n                src=\"https://camo.githubusercontent.com/c4d1ba0479b8b6b97290be3e5af3effb94266475/68747470733a2f2f696d672e736869656c64732e696f2f747769747465722f75726c2f68747470732f6769746875622e636f6d2f6b656e7463646f6464732f72656163742d74657374696e672d6c6962726172792e7376673f7374796c653d736f6369616c\"\n              />\n            </a>\n            <a\n              href=\"https://github.com/boyney123/github-actions\"\n              target=\"_blank\"\n            >\n              <img\n                className=\"badges__github\"\n                src=\"https://img.shields.io/github/stars/boyney123/github-actions.svg?style=social\"\n              />\n            </a>\n          </div>\n        </div>\n      </div>\n    </section>\n  )\n}\n\nexport default SiteHeader\n"
  },
  {
    "path": "src/components/layout.css",
    "content": "html {\n  font-family: sans-serif;\n  -ms-text-size-adjust: 100%;\n  -webkit-text-size-adjust: 100%;\n}\nbody {\n  margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block;\n}\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\nprogress {\n  vertical-align: baseline;\n}\n[hidden],\ntemplate {\n  display: none;\n}\na {\n  background-color: transparent;\n  -webkit-text-decoration-skip: objects;\n}\na:active,\na:hover {\n  outline-width: 0;\n}\nabbr[title] {\n  border-bottom: none;\n  text-decoration: underline;\n  text-decoration: underline dotted;\n}\nb,\nstrong {\n  font-weight: inherit;\n  font-weight: bolder;\n}\ndfn {\n  font-style: italic;\n}\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\nmark {\n  background-color: #ff0;\n  color: #000;\n}\nsmall {\n  font-size: 80%;\n}\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\nsub {\n  bottom: -0.25em;\n}\nsup {\n  top: -0.5em;\n}\nimg {\n  border-style: none;\n}\nsvg:not(:root) {\n  overflow: hidden;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\nfigure {\n  margin: 1em 40px;\n}\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  font: inherit;\n  margin: 0;\n}\noptgroup {\n  font-weight: 700;\n}\nbutton,\ninput {\n  overflow: visible;\n}\nbutton,\nselect {\n  text-transform: none;\n}\n[type='reset'],\n[type='submit'],\nbutton,\nhtml [type='button'] {\n  -webkit-appearance: button;\n}\n[type='button']::-moz-focus-inner,\n[type='reset']::-moz-focus-inner,\n[type='submit']::-moz-focus-inner,\nbutton::-moz-focus-inner {\n  border-style: none;\n  padding: 0;\n}\n[type='button']:-moz-focusring,\n[type='reset']:-moz-focusring,\n[type='submit']:-moz-focusring,\nbutton:-moz-focusring {\n  outline: 1px dotted ButtonText;\n}\nfieldset {\n  border: 1px solid silver;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n  box-sizing: border-box;\n  color: inherit;\n  display: table;\n  max-width: 100%;\n  padding: 0;\n  white-space: normal;\n}\ntextarea {\n  overflow: auto;\n}\n[type='checkbox'],\n[type='radio'] {\n  box-sizing: border-box;\n  padding: 0;\n}\n[type='number']::-webkit-inner-spin-button,\n[type='number']::-webkit-outer-spin-button {\n  height: auto;\n}\n[type='search'] {\n  -webkit-appearance: textfield;\n  outline-offset: -2px;\n}\n[type='search']::-webkit-search-cancel-button,\n[type='search']::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n::-webkit-input-placeholder {\n  color: inherit;\n  opacity: 0.54;\n}\n::-webkit-file-upload-button {\n  -webkit-appearance: button;\n  font: inherit;\n}\nhtml {\n  font: 112.5%/1.45em georgia, serif;\n  box-sizing: border-box;\n  overflow-y: scroll;\n}\n* {\n  box-sizing: inherit;\n}\n*:before {\n  box-sizing: inherit;\n}\n*:after {\n  box-sizing: inherit;\n}\nbody {\n  color: hsla(0, 0%, 0%, 0.8);\n  font-family: georgia, serif;\n  font-weight: normal;\n  word-wrap: break-word;\n  font-kerning: normal;\n  -moz-font-feature-settings: 'kern', 'liga', 'clig', 'calt';\n  -ms-font-feature-settings: 'kern', 'liga', 'clig', 'calt';\n  -webkit-font-feature-settings: 'kern', 'liga', 'clig', 'calt';\n  font-feature-settings: 'kern', 'liga', 'clig', 'calt';\n}\nimg {\n  max-width: 100%;\n  margin-left: 0;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n}\nh1 {\n  margin-left: 0;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n  color: inherit;\n  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\n    Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\n  font-weight: bold;\n  text-rendering: optimizeLegibility;\n  font-size: 2.25rem;\n  line-height: 1.1;\n}\nh2 {\n  margin-left: 0;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n  color: #525252;\n  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\n    Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\n  font-weight: bold;\n  text-rendering: optimizeLegibility;\n  font-size: 1.62671rem;\n  line-height: 1.1;\n}\nh3 {\n  margin-left: 0;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n  color: inherit;\n  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\n    Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\n  font-weight: bold;\n  text-rendering: optimizeLegibility;\n  font-size: 1.38316rem;\n  line-height: 1.1;\n}\nh4 {\n  margin-left: 0;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n  color: inherit;\n  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\n    Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\n  font-weight: bold;\n  text-rendering: optimizeLegibility;\n  font-size: 1rem;\n  line-height: 1.1;\n}\nh5 {\n  margin-left: 0;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n  color: inherit;\n  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\n    Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\n  font-weight: bold;\n  text-rendering: optimizeLegibility;\n  font-size: 0.85028rem;\n  line-height: 1.1;\n}\nh6 {\n  margin-left: 0;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n  color: inherit;\n  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,\n    Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;\n  font-weight: bold;\n  text-rendering: optimizeLegibility;\n  font-size: 0.78405rem;\n  line-height: 1.1;\n}\nhgroup {\n  margin-left: 0;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n}\nul {\n  margin-left: 1.45rem;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n  list-style-position: outside;\n  list-style-image: none;\n}\nol {\n  margin-left: 1.45rem;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n  list-style-position: outside;\n  list-style-image: none;\n}\ndl {\n  margin-left: 0;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n}\ndd {\n  margin-left: 0;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n}\np {\n  margin-left: 0;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n  color: ##525252;\n}\nfigure {\n  margin-left: 0;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n}\npre {\n  margin-left: 0;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n  font-size: 0.85rem;\n  line-height: 1.42;\n  background: hsla(0, 0%, 0%, 0.04);\n  border-radius: 3px;\n  overflow: auto;\n  word-wrap: normal;\n  padding: 1.45rem;\n}\ntable {\n  margin-left: 0;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n  font-size: 1rem;\n  line-height: 1.45rem;\n  border-collapse: collapse;\n  width: 100%;\n}\nfieldset {\n  margin-left: 0;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n}\nblockquote {\n  margin-left: 1.45rem;\n  margin-right: 1.45rem;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n}\nform {\n  margin-left: 0;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n}\nnoscript {\n  margin-left: 0;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n}\niframe {\n  margin-left: 0;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n}\nhr {\n  margin-left: 0;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: calc(1.45rem - 1px);\n  background: hsla(0, 0%, 0%, 0.2);\n  border: none;\n  height: 1px;\n}\naddress {\n  margin-left: 0;\n  margin-right: 0;\n  margin-top: 0;\n  padding-bottom: 0;\n  padding-left: 0;\n  padding-right: 0;\n  padding-top: 0;\n  margin-bottom: 1.45rem;\n}\nb {\n  font-weight: bold;\n}\nstrong {\n  font-weight: bold;\n}\ndt {\n  font-weight: bold;\n}\nth {\n  font-weight: bold;\n}\nli {\n  margin-bottom: calc(1.45rem / 2);\n}\nol li {\n  padding-left: 0;\n}\nul li {\n  padding-left: 0;\n}\nli > ol {\n  margin-left: 1.45rem;\n  margin-bottom: calc(1.45rem / 2);\n  margin-top: calc(1.45rem / 2);\n}\nli > ul {\n  margin-left: 1.45rem;\n  margin-bottom: calc(1.45rem / 2);\n  margin-top: calc(1.45rem / 2);\n}\nblockquote *:last-child {\n  margin-bottom: 0;\n}\nli *:last-child {\n  margin-bottom: 0;\n}\np *:last-child {\n  margin-bottom: 0;\n}\nli > p {\n  margin-bottom: calc(1.45rem / 2);\n}\ncode {\n  font-size: 0.85rem;\n  line-height: 1.45rem;\n}\nkbd {\n  font-size: 0.85rem;\n  line-height: 1.45rem;\n}\nsamp {\n  font-size: 0.85rem;\n  line-height: 1.45rem;\n}\nabbr {\n  border-bottom: 1px dotted hsla(0, 0%, 0%, 0.5);\n  cursor: help;\n}\nacronym {\n  border-bottom: 1px dotted hsla(0, 0%, 0%, 0.5);\n  cursor: help;\n}\nabbr[title] {\n  border-bottom: 1px dotted hsla(0, 0%, 0%, 0.5);\n  cursor: help;\n  text-decoration: none;\n}\nthead {\n  text-align: left;\n}\ntd,\nth {\n  text-align: left;\n  border-bottom: 1px solid hsla(0, 0%, 0%, 0.12);\n  font-feature-settings: 'tnum';\n  -moz-font-feature-settings: 'tnum';\n  -ms-font-feature-settings: 'tnum';\n  -webkit-font-feature-settings: 'tnum';\n  padding-left: 0.96667rem;\n  padding-right: 0.96667rem;\n  padding-top: 0.725rem;\n  padding-bottom: calc(0.725rem - 1px);\n}\nth:first-child,\ntd:first-child {\n  padding-left: 0;\n}\nth:last-child,\ntd:last-child {\n  padding-right: 0;\n}\ntt,\ncode {\n  background-color: hsla(0, 0%, 0%, 0.04);\n  border-radius: 3px;\n  font-family: 'SFMono-Regular', Consolas, 'Roboto Mono', 'Droid Sans Mono',\n    'Liberation Mono', Menlo, Courier, monospace;\n  padding: 0;\n  padding-top: 0.2em;\n  padding-bottom: 0.2em;\n}\npre code {\n  background: none;\n  line-height: 1.42;\n}\ncode:before,\ncode:after,\ntt:before,\ntt:after {\n  letter-spacing: -0.2em;\n  content: ' ';\n}\npre code:before,\npre code:after,\npre tt:before,\npre tt:after {\n  content: '';\n}\n@media only screen and (max-width: 480px) {\n  html {\n    font-size: 100%;\n  }\n}\n\n.main .input {\n  width: 50%;\n  margin-top: 30px;\n  color: #2e70e3;\n}\n\n.main .button {\n  margin: 40px 0;\n}\n\n.main .title {\n  color: #ffffff;\n  font-size: 3.5rem;\n}\n\n.main .subtitle {\n  color: white;\n  font-size: 2rem;\n  margin-bottom: 0 !important;\n}\n\n.main p {\n  font-style: italic;\n  margin: 0;\n  /* margin-bottom: 20px; */\n}\n\n.main.hero .badges {\n  margin-top: 15px;\n}\n\n.main.hero .badges img {\n  margin-right: 5px;\n}\n\n@media (max-width: 500px) {\n  .main .title {\n    font-size: 2rem;\n  }\n\n  .main .subtitle {\n    font-size: 1.5rem;\n  }\n\n  .main .input {\n    width: 100%;\n    font-size: 1rem;\n  }\n\n  .main .input::placeholder {\n    font-size: 1rem;\n  }\n\n  .main .button.is-large {\n    font-size: 1.2rem;\n  }\n}\n\n.badges .badges__twitter {\n  width: 75px;\n}\n\n.badges .badges__github {\n  width: 100px;\n}\n\n.button.add-action {\n  color: #3273dc;\n}\n\n.button.add-action i {\n  margin-right: 10px;\n}\n\n.content {\n  min-height: 100vh;\n}\n.mt10 {\n  margin-top: 10px;\n}\n\n.mt20 {\n  margin-top: 20px;\n}\n\n.hero {\n  background: #4776e6; /* fallback for old browsers */\n  background: -webkit-linear-gradient(\n    to right,\n    #8e54e9,\n    #4776e6\n  ); /* Chrome 10-25, Safari 5.1-6 */\n  background: linear-gradient(\n    to right,\n    #8e54e9,\n    #4776e6\n  ); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */\n}\n\n.no-results {\n  text-align: center;\n  width: 100%;\n  margin-top: 40px;\n}\n\n.content .no-results h1 {\n  color: #b7b7b7;\n}\n"
  },
  {
    "path": "src/components/layout.js",
    "content": "import React from 'react'\nimport PropTypes from 'prop-types'\nimport Helmet from 'react-helmet'\nimport { StaticQuery, graphql, Link } from 'gatsby'\n\nimport Navigation from './Navigation'\nimport Footer from './Footer'\nimport './layout.css'\n\nconst Layout = ({ children, count, handleFilter = () => {}, header }) => (\n  <StaticQuery\n    query={graphql`\n      query SiteTitleQuery {\n        site {\n          siteMetadata {\n            title\n          }\n        }\n      }\n    `}\n    render={data => (\n      <>\n        <Helmet\n          title={data.site.siteMetadata.title}\n          meta={[\n            { name: 'description', content: 'Sample' },\n            { name: 'keywords', content: 'sample, something' },\n          ]}\n        >\n          <script\n            async\n            src=\"https://platform.twitter.com/widgets.js\"\n            charset=\"utf-8\"\n          />\n          <link\n            rel=\"stylesheet\"\n            href=\"https://use.fontawesome.com/releases/v5.6.1/css/all.css\"\n            integrity=\"sha384-gfdkjb5BdAXd+lj+gudLWI+BXq4IuLW5IT+brZEZsLFm++aCMlF1V92rMkPaX4PP\"\n            crossorigin=\"anonymous\"\n          />\n          <link\n            rel=\"stylesheet\"\n            href=\"https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.2/css/bulma.min.css\"\n          />\n          <html lang=\"en\" />\n        </Helmet>\n        <Navigation />\n        {header}\n        <div className=\"content\">{children}</div>\n        <Footer />\n      </>\n    )}\n  />\n)\n\nLayout.propTypes = {\n  children: PropTypes.node.isRequired,\n  setFilter: PropTypes.func,\n}\n\nexport default Layout\n"
  },
  {
    "path": "src/functions/github.js",
    "content": "const request = require('request-promise')\nconst urljoin = require('url-join')\n\nconst transformAndWriteToFile = require('json-to-frontmatter-markdown/lib/transformToMarkdownString')\n\nconst getReadme = async url => {\n  try {\n    const readme = await request({\n      url: urljoin(url, '/readme'),\n      headers: {\n        'user-agent': 'github-actions-things',\n        Authorization: `token ${process.env.GITHUB_TOKEN}`,\n      },\n      json: true,\n    })\n    const { content = '' } = readme || {}\n    return Buffer.from(content, 'base64')\n  } catch (error) {\n    console.log(error)\n    return Promise.resolve('')\n  }\n}\n\nconst getTopicsForRepo = async url => {\n  try {\n    const topics = await request({\n      url: urljoin(url, '/topics'),\n      headers: {\n        'user-agent': 'github-actions-things',\n        Accept: 'application/vnd.github.mercy-preview+json',\n        Authorization: `token ${process.env.GITHUB_TOKEN}`,\n      },\n      json: true,\n    })\n    const { names = [] } = topics || {}\n    return names\n  } catch (error) {\n    console.log(error)\n    return Promise.resolve([])\n  }\n}\n\nexports.handler = async function(event, context, callback) {\n  try {\n    const { queryStringParameters: { url: github_url } = {} } = event\n\n    if (!github_url) {\n      return {\n        statusCode: 400,\n        body: 'Please provide a valid url in the query string',\n      }\n    }\n\n    const urlsParts = github_url.split('github.com')\n\n    const url = urljoin('https://api.github.com/repos', urlsParts[1])\n\n    const data = await request({\n      url,\n      headers: {\n        'user-agent': 'github-actions-things',\n        Authorization: `token ${process.env.GITHUB_TOKEN}`,\n      },\n      json: true,\n    })\n\n    const topics = await getTopicsForRepo(url)\n    const readme = await getReadme(url)\n\n    const {\n      name,\n      html_url,\n      description,\n      homepage,\n      language,\n      license,\n      owner: { login } = {},\n    } = data\n\n    const payload = await transformAndWriteToFile.default({\n      frontmatter: [\n        {\n          path: `/${name}`,\n          title: name,\n          github_url,\n          author: login,\n          subtitle: description,\n          tags: topics, // Get from tags api\n        },\n      ],\n      body: readme,\n    })\n\n    return {\n      statusCode: 200,\n      body: payload,\n    }\n  } catch (err) {\n    console.log(err)\n    return { statusCode: 500, body: 'Please provide a valid github url' }\n  }\n}\n"
  },
  {
    "path": "src/images/.gitkeep",
    "content": ""
  },
  {
    "path": "src/pages/404.js",
    "content": "import React from 'react'\nimport Layout from '../components/layout'\n\nconst NotFoundPage = () => (\n  <Layout>\n    <h1>NOT FOUND</h1>\n    <p>You just hit a route that doesn&#39;t exist... the sadness.</p>\n  </Layout>\n)\n\nexport default NotFoundPage\n"
  },
  {
    "path": "src/pages/index.js",
    "content": "import React, { Component } from 'react'\nimport { navigate, graphql } from 'gatsby'\nimport urljoin from 'url-join'\n\nimport Fuse from 'fuse.js'\n\nimport Layout from '../components/layout'\nimport ActionCard from '../components/Action-Card'\nimport SiteHeader from '../components/SiteHeader'\n\nclass IndexPage extends Component {\n  state = {\n    filter: '',\n  }\n\n  handleFilter(event) {\n    const value = event.target.value\n    this.setState({ filter: value })\n  }\n\n  render() {\n    const {\n      data: { allMarkdownRemark: { edges = [] } = {} } = {},\n      test,\n    } = this.props\n\n    const items = edges.map(item => {\n      const { node } = item\n      const { frontmatter } = node\n      return {\n        ...frontmatter,\n      }\n    })\n\n    const options = {\n      keys: ['author', 'tags', 'title'],\n      shouldSort: true,\n      threshold: 0.3,\n    }\n\n    var fuse = new Fuse(items, options)\n    const filteredItems =\n      this.state.filter !== '' ? fuse.search(this.state.filter) : items\n\n    return (\n      <Layout\n        header={\n          <SiteHeader\n            handleFilter={this.handleFilter.bind(this)}\n            count={edges.length}\n          />\n        }\n      >\n        <div className=\"container is-fluid\">\n          <div className=\"columns is-multiline\">\n            {filteredItems.length > 0 &&\n              filteredItems.map(item => {\n                const {\n                  path,\n                  title,\n                  subtitle,\n                  author,\n                  github_url,\n                  tags = [],\n                } = item\n\n                const urlParts = github_url.split('github.com')\n                const repoPath = urlParts[urlParts.length - 1]\n\n                const starBadgeUrl = `${urljoin(\n                  'https://img.shields.io/github/stars',\n                  repoPath\n                )}.svg?style=social`\n\n                return (\n                  <ActionCard\n                    path={path}\n                    title={title}\n                    author={author}\n                    subtitle={subtitle}\n                    github_url={github_url}\n                  />\n                )\n              })}\n            {filteredItems.length === 0 && (\n              <section className=\"no-results\">\n                <h1 className=\"title mt20\">No Results Found... </h1>\n                <p className=\"mt20\">Try searching for \"AWS\" or \"Docker\"</p>\n              </section>\n            )}\n          </div>\n        </div>\n      </Layout>\n    )\n  }\n}\n\nexport default IndexPage\n\nexport const pageQuery = graphql`\n  query IndexQuery {\n    allMarkdownRemark {\n      edges {\n        node {\n          frontmatter {\n            title\n            path\n            tags\n            author\n            subtitle\n            github_url\n          }\n        }\n      }\n    }\n  }\n`\n"
  },
  {
    "path": "src/templates/blog-post.css",
    "content": ".container.blog-post {\n  margin-top: 80px;\n}\n\n.blog-post {\n  padding: 0 60px;\n}\n\n.blog-post .github-stars {\n  width: 100px;\n}\n\n.blog-post .back-button i {\n  margin-right: 10px;\n}\n\n.blog-post a {\n  color: #926cb9;\n  margin-right: 10px;\n}\n\n.blog-post hr {\n  margin: 40px 0;\n}\n\n.button.twitter-button {\n  background: #0096e7;\n  color: white;\n}\n\n.button.twitter-button i {\n  margin-right: 10px;\n}\n"
  },
  {
    "path": "src/templates/blog-post.js",
    "content": "import React from 'react'\nimport Helmet from 'react-helmet'\nimport { graphql } from 'gatsby'\nimport urljoin from 'url-join'\n\nimport Layout from '../components/layout'\nimport ActionHeader from '../components/ActionHeader'\n\nimport './blog-post.css'\n\nexport default function Template({ data }) {\n  const { markdownRemark: post } = data\n  const { frontmatter } = post\n  const { title, subtitle, github_url, twitter, path, author } = frontmatter\n\n  const creator = twitter ? twitter : author\n\n  const urlParts = github_url.split('github.com')\n  const repoPath = urlParts[urlParts.length - 1]\n  const starBadgeUrl = `${urljoin(\n    'https://img.shields.io/github/stars',\n    repoPath\n  )}.svg?style=social`\n\n  const tweet = encodeURIComponent(\n    `Check out this GitHub action: ${title} from ${creator}: https://github-actions.netlify.com/${path} 👍 #github`\n  )\n\n  return (\n    <Layout\n      className=\"blog-post-container\"\n      header={<ActionHeader {...frontmatter} />}\n    >\n      <Helmet title={`Github-Actions - ${frontmatter.title}`}>\n        <script\n          async\n          src=\"https://platform.twitter.com/widgets.js\"\n          charset=\"utf-8\"\n        />\n        <link\n          rel=\"stylesheet\"\n          href=\"https://use.fontawesome.com/releases/v5.6.1/css/all.css\"\n          integrity=\"sha384-gfdkjb5BdAXd+lj+gudLWI+BXq4IuLW5IT+brZEZsLFm++aCMlF1V92rMkPaX4PP\"\n          crossorigin=\"anonymous\"\n        />\n        <link\n          rel=\"stylesheet\"\n          href=\"https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.2/css/bulma.min.css\"\n        />\n        <html lang=\"en\" />\n      </Helmet>\n      <div className=\"blog-post container\">\n        <a className=\"back-button button\" href=\"/\">\n          <i class=\"fas fa-arrow-left\" /> Back\n        </a>\n        <hr />\n        <h1>{title}</h1>\n        <img className=\"github-stars\" src={starBadgeUrl} />\n        <p>{subtitle}</p>\n\n        <a href={`${github_url}`} target=\"_blank\">\n          {github_url}\n        </a>\n\n        <div className=\"mt20\">\n          <a\n            className=\"button twitter-button\"\n            href={`https://twitter.com/intent/tweet?text=${tweet}`}\n          >\n            <i class=\"fab fa-twitter\" /> Share this action\n          </a>\n        </div>\n\n        <hr />\n        <div\n          className=\"blog-post-content\"\n          dangerouslySetInnerHTML={{ __html: post.html }}\n        />\n      </div>\n    </Layout>\n  )\n}\n\nexport const pageQuery = graphql`\n  query BlogPostByPath($path: String!) {\n    markdownRemark(frontmatter: { path: { eq: $path } }) {\n      html\n      frontmatter {\n        path\n        author\n        title\n        subtitle\n        github_url\n        twitter\n      }\n    }\n  }\n`\n"
  }
]