├── Chapter02 ├── E-Commerce_API-Design.raml └── Github API Requests.postman_collection.json ├── Chapter03 └── budgeting.yaml ├── Chapter04 └── Star Wars API_Chapter4_initial.postman_collection.json ├── Chapter06 ├── Star Wars API.TryItOutSolutions.postman_collection.json └── Star Wars API_Chapter6_initial.postman_collection.json ├── Chapter07 ├── Newman Test.postman_collection.json ├── Postman Echo - DataDrivenTesting.postman_collection.json ├── timestampInputs.csv ├── userInputs.csv └── userInputs_noOutputs.csv ├── Chapter09 ├── DataDrivenInputs.csv ├── NewmanReporter │ ├── index.js │ ├── newman-reporter-myreporter-1.0.0.tgz │ └── package.json ├── NewmanTestEnvironment.json └── TestCollection.json ├── Chapter13 └── budgeting.yaml ├── Chapter14 └── blns.base64.json ├── LICENSE └── README.md /Chapter02/E-Commerce_API-Design.raml: -------------------------------------------------------------------------------- 1 | #%RAML 1.0 2 | --- 3 | title: E-Commerce API 4 | baseUri: http://api.ecommerce.com/{version} 5 | version: v1 6 | 7 | /products: 8 | get: 9 | /{productId}: 10 | get: 11 | /users: 12 | post: 13 | get: 14 | /{username}: 15 | get: 16 | put: 17 | /carts: 18 | post: 19 | get: 20 | queryParameter: 21 | username: 22 | /{cartId}: 23 | get: 24 | put: -------------------------------------------------------------------------------- /Chapter02/Github API Requests.postman_collection.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "_postman_id": "9671a54b-1013-4ab4-85c0-b4280002387c", 4 | "name": "Github API Requests", 5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" 6 | }, 7 | "item": [ 8 | { 9 | "name": "Get User Repos", 10 | "protocolProfileBehavior": { 11 | "disableBodyPruning": true 12 | }, 13 | "request": { 14 | "auth": { 15 | "type": "noauth" 16 | }, 17 | "method": "GET", 18 | "header": [], 19 | "body": { 20 | "mode": "raw", 21 | "raw": "", 22 | "options": { 23 | "raw": { 24 | "language": "text" 25 | } 26 | } 27 | }, 28 | "url": { 29 | "raw": "https://api.github.com/users/{{username}}/repos", 30 | "protocol": "https", 31 | "host": [ 32 | "api", 33 | "github", 34 | "com" 35 | ], 36 | "path": [ 37 | "users", 38 | "{{username}}", 39 | "repos" 40 | ] 41 | }, 42 | "description": "This Endpoint will get information about the give user" 43 | }, 44 | "response": [ 45 | { 46 | "name": "Get djwester Repo", 47 | "originalRequest": { 48 | "method": "GET", 49 | "header": [], 50 | "body": { 51 | "mode": "raw", 52 | "raw": "", 53 | "options": { 54 | "raw": { 55 | "language": "text" 56 | } 57 | } 58 | }, 59 | "url": { 60 | "raw": "https://api.github.com/users/djwester/repos", 61 | "protocol": "https", 62 | "host": [ 63 | "api", 64 | "github", 65 | "com" 66 | ], 67 | "path": [ 68 | "users", 69 | "djwester", 70 | "repos" 71 | ] 72 | } 73 | }, 74 | "status": "OK", 75 | "code": 200, 76 | "_postman_previewlanguage": "json", 77 | "header": [ 78 | { 79 | "key": "server", 80 | "value": "GitHub.com" 81 | }, 82 | { 83 | "key": "date", 84 | "value": "Tue, 11 Aug 2020 18:01:29 GMT" 85 | }, 86 | { 87 | "key": "content-type", 88 | "value": "application/json; charset=utf-8" 89 | }, 90 | { 91 | "key": "status", 92 | "value": "200 OK" 93 | }, 94 | { 95 | "key": "cache-control", 96 | "value": "public, max-age=60, s-maxage=60" 97 | }, 98 | { 99 | "key": "vary", 100 | "value": "Accept, Accept-Encoding, Accept, X-Requested-With" 101 | }, 102 | { 103 | "key": "etag", 104 | "value": "W/\"f1422e55b0c8103e465a1b3f525dd152\"" 105 | }, 106 | { 107 | "key": "x-github-media-type", 108 | "value": "github.v3; format=json" 109 | }, 110 | { 111 | "key": "access-control-expose-headers", 112 | "value": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset" 113 | }, 114 | { 115 | "key": "access-control-allow-origin", 116 | "value": "*" 117 | }, 118 | { 119 | "key": "strict-transport-security", 120 | "value": "max-age=31536000; includeSubdomains; preload" 121 | }, 122 | { 123 | "key": "x-frame-options", 124 | "value": "deny" 125 | }, 126 | { 127 | "key": "x-content-type-options", 128 | "value": "nosniff" 129 | }, 130 | { 131 | "key": "x-xss-protection", 132 | "value": "1; mode=block" 133 | }, 134 | { 135 | "key": "referrer-policy", 136 | "value": "origin-when-cross-origin, strict-origin-when-cross-origin" 137 | }, 138 | { 139 | "key": "content-security-policy", 140 | "value": "default-src 'none'" 141 | }, 142 | { 143 | "key": "content-encoding", 144 | "value": "gzip" 145 | }, 146 | { 147 | "key": "X-Ratelimit-Limit", 148 | "value": "60" 149 | }, 150 | { 151 | "key": "X-Ratelimit-Remaining", 152 | "value": "59" 153 | }, 154 | { 155 | "key": "X-Ratelimit-Reset", 156 | "value": "1597172488" 157 | }, 158 | { 159 | "key": "Accept-Ranges", 160 | "value": "bytes" 161 | }, 162 | { 163 | "key": "Content-Length", 164 | "value": "5689" 165 | }, 166 | { 167 | "key": "X-GitHub-Request-Id", 168 | "value": "C2F6:3791:2252C9:5B01E0:5F32DCF8" 169 | } 170 | ], 171 | "cookie": [], 172 | "body": "[\n {\n \"id\": 138736097,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMzg3MzYwOTc=\",\n \"name\": \"api-testing-challenges\",\n \"full_name\": \"djwester/api-testing-challenges\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/api-testing-challenges\",\n \"description\": \"Databases and servers that can be used for learning API testing\",\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/djwester/api-testing-challenges\",\n \"forks_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/api-testing-challenges/deployments\",\n \"created_at\": \"2018-06-26T12:39:21Z\",\n \"updated_at\": \"2020-07-20T15:29:39Z\",\n \"pushed_at\": \"2020-07-20T15:29:49Z\",\n \"git_url\": \"git://github.com/djwester/api-testing-challenges.git\",\n \"ssh_url\": \"git@github.com:djwester/api-testing-challenges.git\",\n \"clone_url\": \"https://github.com/djwester/api-testing-challenges.git\",\n \"svn_url\": \"https://github.com/djwester/api-testing-challenges\",\n \"homepage\": null,\n \"size\": 2678,\n \"stargazers_count\": 17,\n \"watchers_count\": 17,\n \"language\": \"JavaScript\",\n \"has_issues\": true,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 23,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": null,\n \"forks\": 23,\n \"open_issues\": 0,\n \"watchers\": 17,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 149207444,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNDkyMDc0NDQ=\",\n \"name\": \"api-testing-foundations\",\n \"full_name\": \"djwester/api-testing-foundations\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/api-testing-foundations\",\n \"description\": null,\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/djwester/api-testing-foundations\",\n \"forks_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/api-testing-foundations/deployments\",\n \"created_at\": \"2018-09-18T00:53:28Z\",\n \"updated_at\": \"2020-08-07T23:16:25Z\",\n \"pushed_at\": \"2020-07-16T10:09:56Z\",\n \"git_url\": \"git://github.com/djwester/api-testing-foundations.git\",\n \"ssh_url\": \"git@github.com:djwester/api-testing-foundations.git\",\n \"clone_url\": \"https://github.com/djwester/api-testing-foundations.git\",\n \"svn_url\": \"https://github.com/djwester/api-testing-foundations\",\n \"homepage\": null,\n \"size\": 90,\n \"stargazers_count\": 25,\n \"watchers_count\": 25,\n \"language\": \"JavaScript\",\n \"has_issues\": true,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 37,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 1,\n \"license\": {\n \"key\": \"mit\",\n \"name\": \"MIT License\",\n \"spdx_id\": \"MIT\",\n \"url\": \"https://api.github.com/licenses/mit\",\n \"node_id\": \"MDc6TGljZW5zZTEz\"\n },\n \"forks\": 37,\n \"open_issues\": 1,\n \"watchers\": 25,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 20453900,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMDQ1MzkwMA==\",\n \"name\": \"Coursera-DataScience\",\n \"full_name\": \"djwester/Coursera-DataScience\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/Coursera-DataScience\",\n \"description\": null,\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/djwester/Coursera-DataScience\",\n \"forks_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/Coursera-DataScience/deployments\",\n \"created_at\": \"2014-06-03T18:15:21Z\",\n \"updated_at\": \"2014-06-03T18:15:21Z\",\n \"pushed_at\": \"2014-06-03T18:15:21Z\",\n \"git_url\": \"git://github.com/djwester/Coursera-DataScience.git\",\n \"ssh_url\": \"git@github.com:djwester/Coursera-DataScience.git\",\n \"clone_url\": \"https://github.com/djwester/Coursera-DataScience.git\",\n \"svn_url\": \"https://github.com/djwester/Coursera-DataScience\",\n \"homepage\": null,\n \"size\": 0,\n \"stargazers_count\": 0,\n \"watchers_count\": 0,\n \"language\": null,\n \"has_issues\": true,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 0,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": null,\n \"forks\": 0,\n \"open_issues\": 0,\n \"watchers\": 0,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 167439673,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNjc0Mzk2NzM=\",\n \"name\": \"d2l-activity-alignments\",\n \"full_name\": \"djwester/d2l-activity-alignments\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/d2l-activity-alignments\",\n \"description\": null,\n \"fork\": true,\n \"url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments\",\n \"forks_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/d2l-activity-alignments/deployments\",\n \"created_at\": \"2019-01-24T21:21:15Z\",\n \"updated_at\": \"2019-01-24T21:21:18Z\",\n \"pushed_at\": \"2019-01-15T19:38:42Z\",\n \"git_url\": \"git://github.com/djwester/d2l-activity-alignments.git\",\n \"ssh_url\": \"git@github.com:djwester/d2l-activity-alignments.git\",\n \"clone_url\": \"https://github.com/djwester/d2l-activity-alignments.git\",\n \"svn_url\": \"https://github.com/djwester/d2l-activity-alignments\",\n \"homepage\": null,\n \"size\": 124,\n \"stargazers_count\": 0,\n \"watchers_count\": 0,\n \"language\": \"JavaScript\",\n \"has_issues\": false,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": false,\n \"has_pages\": false,\n \"forks_count\": 0,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": {\n \"key\": \"apache-2.0\",\n \"name\": \"Apache License 2.0\",\n \"spdx_id\": \"Apache-2.0\",\n \"url\": \"https://api.github.com/licenses/apache-2.0\",\n \"node_id\": \"MDc6TGljZW5zZTI=\"\n },\n \"forks\": 0,\n \"open_issues\": 0,\n \"watchers\": 0,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 118788995,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMTg3ODg5OTU=\",\n \"name\": \"d2l-rubric\",\n \"full_name\": \"djwester/d2l-rubric\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/d2l-rubric\",\n \"description\": \"Polymer based web-component to display a rubric\",\n \"fork\": true,\n \"url\": \"https://api.github.com/repos/djwester/d2l-rubric\",\n \"forks_url\": \"https://api.github.com/repos/djwester/d2l-rubric/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/d2l-rubric/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/d2l-rubric/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/d2l-rubric/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/d2l-rubric/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/d2l-rubric/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/d2l-rubric/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/d2l-rubric/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/d2l-rubric/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/d2l-rubric/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/d2l-rubric/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/d2l-rubric/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/d2l-rubric/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/d2l-rubric/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/d2l-rubric/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/d2l-rubric/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/d2l-rubric/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/d2l-rubric/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/d2l-rubric/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/d2l-rubric/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/d2l-rubric/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/d2l-rubric/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/d2l-rubric/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/d2l-rubric/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/d2l-rubric/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/d2l-rubric/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/d2l-rubric/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/d2l-rubric/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/d2l-rubric/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/d2l-rubric/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/d2l-rubric/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/d2l-rubric/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/d2l-rubric/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/d2l-rubric/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/d2l-rubric/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/d2l-rubric/deployments\",\n \"created_at\": \"2018-01-24T16:10:17Z\",\n \"updated_at\": \"2018-01-24T16:10:19Z\",\n \"pushed_at\": \"2018-01-24T16:16:35Z\",\n \"git_url\": \"git://github.com/djwester/d2l-rubric.git\",\n \"ssh_url\": \"git@github.com:djwester/d2l-rubric.git\",\n \"clone_url\": \"https://github.com/djwester/d2l-rubric.git\",\n \"svn_url\": \"https://github.com/djwester/d2l-rubric\",\n \"homepage\": null,\n \"size\": 40,\n \"stargazers_count\": 0,\n \"watchers_count\": 0,\n \"language\": \"HTML\",\n \"has_issues\": false,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 0,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": {\n \"key\": \"apache-2.0\",\n \"name\": \"Apache License 2.0\",\n \"spdx_id\": \"Apache-2.0\",\n \"url\": \"https://api.github.com/licenses/apache-2.0\",\n \"node_id\": \"MDc6TGljZW5zZTI=\"\n },\n \"forks\": 0,\n \"open_issues\": 0,\n \"watchers\": 0,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 20491621,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMDQ5MTYyMQ==\",\n \"name\": \"datasciencecoursera\",\n \"full_name\": \"djwester/datasciencecoursera\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/datasciencecoursera\",\n \"description\": null,\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/djwester/datasciencecoursera\",\n \"forks_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/datasciencecoursera/deployments\",\n \"created_at\": \"2014-06-04T16:43:56Z\",\n \"updated_at\": \"2014-06-04T16:56:44Z\",\n \"pushed_at\": \"2014-06-04T16:56:46Z\",\n \"git_url\": \"git://github.com/djwester/datasciencecoursera.git\",\n \"ssh_url\": \"git@github.com:djwester/datasciencecoursera.git\",\n \"clone_url\": \"https://github.com/djwester/datasciencecoursera.git\",\n \"svn_url\": \"https://github.com/djwester/datasciencecoursera\",\n \"homepage\": \"\",\n \"size\": 124,\n \"stargazers_count\": 0,\n \"watchers_count\": 0,\n \"language\": null,\n \"has_issues\": true,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 0,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": null,\n \"forks\": 0,\n \"open_issues\": 0,\n \"watchers\": 0,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 20492156,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkyMDQ5MjE1Ng==\",\n \"name\": \"datasharing\",\n \"full_name\": \"djwester/datasharing\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/datasharing\",\n \"description\": \"The Leek group guide to data sharing \",\n \"fork\": true,\n \"url\": \"https://api.github.com/repos/djwester/datasharing\",\n \"forks_url\": \"https://api.github.com/repos/djwester/datasharing/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/datasharing/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/datasharing/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/datasharing/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/datasharing/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/datasharing/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/datasharing/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/datasharing/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/datasharing/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/datasharing/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/datasharing/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/datasharing/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/datasharing/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/datasharing/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/datasharing/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/datasharing/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/datasharing/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/datasharing/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/datasharing/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/datasharing/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/datasharing/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/datasharing/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/datasharing/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/datasharing/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/datasharing/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/datasharing/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/datasharing/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/datasharing/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/datasharing/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/datasharing/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/datasharing/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/datasharing/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/datasharing/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/datasharing/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/datasharing/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/datasharing/deployments\",\n \"created_at\": \"2014-06-04T17:01:13Z\",\n \"updated_at\": \"2014-06-04T17:01:43Z\",\n \"pushed_at\": \"2013-11-25T16:08:34Z\",\n \"git_url\": \"git://github.com/djwester/datasharing.git\",\n \"ssh_url\": \"git@github.com:djwester/datasharing.git\",\n \"clone_url\": \"https://github.com/djwester/datasharing.git\",\n \"svn_url\": \"https://github.com/djwester/datasharing\",\n \"homepage\": null,\n \"size\": 157,\n \"stargazers_count\": 0,\n \"watchers_count\": 0,\n \"language\": null,\n \"has_issues\": false,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 0,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": null,\n \"forks\": 0,\n \"open_issues\": 0,\n \"watchers\": 0,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 75975106,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnk3NTk3NTEwNg==\",\n \"name\": \"inputGenerator\",\n \"full_name\": \"djwester/inputGenerator\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/inputGenerator\",\n \"description\": \"Generates different kinds of inputs to use in testing\",\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/djwester/inputGenerator\",\n \"forks_url\": \"https://api.github.com/repos/djwester/inputGenerator/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/inputGenerator/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/inputGenerator/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/inputGenerator/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/inputGenerator/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/inputGenerator/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/inputGenerator/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/inputGenerator/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/inputGenerator/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/inputGenerator/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/inputGenerator/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/inputGenerator/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/inputGenerator/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/inputGenerator/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/inputGenerator/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/inputGenerator/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/inputGenerator/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/inputGenerator/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/inputGenerator/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/inputGenerator/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/inputGenerator/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/inputGenerator/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/inputGenerator/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/inputGenerator/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/inputGenerator/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/inputGenerator/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/inputGenerator/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/inputGenerator/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/inputGenerator/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/inputGenerator/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/inputGenerator/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/inputGenerator/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/inputGenerator/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/inputGenerator/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/inputGenerator/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/inputGenerator/deployments\",\n \"created_at\": \"2016-12-08T21:05:43Z\",\n \"updated_at\": \"2016-12-08T21:05:43Z\",\n \"pushed_at\": \"2016-12-08T21:05:43Z\",\n \"git_url\": \"git://github.com/djwester/inputGenerator.git\",\n \"ssh_url\": \"git@github.com:djwester/inputGenerator.git\",\n \"clone_url\": \"https://github.com/djwester/inputGenerator.git\",\n \"svn_url\": \"https://github.com/djwester/inputGenerator\",\n \"homepage\": null,\n \"size\": 0,\n \"stargazers_count\": 0,\n \"watchers_count\": 0,\n \"language\": null,\n \"has_issues\": true,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 0,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": null,\n \"forks\": 0,\n \"open_issues\": 0,\n \"watchers\": 0,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 134846576,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkxMzQ4NDY1NzY=\",\n \"name\": \"json-server\",\n \"full_name\": \"djwester/json-server\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/json-server\",\n \"description\": \"Get a full fake REST API with zero coding in less than 30 seconds (seriously)\",\n \"fork\": true,\n \"url\": \"https://api.github.com/repos/djwester/json-server\",\n \"forks_url\": \"https://api.github.com/repos/djwester/json-server/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/json-server/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/json-server/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/json-server/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/json-server/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/json-server/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/json-server/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/json-server/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/json-server/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/json-server/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/json-server/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/json-server/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/json-server/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/json-server/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/json-server/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/json-server/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/json-server/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/json-server/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/json-server/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/json-server/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/json-server/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/json-server/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/json-server/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/json-server/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/json-server/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/json-server/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/json-server/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/json-server/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/json-server/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/json-server/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/json-server/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/json-server/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/json-server/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/json-server/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/json-server/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/json-server/deployments\",\n \"created_at\": \"2018-05-25T11:19:04Z\",\n \"updated_at\": \"2018-05-25T11:19:08Z\",\n \"pushed_at\": \"2018-05-12T14:41:30Z\",\n \"git_url\": \"git://github.com/djwester/json-server.git\",\n \"ssh_url\": \"git@github.com:djwester/json-server.git\",\n \"clone_url\": \"https://github.com/djwester/json-server.git\",\n \"svn_url\": \"https://github.com/djwester/json-server\",\n \"homepage\": \"\",\n \"size\": 852,\n \"stargazers_count\": 0,\n \"watchers_count\": 0,\n \"language\": \"JavaScript\",\n \"has_issues\": false,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": false,\n \"has_pages\": false,\n \"forks_count\": 0,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": {\n \"key\": \"mit\",\n \"name\": \"MIT License\",\n \"spdx_id\": \"MIT\",\n \"url\": \"https://api.github.com/licenses/mit\",\n \"node_id\": \"MDc6TGljZW5zZTEz\"\n },\n \"forks\": 0,\n \"open_issues\": 0,\n \"watchers\": 0,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 191985025,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkxOTE5ODUwMjU=\",\n \"name\": \"pythonfortesters\",\n \"full_name\": \"djwester/pythonfortesters\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/pythonfortesters\",\n \"description\": null,\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/djwester/pythonfortesters\",\n \"forks_url\": \"https://api.github.com/repos/djwester/pythonfortesters/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/pythonfortesters/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/pythonfortesters/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/pythonfortesters/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/pythonfortesters/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/pythonfortesters/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/pythonfortesters/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/pythonfortesters/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/pythonfortesters/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/pythonfortesters/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/pythonfortesters/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/pythonfortesters/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/pythonfortesters/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/pythonfortesters/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/pythonfortesters/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/pythonfortesters/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/pythonfortesters/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/pythonfortesters/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/pythonfortesters/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/pythonfortesters/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/pythonfortesters/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/pythonfortesters/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/pythonfortesters/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/pythonfortesters/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/pythonfortesters/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/pythonfortesters/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/pythonfortesters/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/pythonfortesters/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/pythonfortesters/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/pythonfortesters/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/pythonfortesters/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/pythonfortesters/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/pythonfortesters/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/pythonfortesters/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/pythonfortesters/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/pythonfortesters/deployments\",\n \"created_at\": \"2019-06-14T17:53:56Z\",\n \"updated_at\": \"2020-04-23T14:42:05Z\",\n \"pushed_at\": \"2020-01-30T19:03:09Z\",\n \"git_url\": \"git://github.com/djwester/pythonfortesters.git\",\n \"ssh_url\": \"git@github.com:djwester/pythonfortesters.git\",\n \"clone_url\": \"https://github.com/djwester/pythonfortesters.git\",\n \"svn_url\": \"https://github.com/djwester/pythonfortesters\",\n \"homepage\": null,\n \"size\": 38,\n \"stargazers_count\": 3,\n \"watchers_count\": 3,\n \"language\": \"Python\",\n \"has_issues\": true,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 6,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": {\n \"key\": \"gpl-3.0\",\n \"name\": \"GNU General Public License v3.0\",\n \"spdx_id\": \"GPL-3.0\",\n \"url\": \"https://api.github.com/licenses/gpl-3.0\",\n \"node_id\": \"MDc6TGljZW5zZTk=\"\n },\n \"forks\": 6,\n \"open_issues\": 0,\n \"watchers\": 3,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 157912813,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNTc5MTI4MTM=\",\n \"name\": \"salesforcifyHtmlFiles\",\n \"full_name\": \"djwester/salesforcifyHtmlFiles\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/salesforcifyHtmlFiles\",\n \"description\": null,\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles\",\n \"forks_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/salesforcifyHtmlFiles/deployments\",\n \"created_at\": \"2018-11-16T19:33:38Z\",\n \"updated_at\": \"2018-12-18T19:45:23Z\",\n \"pushed_at\": \"2018-12-18T19:45:22Z\",\n \"git_url\": \"git://github.com/djwester/salesforcifyHtmlFiles.git\",\n \"ssh_url\": \"git@github.com:djwester/salesforcifyHtmlFiles.git\",\n \"clone_url\": \"https://github.com/djwester/salesforcifyHtmlFiles.git\",\n \"svn_url\": \"https://github.com/djwester/salesforcifyHtmlFiles\",\n \"homepage\": null,\n \"size\": 31497,\n \"stargazers_count\": 0,\n \"watchers_count\": 0,\n \"language\": \"Python\",\n \"has_issues\": true,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 0,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": null,\n \"forks\": 0,\n \"open_issues\": 0,\n \"watchers\": 0,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 272979463,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkyNzI5Nzk0NjM=\",\n \"name\": \"SQL-for-testers-practice-site\",\n \"full_name\": \"djwester/SQL-for-testers-practice-site\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/SQL-for-testers-practice-site\",\n \"description\": \"a locally hosted site that can be used for learning SQL\",\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site\",\n \"forks_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/SQL-for-testers-practice-site/deployments\",\n \"created_at\": \"2020-06-17T13:20:44Z\",\n \"updated_at\": \"2020-07-30T17:07:55Z\",\n \"pushed_at\": \"2020-07-30T17:07:51Z\",\n \"git_url\": \"git://github.com/djwester/SQL-for-testers-practice-site.git\",\n \"ssh_url\": \"git@github.com:djwester/SQL-for-testers-practice-site.git\",\n \"clone_url\": \"https://github.com/djwester/SQL-for-testers-practice-site.git\",\n \"svn_url\": \"https://github.com/djwester/SQL-for-testers-practice-site\",\n \"homepage\": null,\n \"size\": 39941,\n \"stargazers_count\": 0,\n \"watchers_count\": 0,\n \"language\": \"Python\",\n \"has_issues\": true,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 0,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 5,\n \"license\": null,\n \"forks\": 0,\n \"open_issues\": 5,\n \"watchers\": 0,\n \"default_branch\": \"master\"\n },\n {\n \"id\": 150282664,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnkxNTAyODI2NjQ=\",\n \"name\": \"test2\",\n \"full_name\": \"djwester/test2\",\n \"private\": false,\n \"owner\": {\n \"login\": \"djwester\",\n \"id\": 7783715,\n \"node_id\": \"MDQ6VXNlcjc3ODM3MTU=\",\n \"avatar_url\": \"https://avatars1.githubusercontent.com/u/7783715?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/djwester\",\n \"html_url\": \"https://github.com/djwester\",\n \"followers_url\": \"https://api.github.com/users/djwester/followers\",\n \"following_url\": \"https://api.github.com/users/djwester/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/djwester/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/djwester/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/djwester/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/djwester/orgs\",\n \"repos_url\": \"https://api.github.com/users/djwester/repos\",\n \"events_url\": \"https://api.github.com/users/djwester/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/djwester/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/djwester/test2\",\n \"description\": null,\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/djwester/test2\",\n \"forks_url\": \"https://api.github.com/repos/djwester/test2/forks\",\n \"keys_url\": \"https://api.github.com/repos/djwester/test2/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/djwester/test2/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/djwester/test2/teams\",\n \"hooks_url\": \"https://api.github.com/repos/djwester/test2/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/djwester/test2/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/djwester/test2/events\",\n \"assignees_url\": \"https://api.github.com/repos/djwester/test2/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/djwester/test2/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/djwester/test2/tags\",\n \"blobs_url\": \"https://api.github.com/repos/djwester/test2/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/djwester/test2/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/djwester/test2/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/djwester/test2/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/djwester/test2/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/djwester/test2/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/djwester/test2/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/djwester/test2/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/djwester/test2/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/djwester/test2/subscription\",\n \"commits_url\": \"https://api.github.com/repos/djwester/test2/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/djwester/test2/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/djwester/test2/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/djwester/test2/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/djwester/test2/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/djwester/test2/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/djwester/test2/merges\",\n \"archive_url\": \"https://api.github.com/repos/djwester/test2/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/djwester/test2/downloads\",\n \"issues_url\": \"https://api.github.com/repos/djwester/test2/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/djwester/test2/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/djwester/test2/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/djwester/test2/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/djwester/test2/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/djwester/test2/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/djwester/test2/deployments\",\n \"created_at\": \"2018-09-25T14:51:44Z\",\n \"updated_at\": \"2018-09-25T14:51:44Z\",\n \"pushed_at\": \"2018-09-25T14:51:44Z\",\n \"git_url\": \"git://github.com/djwester/test2.git\",\n \"ssh_url\": \"git@github.com:djwester/test2.git\",\n \"clone_url\": \"https://github.com/djwester/test2.git\",\n \"svn_url\": \"https://github.com/djwester/test2\",\n \"homepage\": null,\n \"size\": 0,\n \"stargazers_count\": 0,\n \"watchers_count\": 0,\n \"language\": null,\n \"has_issues\": true,\n \"has_projects\": true,\n \"has_downloads\": true,\n \"has_wiki\": true,\n \"has_pages\": false,\n \"forks_count\": 0,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 0,\n \"license\": null,\n \"forks\": 0,\n \"open_issues\": 0,\n \"watchers\": 0,\n \"default_branch\": \"master\"\n }\n]" 173 | } 174 | ] 175 | } 176 | ] 177 | } -------------------------------------------------------------------------------- /Chapter03/budgeting.yaml: -------------------------------------------------------------------------------- 1 | openapi: 3.0.1 2 | info: 3 | title: Budgeting API 4 | description: Manages budget line items 5 | version: '1.0' 6 | servers: 7 | - url: http://localhost:5000/budgeting/api 8 | 9 | paths: 10 | /items: 11 | get: 12 | description: Get the list of budget line items 13 | responses: 14 | '200': 15 | description: Successful Operation 16 | content: 17 | application/json: 18 | schema: 19 | $ref: '#/components/schemas/items' 20 | post: 21 | description: Create a new budget line item 22 | requestBody: 23 | required: true 24 | content: 25 | application/json: 26 | schema: 27 | $ref: '#/components/schemas/item' 28 | responses: 29 | '200': 30 | description: Successful Operation 31 | content: 32 | application/json: 33 | schema: 34 | $ref: '#/components/schemas/item' 35 | /item/{itemId}: 36 | get: 37 | description: Gets the information for the specified line item 38 | parameters: 39 | - in: path 40 | schema: 41 | $ref: '#/components/schemas/itemId' 42 | name: itemId 43 | description: Id of the line item 44 | required: true 45 | responses: 46 | '200': 47 | description: Successful Operation 48 | content: 49 | application/json: 50 | schema: 51 | $ref: '#/components/schemas/item' 52 | put: 53 | description: Updates the information for the specified line item 54 | parameters: 55 | - in: path 56 | schema: 57 | $ref: '#/components/schemas/itemId' 58 | example: 59 | title: Example Task itemId 60 | value: 1 61 | name: itemId 62 | description: Id of the line item 63 | required: true 64 | requestBody: 65 | required: true 66 | content: 67 | application/json: 68 | schema: 69 | $ref: '#/components/schemas/item' 70 | examples: 71 | Groceries: 72 | value: 73 | transaction_date: 2024-06-01 74 | amount: 123.45 75 | category: groceries 76 | Rent: 77 | value: 78 | transaction_date: 2024-06-01 79 | amount: 1500 80 | category: rent 81 | responses: 82 | '200': 83 | description: Successful Operation 84 | content: 85 | application/json: 86 | schema: 87 | $ref: '#/components/schemas/item' 88 | delete: 89 | description: Removes the specified line item 90 | parameters: 91 | - in: path 92 | schema: 93 | $ref: '#/components/schemas/itemId' 94 | name: itemId 95 | description: Id of the line item 96 | required: true 97 | responses: 98 | '200': 99 | description: Successful Operation 100 | content: 101 | application/json: 102 | schema: 103 | type: object 104 | components: 105 | schemas: 106 | item: 107 | type: object 108 | required: 109 | - transaction_date 110 | - amount 111 | - category 112 | properties: 113 | transaction_date: 114 | type: string 115 | format: date 116 | amount: 117 | type: integer 118 | category: 119 | type: string 120 | itemId: 121 | type: integer 122 | minimum: 1 123 | items: 124 | type: array 125 | items: 126 | $ref: '#/components/schemas/item' 127 | -------------------------------------------------------------------------------- /Chapter04/Star Wars API_Chapter4_initial.postman_collection.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "_postman_id": "e172c7d8-7f63-491f-aa0b-d1c691408972", 4 | "name": "Star Wars API", 5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" 6 | }, 7 | "item": [ 8 | { 9 | "name": "Get People", 10 | "request": { 11 | "method": "GET", 12 | "header": [], 13 | "url": { 14 | "raw": "https://swapi.dev/api/people/1", 15 | "protocol": "https", 16 | "host": [ 17 | "swapi", 18 | "dev" 19 | ], 20 | "path": [ 21 | "api", 22 | "people", 23 | "1" 24 | ] 25 | } 26 | }, 27 | "response": [] 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /Chapter06/Star Wars API.TryItOutSolutions.postman_collection.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "_postman_id": "870d9057-0676-4d15-950f-b68ad7611d7c", 4 | "name": "Star Wars API", 5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" 6 | }, 7 | "item": [ 8 | { 9 | "name": "Luke", 10 | "item": [ 11 | { 12 | "name": "Get People", 13 | "event": [ 14 | { 15 | "listen": "test", 16 | "script": { 17 | "exec": [ 18 | "pm.test(\"Status code is 200\", function () {\r", 19 | " pm.response.to.have.status(200);\r", 20 | "});\r", 21 | "\r", 22 | "pm.test(\"Check that the response body contains Luke\", function () {\r", 23 | " pm.expect(pm.response.text()).to.include(\"Luke\");\r", 24 | "});\r", 25 | "\r", 26 | "pm.test(\"Check Luke's Height\", function () {\r", 27 | " var jsonData = pm.response.json();\r", 28 | " pm.expect(jsonData.height).to.eql(\"172\");\r", 29 | "});\r", 30 | "\r", 31 | "pm.test(\"Check Luke's eye color\", function () {\r", 32 | " var jsonData = pm.response.json();\r", 33 | " pm.expect(jsonData.eye_color).to.eql(\"blue\");\r", 34 | "});\r", 35 | "\r", 36 | "pm.test(\"Check the homeworld URL\", function () {\r", 37 | " var jsonData = pm.response.json();\r", 38 | " pm.expect(jsonData.homeworld).to.eql(\"http://swapi.dev/api/planets/1/\");\r", 39 | "});\r", 40 | "\r", 41 | "pm.test(\"Content-Type is present\", function () {\r", 42 | " pm.response.to.have.header(\"Content-Type\");\r", 43 | "});\r", 44 | "\r", 45 | "pm.test(\"Server is nginx\", function () {\r", 46 | " pm.response.to.have.header(\"Server\",'nginx/1.16.1');\r", 47 | "});\r", 48 | "\r", 49 | "pm.test(\"Response time is less than 500ms\", function () {\r", 50 | " pm.expect(pm.response.responseTime).to.be.below(500);\r", 51 | "});\r", 52 | "\r", 53 | "pm.test(\"Luke is in 4 films\", function () {\r", 54 | " pm.expect(pm.response.json().films.length).to.eql(4)\r", 55 | "});" 56 | ], 57 | "type": "text/javascript" 58 | } 59 | } 60 | ], 61 | "request": { 62 | "method": "GET", 63 | "header": [], 64 | "url": { 65 | "raw": "https://swapi.dev/api/people/1", 66 | "protocol": "https", 67 | "host": [ 68 | "swapi", 69 | "dev" 70 | ], 71 | "path": [ 72 | "api", 73 | "people", 74 | "1" 75 | ] 76 | } 77 | }, 78 | "response": [] 79 | }, 80 | { 81 | "name": "Luke's Home world", 82 | "request": { 83 | "method": "GET", 84 | "header": [], 85 | "url": null 86 | }, 87 | "response": [] 88 | } 89 | ] 90 | } 91 | ] 92 | } -------------------------------------------------------------------------------- /Chapter06/Star Wars API_Chapter6_initial.postman_collection.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "_postman_id": "f6cac2da-eb1c-4b51-9859-8e7ee78a4ef6", 4 | "name": "Star Wars API - Chapter 6", 5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" 6 | }, 7 | "item": [ 8 | { 9 | "name": "Get People", 10 | "request": { 11 | "method": "GET", 12 | "header": [], 13 | "url": { 14 | "raw": "https://swapi.dev/api/people/1", 15 | "protocol": "https", 16 | "host": [ 17 | "swapi", 18 | "dev" 19 | ], 20 | "path": [ 21 | "api", 22 | "people", 23 | "1" 24 | ] 25 | } 26 | }, 27 | "response": [] 28 | } 29 | ], 30 | "event": [ 31 | { 32 | "listen": "prerequest", 33 | "script": { 34 | "type": "text/javascript", 35 | "exec": [ 36 | "" 37 | ] 38 | } 39 | }, 40 | { 41 | "listen": "test", 42 | "script": { 43 | "type": "text/javascript", 44 | "exec": [ 45 | "" 46 | ] 47 | } 48 | } 49 | ], 50 | "variable": [ 51 | { 52 | "key": "base_url", 53 | "value": "https://swapi.dev/api" 54 | } 55 | ] 56 | } -------------------------------------------------------------------------------- /Chapter07/Newman Test.postman_collection.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "_postman_id": "7342b9e2-ef92-47a4-a075-1177d3e72669", 4 | "name": "Newman Test", 5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", 6 | "_exporter_id": "3274156" 7 | }, 8 | "item": [ 9 | { 10 | "name": "Test Get", 11 | "request": { 12 | "method": "GET", 13 | "header": [], 14 | "url": { 15 | "raw": "https://postman-echo.com/get?test=true", 16 | "protocol": "https", 17 | "host": [ 18 | "postman-echo", 19 | "com" 20 | ], 21 | "path": [ 22 | "get" 23 | ], 24 | "query": [ 25 | { 26 | "key": "test", 27 | "value": "true" 28 | } 29 | ] 30 | } 31 | }, 32 | "response": [] 33 | } 34 | ] 35 | } -------------------------------------------------------------------------------- /Chapter07/Postman Echo - DataDrivenTesting.postman_collection.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "_postman_id": "f597d1d4-8bdc-4c3f-beb0-e0eab8ac11c1", 4 | "name": "Postman Echo - DataDrivenTesting", 5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", 6 | "_exporter_id": "3274156" 7 | }, 8 | "item": [ 9 | { 10 | "name": "AddTime", 11 | "event": [ 12 | { 13 | "listen": "test", 14 | "script": { 15 | "exec": [ 16 | "var jsonData = pm.response.json();", 17 | "var addedTime = jsonData.sum;", 18 | "", 19 | "pm.variables.set(\"addedTime\",addedTime)" 20 | ], 21 | "type": "text/javascript", 22 | "packages": {} 23 | } 24 | } 25 | ], 26 | "request": { 27 | "method": "GET", 28 | "header": [], 29 | "url": { 30 | "raw": "https://postman-echo.com/time/add?timestamp={{inputTimestamp}}&{{changeUnit}}={{changeAmount}}", 31 | "protocol": "https", 32 | "host": [ 33 | "postman-echo", 34 | "com" 35 | ], 36 | "path": [ 37 | "time", 38 | "add" 39 | ], 40 | "query": [ 41 | { 42 | "key": "timestamp", 43 | "value": "{{inputTimestamp}}" 44 | }, 45 | { 46 | "key": "{{changeUnit}}", 47 | "value": "{{changeAmount}}" 48 | } 49 | ] 50 | } 51 | }, 52 | "response": [] 53 | }, 54 | { 55 | "name": "SubtractTime", 56 | "event": [ 57 | { 58 | "listen": "test", 59 | "script": { 60 | "exec": [ 61 | "var inputTimestamp = pm.variables.get(\"inputTimestamp\")", 62 | "pm.test(\"Your test name\", function () {", 63 | " var jsonData = pm.response.json();", 64 | " pm.expect(jsonData.difference).to.eql(inputTimestamp);", 65 | "});" 66 | ], 67 | "type": "text/javascript", 68 | "packages": {} 69 | } 70 | } 71 | ], 72 | "request": { 73 | "method": "GET", 74 | "header": [], 75 | "url": { 76 | "raw": "https://postman-echo.com/time/subtract?timestamp={{addedTime}}&{{changeUnit}}={{changeAmount}}", 77 | "protocol": "https", 78 | "host": [ 79 | "postman-echo", 80 | "com" 81 | ], 82 | "path": [ 83 | "time", 84 | "subtract" 85 | ], 86 | "query": [ 87 | { 88 | "key": "timestamp", 89 | "value": "{{addedTime}}" 90 | }, 91 | { 92 | "key": "{{changeUnit}}", 93 | "value": "{{changeAmount}}" 94 | } 95 | ] 96 | } 97 | }, 98 | "response": [] 99 | } 100 | ] 101 | } -------------------------------------------------------------------------------- /Chapter07/timestampInputs.csv: -------------------------------------------------------------------------------- 1 | inputTimestamp,changeUnit,changeAmount 2 | Sat Oct 12 2024 00:00:00 GMT+0000,days,1 3 | Wed Jan 15 2025 00:00:00 GMT+0000,months,1 -------------------------------------------------------------------------------- /Chapter07/userInputs.csv: -------------------------------------------------------------------------------- 1 | userId, expectedEmail 2 | 1, Sincere@april.biz 3 | 2, Shanna@melissa.tv 4 | 3, Nathan@yesenia.net 5 | 4, IncorrectEmail@kory.org 6 | 5, Lucio_Hettinger@annie.ca -------------------------------------------------------------------------------- /Chapter07/userInputs_noOutputs.csv: -------------------------------------------------------------------------------- 1 | userId 2 | 1 3 | 2 4 | 3 5 | 4 6 | 5 -------------------------------------------------------------------------------- /Chapter09/DataDrivenInputs.csv: -------------------------------------------------------------------------------- 1 | queryParam,queryParamVal 2 | test,true 3 | query,1 -------------------------------------------------------------------------------- /Chapter09/NewmanReporter/index.js: -------------------------------------------------------------------------------- 1 | function MyCustomNewmanReporter (newman, reporterOptions, 2 | collectionRunOptions) { 3 | newman.on('start', function (err) { 4 | if (err) { return; } 5 | console.log('Collection run starting') 6 | }); 7 | newman.on('item', function (err,args) { 8 | console.log('Ran: '+args.item.name) 9 | }); 10 | newman.on('done', function () { 11 | console.log('all done!') 12 | }); 13 | }; 14 | module.exports = MyCustomNewmanReporter 15 | 16 | -------------------------------------------------------------------------------- /Chapter09/NewmanReporter/newman-reporter-myreporter-1.0.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/API-Testing-and-Development-with-Postman-Second-Edition/67b994f2d066164fcdf0188ea9bd3ed902b393a7/Chapter09/NewmanReporter/newman-reporter-myreporter-1.0.0.tgz -------------------------------------------------------------------------------- /Chapter09/NewmanReporter/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "newman-reporter-myreporter", 3 | "version": "1.0.0", 4 | "description": "test reporter", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "Dave Westerveld", 10 | "license": "ISC" 11 | } 12 | -------------------------------------------------------------------------------- /Chapter09/NewmanTestEnvironment.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "2e789e4d-d79d-48a4-af89-ecd8b4292546", 3 | "name": "Newman Test Env", 4 | "values": [ 5 | { 6 | "key": "baseUrl", 7 | "value": "https://postman-echo.com", 8 | "enabled": true 9 | } 10 | ], 11 | "_postman_variable_scope": "environment", 12 | "_postman_exported_at": "2020-11-04T14:28:26.372Z", 13 | "_postman_exported_using": "Postman/7.34.0" 14 | } -------------------------------------------------------------------------------- /Chapter09/TestCollection.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "_postman_id": "57169cda-7442-4f7c-883a-f07e61dbfe36", 4 | "name": "Newman Test", 5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" 6 | }, 7 | "item": [ 8 | { 9 | "name": "Test GET", 10 | "request": { 11 | "method": "GET", 12 | "header": [], 13 | "url": { 14 | "raw": "{{baseUrl}}/get?{{queryParam}}={{queryParamVal}}", 15 | "host": [ 16 | "{{baseUrl}}" 17 | ], 18 | "path": [ 19 | "get" 20 | ], 21 | "query": [ 22 | { 23 | "key": "{{queryParam}}", 24 | "value": "{{queryParamVal}}" 25 | } 26 | ] 27 | } 28 | }, 29 | "response": [] 30 | } 31 | ], 32 | "protocolProfileBehavior": {} 33 | } -------------------------------------------------------------------------------- /Chapter13/budgeting.yaml: -------------------------------------------------------------------------------- 1 | openapi: 3.0.1 2 | info: 3 | title: Budgeting API 4 | description: Manages budget line items 5 | version: '1.0' 6 | servers: 7 | - url: http://localhost:5000/budgeting/api 8 | 9 | paths: 10 | /items: 11 | get: 12 | description: Get the list of budget line items 13 | responses: 14 | '200': 15 | description: Successful Operation 16 | content: 17 | application/json: 18 | schema: 19 | $ref: '#/components/schemas/items' 20 | post: 21 | description: Create a new budget line item 22 | requestBody: 23 | required: true 24 | content: 25 | application/json: 26 | schema: 27 | $ref: '#/components/schemas/item' 28 | responses: 29 | '200': 30 | description: Successful Operation 31 | content: 32 | application/json: 33 | schema: 34 | $ref: '#/components/schemas/item' 35 | /item/{itemId}: 36 | get: 37 | description: Gets the information for the specified line item 38 | parameters: 39 | - in: path 40 | schema: 41 | $ref: '#/components/schemas/itemId' 42 | name: itemId 43 | description: Id of the line item 44 | required: true 45 | responses: 46 | '200': 47 | description: Successful Operation 48 | content: 49 | application/json: 50 | schema: 51 | $ref: '#/components/schemas/item' 52 | put: 53 | description: Updates the information for the specified line item 54 | parameters: 55 | - in: path 56 | schema: 57 | $ref: '#/components/schemas/itemId' 58 | example: 59 | title: Example Task itemId 60 | value: 1 61 | name: itemId 62 | description: Id of the line item 63 | required: true 64 | requestBody: 65 | required: true 66 | content: 67 | application/json: 68 | schema: 69 | $ref: '#/components/schemas/item' 70 | examples: 71 | Groceries: 72 | value: 73 | transaction_date: 2024-06-01 74 | amount: 123.45 75 | category: groceries 76 | Rent: 77 | value: 78 | transaction_date: 2024-06-01 79 | amount: 1500 80 | category: rent 81 | responses: 82 | '200': 83 | description: Successful Operation 84 | content: 85 | application/json: 86 | schema: 87 | $ref: '#/components/schemas/item' 88 | delete: 89 | description: Removes the specified line item 90 | parameters: 91 | - in: path 92 | schema: 93 | $ref: '#/components/schemas/itemId' 94 | name: itemId 95 | description: Id of the line item 96 | required: true 97 | responses: 98 | '200': 99 | description: Successful Operation 100 | content: 101 | application/json: 102 | schema: 103 | type: object 104 | components: 105 | schemas: 106 | item: 107 | type: object 108 | required: 109 | - transaction_date 110 | - amount 111 | - category 112 | properties: 113 | transaction_date: 114 | type: string 115 | format: date 116 | amount: 117 | type: integer 118 | category: 119 | type: string 120 | itemId: 121 | type: integer 122 | minimum: 1 123 | items: 124 | type: array 125 | items: 126 | $ref: '#/components/schemas/item' 127 | -------------------------------------------------------------------------------- /Chapter14/blns.base64.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"naughtyString": ""}, 3 | {"naughtyString": "dW5kZWZpbmVk"}, 4 | {"naughtyString": "dW5kZWY="}, 5 | {"naughtyString": "bnVsbA=="}, 6 | {"naughtyString": "TlVMTA=="}, 7 | {"naughtyString": "KG51bGwp"}, 8 | {"naughtyString": "bmls"}, 9 | {"naughtyString": "TklM"}, 10 | {"naughtyString": "dHJ1ZQ=="}, 11 | {"naughtyString": "ZmFsc2U="}, 12 | {"naughtyString": "VHJ1ZQ=="}, 13 | {"naughtyString": "RmFsc2U="}, 14 | {"naughtyString": "VFJVRQ=="}, 15 | {"naughtyString": "RkFMU0U="}, 16 | {"naughtyString": "Tm9uZQ=="}, 17 | {"naughtyString": "aGFzT3duUHJvcGVydHk="}, 18 | {"naughtyString": "XA=="}, 19 | {"naughtyString": "MA=="}, 20 | {"naughtyString": "MQ=="}, 21 | {"naughtyString": "MS4wMA=="}, 22 | {"naughtyString": "JDEuMDA="}, 23 | {"naughtyString": "MS8y"}, 24 | {"naughtyString": "MUUy"}, 25 | {"naughtyString": "MUUwMg=="}, 26 | {"naughtyString": "MUUrMDI="}, 27 | {"naughtyString": "LTE="}, 28 | {"naughtyString": "LTEuMDA="}, 29 | {"naughtyString": "LSQxLjAw"}, 30 | {"naughtyString": "LTEvMg=="}, 31 | {"naughtyString": "LTFFMg=="}, 32 | {"naughtyString": "LTFFMDI="}, 33 | {"naughtyString": "LTFFKzAy"}, 34 | {"naughtyString": "MS8w"}, 35 | {"naughtyString": "MC8w"}, 36 | {"naughtyString": "LTIxNDc0ODM2NDgvLTE="}, 37 | {"naughtyString": "LTkyMjMzNzIwMzY4NTQ3NzU4MDgvLTE="}, 38 | {"naughtyString": "LTA="}, 39 | {"naughtyString": "LTAuMA=="}, 40 | {"naughtyString": "KzA="}, 41 | {"naughtyString": "KzAuMA=="}, 42 | {"naughtyString": "MC4wMA=="}, 43 | {"naughtyString": "MC4uMA=="}, 44 | {"naughtyString": "Lg=="}, 45 | {"naughtyString": "MC4wLjA="}, 46 | {"naughtyString": "MCwwMA=="}, 47 | {"naughtyString": "MCwsMA=="}, 48 | {"naughtyString": "LA=="}, 49 | {"naughtyString": "MCwwLDA="}, 50 | {"naughtyString": "MC4wLzA="}, 51 | {"naughtyString": "MS4wLzAuMA=="}, 52 | {"naughtyString": "MC4wLzAuMA=="}, 53 | {"naughtyString": "MSwwLzAsMA=="}, 54 | {"naughtyString": "MCwwLzAsMA=="}, 55 | {"naughtyString": "LS0x"}, 56 | {"naughtyString": "LQ=="}, 57 | {"naughtyString": "LS4="}, 58 | {"naughtyString": "LSw="}, 59 | {"naughtyString": "OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5"}, 60 | {"naughtyString": "OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5"}, 61 | {"naughtyString": "TmFO"}, 62 | {"naughtyString": "SW5maW5pdHk="}, 63 | {"naughtyString": "LUluZmluaXR5"}, 64 | {"naughtyString": "SU5G"}, 65 | {"naughtyString": "MSNJTkY="}, 66 | {"naughtyString": "LTEjSU5E"}, 67 | {"naughtyString": "MSNRTkFO"}, 68 | {"naughtyString": "MSNTTkFO"}, 69 | {"naughtyString": "MSNJTkQ="}, 70 | {"naughtyString": "MHgw"}, 71 | {"naughtyString": "MHhmZmZmZmZmZg=="}, 72 | {"naughtyString": "MHhmZmZmZmZmZmZmZmZmZmZm"}, 73 | {"naughtyString": "MHhhYmFkMWRlYQ=="}, 74 | {"naughtyString": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5"}, 75 | {"naughtyString": "MSwwMDAuMDA="}, 76 | {"naughtyString": "MSAwMDAuMDA="}, 77 | {"naughtyString": "MScwMDAuMDA="}, 78 | {"naughtyString": "MSwwMDAsMDAwLjAw"}, 79 | {"naughtyString": "MSAwMDAgMDAwLjAw"}, 80 | {"naughtyString": "MScwMDAnMDAwLjAw"}, 81 | {"naughtyString": "MS4wMDAsMDA="}, 82 | {"naughtyString": "MSAwMDAsMDA="}, 83 | {"naughtyString": "MScwMDAsMDA="}, 84 | {"naughtyString": "MS4wMDAuMDAwLDAw"}, 85 | {"naughtyString": "MSAwMDAgMDAwLDAw"}, 86 | {"naughtyString": "MScwMDAnMDAwLDAw"}, 87 | {"naughtyString": "MDEwMDA="}, 88 | {"naughtyString": "MDg="}, 89 | {"naughtyString": "MDk="}, 90 | {"naughtyString": "Mi4yMjUwNzM4NTg1MDcyMDExZS0zMDg="}, 91 | {"naughtyString": "LC4vOydbXS09"}, 92 | {"naughtyString": "PD4/OiJ7fXxfKw=="}, 93 | {"naughtyString": "IUAjJCVeJiooKWB+"}, 94 | {"naughtyString": "AQIDBAUGBwgODxAREhMUFRYXGBkaGxwdHh9/"}, 95 | {"naughtyString": "woDCgcKCwoPChMKGwofCiMKJworCi8KMwo3CjsKPwpDCkcKSwpPClMKVwpbCl8KYwpnCmsKbwpzC"}, 96 | {"naughtyString": "ncKewp8="}, 97 | {"naughtyString": "CwwgwoXCoOGagOKAgOKAgeKAguKAg+KAhOKAheKAhuKAh+KAiOKAieKAiuKAi+KAqOKAqeKAr+KB"}, 98 | {"naughtyString": "n+OAgA=="}, 99 | {"naughtyString": "wq3YgNiB2ILYg9iE2IXYnNud3I/hoI7igIvigIzigI3igI7igI/igKrigKvigKzigK3igK7igaDi"}, 100 | {"naughtyString": "gaHigaLigaPigaTigabigafigajiganigarigavigaziga3iga7iga/vu7/vv7nvv7rvv7vwkYK9"}, 101 | {"naughtyString": "8JuyoPCbsqHwm7Ki8Juyo/CdhbPwnYW08J2FtfCdhbbwnYW38J2FuPCdhbnwnYW686CAgfOggKDz"}, 102 | {"naughtyString": "oICh86CAovOggKPzoICk86CApfOggKbzoICn86CAqPOggKnzoICq86CAq/OggKzzoICt86CArvOg"}, 103 | {"naughtyString": "gK/zoICw86CAsfOggLLzoICz86CAtPOggLXzoIC286CAt/OggLjzoIC586CAuvOggLvzoIC886CA"}, 104 | {"naughtyString": "vfOggL7zoIC/86CBgPOggYHzoIGC86CBg/OggYTzoIGF86CBhvOggYfzoIGI86CBifOggYrzoIGL"}, 105 | {"naughtyString": "86CBjPOggY3zoIGO86CBj/OggZDzoIGR86CBkvOggZPzoIGU86CBlfOggZbzoIGX86CBmPOggZnz"}, 106 | {"naughtyString": "oIGa86CBm/OggZzzoIGd86CBnvOggZ/zoIGg86CBofOggaLzoIGj86CBpPOggaXzoIGm86CBp/Og"}, 107 | {"naughtyString": "gajzoIGp86CBqvOggavzoIGs86CBrfOgga7zoIGv86CBsPOggbHzoIGy86CBs/OggbTzoIG186CB"}, 108 | {"naughtyString": "tvOggbfzoIG486CBufOggbrzoIG786CBvPOggb3zoIG+86CBvw=="}, 109 | {"naughtyString": "77u/"}, 110 | {"naughtyString": "77++"}, 111 | {"naughtyString": "zqniiYjDp+KImuKIq8ucwrXiiaTiiaXDtw=="}, 112 | {"naughtyString": "w6XDn+KIgsaSwqnLmeKIhsuawqzigKbDpg=="}, 113 | {"naughtyString": "xZPiiJHCtMKu4oCgwqXCqMuGw7jPgOKAnOKAmA=="}, 114 | {"naughtyString": "wqHihKLCo8Ki4oiewqfCtuKAosKqwrrigJPiiaA="}, 115 | {"naughtyString": "wrjLm8OH4peKxLHLnMOCwq/LmMK/"}, 116 | {"naughtyString": "w4XDjcOOw4/LncOTw5Tvo7/DksOaw4bimIM="}, 117 | {"naughtyString": "xZLigJ7CtOKAsMuHw4HCqMuGw5jiiI/igJ3igJk="}, 118 | {"naughtyString": "YOKBhOKCrOKAueKAuu+sge+sguKAocKwwrfigJrigJTCsQ=="}, 119 | {"naughtyString": "4oWb4oWc4oWd4oWe"}, 120 | {"naughtyString": "0IHQgtCD0ITQhdCG0IfQiNCJ0IrQi9CM0I3QjtCP0JDQkdCS0JPQlNCV0JbQl9CY0JnQmtCb0JzQ"}, 121 | {"naughtyString": "ndCe0J/QoNCh0KLQo9Ck0KXQptCn0KjQqdCq0KvQrNCt0K7Qr9Cw0LHQstCz0LTQtdC20LfQuNC5"}, 122 | {"naughtyString": "0LrQu9C80L3QvtC/0YDRgdGC0YPRhNGF0YbRh9GI0YnRitGL0YzRjdGO0Y8="}, 123 | {"naughtyString": "2aDZodmi2aPZpNml2abZp9mo2ak="}, 124 | {"naughtyString": "4oGw4oG04oG1"}, 125 | {"naughtyString": "4oKA4oKB4oKC"}, 126 | {"naughtyString": "4oGw4oG04oG14oKA4oKB4oKC"}, 127 | {"naughtyString": "4LiU4LmJ4LmJ4LmJ4LmJ4LmJ4LmH4LmH4LmH4LmH4LmH4LmJ4LmJ4LmJ4LmJ4LmJ4LmH4LmH4LmH"}, 128 | {"naughtyString": "4LmH4LmH4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmH4LmH4LmH4LmH4LmH4LmJ4LmJ4LmJ4LmJ"}, 129 | {"naughtyString": "4LmJ4LmH4LmH4LmH4LmH4LmH4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmH4LmH4LmH4LmH4LmH"}, 130 | {"naughtyString": "4LmJ4LmJ4LmJ4LmJ4LmJ4LmH4LmH4LmH4LmH4LmH4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmH"}, 131 | {"naughtyString": "4LmH4LmH4LmH4LmH4LmJ4LmJ4LmJ4LmJ4LmJ4LmH4LmH4LmH4LmHIOC4lOC5ieC5ieC5ieC5ieC5"}, 132 | {"naughtyString": "ieC5h+C5h+C5h+C5h+C5h+C5ieC5ieC5ieC5ieC5ieC5h+C5h+C5h+C5h+C5h+C5ieC5ieC5ieC5"}, 133 | {"naughtyString": "ieC5ieC5ieC5ieC5ieC5h+C5h+C5h+C5h+C5h+C5ieC5ieC5ieC5ieC5ieC5h+C5h+C5h+C5h+C5"}, 134 | {"naughtyString": "h+C5ieC5ieC5ieC5ieC5ieC5ieC5ieC5ieC5h+C5h+C5h+C5h+C5h+C5ieC5ieC5ieC5ieC5ieC5"}, 135 | {"naughtyString": "h+C5h+C5h+C5h+C5h+C5ieC5ieC5ieC5ieC5ieC5ieC5ieC5ieC5h+C5h+C5h+C5h+C5h+C5ieC5"}, 136 | {"naughtyString": "ieC5ieC5ieC5ieC5h+C5h+C5h+C5hyDguJTguYnguYnguYnguYnguYnguYfguYfguYfguYfguYfg"}, 137 | {"naughtyString": "uYnguYnguYnguYnguYnguYfguYfguYfguYfguYfguYnguYnguYnguYnguYnguYnguYnguYnguYfg"}, 138 | {"naughtyString": "uYfguYfguYfguYfguYnguYnguYnguYnguYnguYfguYfguYfguYfguYfguYnguYnguYnguYnguYng"}, 139 | {"naughtyString": "uYnguYnguYnguYfguYfguYfguYfguYfguYnguYnguYnguYnguYnguYfguYfguYfguYfguYfguYng"}, 140 | {"naughtyString": "uYnguYnguYnguYnguYnguYnguYnguYfguYfguYfguYfguYfguYnguYnguYnguYnguYnguYfguYfg"}, 141 | {"naughtyString": "uYfguYc="}, 142 | {"naughtyString": "Jw=="}, 143 | {"naughtyString": "Ig=="}, 144 | {"naughtyString": "Jyc="}, 145 | {"naughtyString": "IiI="}, 146 | {"naughtyString": "JyIn"}, 147 | {"naughtyString": "IicnJyciJyI="}, 148 | {"naughtyString": "IiciJyInJycnIg=="}, 149 | {"naughtyString": "PGZvbyB2YWw94oCcYmFy4oCdIC8+"}, 150 | {"naughtyString": "PGZvbyB2YWw94oCcYmFy4oCdIC8+"}, 151 | {"naughtyString": "PGZvbyB2YWw94oCdYmFy4oCcIC8+"}, 152 | {"naughtyString": "PGZvbyB2YWw9YGJhcicgLz4="}, 153 | {"naughtyString": "55Sw5Lit44GV44KT44Gr44GC44GS44Gm5LiL44GV44GE"}, 154 | {"naughtyString": "44OR44O844OG44Kj44O844G46KGM44GL44Gq44GE44GL"}, 155 | {"naughtyString": "5ZKM6KO95ryi6Kqe"}, 156 | {"naughtyString": "6YOo6JC95qC8"}, 157 | {"naughtyString": "7IKs7ZqM6rO87ZWZ7JuQIOyWtO2VmeyXsOq1rOyGjA=="}, 158 | {"naughtyString": "7LCm7LCo66W8IO2DgOqzoCDsmKgg7Y6y7Iuc66eo6rO8IOyRm+uLpOumrCDrmKDrsKnqsIHtlZg="}, 159 | {"naughtyString": "56S+5pyD56eR5a246Zmi6Kqe5a2456CU56m25omA"}, 160 | {"naughtyString": "7Jq4656A67CU7Yag66W0"}, 161 | {"naughtyString": "8KCcjvCgnLHwoJ258KCxk/CgsbjwoLKW8KCzjw=="}, 162 | {"naughtyString": "6KGo44Od44GCQem3l8WSw6nvvKLpgI3DnMOfwqrEhcOx5LiC45CA8KCAgA=="}, 163 | {"naughtyString": "44O94Ly84LqI2YTNnOC6iOC8ve++iSDjg73gvLzguojZhM2c4LqI4Ly9776J"}, 164 | {"naughtyString": "KO+9oeKXlSDiiIAg4peV772hKQ=="}, 165 | {"naughtyString": "772A772oKMK04oiA772A4oip"}, 166 | {"naughtyString": "X1/vvpsoLF8sKik="}, 167 | {"naughtyString": "44O7KO+/o+KIgO+/oynjg7s6Kjo="}, 168 | {"naughtyString": "776f772l4py/44O+4pWyKO+9oeKXleKAv+KXle+9oSnilbHinL/vvaXvvp8="}, 169 | {"naughtyString": "LOOAguODuzoqOuODu+OCnOKAmSgg4pi7IM+JIOKYuyAp44CC44O7Oio644O744Kc4oCZ"}, 170 | {"naughtyString": "KOKVr8Kw4pahwrDvvInila/vuLUg4pS74pSB4pS7KQ=="}, 171 | {"naughtyString": "KO++ieCypeebiuCype+8ie++ie+7vyDilLvilIHilLs="}, 172 | {"naughtyString": "4pSs4pSA4pSs44OOKCDCuiBfIMK644OOKQ=="}, 173 | {"naughtyString": "KCDNocKwIM2cypYgzaHCsCk="}, 174 | {"naughtyString": "8J+YjQ=="}, 175 | {"naughtyString": "8J+RqfCfj70="}, 176 | {"naughtyString": "8J+RqOKAjfCfprAg8J+RqPCfj7/igI3wn6awIPCfkajigI3wn6axIPCfkajwn4+/4oCN8J+msSDwn6a58J+Pv+KAjeKZgu+4jw=="}, 177 | {"naughtyString": "8J+RviDwn5mHIPCfkoEg8J+ZhSDwn5mGIPCfmYsg8J+ZjiDwn5mN"}, 178 | {"naughtyString": "8J+QtSDwn5mIIPCfmYkg8J+Zig=="}, 179 | {"naughtyString": "4p2k77iPIPCfkpQg8J+SjCDwn5KVIPCfkp4g8J+SkyDwn5KXIPCfkpYg8J+SmCDwn5KdIPCfkp8g"}, 180 | {"naughtyString": "8J+SnCDwn5KbIPCfkpog8J+SmQ=="}, 181 | {"naughtyString": "4pyL8J+PvyDwn5Kq8J+PvyDwn5GQ8J+PvyDwn5mM8J+PvyDwn5GP8J+PvyDwn5mP8J+Pvw=="}, 182 | {"naughtyString": "8J+aviDwn4aSIPCfhpMg8J+GlSDwn4aWIPCfhpcg8J+GmSDwn4+n"}, 183 | {"naughtyString": "MO+4j+KDoyAx77iP4oOjIDLvuI/ig6MgM++4j+KDoyA077iP4oOjIDXvuI/ig6MgNu+4j+KDoyA3"}, 184 | {"naughtyString": "77iP4oOjIDjvuI/ig6MgOe+4j+KDoyDwn5Sf"}, 185 | {"naughtyString": "8J+HuvCfh7jwn4e38J+HuvCfh7gg8J+HpvCfh6vwn4em8J+HsvCfh7g="}, 186 | {"naughtyString": "8J+HuvCfh7jwn4e38J+HuvCfh7jwn4em8J+Hq/Cfh6bwn4ey"}, 187 | {"naughtyString": "8J+HuvCfh7jwn4e38J+HuvCfh7jwn4em"}, 188 | {"naughtyString": "77yR77yS77yT"}, 189 | {"naughtyString": "2aHZotmj"}, 190 | {"naughtyString": "2KvZhSDZhtmB2LMg2LPZgti32Kog2YjYqNin2YTYqtit2K/Zitiv2IwsINis2LLZitix2KrZiiDY"}, 191 | {"naughtyString": "qNin2LPYqtiu2K/Yp9mFINij2YYg2K/ZhtmILiDYpdiwINmH2YbYp9ifINin2YTYs9iq2KfYsSDZ"}, 192 | {"naughtyString": "iNiq2YbYtdmK2Kgg2YPYp9mGLiDYo9mH2ZHZhCDYp9mK2LfYp9mE2YrYp9iMINio2LHZiti32KfZ"}, 193 | {"naughtyString": "htmK2Kct2YHYsdmG2LPYpyDZgtivINij2K7YsC4g2LPZhNmK2YXYp9mG2Iwg2KXYqtmB2KfZgtmK"}, 194 | {"naughtyString": "2Kkg2KjZitmGINmF2KcsINmK2LDZg9ixINin2YTYrdiv2YjYryDYo9mKINio2LnYrywg2YXYudin"}, 195 | {"naughtyString": "2YXZhNipINio2YjZhNmG2K/Yp9iMINin2YTYpdi32YTYp9mCINi52YQg2KXZitmILg=="}, 196 | {"naughtyString": "15HWsNa816jWtdeQ16nWtNeB15nXqiwg15HWuNa816jWuNeQINeQ1rHXnNa515TWtNeZ150sINeQ"}, 197 | {"naughtyString": "1rXXqiDXlNa316nWuNa814HXnta315nWtNedLCDXldaw15DWtdeqINeU1rjXkNa416jWttel"}, 198 | {"naughtyString": "15TWuNeZ1rDXqta415R0ZXN02KfZhNi12YHYrdin2Kog2KfZhNiq2ZHYrdmI2YQ="}, 199 | {"naughtyString": "77e9"}, 200 | {"naughtyString": "77e6"}, 201 | {"naughtyString": "2YXZj9mG2Y7Yp9mC2Y7YtNmO2KnZjyDYs9mP2KjZj9mE2ZAg2KfZkNiz2ZLYqtmQ2K7Zktiv2Y7Y"}, 202 | {"naughtyString": "p9mF2ZAg2KfZhNmE2ZHZj9i62Y7YqdmQINmB2ZDZiiDYp9mE2YbZkdmP2LjZj9mF2ZAg2KfZhNmS"}, 203 | {"naughtyString": "2YLZjtin2KbZkNmF2Y7YqdmQINmI2Y7ZgdmQ2YrZhSDZitmO2K7Zj9i12ZHZjiDYp9mE2KrZkdmO"}, 204 | {"naughtyString": "2LfZktio2ZDZitmC2Y7Yp9iq2Y8g2KfZhNmS2K3Yp9iz2Y/ZiNio2ZDZitmR2Y7YqdmP2Iw="}, 205 | {"naughtyString": "4Zqb4ZqE4ZqT4ZqQ4ZqL4ZqS4ZqE4ZqA4ZqR4ZqE4ZqC4ZqR4ZqP4ZqF4Zqc"}, 206 | {"naughtyString": "4Zqb4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqA4ZqcCg=="}, 207 | {"naughtyString": "4oCq4oCqdGVzdOKAqg=="}, 208 | {"naughtyString": "4oCrdGVzdOKAqw=="}, 209 | {"naughtyString": "4oCpdGVzdOKAqQ=="}, 210 | {"naughtyString": "dGVzdOKBoHRlc3TigKs="}, 211 | {"naughtyString": "4oGmdGVzdOKBpw=="}, 212 | {"naughtyString": "4bmwzLrMusyVb82eIMy3acyyzKzNh8yqzZluzJ3Ml82VdsyfzJzMmMymzZ9vzLbMmcywzKBrw6jN"}, 213 | {"naughtyString": "msyuzLrMqsy5zLHMpCDMlnTMnc2VzLPMo8y7zKrNnmjMvM2TzLLMpsyzzJjMsmXNh8yjzLDMpsys"}, 214 | {"naughtyString": "zY4gzKLMvMy7zLHMmGjNms2OzZnMnMyjzLLNhWnMpsyyzKPMsMykdsy7zY1lzLrMrcyzzKrMsC1t"}, 215 | {"naughtyString": "zKJpzYVuzJbMusyezLLMr8ywZMy1zLzMn82ZzKnMvMyYzLMgzJ7MpcyxzLPMrXLMm8yXzJhlzZlw"}, 216 | {"naughtyString": "zaByzLzMnsy7zK3Ml2XMusygzKPNn3PMmM2HzLPNjcydzYllzYnMpcyvzJ7Mss2azKzNnMe5zKzN"}, 217 | {"naughtyString": "js2OzJ/Mls2HzKR0zY3MrMykzZPMvMytzZjNhWnMqsyxbs2gZ8y0zYkgzY/Nic2FY8yszJ9ozaFh"}, 218 | {"naughtyString": "zKvMu8yvzZhvzKvMn8yWzY3MmcydzYlzzJfMpsyyLsyozLnNiMyj"}, 219 | {"naughtyString": "zKHNk8yezYVJzJfMmMymzZ1uzYfNh82ZdsyuzKtva8yyzKvMmc2IacyWzZnMrcy5zKDMnm7Mocy7"}, 220 | {"naughtyString": "zK7Mo8y6Z8yyzYjNmcytzZnMrM2OIMywdM2UzKZozJ7MsmXMosykIM2NzKzMss2WZsy0zJjNlcyj"}, 221 | {"naughtyString": "w6jNluG6ucylzKlszZbNlM2aac2TzZrMps2gbs2WzY3Ml82TzLPMrmfNjSDMqG/NmsyqzaFmzJjM"}, 222 | {"naughtyString": "o8ysIMyWzJjNlsyfzZnMrmPSic2UzKvNls2TzYfNls2FaMy1zKTMo82azZTDocyXzLzNlc2Fb8y8"}, 223 | {"naughtyString": "zKPMpXPMsc2IzLrMlsymzLvNoi7Mm8yWzJ7MoMyrzLA="}, 224 | {"naughtyString": "zJfMus2WzLnMr82T4bmuzKTNjcylzYfNiGjMssyBZc2PzZPMvMyXzJnMvMyjzZQgzYfMnMyxzKDN"}, 225 | {"naughtyString": "k82NzYVOzZXNoGXMl8yxesyYzJ3MnMy6zZlwzKTMusy5zY3Mr82aZcygzLvMoM2ccsyozKTNjcy6"}, 226 | {"naughtyString": "zJbNlMyWzJZkzKDMn8ytzKzMnc2facymzZbMqc2TzZTMpGHMoMyXzKzNicyZbs2azZwgzLvMnsyw"}, 227 | {"naughtyString": "zZrNhWjMtc2JacyzzJ52zKLNh+G4mc2OzZ8t0onMrcypzLzNlG3MpMytzKtpzZXNh8ydzKZuzJfN"}, 228 | {"naughtyString": "meG4jcyfIMyvzLLNlc2ex6vMn8yvzLDMss2ZzLvMnWYgzKrMsMywzJfMlsytzJjNmGPMps2NzLLM"}, 229 | {"naughtyString": "ns2NzKnMmeG4pc2aYcyuzY7Mn8yZzZzGocypzLnNjnPMpC7MncydINKJWsyhzJbMnM2WzLDMo82J"}, 230 | {"naughtyString": "zJxhzZbMsM2ZzKzNoWzMssyrzLPNjcypZ8yhzJ/MvMyxzZrMnsyszYVvzJfNnC7Mnw=="}, 231 | {"naughtyString": "zKZIzKzMpMyXzKTNnWXNnCDMnMylzJ3Mu82NzJ/MgXfMlWjMlsyvzZNvzJ3NmcyWzY7MscyuINKJ"}, 232 | {"naughtyString": "zLrMmcyezJ/NiFfMt8y8zK1hzLrMqs2NxK/NiM2VzK3NmcyvzJx0zLbMvMyuc8yYzZnNlsyVIMyg"}, 233 | {"naughtyString": "zKvMoELMu82NzZnNicyzzYVlzLVozLXMrM2HzKvNmWnMuc2TzLPMs8yuzY7Mq8yVbs2fZMy0zKrM"}, 234 | {"naughtyString": "nMyWIMywzYnMqc2HzZnMss2ezYVUzZbMvM2TzKrNomjNj82TzK7Mu2XMrMydzJ/NhSDMpMy5zJ1X"}, 235 | {"naughtyString": "zZnMnsydzZTNh82dzYVhzY/Nk82UzLnMvMyjbMy0zZTMsMykzJ/NlOG4vcyrLs2V"}, 236 | {"naughtyString": "WsyuzJ7MoM2ZzZTNheG4gMyXzJ7NiMy7zJfhuLbNmc2OzK/MucyezZNHzLtPzK3Ml8yu"}, 237 | {"naughtyString": "y5nJkG5i4bSJbMmQIMmQdcaDyZDJryDHncm5b2xvcCDKh8edIMedyblvccmQbCDKh24gyod1bnDh"}, 238 | {"naughtyString": "tIlw4bSJyZR14bSJIMm5b2TJr8edyocgcG/Jr3Nu4bSJx50gb3AgcMedcyAnyofhtIlsx50gxoN1"}, 239 | {"naughtyString": "4bSJyZRz4bSJZOG0iXDJkCDJuW7Kh8edyofJlMedc3VvyZQgJ8qHx53Jr8mQIMqH4bSJcyDJuW9s"}, 240 | {"naughtyString": "b3Agya9uc2ThtIkgya/Hncm5b8ul"}, 241 | {"naughtyString": "MDDLmcaWJC0="}, 242 | {"naughtyString": "77y0772I772FIO+9ke+9le+9ie+9g++9iyDvvYLvvZLvvY/vvZfvvY4g772G772P772YIO+9iu+9"}, 243 | {"naughtyString": "le+9je+9kO+9kyDvvY/vvZbvvYXvvZIg772U772I772FIO+9jO+9ge+9mu+9mSDvvYTvvY/vvYc="}, 244 | {"naughtyString": "8J2Qk/CdkKHwnZCeIPCdkKrwnZCu8J2QovCdkJzwnZCkIPCdkJvwnZCr8J2QqPCdkLDwnZCnIPCd"}, 245 | {"naughtyString": "kJ/wnZCo8J2QsSDwnZCj8J2QrvCdkKbwnZCp8J2QrCDwnZCo8J2Qr/CdkJ7wnZCrIPCdkK3wnZCh"}, 246 | {"naughtyString": "8J2QniDwnZCl8J2QmvCdkLPwnZCyIPCdkJ3wnZCo8J2QoA=="}, 247 | {"naughtyString": "8J2Vv/Cdlo3wnZaKIPCdlpbwnZaa8J2WjvCdlojwnZaQIPCdlofwnZaX8J2WlPCdlpzwnZaTIPCd"}, 248 | {"naughtyString": "lovwnZaU8J2WnSDwnZaP8J2WmvCdlpLwnZaV8J2WmCDwnZaU8J2Wm/CdlorwnZaXIPCdlpnwnZaN"}, 249 | {"naughtyString": "8J2WiiDwnZaR8J2WhvCdlp/wnZaeIPCdlonwnZaU8J2WjA=="}, 250 | {"naughtyString": "8J2Ru/CdkonwnZKGIPCdkpLwnZKW8J2SivCdkoTwnZKMIPCdkoPwnZKT8J2SkPCdkpjwnZKPIPCd"}, 251 | {"naughtyString": "kofwnZKQ8J2SmSDwnZKL8J2SlvCdko7wnZKR8J2SlCDwnZKQ8J2Sl/CdkobwnZKTIPCdkpXwnZKJ"}, 252 | {"naughtyString": "8J2ShiDwnZKN8J2SgvCdkpvwnZKaIPCdkoXwnZKQ8J2SiA=="}, 253 | {"naughtyString": "8J2To/Cdk7HwnZOuIPCdk7rwnZO+8J2TsvCdk6zwnZO0IPCdk6vwnZO78J2TuPCdlIDwnZO3IPCd"}, 254 | {"naughtyString": "k6/wnZO48J2UgSDwnZOz8J2TvvCdk7bwnZO58J2TvCDwnZO48J2Tv/Cdk67wnZO7IPCdk73wnZOx"}, 255 | {"naughtyString": "8J2TriDwnZO18J2TqvCdlIPwnZSCIPCdk63wnZO48J2TsA=="}, 256 | {"naughtyString": "8J2Vi/CdlZnwnZWWIPCdlaLwnZWm8J2VmvCdlZTwnZWcIPCdlZPwnZWj8J2VoPCdlajwnZWfIPCd"}, 257 | {"naughtyString": "lZfwnZWg8J2VqSDwnZWb8J2VpvCdlZ7wnZWh8J2VpCDwnZWg8J2Vp/CdlZbwnZWjIPCdlaXwnZWZ"}, 258 | {"naughtyString": "8J2VliDwnZWd8J2VkvCdlavwnZWqIPCdlZXwnZWg8J2VmA=="}, 259 | {"naughtyString": "8J2ag/CdmpHwnZqOIPCdmprwnZqe8J2akvCdmozwnZqUIPCdmovwnZqb8J2amPCdmqDwnZqXIPCd"}, 260 | {"naughtyString": "mo/wnZqY8J2aoSDwnZqT8J2anvCdmpbwnZqZ8J2anCDwnZqY8J2an/Cdmo7wnZqbIPCdmp3wnZqR"}, 261 | {"naughtyString": "8J2ajiDwnZqV8J2aivCdmqPwnZqiIPCdmo3wnZqY8J2akA=="}, 262 | {"naughtyString": "4pKv4pKj4pKgIOKSrOKSsOKSpOKSnuKSpiDikp3ikq3ikqrikrLikqkg4pKh4pKq4pKzIOKSpeKS"}, 263 | {"naughtyString": "sOKSqOKSq+KSriDikqrikrHikqDikq0g4pKv4pKj4pKgIOKSp+KSnOKSteKStCDikp/ikqrikqI="}, 264 | {"naughtyString": "PHNjcmlwdD5hbGVydCgxMjMpPC9zY3JpcHQ+"}, 265 | {"naughtyString": "Jmx0O3NjcmlwdCZndDthbGVydCgmIzM5OzEyMyYjMzk7KTsmbHQ7L3NjcmlwdCZndDs="}, 266 | {"naughtyString": "PGltZyBzcmM9eCBvbmVycm9yPWFsZXJ0KDEyMykgLz4="}, 267 | {"naughtyString": "PHN2Zz48c2NyaXB0PjEyMzwxPmFsZXJ0KDEyMyk8L3NjcmlwdD4="}, 268 | {"naughtyString": "Ij48c2NyaXB0PmFsZXJ0KDEyMyk8L3NjcmlwdD4="}, 269 | {"naughtyString": "Jz48c2NyaXB0PmFsZXJ0KDEyMyk8L3NjcmlwdD4="}, 270 | {"naughtyString": "PjxzY3JpcHQ+YWxlcnQoMTIzKTwvc2NyaXB0Pg=="}, 271 | {"naughtyString": "PC9zY3JpcHQ+PHNjcmlwdD5hbGVydCgxMjMpPC9zY3JpcHQ+"}, 272 | {"naughtyString": "PCAvIHNjcmlwdCA+PCBzY3JpcHQgPmFsZXJ0KDEyMyk8IC8gc2NyaXB0ID4="}, 273 | {"naughtyString": "b25mb2N1cz1KYVZhU0NyaXB0OmFsZXJ0KDEyMykgYXV0b2ZvY3Vz"}, 274 | {"naughtyString": "IiBvbmZvY3VzPUphVmFTQ3JpcHQ6YWxlcnQoMTIzKSBhdXRvZm9jdXM="}, 275 | {"naughtyString": "JyBvbmZvY3VzPUphVmFTQ3JpcHQ6YWxlcnQoMTIzKSBhdXRvZm9jdXM="}, 276 | {"naughtyString": "77ycc2NyaXB077yeYWxlcnQoMTIzKe+8nC9zY3JpcHTvvJ4="}, 277 | {"naughtyString": "PHNjPHNjcmlwdD5yaXB0PmFsZXJ0KDEyMyk8L3NjPC9zY3JpcHQ+cmlwdD4="}, 278 | {"naughtyString": "LS0+PHNjcmlwdD5hbGVydCgxMjMpPC9zY3JpcHQ+"}, 279 | {"naughtyString": "IjthbGVydCgxMjMpO3Q9Ig=="}, 280 | {"naughtyString": "JzthbGVydCgxMjMpO3Q9Jw=="}, 281 | {"naughtyString": "SmF2YVNDcmlwdDphbGVydCgxMjMp"}, 282 | {"naughtyString": "O2FsZXJ0KDEyMyk7"}, 283 | {"naughtyString": "c3JjPUphVmFTQ3JpcHQ6cHJvbXB0KDEzMik="}, 284 | {"naughtyString": "Ij48c2NyaXB0PmFsZXJ0KDEyMyk7PC9zY3JpcHQgeD0i"}, 285 | {"naughtyString": "Jz48c2NyaXB0PmFsZXJ0KDEyMyk7PC9zY3JpcHQgeD0n"}, 286 | {"naughtyString": "PjxzY3JpcHQ+YWxlcnQoMTIzKTs8L3NjcmlwdCB4PQ=="}, 287 | {"naughtyString": "IiBhdXRvZm9jdXMgb25rZXl1cD0iamF2YXNjcmlwdDphbGVydCgxMjMp"}, 288 | {"naughtyString": "JyBhdXRvZm9jdXMgb25rZXl1cD0namF2YXNjcmlwdDphbGVydCgxMjMp"}, 289 | {"naughtyString": "PHNjcmlwdHgyMHR5cGU9InRleHQvamF2YXNjcmlwdCI+amF2YXNjcmlwdDphbGVydCgxKTs8L3Nj"}, 290 | {"naughtyString": "cmlwdD4="}, 291 | {"naughtyString": "PHNjcmlwdHgzRXR5cGU9InRleHQvamF2YXNjcmlwdCI+amF2YXNjcmlwdDphbGVydCgxKTs8L3Nj"}, 292 | {"naughtyString": "cmlwdD4="}, 293 | {"naughtyString": "PHNjcmlwdHgwRHR5cGU9InRleHQvamF2YXNjcmlwdCI+amF2YXNjcmlwdDphbGVydCgxKTs8L3Nj"}, 294 | {"naughtyString": "cmlwdD4="}, 295 | {"naughtyString": "PHNjcmlwdHgwOXR5cGU9InRleHQvamF2YXNjcmlwdCI+amF2YXNjcmlwdDphbGVydCgxKTs8L3Nj"}, 296 | {"naughtyString": "cmlwdD4="}, 297 | {"naughtyString": "PHNjcmlwdHgwQ3R5cGU9InRleHQvamF2YXNjcmlwdCI+amF2YXNjcmlwdDphbGVydCgxKTs8L3Nj"}, 298 | {"naughtyString": "cmlwdD4="}, 299 | {"naughtyString": "PHNjcmlwdHgyRnR5cGU9InRleHQvamF2YXNjcmlwdCI+amF2YXNjcmlwdDphbGVydCgxKTs8L3Nj"}, 300 | {"naughtyString": "cmlwdD4="}, 301 | {"naughtyString": "PHNjcmlwdHgwQXR5cGU9InRleHQvamF2YXNjcmlwdCI+amF2YXNjcmlwdDphbGVydCgxKTs8L3Nj"}, 302 | {"naughtyString": "cmlwdD4="}, 303 | {"naughtyString": "J2AiPjx4M0NzY3JpcHQ+amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 304 | {"naughtyString": "J2AiPjx4MDBzY3JpcHQ+amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 305 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieHgzQWV4cHJlc3Npb24oamF2YXNjcmlwdDphbGVydCgxKSI+REVG"}, 306 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDpleHByZXNzaW9ueDVDKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="}, 307 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDpleHByZXNzaW9ueDAwKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="}, 308 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDpleHB4MDByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="}, 309 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDpleHB4NUNyZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="}, 310 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4MEFleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="}, 311 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4MDlleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="}, 312 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTN4ODB4ODBleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"}, 313 | {"naughtyString": "PkRFRg=="}, 314 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODRleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"}, 315 | {"naughtyString": "PkRFRg=="}, 316 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4QzJ4QTBleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRF"}, 317 | {"naughtyString": "Rg=="}, 318 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODBleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"}, 319 | {"naughtyString": "PkRFRg=="}, 320 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4OEFleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"}, 321 | {"naughtyString": "PkRFRg=="}, 322 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4MERleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="}, 323 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4MENleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="}, 324 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODdleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"}, 325 | {"naughtyString": "PkRFRg=="}, 326 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RUZ4QkJ4QkZleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"}, 327 | {"naughtyString": "PkRFRg=="}, 328 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4MjBleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="}, 329 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODhleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"}, 330 | {"naughtyString": "PkRFRg=="}, 331 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4MDBleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="}, 332 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4OEJleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"}, 333 | {"naughtyString": "PkRFRg=="}, 334 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODZleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"}, 335 | {"naughtyString": "PkRFRg=="}, 336 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODVleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"}, 337 | {"naughtyString": "PkRFRg=="}, 338 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODJleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"}, 339 | {"naughtyString": "PkRFRg=="}, 340 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4MEJleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg=="}, 341 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODFleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"}, 342 | {"naughtyString": "PkRFRg=="}, 343 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODNleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"}, 344 | {"naughtyString": "PkRFRg=="}, 345 | {"naughtyString": "QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODlleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSki"}, 346 | {"naughtyString": "PkRFRg=="}, 347 | {"naughtyString": "PGEgaHJlZj0ieDBCamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 348 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 349 | {"naughtyString": "PGEgaHJlZj0ieDBGamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 350 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 351 | {"naughtyString": "PGEgaHJlZj0ieEMyeEEwamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVs"}, 352 | {"naughtyString": "ZW1lbnQxIj50ZXN0PC9hPg=="}, 353 | {"naughtyString": "PGEgaHJlZj0ieDA1amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 354 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 355 | {"naughtyString": "PGEgaHJlZj0ieEUxeEEweDhFamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"}, 356 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="}, 357 | {"naughtyString": "PGEgaHJlZj0ieDE4amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 358 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 359 | {"naughtyString": "PGEgaHJlZj0ieDExamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 360 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 361 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDg4amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"}, 362 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="}, 363 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDg5amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"}, 364 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="}, 365 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDgwamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"}, 366 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="}, 367 | {"naughtyString": "PGEgaHJlZj0ieDE3amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 368 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 369 | {"naughtyString": "PGEgaHJlZj0ieDAzamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 370 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 371 | {"naughtyString": "PGEgaHJlZj0ieDBFamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 372 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 373 | {"naughtyString": "PGEgaHJlZj0ieDFBamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 374 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 375 | {"naughtyString": "PGEgaHJlZj0ieDAwamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 376 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 377 | {"naughtyString": "PGEgaHJlZj0ieDEwamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 378 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 379 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDgyamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"}, 380 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="}, 381 | {"naughtyString": "PGEgaHJlZj0ieDIwamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 382 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 383 | {"naughtyString": "PGEgaHJlZj0ieDEzamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 384 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 385 | {"naughtyString": "PGEgaHJlZj0ieDA5amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 386 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 387 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDhBamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"}, 388 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="}, 389 | {"naughtyString": "PGEgaHJlZj0ieDE0amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 390 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 391 | {"naughtyString": "PGEgaHJlZj0ieDE5amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 392 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 393 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweEFGamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"}, 394 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="}, 395 | {"naughtyString": "PGEgaHJlZj0ieDFGamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 396 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 397 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDgxamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"}, 398 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="}, 399 | {"naughtyString": "PGEgaHJlZj0ieDFEamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 400 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 401 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDg3amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"}, 402 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="}, 403 | {"naughtyString": "PGEgaHJlZj0ieDA3amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 404 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 405 | {"naughtyString": "PGEgaHJlZj0ieEUxeDlBeDgwamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"}, 406 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="}, 407 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDgzamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"}, 408 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="}, 409 | {"naughtyString": "PGEgaHJlZj0ieDA0amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 410 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 411 | {"naughtyString": "PGEgaHJlZj0ieDAxamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 412 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 413 | {"naughtyString": "PGEgaHJlZj0ieDA4amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 414 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 415 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDg0amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"}, 416 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="}, 417 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDg2amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"}, 418 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="}, 419 | {"naughtyString": "PGEgaHJlZj0ieEUzeDgweDgwamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"}, 420 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="}, 421 | {"naughtyString": "PGEgaHJlZj0ieDEyamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 422 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 423 | {"naughtyString": "PGEgaHJlZj0ieDBEamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 424 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 425 | {"naughtyString": "PGEgaHJlZj0ieDBBamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 426 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 427 | {"naughtyString": "PGEgaHJlZj0ieDBDamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 428 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 429 | {"naughtyString": "PGEgaHJlZj0ieDE1amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 430 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 431 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweEE4amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"}, 432 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="}, 433 | {"naughtyString": "PGEgaHJlZj0ieDE2amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 434 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 435 | {"naughtyString": "PGEgaHJlZj0ieDAyamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 436 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 437 | {"naughtyString": "PGEgaHJlZj0ieDFCamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 438 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 439 | {"naughtyString": "PGEgaHJlZj0ieDA2amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 440 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 441 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweEE5amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"}, 442 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="}, 443 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgweDg1amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"}, 444 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="}, 445 | {"naughtyString": "PGEgaHJlZj0ieDFFamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 446 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 447 | {"naughtyString": "PGEgaHJlZj0ieEUyeDgxeDlGamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6"}, 448 | {"naughtyString": "emVsZW1lbnQxIj50ZXN0PC9hPg=="}, 449 | {"naughtyString": "PGEgaHJlZj0ieDFDamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 450 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 451 | {"naughtyString": "PGEgaHJlZj0iamF2YXNjcmlwdHgwMDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 452 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 453 | {"naughtyString": "PGEgaHJlZj0iamF2YXNjcmlwdHgzQTpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 454 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 455 | {"naughtyString": "PGEgaHJlZj0iamF2YXNjcmlwdHgwOTpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 456 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 457 | {"naughtyString": "PGEgaHJlZj0iamF2YXNjcmlwdHgwRDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 458 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 459 | {"naughtyString": "PGEgaHJlZj0iamF2YXNjcmlwdHgwQTpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1l"}, 460 | {"naughtyString": "bnQxIj50ZXN0PC9hPg=="}, 461 | {"naughtyString": "YCInPjxpbWcgc3JjPXh4eDp4IHgwQW9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4="}, 462 | {"naughtyString": "YCInPjxpbWcgc3JjPXh4eDp4IHgyMm9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4="}, 463 | {"naughtyString": "YCInPjxpbWcgc3JjPXh4eDp4IHgwQm9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4="}, 464 | {"naughtyString": "YCInPjxpbWcgc3JjPXh4eDp4IHgwRG9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4="}, 465 | {"naughtyString": "YCInPjxpbWcgc3JjPXh4eDp4IHgyRm9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4="}, 466 | {"naughtyString": "YCInPjxpbWcgc3JjPXh4eDp4IHgwOW9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4="}, 467 | {"naughtyString": "YCInPjxpbWcgc3JjPXh4eDp4IHgwQ29uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4="}, 468 | {"naughtyString": "YCInPjxpbWcgc3JjPXh4eDp4IHgwMG9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4="}, 469 | {"naughtyString": "YCInPjxpbWcgc3JjPXh4eDp4IHgyN29uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4="}, 470 | {"naughtyString": "YCInPjxpbWcgc3JjPXh4eDp4IHgyMG9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4="}, 471 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDNCamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 472 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDBEamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 473 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEVGeEJCeEJGamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 474 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDgxamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 475 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDg0amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 476 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUzeDgweDgwamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 477 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDA5amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 478 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDg5amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 479 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDg1amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 480 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDg4amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 481 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDAwamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 482 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweEE4amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 483 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDhBamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 484 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUxeDlBeDgwamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 485 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDBDamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 486 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDJCamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 487 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEYweDkweDk2eDlBamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 488 | {"naughtyString": "ImAnPjxzY3JpcHQ+LWphdmFzY3JpcHQ6YWxlcnQoMSk8L3NjcmlwdD4="}, 489 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDBBamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 490 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweEFGamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 491 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDdFamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 492 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDg3amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 493 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgxeDlGamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 494 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweEE5amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 495 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEMyeDg1amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 496 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEVGeEJGeEFFamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 497 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDgzamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 498 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDhCamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 499 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEVGeEJGeEJFamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 500 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDgwamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 501 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDIxamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 502 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDgyamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 503 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUyeDgweDg2amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 504 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEUxeEEweDhFamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 505 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDBCamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 506 | {"naughtyString": "ImAnPjxzY3JpcHQ+eDIwamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 507 | {"naughtyString": "ImAnPjxzY3JpcHQ+eEMyeEEwamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg=="}, 508 | {"naughtyString": "PGltZyB4MDBzcmM9eCBvbmVycm9yPSJhbGVydCgxKSI+"}, 509 | {"naughtyString": "PGltZyB4NDdzcmM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="}, 510 | {"naughtyString": "PGltZyB4MTFzcmM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="}, 511 | {"naughtyString": "PGltZyB4MTJzcmM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="}, 512 | {"naughtyString": "PGltZ3g0N3NyYz14IG9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="}, 513 | {"naughtyString": "PGltZ3gxMHNyYz14IG9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="}, 514 | {"naughtyString": "PGltZ3gxM3NyYz14IG9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="}, 515 | {"naughtyString": "PGltZ3gzMnNyYz14IG9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="}, 516 | {"naughtyString": "PGltZ3g0N3NyYz14IG9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="}, 517 | {"naughtyString": "PGltZ3gxMXNyYz14IG9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="}, 518 | {"naughtyString": "PGltZyB4NDdzcmM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="}, 519 | {"naughtyString": "PGltZyB4MzRzcmM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="}, 520 | {"naughtyString": "PGltZyB4MzlzcmM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="}, 521 | {"naughtyString": "PGltZyB4MDBzcmM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="}, 522 | {"naughtyString": "PGltZyBzcmN4MDk9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="}, 523 | {"naughtyString": "PGltZyBzcmN4MTA9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="}, 524 | {"naughtyString": "PGltZyBzcmN4MTM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="}, 525 | {"naughtyString": "PGltZyBzcmN4MzI9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="}, 526 | {"naughtyString": "PGltZyBzcmN4MTI9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="}, 527 | {"naughtyString": "PGltZyBzcmN4MTE9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="}, 528 | {"naughtyString": "PGltZyBzcmN4MDA9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="}, 529 | {"naughtyString": "PGltZyBzcmN4NDc9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="}, 530 | {"naughtyString": "PGltZyBzcmM9eHgwOW9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="}, 531 | {"naughtyString": "PGltZyBzcmM9eHgxMG9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="}, 532 | {"naughtyString": "PGltZyBzcmM9eHgxMW9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="}, 533 | {"naughtyString": "PGltZyBzcmM9eHgxMm9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="}, 534 | {"naughtyString": "PGltZyBzcmM9eHgxM29uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg=="}, 535 | {"naughtyString": "PGltZ1thXVtiXVtjXXNyY1tkXT14W2Vdb25lcnJvcj1bZl0iYWxlcnQoMSkiPg=="}, 536 | {"naughtyString": "PGltZyBzcmM9eCBvbmVycm9yPXgwOSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="}, 537 | {"naughtyString": "PGltZyBzcmM9eCBvbmVycm9yPXgxMCJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="}, 538 | {"naughtyString": "PGltZyBzcmM9eCBvbmVycm9yPXgxMSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="}, 539 | {"naughtyString": "PGltZyBzcmM9eCBvbmVycm9yPXgxMiJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="}, 540 | {"naughtyString": "PGltZyBzcmM9eCBvbmVycm9yPXgzMiJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="}, 541 | {"naughtyString": "PGltZyBzcmM9eCBvbmVycm9yPXgwMCJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4="}, 542 | {"naughtyString": "PGEgaHJlZj1qYXZhJiMxJiMyJiMzJiM0JiM1JiM2JiM3JiM4JiMxMSYjMTJzY3JpcHQ6amF2YXNj"}, 543 | {"naughtyString": "cmlwdDphbGVydCgxKT5YWFg8L2E+"}, 544 | {"naughtyString": "PGltZyBzcmM9InhgIGA8c2NyaXB0PmphdmFzY3JpcHQ6YWxlcnQoMSk8L3NjcmlwdD4iYCBgPg=="}, 545 | {"naughtyString": "PGltZyBzcmMgb25lcnJvciAvIiAnIj0gYWx0PWphdmFzY3JpcHQ6YWxlcnQoMSkvLyI+"}, 546 | {"naughtyString": "PHRpdGxlIG9ucHJvcGVydHljaGFuZ2U9amF2YXNjcmlwdDphbGVydCgxKT48L3RpdGxlPjx0aXRs"}, 547 | {"naughtyString": "ZSB0aXRsZT0+"}, 548 | {"naughtyString": "PGEgaHJlZj1odHRwOi8vZm9vLmJhci8jeD1geT48L2E+PGltZyBhbHQ9ImA+PGltZyBzcmM9eDp4"}, 549 | {"naughtyString": "IG9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT48L2E+Ij4="}, 550 | {"naughtyString": "PCEtLVtpZl0+PHNjcmlwdD5qYXZhc2NyaXB0OmFsZXJ0KDEpPC9zY3JpcHQgLS0+"}, 551 | {"naughtyString": "PCEtLVtpZjxpbWcgc3JjPXggb25lcnJvcj1qYXZhc2NyaXB0OmFsZXJ0KDEpLy9dPiAtLT4="}, 552 | {"naughtyString": "PHNjcmlwdCBzcmM9Ii8lKGpzY3JpcHQpcyI+PC9zY3JpcHQ+"}, 553 | {"naughtyString": "PHNjcmlwdCBzcmM9IlwlKGpzY3JpcHQpcyI+PC9zY3JpcHQ+"}, 554 | {"naughtyString": "PElNRyAiIiI+PFNDUklQVD5hbGVydCgiWFNTIik8L1NDUklQVD4iPg=="}, 555 | {"naughtyString": "PElNRyBTUkM9amF2YXNjcmlwdDphbGVydChTdHJpbmcuZnJvbUNoYXJDb2RlKDg4LDgzLDgzKSk+"}, 556 | {"naughtyString": "PElNRyBTUkM9IyBvbm1vdXNlb3Zlcj0iYWxlcnQoJ3h4cycpIj4="}, 557 | {"naughtyString": "PElNRyBTUkM9IG9ubW91c2VvdmVyPSJhbGVydCgneHhzJykiPg=="}, 558 | {"naughtyString": "PElNRyBvbm1vdXNlb3Zlcj0iYWxlcnQoJ3h4cycpIj4="}, 559 | {"naughtyString": "PElNRyBTUkM9JiMxMDY7JiM5NzsmIzExODsmIzk3OyYjMTE1OyYjOTk7JiMxMTQ7JiMxMDU7JiMx"}, 560 | {"naughtyString": "MTI7JiMxMTY7JiM1ODsmIzk3OyYjMTA4OyYjMTAxOyYjMTE0OyYjMTE2OyYjNDA7JiMzOTsmIzg4"}, 561 | {"naughtyString": "OyYjODM7JiM4MzsmIzM5OyYjNDE7Pg=="}, 562 | {"naughtyString": "PElNRyBTUkM9JiMwMDAwMTA2JiMwMDAwMDk3JiMwMDAwMTE4JiMwMDAwMDk3JiMwMDAwMTE1JiMw"}, 563 | {"naughtyString": "MDAwMDk5JiMwMDAwMTE0JiMwMDAwMTA1JiMwMDAwMTEyJiMwMDAwMTE2JiMwMDAwMDU4JiMwMDAw"}, 564 | {"naughtyString": "MDk3JiMwMDAwMTA4JiMwMDAwMTAxJiMwMDAwMTE0JiMwMDAwMTE2JiMwMDAwMDQwJiMwMDAwMDM5"}, 565 | {"naughtyString": "JiMwMDAwMDg4JiMwMDAwMDgzJiMwMDAwMDgzJiMwMDAwMDM5JiMwMDAwMDQxPg=="}, 566 | {"naughtyString": "PElNRyBTUkM9JiN4NkEmI3g2MSYjeDc2JiN4NjEmI3g3MyYjeDYzJiN4NzImI3g2OSYjeDcwJiN4"}, 567 | {"naughtyString": "NzQmI3gzQSYjeDYxJiN4NkMmI3g2NSYjeDcyJiN4NzQmI3gyOCYjeDI3JiN4NTgmI3g1MyYjeDUz"}, 568 | {"naughtyString": "JiN4MjcmI3gyOT4="}, 569 | {"naughtyString": "PElNRyBTUkM9ImphdiBhc2NyaXB0OmFsZXJ0KCdYU1MnKTsiPg=="}, 570 | {"naughtyString": "PElNRyBTUkM9ImphdiYjeDA5O2FzY3JpcHQ6YWxlcnQoJ1hTUycpOyI+"}, 571 | {"naughtyString": "PElNRyBTUkM9ImphdiYjeDBBO2FzY3JpcHQ6YWxlcnQoJ1hTUycpOyI+"}, 572 | {"naughtyString": "PElNRyBTUkM9ImphdiYjeDBEO2FzY3JpcHQ6YWxlcnQoJ1hTUycpOyI+"}, 573 | {"naughtyString": "cGVybCAtZSAncHJpbnQgIjxJTUcgU1JDPWphdmEwc2NyaXB0OmFsZXJ0KCJYU1MiKT4iOycgPiBv"}, 574 | {"naughtyString": "dXQ="}, 575 | {"naughtyString": "PElNRyBTUkM9IiAmIzE0OyBqYXZhc2NyaXB0OmFsZXJ0KCdYU1MnKTsiPg=="}, 576 | {"naughtyString": "PFNDUklQVC9YU1MgU1JDPSJodHRwOi8vaGEuY2tlcnMub3JnL3hzcy5qcyI+PC9TQ1JJUFQ+"}, 577 | {"naughtyString": "PEJPRFkgb25sb2FkISMkJSYoKSp+Ky1fLiw6Oz9AWy98XV5gPWFsZXJ0KCJYU1MiKT4="}, 578 | {"naughtyString": "PFNDUklQVC9TUkM9Imh0dHA6Ly9oYS5ja2Vycy5vcmcveHNzLmpzIj48L1NDUklQVD4="}, 579 | {"naughtyString": "PDxTQ1JJUFQ+YWxlcnQoIlhTUyIpOy8vPDwvU0NSSVBUPg=="}, 580 | {"naughtyString": "PFNDUklQVCBTUkM9aHR0cDovL2hhLmNrZXJzLm9yZy94c3MuanM/PCBCID4="}, 581 | {"naughtyString": "PFNDUklQVCBTUkM9Ly9oYS5ja2Vycy5vcmcvLmo+"}, 582 | {"naughtyString": "PElNRyBTUkM9ImphdmFzY3JpcHQ6YWxlcnQoJ1hTUycpIg=="}, 583 | {"naughtyString": "PGlmcmFtZSBzcmM9aHR0cDovL2hhLmNrZXJzLm9yZy9zY3JpcHRsZXQuaHRtbCA8"}, 584 | {"naughtyString": "IjthbGVydCgnWFNTJyk7Ly8="}, 585 | {"naughtyString": "PHUgb25jb3B5PWFsZXJ0KCk+IENvcHkgbWU8L3U+"}, 586 | {"naughtyString": "PGkgb253aGVlbD1hbGVydCgxKT4gU2Nyb2xsIG92ZXIgbWUgPC9pPg=="}, 587 | {"naughtyString": "PHBsYWludGV4dD4="}, 588 | {"naughtyString": "aHR0cDovL2EvJSUzMCUzMA=="}, 589 | {"naughtyString": "PC90ZXh0YXJlYT48c2NyaXB0PmFsZXJ0KDEyMyk8L3NjcmlwdD4="}, 590 | {"naughtyString": "MTtEUk9QIFRBQkxFIHVzZXJz"}, 591 | {"naughtyString": "MSc7IERST1AgVEFCTEUgdXNlcnMtLSAx"}, 592 | {"naughtyString": "JyBPUiAxPTEgLS0gMQ=="}, 593 | {"naughtyString": "JyBPUiAnMSc9JzE="}, 594 | {"naughtyString": "JQ=="}, 595 | {"naughtyString": "Xw=="}, 596 | {"naughtyString": "LQ=="}, 597 | {"naughtyString": "LS0="}, 598 | {"naughtyString": "LS12ZXJzaW9u"}, 599 | {"naughtyString": "LS1oZWxw"}, 600 | {"naughtyString": "JFVTRVI="}, 601 | {"naughtyString": "L2Rldi9udWxsOyB0b3VjaCAvdG1wL2JsbnMuZmFpbCA7IGVjaG8="}, 602 | {"naughtyString": "YHRvdWNoIC90bXAvYmxucy5mYWlsYA=="}, 603 | {"naughtyString": "JCh0b3VjaCAvdG1wL2JsbnMuZmFpbCk="}, 604 | {"naughtyString": "QHtbc3lzdGVtICJ0b3VjaCAvdG1wL2JsbnMuZmFpbCJdfQ=="}, 605 | {"naughtyString": "ZXZhbCgicHV0cyAnaGVsbG8gd29ybGQnIik="}, 606 | {"naughtyString": "U3lzdGVtKCJscyAtYWwgLyIp"}, 607 | {"naughtyString": "YGxzIC1hbCAvYA=="}, 608 | {"naughtyString": "S2VybmVsLmV4ZWMoImxzIC1hbCAvIik="}, 609 | {"naughtyString": "S2VybmVsLmV4aXQoMSk="}, 610 | {"naughtyString": "JXgoJ2xzIC1hbCAvJyk="}, 611 | {"naughtyString": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PjwhRE9DVFlQRSBmb28g"}, 612 | {"naughtyString": "WyA8IUVMRU1FTlQgZm9vIEFOWSA+PCFFTlRJVFkgeHhlIFNZU1RFTSAiZmlsZTovLy9ldGMvcGFz"}, 613 | {"naughtyString": "c3dkIiA+XT48Zm9vPiZ4eGU7PC9mb28+"}, 614 | {"naughtyString": "JEhPTUU="}, 615 | {"naughtyString": "JEVOVnsnSE9NRSd9"}, 616 | {"naughtyString": "JWQ="}, 617 | {"naughtyString": "JXM="}, 618 | {"naughtyString": "ezB9"}, 619 | {"naughtyString": "JSouKnM="}, 620 | {"naughtyString": "Li4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZXRjL3Bhc3N3ZCUwMA=="}, 621 | {"naughtyString": "Li4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZXRjL2hvc3Rz"}, 622 | {"naughtyString": "KCkgeyAwOyB9OyB0b3VjaCAvdG1wL2JsbnMuc2hlbGxzaG9jazEuZmFpbDs="}, 623 | {"naughtyString": "KCkgeyBfOyB9ID5fWyQoJCgpKV0geyB0b3VjaCAvdG1wL2JsbnMuc2hlbGxzaG9jazIuZmFpbDsg"}, 624 | {"naughtyString": "fQ=="}, 625 | {"naughtyString": "PDw8ICVzKHVuPSclcycpID0gJXU="}, 626 | {"naughtyString": "KysrQVRIMA=="}, 627 | {"naughtyString": "Q09O"}, 628 | {"naughtyString": "UFJO"}, 629 | {"naughtyString": "QVVY"}, 630 | {"naughtyString": "Q0xPQ0sk"}, 631 | {"naughtyString": "TlVM"}, 632 | {"naughtyString": "QTo="}, 633 | {"naughtyString": "Wlo6"}, 634 | {"naughtyString": "Q09NMQ=="}, 635 | {"naughtyString": "TFBUMQ=="}, 636 | {"naughtyString": "TFBUMg=="}, 637 | {"naughtyString": "TFBUMw=="}, 638 | {"naughtyString": "Q09NMg=="}, 639 | {"naughtyString": "Q09NMw=="}, 640 | {"naughtyString": "Q09NNA=="}, 641 | {"naughtyString": "RENDIFNFTkQgU1RBUlRLRVlMT0dHRVIgMCAwIDA="}, 642 | {"naughtyString": "U2N1bnRob3JwZSBHZW5lcmFsIEhvc3BpdGFs"}, 643 | {"naughtyString": "UGVuaXN0b25lIENvbW11bml0eSBDaHVyY2g="}, 644 | {"naughtyString": "TGlnaHR3YXRlciBDb3VudHJ5IFBhcms="}, 645 | {"naughtyString": "SmltbXkgQ2xpdGhlcm9l"}, 646 | {"naughtyString": "SG9ybmltYW4gTXVzZXVt"}, 647 | {"naughtyString": "c2hpdGFrZSBtdXNocm9vbXM="}, 648 | {"naughtyString": "Um9tYW5zSW5TdXNzZXguY28udWs="}, 649 | {"naughtyString": "aHR0cDovL3d3dy5jdW0ucWMuY2Ev"}, 650 | {"naughtyString": "Q3JhaWcgQ29ja2J1cm4sIFNvZnR3YXJlIFNwZWNpYWxpc3Q="}, 651 | {"naughtyString": "TGluZGEgQ2FsbGFoYW4="}, 652 | {"naughtyString": "RHIuIEhlcm1hbiBJLiBMaWJzaGl0eg=="}, 653 | {"naughtyString": "bWFnbmEgY3VtIGxhdWRl"}, 654 | {"naughtyString": "U3VwZXIgQm93bCBYWFg="}, 655 | {"naughtyString": "bWVkaWV2YWwgZXJlY3Rpb24gb2YgcGFyYXBldHM="}, 656 | {"naughtyString": "ZXZhbHVhdGU="}, 657 | {"naughtyString": "bW9jaGE="}, 658 | {"naughtyString": "ZXhwcmVzc2lvbg=="}, 659 | {"naughtyString": "QXJzZW5hbCBjYW5hbA=="}, 660 | {"naughtyString": "Y2xhc3NpYw=="}, 661 | {"naughtyString": "VHlzb24gR2F5"}, 662 | {"naughtyString": "RGljayBWYW4gRHlrZQ=="}, 663 | {"naughtyString": "YmFzZW1lbnQ="}, 664 | {"naughtyString": "SWYgeW91J3JlIHJlYWRpbmcgdGhpcywgeW91J3ZlIGJlZW4gaW4gYSBjb21hIGZvciBhbG1vc3Qg"}, 665 | {"naughtyString": "MjAgeWVhcnMgbm93LiBXZSdyZSB0cnlpbmcgYSBuZXcgdGVjaG5pcXVlLiBXZSBkb24ndCBrbm93"}, 666 | {"naughtyString": "IHdoZXJlIHRoaXMgbWVzc2FnZSB3aWxsIGVuZCB1cCBpbiB5b3VyIGRyZWFtLCBidXQgd2UgaG9w"}, 667 | {"naughtyString": "ZSBpdCB3b3Jrcy4gUGxlYXNlIHdha2UgdXAsIHdlIG1pc3MgeW91Lg=="}, 668 | {"naughtyString": "Um9zZXMgYXJlIBtbMDszMW1yZWQbWzBtLCB2aW9sZXRzIGFyZSAbWzA7MzRtYmx1ZS4gSG9wZSB5"}, 669 | {"naughtyString": "b3UgZW5qb3kgdGVybWluYWwgaHVl"}, 670 | {"naughtyString": "QnV0IG5vdy4uLhtbMjBDZm9yIG15IGdyZWF0ZXN0IHRyaWNrLi4uG1s4bQ=="}, 671 | {"naughtyString": "VGhlIHF1aWMICAgICAhrIGJyb3duIGZvBwcHBwcHBwcHBwd4Li4uIFtCZWVlZXBd"}, 672 | {"naughtyString": "UG93ZXLZhNmP2YTZj9i12ZHYqNmP2YTZj9mE2LXZkdio2Y/Ysdix2Ysg4KWjIOClo2gg4KWjIOCl"}, 673 | {"naughtyString": "o+WGlw=="}, 674 | {"naughtyString": "2q/ahtm+2pg="}, 675 | {"naughtyString": "eyUgcHJpbnQgJ3gnICogNjQgKiAxMDI0KiozICV9"}, 676 | {"naughtyString": "e3sgIiIuX19jbGFzc19fLl9fbXJvX19bMl0uX19zdWJjbGFzc2VzX18oKVs0MF0oIi9ldGMvcGFz"}, 677 | {"naughtyString": "c3dkIikucmVhZCgpIH19"} 678 | ] 679 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Packt 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # API-Testing-and-Development-with-Postman-Second-Edition 2 | 3 | This is the code repository for the [API-Testing-and-Development-with-Postman-Second-Edition](https://www.packtpub.com/product/api-testing-and-development-with-postman-second-edition/9781804617908), published by Packt. 4 | More details are below, pick up your copy today! 5 | 6 | **API creation, testing, debugging, and management made easy** 7 | 8 | The author of this book is - [Dave Westerveld](https://www.linkedin.com/in/dave-westerveld-25339a42/) 9 | 10 | ## About the book 11 | Postman is an invaluable tool for exploration and testing of web APIs and helping testers and developers figure out how an API works. With Postman, you can create effective test automation for any APIs, and this guide will help you unleash its full potential. 12 | API Testing and Development with Postman is an invaluable resource for anyone who wants to create a good quality API, but isn't sure how to go about it. This guide will help you unleash the full potential of Postman’s test automation capabilities. 13 | A combination of theory coupled with real-world examples will help you learn how to use Postman to create well-designed, documented, and tested APIs. After you’ve familiarized yourself with the theory, you’ll move on to hands-on projects that will teach you how to add test automation to an existing API. You’ll also learn some of the new and powerful features that Postman has that can help you avoid introducing bugs. 14 | This second, fully updated edition features new chapters on workflow testing, creating and using mock servers, API security testing, and performance testing. The new and expanded information in this edition will help you future-proof your APIs. 15 | By the end of this book, you'll be able to use Postman to set up and run API tests for any API that you are working with. 16 | 17 | 18 | 19 | ## Key Takeaways 20 | - Find out what is involved in effective API testing 21 | - Leverage Postman to improve the quality of you API 22 | - Use data-driven testing in Postman to create scalable API tests 23 | - How to create and use a Mock Server in Postman 24 | - Verify and improve the quality of an API using contract testing 25 | - Understand the basic principles of security testing 26 | - Get to grips with functional and non-functional testing of an API 27 | - Discover how to use industry standards such as OpenAPI and mocking 28 | 29 | 30 | ## What's New 31 | This Second Edition of _API Testing and Development with Postman_ is fully-updated throughout, including modernized coverage on authorization options and API monitoring with Postman. The book also includes four brand-new chapters: Workflow Testing, Creating and using a Mock Server in Postman, API Security Testing, and Performance Testing an API. 32 | 33 | 34 | 35 | ## Outline and Chapter Summary 36 | In a world of fast food, fast fashion, and fast-to-market strategies, does quality even matter? The pressures of the world we live in seem to push us towards taking shortcuts, even when it comes to producing high-quality software. I am doing my part to push back against that world. I think quality matters. We have enough easily broken junk in our lives. It’s time for more quality. 37 | This book is one small stake that I’ve put in the ground in an attempt to help the world see more high-quality software. I hope that whether you are a professional tester, or a developer looking to learn more about testing, you will be able to join me in my attempt to improve the world through quality software applications. 38 | APIs are becoming the backbone of the internet. They help companies to communicate with each other externally and also provide the communication infrastructure for many internal pieces of modern software systems. A marriage is held together by good communication, and so it is with the internet too. Good communication between different services is important to well functioning applications. For that reason, API testing matters for producing good-quality software. 39 | On the surface, this book is primarily about the API testing tool Postman, but I have also tried to weave in examples and teachings that will help you to to use that tool in a way that will have a real impact on quality. If you work through this book, you will gain an in-depth grasp of how Postman works, and you will also have a solid foundation in how to think about API testing in general. I want you to have more than just the ability to manipulate Postman to do what you want it to. I also want you to be able to know when and how to use it so that you can be an effective part of creating high-quality APIs. 40 | 41 | 1. API Terminology and Types 42 | 2. [API Documentation and Design](https://github.com/PacktPublishing/API-Testing-and-Development-with-Postman-Second-Edition/tree/main/Chapter02) 43 | 3. [OpenAPI and API Specifications](https://github.com/PacktPublishing/API-Testing-and-Development-with-Postman-Second-Edition/tree/main/Chapter03) 44 | 4. [Considerations for Good API Test Automation](https://github.com/PacktPublishing/API-Testing-and-Development-with-Postman-Second-Edition/tree/main/Chapter04) 45 | 5. Understanding Authorization Options 46 | 6. [Creating Test Validation Scripts](https://github.com/PacktPublishing/API-Testing-and-Development-with-Postman-Second-Edition/tree/main/Chapter06) 47 | 7. [Data-Driven Testing](https://github.com/PacktPublishing/API-Testing-and-Development-with-Postman-Second-Edition/tree/main/Chapter07) 48 | 8. Workflow Testing 49 | 9. [Running API Tests in CI with Newman](https://github.com/PacktPublishing/API-Testing-and-Development-with-Postman-Second-Edition/tree/main/Chapter09) 50 | 10. Monitoring APIs with Postman 51 | 11. Testing an Existing API 52 | 12. Creating and Using Mock Servers in Postman 53 | 13. [Using Contract Testing to Verify an API](https://github.com/PacktPublishing/API-Testing-and-Development-with-Postman-Second-Edition/tree/main/Chapter13) 54 | 14. [API Security Testing](https://github.com/PacktPublishing/API-Testing-and-Development-with-Postman-Second-Edition/tree/main/Chapter14) 55 | 15. Performance Testing an API 56 | 57 | 58 | 59 | 60 | 61 | ### Chapter 01, API Terminology and Types 62 | Chapter 1, API Terminology and Types, gets you started with some of the basic API terminology and introduces you to the different types of APIs. 63 | 64 | 65 | ### Chapter 02, API Documentation and Design 66 | Chapter 2, API Documentation and Design, covers the design principles that apply to creating and testing APIs, and both how and why to create useful documentation. 67 | 68 | ### Chapter 03, OpenAPI and API Specifications 69 | Chapter 3, Open API and API Specifications, explains what API specifications are and how to get started with using them in Postman. 70 | 71 | ### Chapter 04, Considerations for Good API Test Automation 72 | Chapter 4, Considerations for Good API Test Automation, teaches you how to create and execute valuable and long-lasting API tests in Postman. 73 | 74 | ### Chapter 05, Understanding Authorization Options 75 | Chapter 5, Understanding Authorization Options, walks through how to use many of the API authorization methods available in Postman. 76 | 77 | ### Chapter 06, Creating Test Validation Scripts 78 | Chapter 6, Creating Test Validation Scripts, explains how to create and use test scripts in Postman. 79 | 80 | ### Chapter 07, Data-Driven Testing 81 | Chapter 7, Data-Driven Testing, discusses what data-driven testing is and how to use it to create scalable tests in Postman. 82 | 83 | ### Chapter 08, Workflow Testing 84 | Chapter 8, Workflow Testing, explains what workflow tests are and how to create flows in Postman. 85 | 86 | ### Chapter 09, Running API Tests in CI with Newman 87 | Chapter 9, Running API Tests in CI with Newman, shows how to run Postman API tests at the command line with the Newman runner. 88 | 89 | ### Chapter 10, Monitoring APIs with Postman 90 | Chapter 10, Monitoring APIs with Postman, explains how to monitor product usage of APIs with Postman monitoring. 91 | 92 | ### Chapter 11, Testing an Existing API 93 | Chapter 11, Testing an Existing API, works through a hands-on example that shows what kind of tests to create when testing an existing API. 94 | 95 | ### Chapter 12, Creating and Using Mock Servers in Postman 96 | Chapter 12, Creating and Using Mock Servers in Postman, explains what mock servers are and how to set up and use them in Postman. 97 | 98 | ### Chapter 13, Using Contract Testing to Verify an API 99 | Chapter 13, Using Contract Testing to Verify an API, discusses what contract testing is and shows how to create and use contract testing in Postman. 100 | 101 | ### Chapter 14, API Security Testing 102 | Chapter 14, API Security Testing, gives a brief introduction to security testing and gives an example of setting up fuzz testing in Postman. 103 | 104 | ### Chapter 15, Performance Testing an API 105 | Chapter 15, Performance Testing an API, explains the different types of performance testing and walks through some of the features in Postman that can be used to assess API performance. 106 | 107 | 108 | 109 | 110 | 111 | 112 | ## Know more on the Discord server Coding 113 | You can get more engaged on the discord server for more latest updates and discussions in the community at [Discord](https://discord.com/invite/nEN6EBYPq9) 114 | 115 | 116 | ## Download a free PDF Coding 117 | 118 | _If you have already purchased a print or Kindle version of this book, you can get a DRM-free PDF version at no cost. Simply click on the link to claim your free PDF._ 119 | [Free-Ebook](https://packt.link/free-ebook/9781804617908) Coding 120 | 121 | 122 | We also provide a PDF file that has color images of the screenshots/diagrams used in this book at [GraphicBundle](https://packt.link/gbp/9781804617908) Coding 123 | 124 | 125 | ## Get to know the Author 126 | _Dave Westerveld_ is a developer with many years of testing experience. He has been involved in the testing of numerous projects and he excels at solving automation problems in team environments. He has worked with well-established products and early-stage initiatives, and he is passionate about using automation to improve product quality and to help teams work more efficiently in developing high-value software. Dave has also worked as a developer integrating third-party APIs into applications. Having worked on both the testing and development sides of the SDLC, he has an intimate knowledge of what it takes to create quality code. 127 | 128 | 129 | 130 | 131 | ## Other Related Books 132 | - [Enterprise API Management](https://www.packtpub.com/product/enterprise-api-management/9781787284432) 133 | - [Building an API Product](https://www.packtpub.com/product/building-an-api-product/9781837630448) 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | --------------------------------------------------------------------------------