{"_id":"urlobj","_rev":"11-409637bcd1325589579e7be7a53ead11","name":"urlobj","description":"Performant utilities for URL resolution and parsing built on core url.","dist-tags":{"latest":"0.0.11"},"versions":{"0.0.6":{"name":"urlobj","description":"Additional utilities for URL resolution and parsing.","version":"0.0.6","homepage":"https://github.com/stevenvachon/urlobj","author":{"name":"Steven Vachon","email":"contact@svachon.com","url":"http://www.svachon.com/"},"main":"lib","repository":{"type":"git","url":"git://github.com/stevenvachon/urlobj.git"},"bugs":{"url":"https://github.com/stevenvachon/urlobj/issues"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"dependencies":{"is-object":"^1.0.1","is-string":"^1.0.4"},"devDependencies":{"browserify":"^10.2.4","chai":"^3.0.0","mocha":"^2.2.5","uglify-js":"^2.4.23"},"engines":{"node":">= 0.10"},"scripts":{"browserify":"browserify lib/ --standalone urlobj | uglifyjs --compress --mangle -o browser/urlobj.js","test":"mocha test/ --reporter spec --check-leaks --bail"},"files":["lib"],"keywords":["uri","url"],"gitHead":"f89a1642ebb5a125c2c87aaaebaadfbbef8d7771","_id":"urlobj@0.0.6","_shasum":"ac8dda1b2a613f6ca1821b15600e77816ff4903e","_from":"git://github.com/stevenvachon/urlobj.git","_resolved":"git://github.com/stevenvachon/urlobj.git#f89a1642ebb5a125c2c87aaaebaadfbbef8d7771","_npmVersion":"2.10.1","_nodeVersion":"2.1.0","_npmUser":{"name":"stevenvachon","email":"contact@svachon.com"},"dist":{"shasum":"ac8dda1b2a613f6ca1821b15600e77816ff4903e","tarball":"https://registry.npmjs.org/urlobj/-/urlobj-0.0.6.tgz","integrity":"sha512-oVjX3RvRe0LNR4mjtziEslnfisFhhg6DO3HVMQB1smGmF+t7EAa6ZmrVAhKl8XavmWshf1ULTg/+mlQKGOHwbQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH++EGKgyh4XILVcOoZ+nNO0uJ9qvPDvV1nJ7VQm1oneAiBFDzdSqXihscKoeuR8kbgqNB2Im92vFLeCVCIg/5r/fg=="}]},"maintainers":[{"name":"stevenvachon","email":"contact@svachon.com"}],"directories":{},"deprecated":"use universal-url, minurl, relateurl, url-relation"},"0.0.7":{"name":"urlobj","description":"Additional utilities for URL resolution and parsing.","version":"0.0.7","homepage":"https://github.com/stevenvachon/urlobj","author":{"name":"Steven Vachon","email":"contact@svachon.com","url":"http://www.svachon.com/"},"main":"lib","repository":{"type":"git","url":"git://github.com/stevenvachon/urlobj.git"},"bugs":{"url":"https://github.com/stevenvachon/urlobj/issues"},"licenses":[{"type":"MIT","url":"http://opensource.org/licenses/mit-license.php"}],"dependencies":{"is-object":"^1.0.1","is-string":"^1.0.4","object-assign":"^3.0.0"},"devDependencies":{"browserify":"^10.2.4","chai":"^3.0.0","mocha":"^2.2.5","uglify-js":"^2.4.23"},"engines":{"node":">= 0.10"},"scripts":{"browserify":"browserify lib/ --standalone urlobj | uglifyjs --compress --mangle -o browser/urlobj.js","test":"mocha test/ --reporter spec --check-leaks --bail"},"files":["lib"],"keywords":["uri","url"],"gitHead":"af973dcb8d8e995d323b6645c83d9a090b91710e","_id":"urlobj@0.0.7","_shasum":"b98b2efb8f6fb3188ac4e939cd870ed5e3fad42f","_from":"git://github.com/stevenvachon/urlobj.git","_resolved":"git://github.com/stevenvachon/urlobj.git#af973dcb8d8e995d323b6645c83d9a090b91710e","_npmVersion":"2.11.1","_nodeVersion":"2.3.0","_npmUser":{"name":"stevenvachon","email":"contact@svachon.com"},"dist":{"shasum":"b98b2efb8f6fb3188ac4e939cd870ed5e3fad42f","tarball":"https://registry.npmjs.org/urlobj/-/urlobj-0.0.7.tgz","integrity":"sha512-Xq+XzuPDgla9upzEAcCinJSWLVj9J7aF7I8D6Ne1zVsKRzNvbR0R+FM/CMUYEdAL8bWwVAsNSF9BqYsiAyVNDg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG7WIjv0b2wJ73M7U3O6+C+Cwv8oeIDxUgm3nZvDdnnGAiEA6mShzePKLBgBJhlV8ml0IkWaKefmGpYrQDErwVnZ6O0="}]},"maintainers":[{"name":"stevenvachon","email":"contact@svachon.com"}],"directories":{},"deprecated":"use universal-url, minurl, relateurl, url-relation"},"0.0.8":{"name":"urlobj","description":"Performant utilities for URL resolution and parsing built on core url.","version":"0.0.8","license":"MIT","homepage":"https://github.com/stevenvachon/urlobj","author":{"name":"Steven Vachon","email":"contact@svachon.com","url":"http://www.svachon.com/"},"main":"lib","repository":{"type":"git","url":"git://github.com/stevenvachon/urlobj.git"},"bugs":{"url":"https://github.com/stevenvachon/urlobj/issues"},"dependencies":{"is-object":"^1.0.1","is-string":"^1.0.4","object-assign":"^4.0.1"},"devDependencies":{"browserify":"^11.2.0","chai":"^3.3.0","mocha":"^2.3.3","uglify-js":"^2.5.0"},"engines":{"node":">= 0.10"},"scripts":{"browserify":"browserify lib/ --standalone urlobj | uglifyjs --compress --mangle -o browser/urlobj.js","test":"mocha test/ --reporter spec --check-leaks --bail"},"files":["lib","license"],"keywords":["uri","url"],"gitHead":"974f44859f24cdd0935239fb682633582c1d1bc3","_id":"urlobj@0.0.8","_shasum":"84fda38c2dc867805245c830e5063fb91e026f56","_from":"git://github.com/stevenvachon/urlobj.git","_resolved":"git://github.com/stevenvachon/urlobj.git#974f44859f24cdd0935239fb682633582c1d1bc3","_npmVersion":"2.14.4","_nodeVersion":"4.1.1","_npmUser":{"name":"stevenvachon","email":"contact@svachon.com"},"dist":{"shasum":"84fda38c2dc867805245c830e5063fb91e026f56","tarball":"https://registry.npmjs.org/urlobj/-/urlobj-0.0.8.tgz","integrity":"sha512-+3lJQv5fXSpo1gAd/FmFql66ZMqfAEU0r4IE7142VhELNKL+Hhg/BI11m6Sbcr54Vm9BAtIN4+zK4P5y2uhJiw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAclnh7FEA3k0Qn4ObOfSCI5lj3K5gdgB8oFqRP0dO+HAiAckevn/5KnSkc9TCJJB7mkxL6LHkhNhtXerK+2yVUSbA=="}]},"maintainers":[{"name":"stevenvachon","email":"contact@svachon.com"}],"directories":{},"deprecated":"use universal-url, minurl, relateurl, url-relation"},"0.0.9":{"name":"urlobj","description":"Performant utilities for URL resolution and parsing built on core url.","version":"0.0.9","license":"MIT","homepage":"https://github.com/stevenvachon/urlobj","author":{"name":"Steven Vachon","email":"contact@svachon.com","url":"http://www.svachon.com/"},"main":"lib","repository":{"type":"git","url":"git://github.com/stevenvachon/urlobj.git"},"bugs":{"url":"https://github.com/stevenvachon/urlobj/issues"},"dependencies":{"is-object":"^1.0.1","is-string":"^1.0.4","object-assign":"^4.1.0"},"devDependencies":{"browserify":"^13.0.1","chai":"^3.5.0","mocha":"^2.4.5","uglify-js":"^2.6.2"},"engines":{"node":">= 0.10"},"scripts":{"browserify":"browserify lib/ --standalone urlobj | uglifyjs --compress --mangle -o browser/urlobj.js","test":"mocha test/ --reporter spec --check-leaks --bail"},"files":["lib","license"],"keywords":["uri","url"],"gitHead":"c8262b8ed74d64917534f3809d516a49c3e798d8","_id":"urlobj@0.0.9","_shasum":"4a61b339ea96729650289398fe43acb0b66462ef","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"stevenvachon","email":"contact@svachon.com"},"dist":{"shasum":"4a61b339ea96729650289398fe43acb0b66462ef","tarball":"https://registry.npmjs.org/urlobj/-/urlobj-0.0.9.tgz","integrity":"sha512-EicF9yPq9vob8XzPYpfCD1tpvQuy9jJKJ+p+C8c83WtDFp5xk0pMWWZfoWYJ5pj+rUU03Kj8LISKYfkAO4LicA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDtgSwTZP3L8U3xfqRt3C+IUccDOHBJWRKo98mmI1YouAiBkq2+xvGe+VFL5XN/pB35CnykyVjO3q6r54lZNfL0VAA=="}]},"maintainers":[{"name":"stevenvachon","email":"contact@svachon.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/urlobj-0.0.9.tgz_1463937567647_0.7386786018032581"},"directories":{},"deprecated":"use universal-url, minurl, relateurl, url-relation"},"0.0.10":{"name":"urlobj","description":"Performant utilities for URL resolution and parsing built on core url.","version":"0.0.10","license":"MIT","homepage":"https://github.com/stevenvachon/urlobj","author":{"name":"Steven Vachon","email":"contact@svachon.com","url":"http://www.svachon.com/"},"main":"lib","repository":{"type":"git","url":"git://github.com/stevenvachon/urlobj.git"},"bugs":{"url":"https://github.com/stevenvachon/urlobj/issues"},"dependencies":{"is-object":"^1.0.1","is-string":"^1.0.4","object-assign":"^4.1.0"},"devDependencies":{"browserify":"^13.1.0","chai":"^3.5.0","mocha":"^3.0.2","uglify-js":"^2.7.0"},"engines":{"node":">= 0.10"},"scripts":{"browserify":"browserify lib/ --standalone urlobj | uglifyjs --compress --mangle -o browser/urlobj.js","test":"mocha test/ --reporter spec --check-leaks --bail"},"files":["lib","license"],"keywords":["uri","url"],"gitHead":"2b12b5ed71c160c6864fd53e26e0428f01d5f786","_id":"urlobj@0.0.10","_shasum":"9103d232dfd8a8d25b15995bae8beec6b9ab995b","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"stevenvachon","email":"contact@svachon.com"},"dist":{"shasum":"9103d232dfd8a8d25b15995bae8beec6b9ab995b","tarball":"https://registry.npmjs.org/urlobj/-/urlobj-0.0.10.tgz","integrity":"sha512-sxp2fvrB1welmKxcHdZZ8mkajUCSrrQHXVYyCo6BT0HsmqlsPkBo+jETt2oI8OQYdP87mWhURcXep6zUB/dnyA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkNLeJWQb2ZRd5CP/dYKGODGMC+XgW2DwKmqOZgMnaZQIhAMpSMVJAM24iyoocJSfg3RCuwokwYkpsM0/5bVRoH4BG"}]},"maintainers":[{"name":"stevenvachon","email":"contact@svachon.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/urlobj-0.0.10.tgz_1470663523232_0.47193504706956446"},"directories":{},"deprecated":"use universal-url, minurl, relateurl, url-relation"},"0.0.11":{"name":"urlobj","description":"Performant utilities for URL resolution and parsing built on core url.","version":"0.0.11","license":"MIT","homepage":"https://github.com/stevenvachon/urlobj","author":{"name":"Steven Vachon","email":"contact@svachon.com","url":"https://www.svachon.com/"},"repository":{"type":"git","url":"git+https://github.com/stevenvachon/urlobj.git"},"main":"lib","dependencies":{"is-object":"^1.0.1","is-string":"^1.0.4","object-assign":"^4.1.1"},"devDependencies":{"browserify":"^16.1.1","chai":"^4.1.2","mocha":"^3.5.3","uglify-js":"^3.3.14"},"engines":{"node":">= 0.10"},"scripts":{"browserify":"browserify lib/ --standalone urlobj | uglifyjs --compress --mangle -o browser/urlobj.js","test":"mocha test/ --reporter spec --check-leaks --bail"},"files":["lib","license"],"keywords":["uri","url"],"gitHead":"067868e5204da12a024381fba38384d527795f98","bugs":{"url":"https://github.com/stevenvachon/urlobj/issues"},"_id":"urlobj@0.0.11","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"stevenvachon","email":"contact@svachon.com"},"dist":{"integrity":"sha512-Ncck0WWtuFBbZhSYwKjK1AU2V51V98P/KHUPkaEc+mFy4xkpAHFNyVQT+S5SgtsJAr94e4wiKUucJSfasV2kBw==","shasum":"ddd3060876ae1cf0ff9e38a91d0574332b73794c","tarball":"https://registry.npmjs.org/urlobj/-/urlobj-0.0.11.tgz","fileCount":26,"unpackedSize":38688,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAIxaTB/FT/IF0/b7B9JPvjlkLAmp7BtZvAxK4HRWoBEAiEAtrdQq8ShIO+cdIERqDka8CKkY0ivwIjGD7OyOcB5XTw="}]},"maintainers":[{"name":"stevenvachon","email":"contact@svachon.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/urlobj_0.0.11_1520977661317_0.30603041153393873"},"_hasShrinkwrap":false,"deprecated":"use universal-url, minurl, relateurl, url-relation"}},"readme":"# urlobj [![NPM Version][npm-image]][npm-url] [![Bower Version][bower-image]][bower-url] [![Build Status][travis-image]][travis-url] [![Dependency Status][david-image]][david-url]\n\n> Performant utilities for URL resolution and parsing built on core [url](https://nodejs.org/api/url.html).\n\nThis module provides many tools for working with Objects parsed with [`url.parse()`](https://nodejs.org/api/url.html#url_url_parse_urlstr_parsequerystring_slashesdenotehost). It also performs faster because it avoids the need to constantly reparse URL Strings during multiple operations.\n\n## Constants\n\n### component\nURL components used in comparison operations.\n\n* `component.NOTHING`\n* `component.PROTOCOL` or `components.SCHEME`\n* `component.TLD`\n* `component.DOMAIN`\n* `component.SUB_DOMAIN`\n* `component.HOSTNAME`\n* `component.PORT`\n* `component.HOST`\n* `component.AUTH`\n* `component.DIRECTORY`\n* `component.FILENAME`\n* `component.PATHNAME`\n* `component.QUERY` or `components.SEARCH`\n* `component.PATH`\n* `component.HASH` or `components.FRAGMENT`\n\n```\n                                    HOST                         PATH\n                                   ___|___                 _______|______\n                                  /       \\               /              \\\n               AUTH           HOSTNAME    PORT        PATHNAME          QUERY   HASH\n         _______|_______   ______|______   |   __________|_________   ____|____   |\n        /               \\ /             \\ / \\ /                    \\ /         \\ / \\\n  foo://username:password@www.example.com:123/hello/world/there.html?name=ferret#foo\n  \\_/                     \\_/ \\_____/ \\_/     \\_________/ \\________/\n   |                       |     |     |           |           |\nPROTOCOL              SUB_DOMAIN |    TLD      DIRECTORY   FILENAME\n                                 |\n                              DOMAIN\n```\n\n**Note:** there are a few breaks in the linearity of these values:\n\n* `AUTH` is prioritized *after* `HOST` because matching authentication on a different domain is pointless\n* `TLD` is prioritized *before* `DOMAIN` because matching a domain on a different top-level domain is pointless\n* `SUB_DOMAIN` is prioritized *after* `DOMAIN`\n\n### type\nURL types used for discerning input.\n\n* `type.UNKNOWN`\n* `type.ABSOLUTE`\n* `type.PROTOCOL_RELATIVE`\n* `type.ROOT_RELATIVE`\n* `type.DIRECTORY_RELATIVE`\n* `type.FILENAME_RELATIVE`\n* `type.QUERY_RELATIVE`\n* `type.EMPTY`\n* `type.HASH_RELATIVE`\n\n## Functions\n\nThe following methods will accept URLs as Strings and/or Objects.\n\n### format(urlObj)\nConverts a URL `Object` to a formatted URL `String`. Is merely an alias to core [`url.format()`](https://nodejs.org/api/url.html#url_url_format_urlobj).\n\n### minify(url, options)\nNormalizes and minifies a URL with the following options:\n\n* `clone`; when set to `true`, the function will return a copy of `url` instead of mutating the original.\n* `defaultPorts`; a map of default ports for various protocols. Default value: `{ftp:21, gopher:70, http:80, https:443}`.\n* `directoryIndexes`; a list of filenames that are expected to be treated as directory indexes. Default value: `[\"index.html\"]`.\n* `removeAuth`; when set to `true`, it will remove authentication information. Default value: `false`.\n* `removeDefaultPorts`; when set to `true`, it will remove ports that match any found in `defaultPorts`. Default value: `true`.\n* `removeDirectoryIndexes`; when set to `true`, it will remove filenames that match any found in `directoryIndexes`. Default value: `true`.\n* `removeEmptyQueries`; when set to `true`, it will remove empty query data such as `\"?\"`, `\"?var=\"` and `\"&=\"`. Default value: `false`.\n* `removeRootTrailingSlash`; when set to `true`, it will remove trailing slashes such as `\"http://domain.com/?var\"`. Default value: `true`.\n\nIf `url` is an Object, it will be mutated/modified.\n\n### normalize(url, options)\nResolves dot segments (`\"../\"`, `\"./\"`) in a URL's path, removes port if it is default and removes empty queries (`\"path/?\"`).\n\nOptions:\n\n* `defaultPorts`; a map of default ports for various protocols. Default value: `{ftp:21, gopher:70, http:80, https:443}`.\n* `slashesDenoteHost`; when set to `true`, it will parse `\"//domain.com/\"` as a URL instead of a path. Default value: `false`.\n\nIf `url` is an Object, it will be mutated/modified.\n\n### parse(url, parseQueryString, slashesDenoteHost)\n### parse(url, options)\nParses (or re-parses) a URL into an Object containing its URL components with the following options:\n\n* `defaultPorts`; a map of default ports for various protocols. Default value: `{ftp:21, gopher:70, http:80, https:443}`.\n* `directoryIndexes`; a list of filenames that are expected to be treated as directory indexes. Default value: `[\"index.html\"]`.\n* `parseQueryString`; when set to `true`, it will parse the query string into an object. Default value: `false`.\n* `slashesDenoteHost`; when set to `true`, it will parse `\"//domain.com/\"` as a URL instead of a path. Default value: `false`.\n\nIf `url` is an Object, it will be mutated/modified.\n\n### relation(url1, url2)\nReturns a Number defining the relation between two URLs. That number corresponds to the value of a URL component in [`components`](#components).\n\nBecause the value returned is a Number, more complex comparisons are possible:\n\n```js\nvar relation = urlobj.relation(url1, url2);\n\nif (relation >= urlobj.components.HOST) {\n\tconsole.log(\"same server!\");\n}\n```\n\n### resolve(from, to, options)\nResolves a URL with a base URL like a browser would for an anchor tag. If `to` is an Object, it will be mutated/modified.\n\nOptions:\n\n* `defaultPorts`; a map of default ports for various protocols. Default value: `{ftp:21, gopher:70, http:80, https:443}`.\n* `ignoreWww`; when set to `true`, it will treat `\"www.domain.com\"` and `\"domain.com\"` as the same host. Default value: `false`.\n\n## Exposed Internal Methods\n\n### areSameDir(dirArray1, leadingSlash1, dirArray2, leadingSlash2)\nCompares two directory Arrays to see if their paths are the same. `leadingSlash1` and `leadingSlash2` denote that the corresponding path is absolute and not relative. Input should first be normalized.\n\n### areSameQuery(queryObj1, queryObj2)\nCompares two query Objects to see if their data is the same. Order does not matter.\n\n### joinDirs(dirArray, leadingSlash)\nJoins all directories of a directory Array into a String. `leadingSlash` denotes that the path is absolute and not relative.\n\n### joinQuery(queryObj, skipEmpties)\nJoins all keys of an Object into a query String.\n\nWhen `skipEmpties` is `true`, empty query data such as `\"?var=\"` and `\"&=\"` will be excluded. Its default value is `false`.\n\n### normalizeDirs(dirArray, leadingSlash)\nResolves dot segments (`\"../\"`, `\"./\"`) in a directory Array and returns a new Array (within an Object). `leadingSlash` denotes that the path is absolute and not relative. This method will attempt to resolve to a root. If none is found, the parent-most dot segment will remain.\n\nExamples **using Strings instead of Arrays**:\n\n* Turns `\"/dir1/dir2/../\"` into `\"/dir1/\"`\n* Turns `\"dir/../\"` into `\"\"`\n* Turns `\"/../dir/\"` into `\"/dir/\"`\n* Leaves `\"../dir/\"` untouched\n* Leaves `\"../../dir/\"` untouched\n\n### parsePath(pathString)\nParses a path String into an Object containing a directory Array and a filename String.\n\n### resolveDirs(fromDirArray, fromLeadingSlash, toDirArray, toLeadingSlash)\nResolves a base directory Array to another directory Array and returns a new, normalized Array (within an Object). `fromLeadingSlash` and `toLeadingSlash` denote that the corresponding path is absolute and not relative.\n\n\n\n## Roadmap\n* Use whatwg-url package: [more info](https://github.com/jsdom/whatwg-url/issues/46#issuecomment-186714958)\n\n\n[npm-image]: https://img.shields.io/npm/v/urlobj.svg\n[npm-url]: https://npmjs.org/package/urlobj\n[bower-image]: https://img.shields.io/bower/v/urlobj.svg\n[bower-url]: https://github.com/stevenvachon/urlobj\n[travis-image]: https://img.shields.io/travis/stevenvachon/urlobj.svg\n[travis-url]: https://travis-ci.org/stevenvachon/urlobj\n[david-image]: https://img.shields.io/david/stevenvachon/urlobj.svg\n[david-url]: https://david-dm.org/stevenvachon/urlobj\n","maintainers":[{"name":"stevenvachon","email":"contact@svachon.com"}],"time":{"modified":"2022-06-28T06:29:10.532Z","created":"2015-06-19T00:08:15.499Z","0.0.6":"2015-06-19T00:08:15.499Z","0.0.7":"2015-06-27T03:35:55.632Z","0.0.8":"2015-10-16T02:49:23.814Z","0.0.9":"2016-05-22T17:19:29.862Z","0.0.10":"2016-08-08T13:38:43.855Z","0.0.11":"2018-03-13T21:47:41.381Z"},"homepage":"https://github.com/stevenvachon/urlobj","keywords":["uri","url"],"repository":{"type":"git","url":"git+https://github.com/stevenvachon/urlobj.git"},"author":{"name":"Steven Vachon","email":"contact@svachon.com","url":"https://www.svachon.com/"},"bugs":{"url":"https://github.com/stevenvachon/urlobj/issues"},"readmeFilename":"README.md","license":"MIT"}