-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsample-page-object-25112017.json
258 lines (258 loc) · 239 KB
/
sample-page-object-25112017.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
{
"events": [
{
"frameId": 0,
"parentFrameId": -1,
"processId": -1,
"tabId": 840,
"timeStamp": 1511608420274.52,
"url": "https://github.com/franzenzenhofer/f19n-obtrusive-livetest",
"event": "onBeforeNavigate"
},
{
"frameId": 0,
"method": "GET",
"parentFrameId": -1,
"requestId": "3153",
"tabId": 840,
"timeStamp": 1511608420275.369,
"type": "main_frame",
"url": "https://github.com/franzenzenhofer/f19n-obtrusive-livetest",
"event": "onBeforeRequest"
},
{
"frameId": 0,
"method": "GET",
"parentFrameId": -1,
"requestId": "3153",
"tabId": 840,
"timeStamp": 1511608420275.878,
"type": "main_frame",
"url": "https://github.com/franzenzenhofer/f19n-obtrusive-livetest",
"event": "onBeforeSendHeaders"
},
{
"frameId": 0,
"method": "GET",
"parentFrameId": -1,
"requestId": "3153",
"responseHeaders": {
"server": "GitHub.com",
"date": "Sat, 25 Nov 2017 11:13:40 GMT",
"content-type": "text/html; charset=utf-8",
"transfer-encoding": "chunked",
"status": "200 OK",
"cache-control": "no-cache",
"vary": "X-PJAX",
"x-ua-compatible": "IE=Edge,chrome=1",
"set-cookie": "_gh_sess=eyJzZXNzaW9uX2lkIjoiMmM0NWM0OTgxMWZmMTE0MzlkYWFjYWZiMmVjNzg4N2UiLCJsYXN0X3JlYWRfZnJvbV9yZXBsaWNhcyI6MTUxMTYwODQyMDg4Nywic3B5X3JlcG8iOiJmcmFuemVuemVuaG9mZXIvZjE5bi1vYnRydXNpdmUtbGl2ZXRlc3QiLCJzcHlfcmVwb19hdCI6MTUxMTYwODQyMCwiX2NzcmZfdG9rZW4iOiJsOEpyc3ZoS1BIZkZibm5tMy9WQ2R0NUtQMHFWVW9NWTg5NGJycDJwWU9FPSIsImZsYXNoIjp7ImRpc2NhcmQiOlsiYW5hbHl0aWNzX2xvY2F0aW9uIl0sImZsYXNoZXMiOnsiYW5hbHl0aWNzX2xvY2F0aW9uIjoiLzx1c2VyLW5hbWU%2BLzxyZXBvLW5hbWU%2BIn19fQ%3D%3D--f9e0bee8299c0f639435fc7251c739eaef114609; path=/; secure; HttpOnly",
"x-request-id": "267e4d735b75b334e397cdf29bd4c9c4",
"x-runtime": "0.194116",
"expect-ct": "max-age=2592000, report-uri=\"https://api.github.com/_private/browser/errors\"",
"content-security-policy": "default-src 'none'; base-uri 'self'; block-all-mixed-content; child-src render.githubusercontent.com; connect-src 'self' uploads.github.com status.github.com collector.githubapp.com api.github.com www.google-analytics.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com wss://live.github.com; font-src assets-cdn.github.com; form-action 'self' github.com gist.github.com; frame-ancestors 'none'; img-src 'self' data: assets-cdn.github.com identicons.github.com collector.githubapp.com github-cloud.s3.amazonaws.com *.githubusercontent.com; media-src 'none'; script-src assets-cdn.github.com; style-src 'unsafe-inline' assets-cdn.github.com",
"strict-transport-security": "max-age=31536000; includeSubdomains; preload",
"public-key-pins": "max-age=0; pin-sha256=\"WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18=\"; pin-sha256=\"RRM1dGqnDFsCJXBTHky16vi1obOlCgFFn/yOhI/y+ho=\"; pin-sha256=\"k2v657xBsOVe1PQRwOsHsw3bsGT2VzIqz5K+59sNQws=\"; pin-sha256=\"K87oWBWM9UZfyddvDfoxL+8lpNyoUB2ptGtn0fv6G2Q=\"; pin-sha256=\"IQBnNBEiFuhj+8x6X8XLgh01V9Ic5/V3IRQLNFFc7v4=\"; pin-sha256=\"iie1VXtL7HzAMF+/PVPR9xzT80kQxdZeJ+zduCB3uj0=\"; pin-sha256=\"LvRiGEjRqfzurezaWuj8Wie2gyHMrW5Q06LspMnox7A=\"; includeSubDomains",
"x-content-type-options": "nosniff",
"x-frame-options": "deny",
"x-xss-protection": "1; mode=block",
"x-runtime-rack": "0.202081",
"content-encoding": "gzip",
"x-github-request-id": "CEC5:3DB9:3E294EB:6717FE8:5A195064"
},
"statusCode": 200,
"statusLine": "HTTP/1.1 200 OK",
"tabId": 840,
"timeStamp": 1511608420999.146,
"type": "main_frame",
"url": "https://github.com/franzenzenhofer/f19n-obtrusive-livetest",
"rawResponseHeaders": {
"Server": "GitHub.com",
"Date": "Sat, 25 Nov 2017 11:13:40 GMT",
"Content-Type": "text/html; charset=utf-8",
"Transfer-Encoding": "chunked",
"Status": "200 OK",
"Cache-Control": "no-cache",
"Vary": "X-PJAX",
"X-UA-Compatible": "IE=Edge,chrome=1",
"Set-Cookie": "_gh_sess=eyJzZXNzaW9uX2lkIjoiMmM0NWM0OTgxMWZmMTE0MzlkYWFjYWZiMmVjNzg4N2UiLCJsYXN0X3JlYWRfZnJvbV9yZXBsaWNhcyI6MTUxMTYwODQyMDg4Nywic3B5X3JlcG8iOiJmcmFuemVuemVuaG9mZXIvZjE5bi1vYnRydXNpdmUtbGl2ZXRlc3QiLCJzcHlfcmVwb19hdCI6MTUxMTYwODQyMCwiX2NzcmZfdG9rZW4iOiJsOEpyc3ZoS1BIZkZibm5tMy9WQ2R0NUtQMHFWVW9NWTg5NGJycDJwWU9FPSIsImZsYXNoIjp7ImRpc2NhcmQiOlsiYW5hbHl0aWNzX2xvY2F0aW9uIl0sImZsYXNoZXMiOnsiYW5hbHl0aWNzX2xvY2F0aW9uIjoiLzx1c2VyLW5hbWU%2BLzxyZXBvLW5hbWU%2BIn19fQ%3D%3D--f9e0bee8299c0f639435fc7251c739eaef114609; path=/; secure; HttpOnly",
"X-Request-Id": "267e4d735b75b334e397cdf29bd4c9c4",
"X-Runtime": "0.194116",
"Expect-CT": "max-age=2592000, report-uri=\"https://api.github.com/_private/browser/errors\"",
"Content-Security-Policy": "default-src 'none'; base-uri 'self'; block-all-mixed-content; child-src render.githubusercontent.com; connect-src 'self' uploads.github.com status.github.com collector.githubapp.com api.github.com www.google-analytics.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com wss://live.github.com; font-src assets-cdn.github.com; form-action 'self' github.com gist.github.com; frame-ancestors 'none'; img-src 'self' data: assets-cdn.github.com identicons.github.com collector.githubapp.com github-cloud.s3.amazonaws.com *.githubusercontent.com; media-src 'none'; script-src assets-cdn.github.com; style-src 'unsafe-inline' assets-cdn.github.com",
"Strict-Transport-Security": "max-age=31536000; includeSubdomains; preload",
"Public-Key-Pins": "max-age=0; pin-sha256=\"WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18=\"; pin-sha256=\"RRM1dGqnDFsCJXBTHky16vi1obOlCgFFn/yOhI/y+ho=\"; pin-sha256=\"k2v657xBsOVe1PQRwOsHsw3bsGT2VzIqz5K+59sNQws=\"; pin-sha256=\"K87oWBWM9UZfyddvDfoxL+8lpNyoUB2ptGtn0fv6G2Q=\"; pin-sha256=\"IQBnNBEiFuhj+8x6X8XLgh01V9Ic5/V3IRQLNFFc7v4=\"; pin-sha256=\"iie1VXtL7HzAMF+/PVPR9xzT80kQxdZeJ+zduCB3uj0=\"; pin-sha256=\"LvRiGEjRqfzurezaWuj8Wie2gyHMrW5Q06LspMnox7A=\"; includeSubDomains",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "deny",
"X-XSS-Protection": "1; mode=block",
"X-Runtime-rack": "0.202081",
"Content-Encoding": "gzip",
"X-GitHub-Request-Id": "CEC5:3DB9:3E294EB:6717FE8:5A195064"
},
"event": "onHeadersReceived"
},
{
"frameId": 0,
"fromCache": false,
"ip": "192.30.253.112",
"method": "GET",
"parentFrameId": -1,
"requestId": "3153",
"statusCode": 200,
"statusLine": "HTTP/1.1 200 OK",
"tabId": 840,
"timeStamp": 1511608420999.6929,
"type": "main_frame",
"url": "https://github.com/franzenzenhofer/f19n-obtrusive-livetest",
"event": "onResponseStarted"
},
{
"frameId": 0,
"fromCache": false,
"ip": "192.30.253.112",
"method": "GET",
"parentFrameId": -1,
"requestId": "3153",
"statusCode": 200,
"statusLine": "HTTP/1.1 200 OK",
"tabId": 840,
"timeStamp": 1511608421122.655,
"type": "main_frame",
"url": "https://github.com/franzenzenhofer/f19n-obtrusive-livetest",
"event": "onCompleted"
},
{
"frameId": 0,
"processId": 115,
"tabId": 840,
"timeStamp": 1511608421188.3918,
"transitionQualifiers": [
"from_address_bar"
],
"transitionType": "typed",
"url": "https://github.com/franzenzenhofer/f19n-obtrusive-livetest",
"event": "onCommitted"
},
{
"html": "<head>\n <meta charset=\"utf-8\">\n <link rel=\"dns-prefetch\" href=\"https://assets-cdn.github.com\">\n <link rel=\"dns-prefetch\" href=\"https://avatars0.githubusercontent.com\">\n <link rel=\"dns-prefetch\" href=\"https://avatars1.githubusercontent.com\">\n <link rel=\"dns-prefetch\" href=\"https://avatars2.githubusercontent.com\">\n <link rel=\"dns-prefetch\" href=\"https://avatars3.githubusercontent.com\">\n <link rel=\"dns-prefetch\" href=\"https://github-cloud.s3.amazonaws.com\">\n <link rel=\"dns-prefetch\" href=\"https://user-images.githubusercontent.com/\">\n\n\n\n <link crossorigin=\"anonymous\" href=\"https://assets-cdn.github.com/assets/frameworks-c9193575f18b28be82c0a963e144ff6fa7a809dd8ae003a1d1e5979bed3f7f00.css\" integrity=\"sha256-yRk1dfGLKL6CwKlj4UT/b6eoCd2K4AOh0eWXm+0/fwA=\" media=\"all\" rel=\"stylesheet\">\n <link crossorigin=\"anonymous\" href=\"https://assets-cdn.github.com/assets/github-e44ecf269c9d06cd9d34f65adaef2eb78a65fda33728f88a2340fc220b40f160.css\" integrity=\"sha256-5E7PJpydBs2dNPZa2u8ut4pl/aM3KPiKI0D8IgtA8WA=\" media=\"all\" rel=\"stylesheet\">\n \n \n <link crossorigin=\"anonymous\" href=\"https://assets-cdn.github.com/assets/site-40d3ebebbd14d73c1a2f449e109a016ab13b3ba29987bc4f8eff487787682a7b.css\" integrity=\"sha256-QNPr670U1zwaL0SeEJoBarE7O6KZh7xPjv9Id4doKns=\" media=\"all\" rel=\"stylesheet\">\n \n\n <meta name=\"viewport\" content=\"width=device-width\">\n \n <title>GitHub - franzenzenhofer/f19n-obtrusive-livetest: A sandboxed, extendable testing chrome extension and framework! It runs pre-defined and custom tests on each page that you visit.</title>\n <link rel=\"search\" type=\"application/opensearchdescription+xml\" href=\"/opensearch.xml\" title=\"GitHub\">\n <link rel=\"fluid-icon\" href=\"https://github.com/fluidicon.png\" title=\"GitHub\">\n <meta property=\"fb:app_id\" content=\"1401488693436528\">\n\n \n <meta content=\"https://avatars0.githubusercontent.com/u/323190?s=400&v=4\" property=\"og:image\"><meta content=\"GitHub\" property=\"og:site_name\"><meta content=\"object\" property=\"og:type\"><meta content=\"franzenzenhofer/f19n-obtrusive-livetest\" property=\"og:title\"><meta content=\"https://github.com/franzenzenhofer/f19n-obtrusive-livetest\" property=\"og:url\"><meta content=\"f19n-obtrusive-livetest - A sandboxed, extendable testing chrome extension and framework! It runs pre-defined and custom tests on each page that you visit.\" property=\"og:description\">\n\n <link rel=\"assets\" href=\"https://assets-cdn.github.com/\">\n \n <meta name=\"pjax-timeout\" content=\"1000\">\n \n <meta name=\"request-id\" content=\"CEC5:3DB9:3E294EB:6717FE8:5A195064\" data-pjax-transient=\"\">\n \n\n <meta name=\"selected-link\" value=\"repo_source\" data-pjax-transient=\"\">\n\n <meta name=\"google-site-verification\" content=\"KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU\">\n<meta name=\"google-site-verification\" content=\"ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA\">\n <meta name=\"google-analytics\" content=\"UA-3769691-2\">\n\n<meta content=\"collector.githubapp.com\" name=\"octolytics-host\"><meta content=\"github\" name=\"octolytics-app-id\"><meta content=\"https://collector.githubapp.com/github-external/browser_event\" name=\"octolytics-event-url\"><meta content=\"CEC5:3DB9:3E294EB:6717FE8:5A195064\" name=\"octolytics-dimension-request_id\"><meta content=\"iad\" name=\"octolytics-dimension-region_edge\"><meta content=\"iad\" name=\"octolytics-dimension-region_render\">\n<meta content=\"/<user-name>/<repo-name>\" data-pjax-transient=\"true\" name=\"analytics-location\">\n\n\n\n\n <meta class=\"js-ga-set\" name=\"dimension1\" content=\"Logged Out\">\n\n\n \n\n <meta name=\"hostname\" content=\"github.com\">\n <meta name=\"user-login\" content=\"\">\n\n <meta name=\"expected-hostname\" content=\"github.com\">\n <meta name=\"js-proxy-site-detection-payload\" content=\"NjY5ODZlNzJmOTQ2MDZkODUyMWYyMGVkMzlhYTU2OGYxYTcwZGI4YzU1ZWQ4NjcwM2U4M2RmNDQ0OWU2NTdiZnx7InJlbW90ZV9hZGRyZXNzIjoiODAuMTEwLjI5LjE5OSIsInJlcXVlc3RfaWQiOiJDRUM1OjNEQjk6M0UyOTRFQjo2NzE3RkU4OjVBMTk1MDY0IiwidGltZXN0YW1wIjoxNTExNjA4NDIwLCJob3N0IjoiZ2l0aHViLmNvbSJ9\">\n\n\n <meta name=\"html-safe-nonce\" content=\"e85cea2a1d89e34365cca1ccd14148a10e250d8b\">\n\n <meta http-equiv=\"x-pjax-version\" content=\"d93dfdd0f8a6df8043728c1632cc76ef\">\n \n\n <link href=\"https://github.com/franzenzenhofer/f19n-obtrusive-livetest/commits/master.atom\" rel=\"alternate\" title=\"Recent Commits to f19n-obtrusive-livetest:master\" type=\"application/atom+xml\">\n\n <meta name=\"description\" content=\"f19n-obtrusive-livetest - A sandboxed, extendable testing chrome extension and framework! It runs pre-defined and custom tests on each page that you visit.\">\n <meta name=\"go-import\" content=\"github.com/franzenzenhofer/f19n-obtrusive-livetest git https://github.com/franzenzenhofer/f19n-obtrusive-livetest.git\">\n\n <meta content=\"323190\" name=\"octolytics-dimension-user_id\"><meta content=\"franzenzenhofer\" name=\"octolytics-dimension-user_login\"><meta content=\"56598478\" name=\"octolytics-dimension-repository_id\"><meta content=\"franzenzenhofer/f19n-obtrusive-livetest\" name=\"octolytics-dimension-repository_nwo\"><meta content=\"true\" name=\"octolytics-dimension-repository_public\"><meta content=\"false\" name=\"octolytics-dimension-repository_is_fork\"><meta content=\"56598478\" name=\"octolytics-dimension-repository_network_root_id\"><meta content=\"franzenzenhofer/f19n-obtrusive-livetest\" name=\"octolytics-dimension-repository_network_root_nwo\"><meta content=\"false\" name=\"octolytics-dimension-repository_explore_github_marketplace_ci_cta_shown\">\n\n\n <link rel=\"canonical\" href=\"https://github.com/franzenzenhofer/f19n-obtrusive-livetest\" data-pjax-transient=\"\">\n\n\n <meta name=\"browser-stats-url\" content=\"https://api.github.com/_private/browser/stats\">\n\n <meta name=\"browser-errors-url\" content=\"https://api.github.com/_private/browser/errors\">\n\n <link rel=\"mask-icon\" href=\"https://assets-cdn.github.com/pinned-octocat.svg\" color=\"#000000\">\n <link rel=\"icon\" type=\"image/x-icon\" class=\"js-site-favicon\" href=\"https://assets-cdn.github.com/favicon.ico\">\n\n<meta name=\"theme-color\" content=\"#1e2327\">\n\n\n <meta name=\"u2f-support\" content=\"true\">\n\n </head>\n\n <body class=\"logged-out env-production emoji-size-boost\">\n \n\n <div class=\"position-relative js-header-wrapper \">\n <a href=\"#start-of-content\" tabindex=\"1\" class=\"px-2 py-4 show-on-focus js-skip-to-content\">Skip to content</a>\n <div id=\"js-pjax-loader-bar\" class=\"pjax-loader-bar\"><div class=\"progress\"></div></div>\n\n \n \n \n\n\n\n <header class=\"Header header-logged-out position-relative f4 py-3\" role=\"banner\">\n <div class=\"container-lg d-flex px-3\">\n <div class=\"d-flex flex-justify-between flex-items-center\">\n <a class=\"header-logo-invertocat my-0\" href=\"https://github.com/\" aria-label=\"Homepage\" data-ga-click=\"(Logged out) Header, go to homepage, icon:logo-wordmark\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-mark-github\" height=\"32\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"32\"><path fill-rule=\"evenodd\" d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z\"></path></svg>\n </a>\n\n </div>\n\n <div class=\"HeaderMenu HeaderMenu--bright d-flex flex-justify-between flex-auto\">\n <nav class=\"mt-0\">\n <ul class=\"d-flex list-style-none\">\n <li class=\"ml-2\">\n <a href=\"/features\" class=\"js-selected-navigation-item HeaderNavlink px-0 py-2 m-0\" data-ga-click=\"Header, click, Nav menu - item:features\" data-selected-links=\"/features /features/project-management /features/code-review /features/project-management /features/integrations /features\">\n Features\n</a> </li>\n <li class=\"ml-4\">\n <a href=\"/business\" class=\"js-selected-navigation-item HeaderNavlink px-0 py-2 m-0\" data-ga-click=\"Header, click, Nav menu - item:business\" data-selected-links=\"/business /business/security /business/customers /business\">\n Business\n</a> </li>\n\n <li class=\"ml-4\">\n <a href=\"/explore\" class=\"js-selected-navigation-item HeaderNavlink px-0 py-2 m-0\" data-ga-click=\"Header, click, Nav menu - item:explore\" data-selected-links=\"/explore /trending /trending/developers /integrations /integrations/feature/code /integrations/feature/collaborate /integrations/feature/ship showcases showcases_search showcases_landing /explore\">\n Explore\n</a> </li>\n\n <li class=\"ml-4\">\n <a href=\"/marketplace\" class=\"js-selected-navigation-item HeaderNavlink px-0 py-2 m-0\" data-ga-click=\"Header, click, Nav menu - item:marketplace\" data-selected-links=\" /marketplace\">\n Marketplace\n</a> </li>\n <li class=\"ml-4\">\n <a href=\"/pricing\" class=\"js-selected-navigation-item HeaderNavlink px-0 py-2 m-0\" data-ga-click=\"Header, click, Nav menu - item:pricing\" data-selected-links=\"/pricing /pricing/developer /pricing/team /pricing/business-hosted /pricing/business-enterprise /pricing\">\n Pricing\n</a> </li>\n </ul>\n </nav>\n\n <div class=\"d-flex\">\n <div class=\"d-lg-flex flex-items-center mr-3\">\n <div class=\"header-search scoped-search site-scoped-search js-site-search\" role=\"search\">\n <!-- '\"` --><!-- </textarea></xmp> --><form accept-charset=\"UTF-8\" action=\"/franzenzenhofer/f19n-obtrusive-livetest/search\" class=\"js-site-search-form\" data-scoped-search-url=\"/franzenzenhofer/f19n-obtrusive-livetest/search\" data-unscoped-search-url=\"/search\" method=\"get\"><div style=\"margin:0;padding:0;display:inline\"><input name=\"utf8\" type=\"hidden\" value=\"✓\"></div>\n <label class=\"form-control header-search-wrapper js-chromeless-input-container\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest\" class=\"header-search-scope no-underline\">This repository</a>\n <input type=\"text\" class=\"form-control header-search-input js-site-search-focus js-site-search-field is-clearable\" data-hotkey=\"s\" name=\"q\" value=\"\" placeholder=\"Search\" aria-label=\"Search this repository\" data-unscoped-placeholder=\"Search GitHub\" data-scoped-placeholder=\"Search\" autocapitalize=\"off\">\n <input type=\"hidden\" class=\"js-site-search-type-field\" name=\"type\">\n </label>\n</form></div>\n\n </div>\n\n <span class=\"d-inline-block\">\n <div class=\"HeaderNavlink px-0 py-2 m-0\">\n <a class=\"text-bold text-white no-underline\" href=\"/login?return_to=%2Ffranzenzenhofer%2Ff19n-obtrusive-livetest\" data-ga-click=\"(Logged out) Header, clicked Sign in, text:sign-in\">Sign in</a>\n <span class=\"text-gray\">or</span>\n <a class=\"text-bold text-white no-underline\" href=\"/join?source=header-repo\" data-ga-click=\"(Logged out) Header, clicked Sign up, text:sign-up\">Sign up</a>\n </div>\n </span>\n </div>\n </div>\n </div>\n</header>\n\n\n </div>\n\n <div id=\"start-of-content\" class=\"show-on-focus\"></div>\n\n <div id=\"js-flash-container\">\n</div>\n\n\n\n <div role=\"main\">\n <div itemscope=\"\" itemtype=\"http://schema.org/SoftwareSourceCode\">\n <div id=\"js-repo-pjax-container\" data-pjax-container=\"\">\n \n\n\n\n\n <div class=\"pagehead repohead instapaper_ignore readability-menu experiment-repo-nav \">\n <div class=\"repohead-details-container clearfix container \">\n\n <ul class=\"pagehead-actions\">\n <li>\n <a href=\"/login?return_to=%2Ffranzenzenhofer%2Ff19n-obtrusive-livetest\" class=\"btn btn-sm btn-with-count tooltipped tooltipped-n\" aria-label=\"You must be signed in to watch a repository\" rel=\"nofollow\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-eye\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z\"></path></svg>\n Watch\n </a>\n <a class=\"social-count\" href=\"/franzenzenhofer/f19n-obtrusive-livetest/watchers\" aria-label=\"4 users are watching this repository\">\n 4\n </a>\n\n </li>\n\n <li>\n <a href=\"/login?return_to=%2Ffranzenzenhofer%2Ff19n-obtrusive-livetest\" class=\"btn btn-sm btn-with-count tooltipped tooltipped-n\" aria-label=\"You must be signed in to star a repository\" rel=\"nofollow\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-star\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74z\"></path></svg>\n Star\n </a>\n\n <a class=\"social-count js-social-count\" href=\"/franzenzenhofer/f19n-obtrusive-livetest/stargazers\" aria-label=\"13 users starred this repository\">\n 13\n </a>\n\n </li>\n\n <li>\n <a href=\"/login?return_to=%2Ffranzenzenhofer%2Ff19n-obtrusive-livetest\" class=\"btn btn-sm btn-with-count tooltipped tooltipped-n\" aria-label=\"You must be signed in to fork a repository\" rel=\"nofollow\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-repo-forked\" height=\"16\" version=\"1.1\" viewBox=\"0 0 10 16\" width=\"10\"><path fill-rule=\"evenodd\" d=\"M8 1a1.993 1.993 0 0 0-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V6.5l3 3v1.78A1.993 1.993 0 0 0 5 15a1.993 1.993 0 0 0 1-3.72V9.5l3-3V4.72A1.993 1.993 0 0 0 8 1zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3 10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z\"></path></svg>\n Fork\n </a>\n\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/network\" class=\"social-count\" aria-label=\"1 user forked this repository\">\n 1\n </a>\n </li>\n</ul>\n\n <h1 class=\"public \">\n <svg aria-hidden=\"true\" class=\"octicon octicon-repo\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path fill-rule=\"evenodd\" d=\"M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z\"></path></svg>\n <span class=\"author\" itemprop=\"author\"><a href=\"/franzenzenhofer\" class=\"url fn\" rel=\"author\">franzenzenhofer</a></span><!--\n--><span class=\"path-divider\">/</span><!--\n--><strong itemprop=\"name\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest\" data-pjax=\"#js-repo-pjax-container\">f19n-obtrusive-livetest</a></strong>\n\n</h1>\n\n </div>\n \n<nav class=\"reponav js-repo-nav js-sidenav-container-pjax container\" itemscope=\"\" itemtype=\"http://schema.org/BreadcrumbList\" role=\"navigation\" data-pjax=\"#js-repo-pjax-container\">\n\n <span itemscope=\"\" itemtype=\"http://schema.org/ListItem\" itemprop=\"itemListElement\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest\" class=\"js-selected-navigation-item selected reponav-item\" data-hotkey=\"g c\" data-selected-links=\"repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages /franzenzenhofer/f19n-obtrusive-livetest\" itemprop=\"url\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-code\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M9.5 3L8 4.5 11.5 8 8 11.5 9.5 13 14 8 9.5 3zm-5 0L0 8l4.5 5L6 11.5 2.5 8 6 4.5 4.5 3z\"></path></svg>\n <span itemprop=\"name\">Code</span>\n <meta itemprop=\"position\" content=\"1\">\n</a> </span>\n\n <span itemscope=\"\" itemtype=\"http://schema.org/ListItem\" itemprop=\"itemListElement\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/issues\" class=\"js-selected-navigation-item reponav-item\" data-hotkey=\"g i\" data-selected-links=\"repo_issues repo_labels repo_milestones /franzenzenhofer/f19n-obtrusive-livetest/issues\" itemprop=\"url\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-issue-opened\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z\"></path></svg>\n <span itemprop=\"name\">Issues</span>\n <span class=\"Counter\">2</span>\n <meta itemprop=\"position\" content=\"2\">\n</a> </span>\n\n <span itemscope=\"\" itemtype=\"http://schema.org/ListItem\" itemprop=\"itemListElement\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/pulls\" class=\"js-selected-navigation-item reponav-item\" data-hotkey=\"g p\" data-selected-links=\"repo_pulls /franzenzenhofer/f19n-obtrusive-livetest/pulls\" itemprop=\"url\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-git-pull-request\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path fill-rule=\"evenodd\" d=\"M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z\"></path></svg>\n <span itemprop=\"name\">Pull requests</span>\n <span class=\"Counter\">0</span>\n <meta itemprop=\"position\" content=\"3\">\n</a> </span>\n\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/projects\" class=\"js-selected-navigation-item reponav-item\" data-hotkey=\"g b\" data-selected-links=\"repo_projects new_repo_project repo_project /franzenzenhofer/f19n-obtrusive-livetest/projects\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-project\" height=\"16\" version=\"1.1\" viewBox=\"0 0 15 16\" width=\"15\"><path fill-rule=\"evenodd\" d=\"M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z\"></path></svg>\n Projects\n <span class=\"Counter\">0</span>\n</a>\n\n\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/pulse\" class=\"js-selected-navigation-item reponav-item\" data-selected-links=\"repo_graphs repo_contributors dependency_graph pulse /franzenzenhofer/f19n-obtrusive-livetest/pulse\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-graph\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M16 14v1H0V0h1v14h15zM5 13H3V8h2v5zm4 0H7V3h2v10zm4 0h-2V6h2v7z\"></path></svg>\n Insights\n</a>\n\n</nav>\n\n\n </div>\n\n<div class=\"container new-discussion-timeline experiment-repo-nav\">\n <div class=\"repository-content\">\n\n \n <div class=\"signup-prompt-bg rounded-1\">\n <div class=\"signup-prompt p-4 text-center mb-4 rounded-1\">\n <div class=\"position-relative\">\n <!-- '\"` --><!-- </textarea></xmp> --><form accept-charset=\"UTF-8\" action=\"/site/dismiss_signup_prompt\" method=\"post\"><div style=\"margin:0;padding:0;display:inline\"><input name=\"utf8\" type=\"hidden\" value=\"✓\"><input name=\"authenticity_token\" type=\"hidden\" value=\"lelx7dFetFNMB4zbb2kOVbo4EVjP/dRWKMtA5R0Fv866K0bPxL6/hLPuxSUW24SM33b2ZUFFiX4q8f+sXps3cQ==\"></div>\n <button type=\"submit\" class=\"position-absolute top-0 right-0 btn-link link-gray\" data-ga-click=\"(Logged out) Sign up prompt, clicked Dismiss, text:dismiss\">\n Dismiss\n </button>\n</form>\n <h3 class=\"pt-2\">Join GitHub today</h3>\n <p class=\"col-6 mx-auto\">GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.</p>\n <p class=\"pb-2\">\n <a class=\"btn btn-blue\" href=\"/join?source=prompt-code\" data-ga-click=\"(Logged out) Sign up prompt, clicked Sign up, text:sign-up\">Sign up</a>\n </p>\n </div>\n </div>\n </div>\n\n\n <div class=\"js-repo-meta-container\">\n <div class=\"repository-meta mb-0 js-repo-meta-edit js-details-container \">\n <div class=\"repository-meta-content col-11 mb-1\">\n <span class=\"col-11 text-gray-dark mr-2\" itemprop=\"about\">\n A sandboxed, extendable testing chrome extension and framework! It runs pre-defined and custom tests on each page that you visit.\n </span>\n <span itemprop=\"url\"><a href=\"https://chrome.google.com/webstore/detail/f19n-obstrusive-live-test/jbnaibigcohjfefpfocphcjeliohhold?hl=en\" rel=\"nofollow\">https://chrome.google.com/webstore/de…</a></span>\n </div>\n\n </div>\n\n <div class=\"mb-3 repository-topics-container js-repository-topics-container js-details-container\">\n <div id=\"topics-list-container\" data-url=\"/franzenzenhofer/f19n-obtrusive-livetest/settings/topics\">\n <div class=\"list-topics-container f6 mt-1\">\n <a href=\"/topics/chrome\" class=\"topic-tag topic-tag-link\" data-ga-click=\"Topic, repository page\" data-octo-click=\"topic_click\" data-octo-dimensions=\"topic:chrome\">\n chrome\n </a>\n <a href=\"/topics/chrome-extension\" class=\"topic-tag topic-tag-link\" data-ga-click=\"Topic, repository page\" data-octo-click=\"topic_click\" data-octo-dimensions=\"topic:chrome-extension\">\n chrome-extension\n </a>\n <a href=\"/topics/devtools\" class=\"topic-tag topic-tag-link\" data-ga-click=\"Topic, repository page\" data-octo-click=\"topic_click\" data-octo-dimensions=\"topic:devtools\">\n devtools\n </a>\n <a href=\"/topics/seo\" class=\"topic-tag topic-tag-link\" data-ga-click=\"Topic, repository page\" data-octo-click=\"topic_click\" data-octo-dimensions=\"topic:seo\">\n seo\n </a>\n <a href=\"/topics/webperformance\" class=\"topic-tag topic-tag-link\" data-ga-click=\"Topic, repository page\" data-octo-click=\"topic_click\" data-octo-dimensions=\"topic:webperformance\">\n webperformance\n </a>\n </div>\n\n\n </div>\n\n </div>\n</div>\n\n\n\n <div class=\"overall-summary overall-summary-bottomless\">\n <div class=\"stats-switcher-viewport js-stats-switcher-viewport\">\n <div class=\"stats-switcher-wrapper\">\n <ul class=\"numbers-summary\">\n <li class=\"commits\">\n <a data-pjax=\"\" href=\"/franzenzenhofer/f19n-obtrusive-livetest/commits/master\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-history\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M8 13H6V6h5v2H8v5zM7 1C4.81 1 2.87 2.02 1.59 3.59L0 2v4h4L2.5 4.5C3.55 3.17 5.17 2.3 7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-.34.03-.67.09-1H.08C.03 7.33 0 7.66 0 8c0 3.86 3.14 7 7 7s7-3.14 7-7-3.14-7-7-7z\"></path></svg>\n <span class=\"num text-emphasized\">\n 351\n </span>\n commits\n </a>\n </li>\n <li>\n <a data-pjax=\"\" href=\"/franzenzenhofer/f19n-obtrusive-livetest/branches\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-git-branch\" height=\"16\" version=\"1.1\" viewBox=\"0 0 10 16\" width=\"10\"><path fill-rule=\"evenodd\" d=\"M10 5c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v.3c-.02.52-.23.98-.63 1.38-.4.4-.86.61-1.38.63-.83.02-1.48.16-2 .45V4.72a1.993 1.993 0 0 0-1-3.72C.88 1 0 1.89 0 3a2 2 0 0 0 1 1.72v6.56c-.59.35-1 .99-1 1.72 0 1.11.89 2 2 2 1.11 0 2-.89 2-2 0-.53-.2-1-.53-1.36.09-.06.48-.41.59-.47.25-.11.56-.17.94-.17 1.05-.05 1.95-.45 2.75-1.25S8.95 7.77 9 6.73h-.02C9.59 6.37 10 5.73 10 5zM2 1.8c.66 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2C1.35 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2zm0 12.41c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm6-8c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z\"></path></svg>\n <span class=\"num text-emphasized\">\n 2\n </span>\n branches\n </a>\n </li>\n\n <li>\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/releases\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-tag\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 0 0 0-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z\"></path></svg>\n <span class=\"num text-emphasized\">\n 0\n </span>\n releases\n </a>\n </li>\n\n <li>\n <include-fragment src=\"/franzenzenhofer/f19n-obtrusive-livetest/contributors_size\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/graphs/contributors\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-organization\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M16 12.999c0 .439-.45 1-1 1H7.995c-.539 0-.994-.447-.995-.999H1c-.54 0-1-.561-1-1 0-2.634 3-4 3-4s.229-.409 0-1c-.841-.621-1.058-.59-1-3 .058-2.419 1.367-3 2.5-3s2.442.58 2.5 3c.058 2.41-.159 2.379-1 3-.229.59 0 1 0 1s1.549.711 2.42 2.088C9.196 9.369 10 8.999 10 8.999s.229-.409 0-1c-.841-.62-1.058-.59-1-3 .058-2.419 1.367-3 2.5-3s2.437.581 2.495 3c.059 2.41-.158 2.38-1 3-.229.59 0 1 0 1s3.005 1.366 3.005 4\"></path></svg>\n <span class=\"num text-emphasized\"></span>\n Fetching contributors\n </a>\n</include-fragment> </li>\n </ul>\n\n <div class=\"repository-lang-stats\">\n <ol class=\"repository-lang-stats-numbers\">\n <li>\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/search?l=javascript\" data-ga-click=\"Repository, language stats search click, location:repo overview\">\n <span class=\"color-block language-color\" style=\"background-color:#f1e05a;\"></span>\n <span class=\"lang\">JavaScript</span>\n <span class=\"percent\">91.9%</span>\n </a>\n </li>\n <li>\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/search?l=css\" data-ga-click=\"Repository, language stats search click, location:repo overview\">\n <span class=\"color-block language-color\" style=\"background-color:#563d7c;\"></span>\n <span class=\"lang\">CSS</span>\n <span class=\"percent\">7.3%</span>\n </a>\n </li>\n <li>\n <span class=\"other\">\n <span class=\"color-block language-color\" style=\"background-color:#ededed;\"></span>\n <span class=\"lang\">Other</span>\n <span class=\"percent\">0.8%</span>\n </span>\n </li>\n </ol>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"repository-lang-stats-graph js-toggle-lang-stats\" title=\"Click for language details\" data-ga-click=\"Repository, language bar stats toggle, location:repo overview\">\n <span class=\"language-color\" aria-label=\"JavaScript 91.9%\" style=\"width:91.9%; background-color:#f1e05a;\" itemprop=\"keywords\">JavaScript</span>\n <span class=\"language-color\" aria-label=\"CSS 7.3%\" style=\"width:7.3%; background-color:#563d7c;\" itemprop=\"keywords\">CSS</span>\n <span class=\"language-color\" aria-label=\"Other 0.8%\" style=\"width:0.8%; background-color:#ededed;\" itemprop=\"keywords\">Other</span>\n </div>\n\n\n\n <div class=\"file-navigation in-mid-page\">\n\n <details class=\"get-repo-select-menu js-menu-container float-right position-relative dropdown-details\">\n <summary class=\"btn btn-sm btn-primary\">\n Clone or download\n <span class=\"dropdown-caret\"></span>\n </summary>\n <div class=\"position-relative\">\n <div class=\"get-repo-modal dropdown-menu dropdown-menu-sw pb-0 js-toggler-container \">\n <div class=\"clone-options https-clone-options\">\n\n <h4 class=\"mb-1\">\n Clone with HTTPS\n <a class=\"muted-link\" href=\"https://help.github.com/articles/which-remote-url-should-i-use\" target=\"_blank\" title=\"Which remote URL should I use?\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-question\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M6 10h2v2H6v-2zm4-3.5C10 8.64 8 9 8 9H6c0-.55.45-1 1-1h.5c.28 0 .5-.22.5-.5v-1c0-.28-.22-.5-.5-.5h-1c-.28 0-.5.22-.5.5V7H4c0-1.5 1.5-3 3-3s3 1 3 2.5zM7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7z\"></path></svg>\n </a>\n </h4>\n <p class=\"mb-2 get-repo-decription-text\">\n Use Git or checkout with SVN using the web URL.\n </p>\n\n <div class=\"input-group js-zeroclipboard-container\">\n <input type=\"text\" class=\"form-control input-monospace input-sm js-zeroclipboard-target js-url-field\" value=\"https://github.com/franzenzenhofer/f19n-obtrusive-livetest.git\" aria-label=\"Clone this repository at https://github.com/franzenzenhofer/f19n-obtrusive-livetest.git\" readonly=\"\">\n <div class=\"input-group-button\">\n <button aria-label=\"Copy to clipboard\" class=\"js-zeroclipboard btn btn-sm zeroclipboard-button tooltipped tooltipped-s\" data-copied-hint=\"Copied!\" type=\"button\"><svg aria-hidden=\"true\" class=\"octicon octicon-clippy\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9zM2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z\"></path></svg></button>\n </div>\n</div>\n\n </div>\n\n <div class=\"mt-2\">\n <a href=\"https://desktop.github.com\" class=\"btn btn-outline get-repo-btn tooltipped tooltipped-s tooltipped-multiline\" aria-label=\"Clone franzenzenhofer/f19n-obtrusive-livetest to your computer and use it in GitHub Desktop.\">\n Open in Desktop\n </a>\n\n<a href=\"/franzenzenhofer/f19n-obtrusive-livetest/archive/master.zip\" class=\"btn btn-outline get-repo-btn\n\" rel=\"nofollow\" data-ga-click=\"Repository, download zip, location:repo overview\">\n Download ZIP\n</a>\n\n </div>\n </div>\n </div>\n</details>\n\n\n <div class=\"BtnGroup float-right\">\n\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/find/master\" class=\"btn btn-sm empty-icon float-right BtnGroup-item\" data-pjax=\"\" data-hotkey=\"t\" data-ga-click=\"Repository, find file, location:repo overview\">\n Find file\n </a>\n </div>\n\n \n<div class=\"select-menu branch-select-menu js-menu-container js-select-menu float-left\">\n <button class=\" btn btn-sm select-menu-button js-menu-target css-truncate\" data-hotkey=\"w\" type=\"button\" aria-label=\"Switch branches or tags\" aria-expanded=\"false\" aria-haspopup=\"true\">\n <i>Branch:</i>\n <span class=\"js-select-button css-truncate-target\">master</span>\n </button>\n\n <div class=\"select-menu-modal-holder js-menu-content js-navigation-container\" data-pjax=\"\">\n\n <div class=\"select-menu-modal\">\n <div class=\"select-menu-header\">\n <svg aria-label=\"Close\" class=\"octicon octicon-x js-menu-close\" height=\"16\" role=\"img\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path fill-rule=\"evenodd\" d=\"M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z\"></path></svg>\n <span class=\"select-menu-title\">Switch branches/tags</span>\n </div>\n\n <div class=\"select-menu-filters\">\n <div class=\"select-menu-text-filter\">\n <input type=\"text\" aria-label=\"Filter branches/tags\" id=\"context-commitish-filter-field\" class=\"form-control js-filterable-field js-navigation-enable\" placeholder=\"Filter branches/tags\">\n </div>\n <div class=\"select-menu-tabs\">\n <ul>\n <li class=\"select-menu-tab\">\n <a href=\"#\" data-tab-filter=\"branches\" data-filter-placeholder=\"Filter branches/tags\" class=\"js-select-menu-tab\" role=\"tab\">Branches</a>\n </li>\n <li class=\"select-menu-tab\">\n <a href=\"#\" data-tab-filter=\"tags\" data-filter-placeholder=\"Find a tag…\" class=\"js-select-menu-tab\" role=\"tab\">Tags</a>\n </li>\n </ul>\n </div>\n </div>\n\n <div class=\"select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket\" data-tab-filter=\"branches\" role=\"menu\">\n\n <div data-filterable-for=\"context-commitish-filter-field\" data-filterable-type=\"substring\">\n\n\n <a class=\"select-menu-item js-navigation-item js-navigation-open \" href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/async-rules\" data-name=\"async-rules\" data-skip-pjax=\"true\" rel=\"nofollow\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-check select-menu-item-icon\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path fill-rule=\"evenodd\" d=\"M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z\"></path></svg>\n <span class=\"select-menu-item-text css-truncate-target js-select-menu-filter-text\">\n async-rules\n </span>\n </a>\n <a class=\"select-menu-item js-navigation-item js-navigation-open selected\" href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/master\" data-name=\"master\" data-skip-pjax=\"true\" rel=\"nofollow\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-check select-menu-item-icon\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path fill-rule=\"evenodd\" d=\"M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z\"></path></svg>\n <span class=\"select-menu-item-text css-truncate-target js-select-menu-filter-text\">\n master\n </span>\n </a>\n </div>\n\n <div class=\"select-menu-no-results\">Nothing to show</div>\n </div>\n\n <div class=\"select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket\" data-tab-filter=\"tags\">\n <div data-filterable-for=\"context-commitish-filter-field\" data-filterable-type=\"substring\">\n\n\n </div>\n\n <div class=\"select-menu-no-results\">Nothing to show</div>\n </div>\n\n </div>\n </div>\n</div>\n\n\n <button type=\"button\" class=\"btn btn-sm disabled tooltipped tooltipped-n new-pull-request-btn\" aria-label=\"You must be signed in to create a pull request\">\n New pull request\n </button>\n\n <div class=\"breadcrumb\">\n \n </div>\n</div>\n\n\n \n\n\n <div class=\"commit-tease js-details-container Details\">\n <span class=\"float-right\">\n Latest commit\n <a class=\"commit-tease-sha\" href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/81b93d5d7b8272baac596e3f92a4b0a511ee7704\" data-pjax=\"\">\n 81b93d5\n </a>\n <span itemprop=\"dateModified\"><relative-time datetime=\"2017-11-19T21:44:23Z\" title=\"19 Nov 2017, 22:44 CET\">6 days ago</relative-time></span>\n </span>\n\n\n <span class=\"commit-author-section\">\n <a href=\"/franzenzenhofer\" class=\"d-inline-block\">\n <img src=\"https://avatars3.githubusercontent.com/u/323190?s=40&v=4\" width=\"20\" height=\"20\" class=\"avatar avatar-small\" alt=\"@franzenzenhofer\">\n </a>\n \n <a href=\"/franzenzenhofer\" class=\"user-mention\">franzenzenhofer</a>\n\n </span>\n\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/81b93d5d7b8272baac596e3f92a4b0a511ee7704\" class=\"message\" data-pjax=\"true\" title=\"new version\">new version</a>\n\n\n </div>\n\n\n\n<div class=\"file-wrap\">\n\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/81b93d5d7b8272baac596e3f92a4b0a511ee7704\" class=\"d-none js-permalink-shortcut\" data-hotkey=\"y\">Permalink</a>\n\n <table class=\"files js-navigation-container js-active-navigation-container\" data-pjax=\"\">\n\n\n <tbody>\n <tr class=\"warning include-fragment-error\">\n <td class=\"icon\"><svg aria-hidden=\"true\" class=\"octicon octicon-alert\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M8.865 1.52c-.18-.31-.51-.5-.87-.5s-.69.19-.87.5L.275 13.5c-.18.31-.18.69 0 1 .19.31.52.5.87.5h13.7c.36 0 .69-.19.86-.5.17-.31.18-.69.01-1L8.865 1.52zM8.995 13h-2v-2h2v2zm0-3h-2V6h2v4z\"></path></svg></td>\n <td class=\"content\" colspan=\"3\">Failed to load latest commit information.</td>\n </tr>\n\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-directory\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/master/.vscode\" class=\"js-navigation-open\" id=\"7fde71560fa9376d2d93a25b42d719f5-c9cdd850f81b4b25fa2bde35f1d588da55eff6fc\" title=\".vscode\">.vscode</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/d8ad2e53d08e070c9d2f97bf5204e8e4275c9da1\" class=\"message\" data-pjax=\"true\" title=\"VS Code settings\">VS Code settings</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-10-17T15:25:18Z\" title=\"17 Oct 2017, 17:25 CEST\">a month ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-directory\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/master/promotion\" class=\"js-navigation-open\" id=\"f8dcad058c9c44fdb6ffcb22d2d4c31f-b2415a9d99e606d53687cfa36172e6b5fd3dd053\" title=\"promotion\">promotion</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/581631c9c1cfcc89da75f7d338f9d70999a4f0d1\" class=\"message\" data-pjax=\"true\" title=\"Merge branch 'master' of github.com:franzenzenhofer/f19n-obtrusive-livetest\">Merge branch 'master' of github.com:franzenzenhofer/f19n-obtrusive-li…</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-08-07T15:14:37Z\" title=\"7 Aug 2017, 17:14 CEST\">4 months ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-directory\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/master/sample-rules\" class=\"js-navigation-open\" id=\"9bb6ff1a410526d782343e6951902428-3d273b5be08d4f073bbc3bf0bf46b196767798f3\" title=\"sample-rules\">sample-rules</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/a223f55649a9631aaa4ba789a158fd8e6f92e528\" class=\"message\" data-pjax=\"true\" title=\"clean up\">clean up</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-11-17T19:08:42Z\" title=\"17 Nov 2017, 20:08 CET\">8 days ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-directory\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/master/src\" class=\"js-navigation-open\" id=\"25d902c24283ab8cfbac54dfa101ad31-287e063b523a68443174223e00cc000b45ccaffa\" title=\"src\">src</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/81b93d5d7b8272baac596e3f92a4b0a511ee7704\" class=\"message\" data-pjax=\"true\" title=\"new version\">new version</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-11-19T21:44:23Z\" title=\"19 Nov 2017, 22:44 CET\">6 days ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-directory\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/master/test\" class=\"js-navigation-open\" id=\"098f6bcd4621d373cade4e832627b4f6-d6fe41e68e81f7bea404787d83cd3e73b3e61f21\" title=\"test\">test</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/ab3721baa7d34c29b9218a0c4d64affc683364a7\" class=\"message\" data-pjax=\"true\" title=\"make URLs downloadable & adding "what" hint to rules\">make URLs downloadable & adding \"what\" hint to rules</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2016-10-06T12:38:08Z\" title=\"6 Oct 2016, 14:38 CEST\">a year ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/.eslintrc\" class=\"js-navigation-open\" id=\"1dc6ee56b778cd91e0327b52aaeaa1b9-4f1694bc2628ba7fbdc2fe929842134bc454ccba\" title=\".eslintrc\">.eslintrc</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/d4e42119ecd5d9de3580aa2df11191e50f7550d5\" class=\"message\" data-pjax=\"true\" title=\"rules list polishing\">rules list polishing</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2016-05-08T22:22:19Z\" title=\"9 May 2016, 00:22 CEST\">2 years ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/.gitignore\" class=\"js-navigation-open\" id=\"a084b794bc0759e7a6b77810e01874f2-5b7e3b6b1acc2bb57aa8cd68b4559f35ed7b7e28\" title=\".gitignore\">.gitignore</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/81b93d5d7b8272baac596e3f92a4b0a511ee7704\" class=\"message\" data-pjax=\"true\" title=\"new version\">new version</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-11-19T21:44:23Z\" title=\"19 Nov 2017, 22:44 CET\">6 days ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/Gruntfile.js\" class=\"js-navigation-open\" id=\"35b4a816e0441e6a375cd925af50752c-344829ded2e05111a3097f821571faa26bfb67bf\" title=\"Gruntfile.js\">Gruntfile.js</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/0fc136c37abc899409ca93ac764ab7c100e9224c\" class=\"message\" data-pjax=\"true\" title=\"codeview preparation\">codeview preparation</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-10-26T08:26:51Z\" title=\"26 Oct 2017, 10:26 CEST\">a month ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/README.md\" class=\"js-navigation-open\" id=\"04c6e90faac2675aa89e2176d2eec7d8-2368d1747635df100367e52fa99612aa83371c5d\" title=\"README.md\">README.md</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/19da5da3fd55513ac0527877165dd37ebd173f54\" class=\"message\" data-pjax=\"true\" title=\"v 0.0.2.\">v 0.0.2.</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-08-07T15:41:44Z\" title=\"7 Aug 2017, 17:41 CEST\">4 months ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/build.zip\" class=\"js-navigation-open\" id=\"bd3f409385be2426c686b5e8eb288c66-c6e609f575164ee433b2e7a85e3f298ab488eede\" title=\"build.zip\">build.zip</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/a223f55649a9631aaa4ba789a158fd8e6f92e528\" class=\"message\" data-pjax=\"true\" title=\"clean up\">clean up</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-11-17T19:08:42Z\" title=\"17 Nov 2017, 20:08 CET\">8 days ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/package-lock.json\" class=\"js-navigation-open\" id=\"32607347f8126e6534ebc7ebaec4853d-fa029f6b8d363afc68b0006ca0ef6ad2ad3d6837\" title=\"package-lock.json\">package-lock.json</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/082590717bfb9f0312b74da1ae4a8fc46498fa28\" class=\"message\" data-pjax=\"true\" title=\"popup css\">popup css</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-10-24T14:16:17Z\" title=\"24 Oct 2017, 16:16 CEST\">a month ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/package.json\" class=\"js-navigation-open\" id=\"b9cfc7f2cdf78a7f4b91a753d10865a2-6e48c43d23fe5fbb2fa8b1cce94fda5f0a06cf6e\" title=\"package.json\">package.json</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/81b93d5d7b8272baac596e3f92a4b0a511ee7704\" class=\"message\" data-pjax=\"true\" title=\"new version\">new version</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-11-19T21:44:23Z\" title=\"19 Nov 2017, 22:44 CET\">6 days ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/privacy.md\" class=\"js-navigation-open\" id=\"18d05a63a1c8d7ed973cc51838494e41-a13038cb538841a804eb2d1e1a35029e24a3d3f4\" title=\"privacy.md\">privacy.md</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/f439578256a3244011e26b99ba4ce73e8bfb9d47\" class=\"message\" data-pjax=\"true\" title=\"Change wrong spelling\">Change wrong spelling</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-08-07T14:48:51Z\" title=\"7 Aug 2017, 16:48 CEST\">4 months ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/temp.js\" class=\"js-navigation-open\" id=\"228085ed546959371a280b5e3c424586-ee6d5b2d47acfeafed3232176341a13ae413f3a1\" title=\"temp.js\">temp.js</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/6553e10831a681d3f502133e77ef417563daef0d\" class=\"message\" data-pjax=\"true\" title=\"now with asyn rules\">now with asyn rules</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2016-10-18T09:19:16Z\" title=\"18 Oct 2016, 11:19 CEST\">a year ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/yarn.lock\" class=\"js-navigation-open\" id=\"8ee2343978836a779dc9f8d6b794c3b2-c66b2abe2ee03bff2d354bcf3986ed56f5f77c1a\" title=\"yarn.lock\">yarn.lock</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/7de61d43d3c005b7c30b978631807b515a2b9ac4\" class=\"message\" data-pjax=\"true\" title=\"new rules & yarn\">new rules & yarn</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2016-10-14T07:35:40Z\" title=\"14 Oct 2016, 09:35 CEST\">a year ago</time-ago></span>\n </td>\n </tr>\n </tbody>\n </table>\n\n</div>\n\n\n\n <div id=\"readme\" class=\"readme boxed-group clearfix announce instapaper_body md\">\n <h3>\n <svg aria-hidden=\"true\" class=\"octicon octicon-book\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M3 5h4v1H3V5zm0 3h4V7H3v1zm0 2h4V9H3v1zm11-5h-4v1h4V5zm0 2h-4v1h4V7zm0 2h-4v1h4V9zm2-6v9c0 .55-.45 1-1 1H9.5l-1 1-1-1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h5.5l1 1 1-1H15c.55 0 1 .45 1 1zm-8 .5L7.5 3H2v9h6V3.5zm7-.5H9.5l-.5.5V12h6V3z\"></path></svg>\n README.md\n </h3>\n\n <article class=\"markdown-body entry-content\" itemprop=\"text\"><p><a href=\"https://raw.githubusercontent.com/franzenzenhofer/f19n-obtrusive-livetest/master/src/public/images/icon.png\" target=\"_blank\"><img src=\"https://raw.githubusercontent.com/franzenzenhofer/f19n-obtrusive-livetest/master/src/public/images/icon.png\" alt=\"Obtrusive Live Test Logo\" style=\"max-width:100%;\"></a></p>\n<h1><a href=\"#f19n-obtrusive-livetest-chrome-extension\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-f19n-obtrusive-livetest-chrome-extension\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>f19n Obtrusive Livetest Chrome Extension</h1>\n<p>by <a href=\"http://www.fullstackoptimization.com/\" rel=\"nofollow\">http://www.fullstackoptimization.com/</a>\ndeveloped in cooperation with <a href=\"https://die-antwort.eu/\" rel=\"nofollow\">https://die-antwort.eu/</a></p>\n<p>Chrome App Store: <a href=\"https://chrome.google.com/webstore/detail/f19n-obstrusive-live-test/jbnaibigcohjfefpfocphcjeliohhold?hl=en\" rel=\"nofollow\">https://chrome.google.com/webstore/detail/f19n-obstrusive-live-test/jbnaibigcohjfefpfocphcjeliohhold?hl=en</a></p>\n<h3><a href=\"#what-is-it\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-what-is-it\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>What is it?</h3>\n<p>It's a sandboxed, extendable testing chrome extension and framework! It runs pre-defined and custom tests on each page that you visit.</p>\n<p><a href=\"https://raw.githubusercontent.com/franzenzenhofer/f19n-obtrusive-livetest/master/promotion/sample-output.png\" target=\"_blank\"><img src=\"https://raw.githubusercontent.com/franzenzenhofer/f19n-obtrusive-livetest/master/promotion/sample-output.png\" alt=\"Sample Output\" style=\"max-width:100%;\"></a></p>\n<h3><a href=\"#what-does-it-do\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-what-does-it-do\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>What does it do?</h3>\n<p>The extension collects the whole lifecycle of a pageload (http-headers, onpageload, onDOMready, ...) in an object, then it executes javascript functions against this object and returns testing feedback.</p>\n<p>It has multiple pre-defined rules currently targeting SEO and webperformance best practices.</p>\n<p>See <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/src/public/default-rules\">/src/public/default-rules</a> for a list of what currently gets tested.</p>\n<p>Additional it can call third party REST-APIs from within these rules.</p>\n<h3><a href=\"#what-can-it-do\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-what-can-it-do\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>What can it do?</h3>\n<p>Everything! You can write your own tests! Anything that happens in the browser during the pageload and render lifecycle can be inspected and dissected!</p>\n<h2><a href=\"#development\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-development\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Development</h2>\n<h3><a href=\"#install-all-dependencies\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-install-all-dependencies\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Install all dependencies</h3>\n<div class=\"highlight highlight-source-shell\"><pre>npm install</pre></div>\n<h3><a href=\"#run-the-build-process\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-run-the-build-process\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Run the build process</h3>\n<p>run the build process once (for this you need grunt-cli installed <code>npm install -g grunt-cli</code>)</p>\n<div class=\"highlight highlight-source-shell\"><pre>grunt</pre></div>\n<p>or if you want to automatically reload the extension after every change. Its required if you make changes inside RuleContext.js or other core scripts. <strong>Its not required if you just work on custom rules.</strong></p>\n<p>first install <a href=\"https://github.com/prasmussen/chrome-cli\">https://github.com/prasmussen/chrome-cli</a></p>\n<div class=\"highlight highlight-source-shell\"><pre>brew install chrome-cli</pre></div>\n<p>then:</p>\n<div class=\"highlight highlight-source-shell\"><pre>grunt --reload-extension</pre></div>\n<p>Open chrome://extensions/ and point the installation of an unpacked extension to the ./build folder</p>\n<h2><a href=\"#rules\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-rules\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Rules</h2>\n<p>The production ready rules can be found within <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/src/public/default-rules\">/src/public/default-rules</a></p>\n<p>Inside <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/sample-rules\">/sample-rules</a> are some sample rules plus the documentation how to write your own rules.</p>\n<h2><a href=\"#license\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-license\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>License</h2>\n<ul>\n<li>All rules within the /sample-rules/ directory are MIT licensed.</li>\n<li>All rules within the /public/default-rules/ directory are MIT licensed.</li>\n<li>See details within the directory.</li>\n</ul>\n<p>All other code within this repository - if not defined otherwise - is currently available under a</p>\n<p><strong>Contribution License</strong>.</p>\n<p>You are welcome to</p>\n<ul>\n<li>review the code</li>\n<li>install the application in your browser</li>\n<li>submit issues, pull requests, any other feedback</li>\n<li>compile and use this extension in development mode on your computer with the goal of learning about the codebase or delivering feedback</li>\n<li>use code for educational purposes for yourself or within your organization</li>\n</ul>\n<p>Currently don't</p>\n<ul>\n<li>remove this license</li>\n<li>remove branding or links from/to <a href=\"http://www.fullstackoptimization.com\" rel=\"nofollow\">www.fullstackoptimization.com</a></li>\n<li>create a free or commercial product based upon the code of this repository</li>\n<li>submit a product based on this code to any app store</li>\n<li>install this extension in developer mode on multiple computers within your company</li>\n</ul>\n<p>These restrictions do not apply to the /sample-rules/ and the /public/default-rules/ code.</p>\n<p>This license might change in the future. I must just figure out what the best long term license for this product will be.</p>\n<p>Rightsholder: Franz Enzenhofer fe at f19n dot com</p>\n</article>\n </div>\n\n\n </div>\n <div class=\"modal-backdrop js-touch-events\"></div>\n</div>\n\n </div>\n </div>\n\n </div>\n\n \n<div class=\"footer container-lg px-3\" role=\"contentinfo\">\n <div class=\"position-relative d-flex flex-justify-between py-6 mt-6 f6 text-gray border-top border-gray-light \">\n <ul class=\"list-style-none d-flex flex-wrap \">\n <li class=\"mr-3\">© 2017 <span title=\"0.19285s from unicorn-3502610391-6kln8\">GitHub</span>, Inc.</li>\n <li class=\"mr-3\"><a href=\"https://github.com/site/terms\" data-ga-click=\"Footer, go to terms, text:terms\">Terms</a></li>\n <li class=\"mr-3\"><a href=\"https://github.com/site/privacy\" data-ga-click=\"Footer, go to privacy, text:privacy\">Privacy</a></li>\n <li class=\"mr-3\"><a href=\"https://github.com/security\" data-ga-click=\"Footer, go to security, text:security\">Security</a></li>\n <li class=\"mr-3\"><a href=\"https://status.github.com/\" data-ga-click=\"Footer, go to status, text:status\">Status</a></li>\n <li><a href=\"https://help.github.com\" data-ga-click=\"Footer, go to help, text:help\">Help</a></li>\n </ul>\n\n <a href=\"https://github.com\" aria-label=\"Homepage\" class=\"footer-octicon\" title=\"GitHub\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-mark-github\" height=\"24\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"24\"><path fill-rule=\"evenodd\" d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z\"></path></svg>\n</a>\n <ul class=\"list-style-none d-flex flex-wrap \">\n <li class=\"mr-3\"><a href=\"https://github.com/contact\" data-ga-click=\"Footer, go to contact, text:contact\">Contact GitHub</a></li>\n <li class=\"mr-3\"><a href=\"https://developer.github.com\" data-ga-click=\"Footer, go to api, text:api\">API</a></li>\n <li class=\"mr-3\"><a href=\"https://training.github.com\" data-ga-click=\"Footer, go to training, text:training\">Training</a></li>\n <li class=\"mr-3\"><a href=\"https://shop.github.com\" data-ga-click=\"Footer, go to shop, text:shop\">Shop</a></li>\n <li class=\"mr-3\"><a href=\"https://github.com/blog\" data-ga-click=\"Footer, go to blog, text:blog\">Blog</a></li>\n <li><a href=\"https://github.com/about\" data-ga-click=\"Footer, go to about, text:about\">About</a></li>\n\n </ul>\n </div>\n</div>\n\n\n\n <div id=\"ajax-error-message\" class=\"ajax-error-message flash flash-error\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-alert\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M8.865 1.52c-.18-.31-.51-.5-.87-.5s-.69.19-.87.5L.275 13.5c-.18.31-.18.69 0 1 .19.31.52.5.87.5h13.7c.36 0 .69-.19.86-.5.17-.31.18-.69.01-1L8.865 1.52zM8.995 13h-2v-2h2v2zm0-3h-2V6h2v4z\"></path></svg>\n <button type=\"button\" class=\"flash-close js-ajax-error-dismiss\" aria-label=\"Dismiss error\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-x\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path fill-rule=\"evenodd\" d=\"M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z\"></path></svg>\n </button>\n You can't perform that action at this time.\n </div>\n\n\n \n <script crossorigin=\"anonymous\" integrity=\"sha256-eSmC/otpTwXUEsDiTzhgqZ3CsEty0JvC/eK8QGavCSY=\" src=\"https://assets-cdn.github.com/assets/frameworks-792982fe8b694f05d412c0e24f3860a99dc2b04b72d09bc2fde2bc4066af0926.js\"></script>\n \n <script async=\"async\" crossorigin=\"anonymous\" integrity=\"sha256-/G88M4nO+F4bpHIgS2QY0odzkatwV0r9MzXYi3vLGno=\" src=\"https://assets-cdn.github.com/assets/github-fc6f3c3389cef85e1ba472204b6418d2877391ab70574afd3335d88b7bcb1a7a.js\"></script>\n \n \n \n \n <div class=\"js-stale-session-flash stale-session-flash flash flash-warn flash-banner d-none\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-alert\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M8.865 1.52c-.18-.31-.51-.5-.87-.5s-.69.19-.87.5L.275 13.5c-.18.31-.18.69 0 1 .19.31.52.5.87.5h13.7c.36 0 .69-.19.86-.5.17-.31.18-.69.01-1L8.865 1.52zM8.995 13h-2v-2h2v2zm0-3h-2V6h2v4z\"></path></svg>\n <span class=\"signed-in-tab-flash\">You signed in with another tab or window. <a href=\"\">Reload</a> to refresh your session.</span>\n <span class=\"signed-out-tab-flash\">You signed out in another tab or window. <a href=\"\">Reload</a> to refresh your session.</span>\n </div>\n <div class=\"facebox\" id=\"facebox\" style=\"display:none;\">\n <div class=\"facebox-popup\">\n <div class=\"facebox-content\" role=\"dialog\" aria-labelledby=\"facebox-header\" aria-describedby=\"facebox-description\">\n </div>\n <button type=\"button\" class=\"facebox-close js-facebox-close\" aria-label=\"Close modal\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-x\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path fill-rule=\"evenodd\" d=\"M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z\"></path></svg>\n </button>\n </div>\n</div>\n\n\n \n\n\n</body>",
"location": {
"href": "https://github.com/franzenzenhofer/f19n-obtrusive-livetest",
"ancestorOrigins": {},
"origin": "https://github.com",
"protocol": "https:",
"host": "github.com",
"hostname": "github.com",
"port": "",
"pathname": "/franzenzenhofer/f19n-obtrusive-livetest",
"search": "",
"hash": ""
},
"event": "DOMContentLoaded"
},
{
"html": "<head>\n <meta charset=\"utf-8\">\n <link rel=\"dns-prefetch\" href=\"https://assets-cdn.github.com\">\n <link rel=\"dns-prefetch\" href=\"https://avatars0.githubusercontent.com\">\n <link rel=\"dns-prefetch\" href=\"https://avatars1.githubusercontent.com\">\n <link rel=\"dns-prefetch\" href=\"https://avatars2.githubusercontent.com\">\n <link rel=\"dns-prefetch\" href=\"https://avatars3.githubusercontent.com\">\n <link rel=\"dns-prefetch\" href=\"https://github-cloud.s3.amazonaws.com\">\n <link rel=\"dns-prefetch\" href=\"https://user-images.githubusercontent.com/\">\n\n\n\n <link crossorigin=\"anonymous\" href=\"https://assets-cdn.github.com/assets/frameworks-c9193575f18b28be82c0a963e144ff6fa7a809dd8ae003a1d1e5979bed3f7f00.css\" integrity=\"sha256-yRk1dfGLKL6CwKlj4UT/b6eoCd2K4AOh0eWXm+0/fwA=\" media=\"all\" rel=\"stylesheet\">\n <link crossorigin=\"anonymous\" href=\"https://assets-cdn.github.com/assets/github-e44ecf269c9d06cd9d34f65adaef2eb78a65fda33728f88a2340fc220b40f160.css\" integrity=\"sha256-5E7PJpydBs2dNPZa2u8ut4pl/aM3KPiKI0D8IgtA8WA=\" media=\"all\" rel=\"stylesheet\">\n \n \n <link crossorigin=\"anonymous\" href=\"https://assets-cdn.github.com/assets/site-40d3ebebbd14d73c1a2f449e109a016ab13b3ba29987bc4f8eff487787682a7b.css\" integrity=\"sha256-QNPr670U1zwaL0SeEJoBarE7O6KZh7xPjv9Id4doKns=\" media=\"all\" rel=\"stylesheet\">\n \n\n <meta name=\"viewport\" content=\"width=device-width\">\n \n <title>GitHub - franzenzenhofer/f19n-obtrusive-livetest: A sandboxed, extendable testing chrome extension and framework! It runs pre-defined and custom tests on each page that you visit.</title>\n <link rel=\"search\" type=\"application/opensearchdescription+xml\" href=\"/opensearch.xml\" title=\"GitHub\">\n <link rel=\"fluid-icon\" href=\"https://github.com/fluidicon.png\" title=\"GitHub\">\n <meta property=\"fb:app_id\" content=\"1401488693436528\">\n\n \n <meta content=\"https://avatars0.githubusercontent.com/u/323190?s=400&v=4\" property=\"og:image\"><meta content=\"GitHub\" property=\"og:site_name\"><meta content=\"object\" property=\"og:type\"><meta content=\"franzenzenhofer/f19n-obtrusive-livetest\" property=\"og:title\"><meta content=\"https://github.com/franzenzenhofer/f19n-obtrusive-livetest\" property=\"og:url\"><meta content=\"f19n-obtrusive-livetest - A sandboxed, extendable testing chrome extension and framework! It runs pre-defined and custom tests on each page that you visit.\" property=\"og:description\">\n\n <link rel=\"assets\" href=\"https://assets-cdn.github.com/\">\n \n <meta name=\"pjax-timeout\" content=\"1000\">\n \n <meta name=\"request-id\" content=\"CEC5:3DB9:3E294EB:6717FE8:5A195064\" data-pjax-transient=\"\">\n \n\n <meta name=\"selected-link\" value=\"repo_source\" data-pjax-transient=\"\">\n\n <meta name=\"google-site-verification\" content=\"KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU\">\n<meta name=\"google-site-verification\" content=\"ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA\">\n <meta name=\"google-analytics\" content=\"UA-3769691-2\">\n\n<meta content=\"collector.githubapp.com\" name=\"octolytics-host\"><meta content=\"github\" name=\"octolytics-app-id\"><meta content=\"https://collector.githubapp.com/github-external/browser_event\" name=\"octolytics-event-url\"><meta content=\"CEC5:3DB9:3E294EB:6717FE8:5A195064\" name=\"octolytics-dimension-request_id\"><meta content=\"iad\" name=\"octolytics-dimension-region_edge\"><meta content=\"iad\" name=\"octolytics-dimension-region_render\">\n<meta content=\"/<user-name>/<repo-name>\" data-pjax-transient=\"true\" name=\"analytics-location\">\n\n\n\n\n <meta class=\"js-ga-set\" name=\"dimension1\" content=\"Logged Out\">\n\n\n \n\n <meta name=\"hostname\" content=\"github.com\">\n <meta name=\"user-login\" content=\"\">\n\n <meta name=\"expected-hostname\" content=\"github.com\">\n <meta name=\"js-proxy-site-detection-payload\" content=\"NjY5ODZlNzJmOTQ2MDZkODUyMWYyMGVkMzlhYTU2OGYxYTcwZGI4YzU1ZWQ4NjcwM2U4M2RmNDQ0OWU2NTdiZnx7InJlbW90ZV9hZGRyZXNzIjoiODAuMTEwLjI5LjE5OSIsInJlcXVlc3RfaWQiOiJDRUM1OjNEQjk6M0UyOTRFQjo2NzE3RkU4OjVBMTk1MDY0IiwidGltZXN0YW1wIjoxNTExNjA4NDIwLCJob3N0IjoiZ2l0aHViLmNvbSJ9\">\n\n\n <meta name=\"html-safe-nonce\" content=\"e85cea2a1d89e34365cca1ccd14148a10e250d8b\">\n\n <meta http-equiv=\"x-pjax-version\" content=\"d93dfdd0f8a6df8043728c1632cc76ef\">\n \n\n <link href=\"https://github.com/franzenzenhofer/f19n-obtrusive-livetest/commits/master.atom\" rel=\"alternate\" title=\"Recent Commits to f19n-obtrusive-livetest:master\" type=\"application/atom+xml\">\n\n <meta name=\"description\" content=\"f19n-obtrusive-livetest - A sandboxed, extendable testing chrome extension and framework! It runs pre-defined and custom tests on each page that you visit.\">\n <meta name=\"go-import\" content=\"github.com/franzenzenhofer/f19n-obtrusive-livetest git https://github.com/franzenzenhofer/f19n-obtrusive-livetest.git\">\n\n <meta content=\"323190\" name=\"octolytics-dimension-user_id\"><meta content=\"franzenzenhofer\" name=\"octolytics-dimension-user_login\"><meta content=\"56598478\" name=\"octolytics-dimension-repository_id\"><meta content=\"franzenzenhofer/f19n-obtrusive-livetest\" name=\"octolytics-dimension-repository_nwo\"><meta content=\"true\" name=\"octolytics-dimension-repository_public\"><meta content=\"false\" name=\"octolytics-dimension-repository_is_fork\"><meta content=\"56598478\" name=\"octolytics-dimension-repository_network_root_id\"><meta content=\"franzenzenhofer/f19n-obtrusive-livetest\" name=\"octolytics-dimension-repository_network_root_nwo\"><meta content=\"false\" name=\"octolytics-dimension-repository_explore_github_marketplace_ci_cta_shown\">\n\n\n <link rel=\"canonical\" href=\"https://github.com/franzenzenhofer/f19n-obtrusive-livetest\" data-pjax-transient=\"\">\n\n\n <meta name=\"browser-stats-url\" content=\"https://api.github.com/_private/browser/stats\">\n\n <meta name=\"browser-errors-url\" content=\"https://api.github.com/_private/browser/errors\">\n\n <link rel=\"mask-icon\" href=\"https://assets-cdn.github.com/pinned-octocat.svg\" color=\"#000000\">\n <link rel=\"icon\" type=\"image/x-icon\" class=\"js-site-favicon\" href=\"https://assets-cdn.github.com/favicon.ico\">\n\n<meta name=\"theme-color\" content=\"#1e2327\">\n\n\n <meta name=\"u2f-support\" content=\"true\">\n\n </head>\n\n <body class=\"logged-out env-production emoji-size-boost\">\n \n\n <div class=\"position-relative js-header-wrapper \">\n <a href=\"#start-of-content\" tabindex=\"1\" class=\"px-2 py-4 show-on-focus js-skip-to-content\">Skip to content</a>\n <div id=\"js-pjax-loader-bar\" class=\"pjax-loader-bar\"><div class=\"progress\"></div></div>\n\n \n \n \n\n\n\n <header class=\"Header header-logged-out position-relative f4 py-3\" role=\"banner\">\n <div class=\"container-lg d-flex px-3\">\n <div class=\"d-flex flex-justify-between flex-items-center\">\n <a class=\"header-logo-invertocat my-0\" href=\"https://github.com/\" aria-label=\"Homepage\" data-ga-click=\"(Logged out) Header, go to homepage, icon:logo-wordmark\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-mark-github\" height=\"32\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"32\"><path fill-rule=\"evenodd\" d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z\"></path></svg>\n </a>\n\n </div>\n\n <div class=\"HeaderMenu HeaderMenu--bright d-flex flex-justify-between flex-auto\">\n <nav class=\"mt-0\">\n <ul class=\"d-flex list-style-none\">\n <li class=\"ml-2\">\n <a href=\"/features\" class=\"js-selected-navigation-item HeaderNavlink px-0 py-2 m-0\" data-ga-click=\"Header, click, Nav menu - item:features\" data-selected-links=\"/features /features/project-management /features/code-review /features/project-management /features/integrations /features\">\n Features\n</a> </li>\n <li class=\"ml-4\">\n <a href=\"/business\" class=\"js-selected-navigation-item HeaderNavlink px-0 py-2 m-0\" data-ga-click=\"Header, click, Nav menu - item:business\" data-selected-links=\"/business /business/security /business/customers /business\">\n Business\n</a> </li>\n\n <li class=\"ml-4\">\n <a href=\"/explore\" class=\"js-selected-navigation-item HeaderNavlink px-0 py-2 m-0\" data-ga-click=\"Header, click, Nav menu - item:explore\" data-selected-links=\"/explore /trending /trending/developers /integrations /integrations/feature/code /integrations/feature/collaborate /integrations/feature/ship showcases showcases_search showcases_landing /explore\">\n Explore\n</a> </li>\n\n <li class=\"ml-4\">\n <a href=\"/marketplace\" class=\"js-selected-navigation-item HeaderNavlink px-0 py-2 m-0\" data-ga-click=\"Header, click, Nav menu - item:marketplace\" data-selected-links=\" /marketplace\">\n Marketplace\n</a> </li>\n <li class=\"ml-4\">\n <a href=\"/pricing\" class=\"js-selected-navigation-item HeaderNavlink px-0 py-2 m-0\" data-ga-click=\"Header, click, Nav menu - item:pricing\" data-selected-links=\"/pricing /pricing/developer /pricing/team /pricing/business-hosted /pricing/business-enterprise /pricing\">\n Pricing\n</a> </li>\n </ul>\n </nav>\n\n <div class=\"d-flex\">\n <div class=\"d-lg-flex flex-items-center mr-3\">\n <div class=\"header-search scoped-search site-scoped-search js-site-search\" role=\"search\">\n <!-- '\"` --><!-- </textarea></xmp> --><form accept-charset=\"UTF-8\" action=\"/franzenzenhofer/f19n-obtrusive-livetest/search\" class=\"js-site-search-form\" data-scoped-search-url=\"/franzenzenhofer/f19n-obtrusive-livetest/search\" data-unscoped-search-url=\"/search\" method=\"get\"><div style=\"margin:0;padding:0;display:inline\"><input name=\"utf8\" type=\"hidden\" value=\"✓\"></div>\n <label class=\"form-control header-search-wrapper js-chromeless-input-container\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest\" class=\"header-search-scope no-underline\">This repository</a>\n <input type=\"text\" class=\"form-control header-search-input js-site-search-focus js-site-search-field is-clearable\" data-hotkey=\"s\" name=\"q\" value=\"\" placeholder=\"Search\" aria-label=\"Search this repository\" data-unscoped-placeholder=\"Search GitHub\" data-scoped-placeholder=\"Search\" autocapitalize=\"off\">\n <input type=\"hidden\" class=\"js-site-search-type-field\" name=\"type\">\n </label>\n</form></div>\n\n </div>\n\n <span class=\"d-inline-block\">\n <div class=\"HeaderNavlink px-0 py-2 m-0\">\n <a class=\"text-bold text-white no-underline\" href=\"/login?return_to=%2Ffranzenzenhofer%2Ff19n-obtrusive-livetest\" data-ga-click=\"(Logged out) Header, clicked Sign in, text:sign-in\">Sign in</a>\n <span class=\"text-gray\">or</span>\n <a class=\"text-bold text-white no-underline\" href=\"/join?source=header-repo\" data-ga-click=\"(Logged out) Header, clicked Sign up, text:sign-up\">Sign up</a>\n </div>\n </span>\n </div>\n </div>\n </div>\n</header>\n\n\n </div>\n\n <div id=\"start-of-content\" class=\"show-on-focus\"></div>\n\n <div id=\"js-flash-container\">\n</div>\n\n\n\n <div role=\"main\">\n <div itemscope=\"\" itemtype=\"http://schema.org/SoftwareSourceCode\">\n <div id=\"js-repo-pjax-container\" data-pjax-container=\"\">\n \n\n\n\n\n <div class=\"pagehead repohead instapaper_ignore readability-menu experiment-repo-nav \">\n <div class=\"repohead-details-container clearfix container \">\n\n <ul class=\"pagehead-actions\">\n <li>\n <a href=\"/login?return_to=%2Ffranzenzenhofer%2Ff19n-obtrusive-livetest\" class=\"btn btn-sm btn-with-count tooltipped tooltipped-n\" aria-label=\"You must be signed in to watch a repository\" rel=\"nofollow\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-eye\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z\"></path></svg>\n Watch\n </a>\n <a class=\"social-count\" href=\"/franzenzenhofer/f19n-obtrusive-livetest/watchers\" aria-label=\"4 users are watching this repository\">\n 4\n </a>\n\n </li>\n\n <li>\n <a href=\"/login?return_to=%2Ffranzenzenhofer%2Ff19n-obtrusive-livetest\" class=\"btn btn-sm btn-with-count tooltipped tooltipped-n\" aria-label=\"You must be signed in to star a repository\" rel=\"nofollow\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-star\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74z\"></path></svg>\n Star\n </a>\n\n <a class=\"social-count js-social-count\" href=\"/franzenzenhofer/f19n-obtrusive-livetest/stargazers\" aria-label=\"13 users starred this repository\">\n 13\n </a>\n\n </li>\n\n <li>\n <a href=\"/login?return_to=%2Ffranzenzenhofer%2Ff19n-obtrusive-livetest\" class=\"btn btn-sm btn-with-count tooltipped tooltipped-n\" aria-label=\"You must be signed in to fork a repository\" rel=\"nofollow\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-repo-forked\" height=\"16\" version=\"1.1\" viewBox=\"0 0 10 16\" width=\"10\"><path fill-rule=\"evenodd\" d=\"M8 1a1.993 1.993 0 0 0-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V6.5l3 3v1.78A1.993 1.993 0 0 0 5 15a1.993 1.993 0 0 0 1-3.72V9.5l3-3V4.72A1.993 1.993 0 0 0 8 1zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3 10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z\"></path></svg>\n Fork\n </a>\n\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/network\" class=\"social-count\" aria-label=\"1 user forked this repository\">\n 1\n </a>\n </li>\n</ul>\n\n <h1 class=\"public \">\n <svg aria-hidden=\"true\" class=\"octicon octicon-repo\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path fill-rule=\"evenodd\" d=\"M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z\"></path></svg>\n <span class=\"author\" itemprop=\"author\"><a href=\"/franzenzenhofer\" class=\"url fn\" rel=\"author\">franzenzenhofer</a></span><!--\n--><span class=\"path-divider\">/</span><!--\n--><strong itemprop=\"name\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest\" data-pjax=\"#js-repo-pjax-container\">f19n-obtrusive-livetest</a></strong>\n\n</h1>\n\n </div>\n \n<nav class=\"reponav js-repo-nav js-sidenav-container-pjax container\" itemscope=\"\" itemtype=\"http://schema.org/BreadcrumbList\" role=\"navigation\" data-pjax=\"#js-repo-pjax-container\">\n\n <span itemscope=\"\" itemtype=\"http://schema.org/ListItem\" itemprop=\"itemListElement\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest\" class=\"js-selected-navigation-item selected reponav-item\" data-hotkey=\"g c\" data-selected-links=\"repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages /franzenzenhofer/f19n-obtrusive-livetest\" itemprop=\"url\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-code\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M9.5 3L8 4.5 11.5 8 8 11.5 9.5 13 14 8 9.5 3zm-5 0L0 8l4.5 5L6 11.5 2.5 8 6 4.5 4.5 3z\"></path></svg>\n <span itemprop=\"name\">Code</span>\n <meta itemprop=\"position\" content=\"1\">\n</a> </span>\n\n <span itemscope=\"\" itemtype=\"http://schema.org/ListItem\" itemprop=\"itemListElement\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/issues\" class=\"js-selected-navigation-item reponav-item\" data-hotkey=\"g i\" data-selected-links=\"repo_issues repo_labels repo_milestones /franzenzenhofer/f19n-obtrusive-livetest/issues\" itemprop=\"url\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-issue-opened\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z\"></path></svg>\n <span itemprop=\"name\">Issues</span>\n <span class=\"Counter\">2</span>\n <meta itemprop=\"position\" content=\"2\">\n</a> </span>\n\n <span itemscope=\"\" itemtype=\"http://schema.org/ListItem\" itemprop=\"itemListElement\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/pulls\" class=\"js-selected-navigation-item reponav-item\" data-hotkey=\"g p\" data-selected-links=\"repo_pulls /franzenzenhofer/f19n-obtrusive-livetest/pulls\" itemprop=\"url\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-git-pull-request\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path fill-rule=\"evenodd\" d=\"M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z\"></path></svg>\n <span itemprop=\"name\">Pull requests</span>\n <span class=\"Counter\">0</span>\n <meta itemprop=\"position\" content=\"3\">\n</a> </span>\n\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/projects\" class=\"js-selected-navigation-item reponav-item\" data-hotkey=\"g b\" data-selected-links=\"repo_projects new_repo_project repo_project /franzenzenhofer/f19n-obtrusive-livetest/projects\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-project\" height=\"16\" version=\"1.1\" viewBox=\"0 0 15 16\" width=\"15\"><path fill-rule=\"evenodd\" d=\"M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z\"></path></svg>\n Projects\n <span class=\"Counter\">0</span>\n</a>\n\n\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/pulse\" class=\"js-selected-navigation-item reponav-item\" data-selected-links=\"repo_graphs repo_contributors dependency_graph pulse /franzenzenhofer/f19n-obtrusive-livetest/pulse\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-graph\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M16 14v1H0V0h1v14h15zM5 13H3V8h2v5zm4 0H7V3h2v10zm4 0h-2V6h2v7z\"></path></svg>\n Insights\n</a>\n\n</nav>\n\n\n </div>\n\n<div class=\"container new-discussion-timeline experiment-repo-nav\">\n <div class=\"repository-content\">\n\n \n <div class=\"signup-prompt-bg rounded-1\">\n <div class=\"signup-prompt p-4 text-center mb-4 rounded-1\">\n <div class=\"position-relative\">\n <!-- '\"` --><!-- </textarea></xmp> --><form accept-charset=\"UTF-8\" action=\"/site/dismiss_signup_prompt\" method=\"post\"><div style=\"margin:0;padding:0;display:inline\"><input name=\"utf8\" type=\"hidden\" value=\"✓\"><input name=\"authenticity_token\" type=\"hidden\" value=\"lelx7dFetFNMB4zbb2kOVbo4EVjP/dRWKMtA5R0Fv866K0bPxL6/hLPuxSUW24SM33b2ZUFFiX4q8f+sXps3cQ==\"></div>\n <button type=\"submit\" class=\"position-absolute top-0 right-0 btn-link link-gray\" data-ga-click=\"(Logged out) Sign up prompt, clicked Dismiss, text:dismiss\">\n Dismiss\n </button>\n</form>\n <h3 class=\"pt-2\">Join GitHub today</h3>\n <p class=\"col-6 mx-auto\">GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.</p>\n <p class=\"pb-2\">\n <a class=\"btn btn-blue\" href=\"/join?source=prompt-code\" data-ga-click=\"(Logged out) Sign up prompt, clicked Sign up, text:sign-up\">Sign up</a>\n </p>\n </div>\n </div>\n </div>\n\n\n <div class=\"js-repo-meta-container\">\n <div class=\"repository-meta mb-0 js-repo-meta-edit js-details-container \">\n <div class=\"repository-meta-content col-11 mb-1\">\n <span class=\"col-11 text-gray-dark mr-2\" itemprop=\"about\">\n A sandboxed, extendable testing chrome extension and framework! It runs pre-defined and custom tests on each page that you visit.\n </span>\n <span itemprop=\"url\"><a href=\"https://chrome.google.com/webstore/detail/f19n-obstrusive-live-test/jbnaibigcohjfefpfocphcjeliohhold?hl=en\" rel=\"nofollow\">https://chrome.google.com/webstore/de…</a></span>\n </div>\n\n </div>\n\n <div class=\"mb-3 repository-topics-container js-repository-topics-container js-details-container\">\n <div id=\"topics-list-container\" data-url=\"/franzenzenhofer/f19n-obtrusive-livetest/settings/topics\">\n <div class=\"list-topics-container f6 mt-1\">\n <a href=\"/topics/chrome\" class=\"topic-tag topic-tag-link\" data-ga-click=\"Topic, repository page\" data-octo-click=\"topic_click\" data-octo-dimensions=\"topic:chrome\">\n chrome\n </a>\n <a href=\"/topics/chrome-extension\" class=\"topic-tag topic-tag-link\" data-ga-click=\"Topic, repository page\" data-octo-click=\"topic_click\" data-octo-dimensions=\"topic:chrome-extension\">\n chrome-extension\n </a>\n <a href=\"/topics/devtools\" class=\"topic-tag topic-tag-link\" data-ga-click=\"Topic, repository page\" data-octo-click=\"topic_click\" data-octo-dimensions=\"topic:devtools\">\n devtools\n </a>\n <a href=\"/topics/seo\" class=\"topic-tag topic-tag-link\" data-ga-click=\"Topic, repository page\" data-octo-click=\"topic_click\" data-octo-dimensions=\"topic:seo\">\n seo\n </a>\n <a href=\"/topics/webperformance\" class=\"topic-tag topic-tag-link\" data-ga-click=\"Topic, repository page\" data-octo-click=\"topic_click\" data-octo-dimensions=\"topic:webperformance\">\n webperformance\n </a>\n </div>\n\n\n </div>\n\n </div>\n</div>\n\n\n\n <div class=\"overall-summary overall-summary-bottomless\">\n <div class=\"stats-switcher-viewport js-stats-switcher-viewport\">\n <div class=\"stats-switcher-wrapper\">\n <ul class=\"numbers-summary\">\n <li class=\"commits\">\n <a data-pjax=\"\" href=\"/franzenzenhofer/f19n-obtrusive-livetest/commits/master\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-history\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M8 13H6V6h5v2H8v5zM7 1C4.81 1 2.87 2.02 1.59 3.59L0 2v4h4L2.5 4.5C3.55 3.17 5.17 2.3 7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-.34.03-.67.09-1H.08C.03 7.33 0 7.66 0 8c0 3.86 3.14 7 7 7s7-3.14 7-7-3.14-7-7-7z\"></path></svg>\n <span class=\"num text-emphasized\">\n 351\n </span>\n commits\n </a>\n </li>\n <li>\n <a data-pjax=\"\" href=\"/franzenzenhofer/f19n-obtrusive-livetest/branches\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-git-branch\" height=\"16\" version=\"1.1\" viewBox=\"0 0 10 16\" width=\"10\"><path fill-rule=\"evenodd\" d=\"M10 5c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v.3c-.02.52-.23.98-.63 1.38-.4.4-.86.61-1.38.63-.83.02-1.48.16-2 .45V4.72a1.993 1.993 0 0 0-1-3.72C.88 1 0 1.89 0 3a2 2 0 0 0 1 1.72v6.56c-.59.35-1 .99-1 1.72 0 1.11.89 2 2 2 1.11 0 2-.89 2-2 0-.53-.2-1-.53-1.36.09-.06.48-.41.59-.47.25-.11.56-.17.94-.17 1.05-.05 1.95-.45 2.75-1.25S8.95 7.77 9 6.73h-.02C9.59 6.37 10 5.73 10 5zM2 1.8c.66 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2C1.35 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2zm0 12.41c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm6-8c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z\"></path></svg>\n <span class=\"num text-emphasized\">\n 2\n </span>\n branches\n </a>\n </li>\n\n <li>\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/releases\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-tag\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 0 0 0-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z\"></path></svg>\n <span class=\"num text-emphasized\">\n 0\n </span>\n releases\n </a>\n </li>\n\n <li>\n <include-fragment src=\"/franzenzenhofer/f19n-obtrusive-livetest/contributors_size\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/graphs/contributors\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-organization\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M16 12.999c0 .439-.45 1-1 1H7.995c-.539 0-.994-.447-.995-.999H1c-.54 0-1-.561-1-1 0-2.634 3-4 3-4s.229-.409 0-1c-.841-.621-1.058-.59-1-3 .058-2.419 1.367-3 2.5-3s2.442.58 2.5 3c.058 2.41-.159 2.379-1 3-.229.59 0 1 0 1s1.549.711 2.42 2.088C9.196 9.369 10 8.999 10 8.999s.229-.409 0-1c-.841-.62-1.058-.59-1-3 .058-2.419 1.367-3 2.5-3s2.437.581 2.495 3c.059 2.41-.158 2.38-1 3-.229.59 0 1 0 1s3.005 1.366 3.005 4\"></path></svg>\n <span class=\"num text-emphasized\"></span>\n Fetching contributors\n </a>\n</include-fragment> </li>\n </ul>\n\n <div class=\"repository-lang-stats\">\n <ol class=\"repository-lang-stats-numbers\">\n <li>\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/search?l=javascript\" data-ga-click=\"Repository, language stats search click, location:repo overview\">\n <span class=\"color-block language-color\" style=\"background-color:#f1e05a;\"></span>\n <span class=\"lang\">JavaScript</span>\n <span class=\"percent\">91.9%</span>\n </a>\n </li>\n <li>\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/search?l=css\" data-ga-click=\"Repository, language stats search click, location:repo overview\">\n <span class=\"color-block language-color\" style=\"background-color:#563d7c;\"></span>\n <span class=\"lang\">CSS</span>\n <span class=\"percent\">7.3%</span>\n </a>\n </li>\n <li>\n <span class=\"other\">\n <span class=\"color-block language-color\" style=\"background-color:#ededed;\"></span>\n <span class=\"lang\">Other</span>\n <span class=\"percent\">0.8%</span>\n </span>\n </li>\n </ol>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"repository-lang-stats-graph js-toggle-lang-stats\" title=\"Click for language details\" data-ga-click=\"Repository, language bar stats toggle, location:repo overview\">\n <span class=\"language-color\" aria-label=\"JavaScript 91.9%\" style=\"width:91.9%; background-color:#f1e05a;\" itemprop=\"keywords\">JavaScript</span>\n <span class=\"language-color\" aria-label=\"CSS 7.3%\" style=\"width:7.3%; background-color:#563d7c;\" itemprop=\"keywords\">CSS</span>\n <span class=\"language-color\" aria-label=\"Other 0.8%\" style=\"width:0.8%; background-color:#ededed;\" itemprop=\"keywords\">Other</span>\n </div>\n\n\n\n <div class=\"file-navigation in-mid-page\">\n\n <details class=\"get-repo-select-menu js-menu-container float-right position-relative dropdown-details\">\n <summary class=\"btn btn-sm btn-primary\">\n Clone or download\n <span class=\"dropdown-caret\"></span>\n </summary>\n <div class=\"position-relative\">\n <div class=\"get-repo-modal dropdown-menu dropdown-menu-sw pb-0 js-toggler-container \">\n <div class=\"clone-options https-clone-options\">\n\n <h4 class=\"mb-1\">\n Clone with HTTPS\n <a class=\"muted-link\" href=\"https://help.github.com/articles/which-remote-url-should-i-use\" target=\"_blank\" title=\"Which remote URL should I use?\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-question\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M6 10h2v2H6v-2zm4-3.5C10 8.64 8 9 8 9H6c0-.55.45-1 1-1h.5c.28 0 .5-.22.5-.5v-1c0-.28-.22-.5-.5-.5h-1c-.28 0-.5.22-.5.5V7H4c0-1.5 1.5-3 3-3s3 1 3 2.5zM7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7z\"></path></svg>\n </a>\n </h4>\n <p class=\"mb-2 get-repo-decription-text\">\n Use Git or checkout with SVN using the web URL.\n </p>\n\n <div class=\"input-group js-zeroclipboard-container\">\n <input type=\"text\" class=\"form-control input-monospace input-sm js-zeroclipboard-target js-url-field\" value=\"https://github.com/franzenzenhofer/f19n-obtrusive-livetest.git\" aria-label=\"Clone this repository at https://github.com/franzenzenhofer/f19n-obtrusive-livetest.git\" readonly=\"\">\n <div class=\"input-group-button\">\n <button aria-label=\"Copy to clipboard\" class=\"js-zeroclipboard btn btn-sm zeroclipboard-button tooltipped tooltipped-s\" data-copied-hint=\"Copied!\" type=\"button\"><svg aria-hidden=\"true\" class=\"octicon octicon-clippy\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9zM2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z\"></path></svg></button>\n </div>\n</div>\n\n </div>\n\n <div class=\"mt-2\">\n <a href=\"https://desktop.github.com\" class=\"btn btn-outline get-repo-btn tooltipped tooltipped-s tooltipped-multiline\" aria-label=\"Clone franzenzenhofer/f19n-obtrusive-livetest to your computer and use it in GitHub Desktop.\">\n Open in Desktop\n </a>\n\n<a href=\"/franzenzenhofer/f19n-obtrusive-livetest/archive/master.zip\" class=\"btn btn-outline get-repo-btn\n\" rel=\"nofollow\" data-ga-click=\"Repository, download zip, location:repo overview\">\n Download ZIP\n</a>\n\n </div>\n </div>\n </div>\n</details>\n\n\n <div class=\"BtnGroup float-right\">\n\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/find/master\" class=\"btn btn-sm empty-icon float-right BtnGroup-item\" data-pjax=\"\" data-hotkey=\"t\" data-ga-click=\"Repository, find file, location:repo overview\">\n Find file\n </a>\n </div>\n\n \n<div class=\"select-menu branch-select-menu js-menu-container js-select-menu float-left\">\n <button class=\" btn btn-sm select-menu-button js-menu-target css-truncate\" data-hotkey=\"w\" type=\"button\" aria-label=\"Switch branches or tags\" aria-expanded=\"false\" aria-haspopup=\"true\">\n <i>Branch:</i>\n <span class=\"js-select-button css-truncate-target\">master</span>\n </button>\n\n <div class=\"select-menu-modal-holder js-menu-content js-navigation-container\" data-pjax=\"\">\n\n <div class=\"select-menu-modal\">\n <div class=\"select-menu-header\">\n <svg aria-label=\"Close\" class=\"octicon octicon-x js-menu-close\" height=\"16\" role=\"img\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path fill-rule=\"evenodd\" d=\"M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z\"></path></svg>\n <span class=\"select-menu-title\">Switch branches/tags</span>\n </div>\n\n <div class=\"select-menu-filters\">\n <div class=\"select-menu-text-filter\">\n <input type=\"text\" aria-label=\"Filter branches/tags\" id=\"context-commitish-filter-field\" class=\"form-control js-filterable-field js-navigation-enable\" placeholder=\"Filter branches/tags\">\n </div>\n <div class=\"select-menu-tabs\">\n <ul>\n <li class=\"select-menu-tab\">\n <a href=\"#\" data-tab-filter=\"branches\" data-filter-placeholder=\"Filter branches/tags\" class=\"js-select-menu-tab\" role=\"tab\">Branches</a>\n </li>\n <li class=\"select-menu-tab\">\n <a href=\"#\" data-tab-filter=\"tags\" data-filter-placeholder=\"Find a tag…\" class=\"js-select-menu-tab\" role=\"tab\">Tags</a>\n </li>\n </ul>\n </div>\n </div>\n\n <div class=\"select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket\" data-tab-filter=\"branches\" role=\"menu\">\n\n <div data-filterable-for=\"context-commitish-filter-field\" data-filterable-type=\"substring\">\n\n\n <a class=\"select-menu-item js-navigation-item js-navigation-open \" href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/async-rules\" data-name=\"async-rules\" data-skip-pjax=\"true\" rel=\"nofollow\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-check select-menu-item-icon\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path fill-rule=\"evenodd\" d=\"M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z\"></path></svg>\n <span class=\"select-menu-item-text css-truncate-target js-select-menu-filter-text\">\n async-rules\n </span>\n </a>\n <a class=\"select-menu-item js-navigation-item js-navigation-open selected\" href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/master\" data-name=\"master\" data-skip-pjax=\"true\" rel=\"nofollow\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-check select-menu-item-icon\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path fill-rule=\"evenodd\" d=\"M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z\"></path></svg>\n <span class=\"select-menu-item-text css-truncate-target js-select-menu-filter-text\">\n master\n </span>\n </a>\n </div>\n\n <div class=\"select-menu-no-results\">Nothing to show</div>\n </div>\n\n <div class=\"select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket\" data-tab-filter=\"tags\">\n <div data-filterable-for=\"context-commitish-filter-field\" data-filterable-type=\"substring\">\n\n\n </div>\n\n <div class=\"select-menu-no-results\">Nothing to show</div>\n </div>\n\n </div>\n </div>\n</div>\n\n\n <button type=\"button\" class=\"btn btn-sm disabled tooltipped tooltipped-n new-pull-request-btn\" aria-label=\"You must be signed in to create a pull request\">\n New pull request\n </button>\n\n <div class=\"breadcrumb\">\n \n </div>\n</div>\n\n\n \n\n\n <div class=\"commit-tease js-details-container Details\">\n <span class=\"float-right\">\n Latest commit\n <a class=\"commit-tease-sha\" href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/81b93d5d7b8272baac596e3f92a4b0a511ee7704\" data-pjax=\"\">\n 81b93d5\n </a>\n <span itemprop=\"dateModified\"><relative-time datetime=\"2017-11-19T21:44:23Z\" title=\"19 Nov 2017, 22:44 CET\">6 days ago</relative-time></span>\n </span>\n\n\n <span class=\"commit-author-section\">\n <a href=\"/franzenzenhofer\" class=\"d-inline-block\">\n <img src=\"https://avatars3.githubusercontent.com/u/323190?s=40&v=4\" width=\"20\" height=\"20\" class=\"avatar avatar-small\" alt=\"@franzenzenhofer\">\n </a>\n \n <a href=\"/franzenzenhofer\" class=\"user-mention\">franzenzenhofer</a>\n\n </span>\n\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/81b93d5d7b8272baac596e3f92a4b0a511ee7704\" class=\"message\" data-pjax=\"true\" title=\"new version\">new version</a>\n\n\n </div>\n\n\n\n<div class=\"file-wrap\">\n\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/81b93d5d7b8272baac596e3f92a4b0a511ee7704\" class=\"d-none js-permalink-shortcut\" data-hotkey=\"y\">Permalink</a>\n\n <table class=\"files js-navigation-container js-active-navigation-container\" data-pjax=\"\">\n\n\n <tbody>\n <tr class=\"warning include-fragment-error\">\n <td class=\"icon\"><svg aria-hidden=\"true\" class=\"octicon octicon-alert\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M8.865 1.52c-.18-.31-.51-.5-.87-.5s-.69.19-.87.5L.275 13.5c-.18.31-.18.69 0 1 .19.31.52.5.87.5h13.7c.36 0 .69-.19.86-.5.17-.31.18-.69.01-1L8.865 1.52zM8.995 13h-2v-2h2v2zm0-3h-2V6h2v4z\"></path></svg></td>\n <td class=\"content\" colspan=\"3\">Failed to load latest commit information.</td>\n </tr>\n\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-directory\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/master/.vscode\" class=\"js-navigation-open\" id=\"7fde71560fa9376d2d93a25b42d719f5-c9cdd850f81b4b25fa2bde35f1d588da55eff6fc\" title=\".vscode\">.vscode</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/d8ad2e53d08e070c9d2f97bf5204e8e4275c9da1\" class=\"message\" data-pjax=\"true\" title=\"VS Code settings\">VS Code settings</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-10-17T15:25:18Z\" title=\"17 Oct 2017, 17:25 CEST\">a month ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-directory\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/master/promotion\" class=\"js-navigation-open\" id=\"f8dcad058c9c44fdb6ffcb22d2d4c31f-b2415a9d99e606d53687cfa36172e6b5fd3dd053\" title=\"promotion\">promotion</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/581631c9c1cfcc89da75f7d338f9d70999a4f0d1\" class=\"message\" data-pjax=\"true\" title=\"Merge branch 'master' of github.com:franzenzenhofer/f19n-obtrusive-livetest\">Merge branch 'master' of github.com:franzenzenhofer/f19n-obtrusive-li…</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-08-07T15:14:37Z\" title=\"7 Aug 2017, 17:14 CEST\">4 months ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-directory\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/master/sample-rules\" class=\"js-navigation-open\" id=\"9bb6ff1a410526d782343e6951902428-3d273b5be08d4f073bbc3bf0bf46b196767798f3\" title=\"sample-rules\">sample-rules</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/a223f55649a9631aaa4ba789a158fd8e6f92e528\" class=\"message\" data-pjax=\"true\" title=\"clean up\">clean up</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-11-17T19:08:42Z\" title=\"17 Nov 2017, 20:08 CET\">8 days ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-directory\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/master/src\" class=\"js-navigation-open\" id=\"25d902c24283ab8cfbac54dfa101ad31-287e063b523a68443174223e00cc000b45ccaffa\" title=\"src\">src</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/81b93d5d7b8272baac596e3f92a4b0a511ee7704\" class=\"message\" data-pjax=\"true\" title=\"new version\">new version</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-11-19T21:44:23Z\" title=\"19 Nov 2017, 22:44 CET\">6 days ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-directory\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/master/test\" class=\"js-navigation-open\" id=\"098f6bcd4621d373cade4e832627b4f6-d6fe41e68e81f7bea404787d83cd3e73b3e61f21\" title=\"test\">test</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/ab3721baa7d34c29b9218a0c4d64affc683364a7\" class=\"message\" data-pjax=\"true\" title=\"make URLs downloadable & adding "what" hint to rules\">make URLs downloadable & adding \"what\" hint to rules</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2016-10-06T12:38:08Z\" title=\"6 Oct 2016, 14:38 CEST\">a year ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/.eslintrc\" class=\"js-navigation-open\" id=\"1dc6ee56b778cd91e0327b52aaeaa1b9-4f1694bc2628ba7fbdc2fe929842134bc454ccba\" title=\".eslintrc\">.eslintrc</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/d4e42119ecd5d9de3580aa2df11191e50f7550d5\" class=\"message\" data-pjax=\"true\" title=\"rules list polishing\">rules list polishing</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2016-05-08T22:22:19Z\" title=\"9 May 2016, 00:22 CEST\">2 years ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/.gitignore\" class=\"js-navigation-open\" id=\"a084b794bc0759e7a6b77810e01874f2-5b7e3b6b1acc2bb57aa8cd68b4559f35ed7b7e28\" title=\".gitignore\">.gitignore</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/81b93d5d7b8272baac596e3f92a4b0a511ee7704\" class=\"message\" data-pjax=\"true\" title=\"new version\">new version</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-11-19T21:44:23Z\" title=\"19 Nov 2017, 22:44 CET\">6 days ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/Gruntfile.js\" class=\"js-navigation-open\" id=\"35b4a816e0441e6a375cd925af50752c-344829ded2e05111a3097f821571faa26bfb67bf\" title=\"Gruntfile.js\">Gruntfile.js</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/0fc136c37abc899409ca93ac764ab7c100e9224c\" class=\"message\" data-pjax=\"true\" title=\"codeview preparation\">codeview preparation</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-10-26T08:26:51Z\" title=\"26 Oct 2017, 10:26 CEST\">a month ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/README.md\" class=\"js-navigation-open\" id=\"04c6e90faac2675aa89e2176d2eec7d8-2368d1747635df100367e52fa99612aa83371c5d\" title=\"README.md\">README.md</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/19da5da3fd55513ac0527877165dd37ebd173f54\" class=\"message\" data-pjax=\"true\" title=\"v 0.0.2.\">v 0.0.2.</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-08-07T15:41:44Z\" title=\"7 Aug 2017, 17:41 CEST\">4 months ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/build.zip\" class=\"js-navigation-open\" id=\"bd3f409385be2426c686b5e8eb288c66-c6e609f575164ee433b2e7a85e3f298ab488eede\" title=\"build.zip\">build.zip</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/a223f55649a9631aaa4ba789a158fd8e6f92e528\" class=\"message\" data-pjax=\"true\" title=\"clean up\">clean up</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-11-17T19:08:42Z\" title=\"17 Nov 2017, 20:08 CET\">8 days ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/package-lock.json\" class=\"js-navigation-open\" id=\"32607347f8126e6534ebc7ebaec4853d-fa029f6b8d363afc68b0006ca0ef6ad2ad3d6837\" title=\"package-lock.json\">package-lock.json</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/082590717bfb9f0312b74da1ae4a8fc46498fa28\" class=\"message\" data-pjax=\"true\" title=\"popup css\">popup css</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-10-24T14:16:17Z\" title=\"24 Oct 2017, 16:16 CEST\">a month ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/package.json\" class=\"js-navigation-open\" id=\"b9cfc7f2cdf78a7f4b91a753d10865a2-6e48c43d23fe5fbb2fa8b1cce94fda5f0a06cf6e\" title=\"package.json\">package.json</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/81b93d5d7b8272baac596e3f92a4b0a511ee7704\" class=\"message\" data-pjax=\"true\" title=\"new version\">new version</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-11-19T21:44:23Z\" title=\"19 Nov 2017, 22:44 CET\">6 days ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/privacy.md\" class=\"js-navigation-open\" id=\"18d05a63a1c8d7ed973cc51838494e41-a13038cb538841a804eb2d1e1a35029e24a3d3f4\" title=\"privacy.md\">privacy.md</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/f439578256a3244011e26b99ba4ce73e8bfb9d47\" class=\"message\" data-pjax=\"true\" title=\"Change wrong spelling\">Change wrong spelling</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-08-07T14:48:51Z\" title=\"7 Aug 2017, 16:48 CEST\">4 months ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/temp.js\" class=\"js-navigation-open\" id=\"228085ed546959371a280b5e3c424586-ee6d5b2d47acfeafed3232176341a13ae413f3a1\" title=\"temp.js\">temp.js</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/6553e10831a681d3f502133e77ef417563daef0d\" class=\"message\" data-pjax=\"true\" title=\"now with asyn rules\">now with asyn rules</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2016-10-18T09:19:16Z\" title=\"18 Oct 2016, 11:19 CEST\">a year ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/yarn.lock\" class=\"js-navigation-open\" id=\"8ee2343978836a779dc9f8d6b794c3b2-c66b2abe2ee03bff2d354bcf3986ed56f5f77c1a\" title=\"yarn.lock\">yarn.lock</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/7de61d43d3c005b7c30b978631807b515a2b9ac4\" class=\"message\" data-pjax=\"true\" title=\"new rules & yarn\">new rules & yarn</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2016-10-14T07:35:40Z\" title=\"14 Oct 2016, 09:35 CEST\">a year ago</time-ago></span>\n </td>\n </tr>\n </tbody>\n </table>\n\n</div>\n\n\n\n <div id=\"readme\" class=\"readme boxed-group clearfix announce instapaper_body md\">\n <h3>\n <svg aria-hidden=\"true\" class=\"octicon octicon-book\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M3 5h4v1H3V5zm0 3h4V7H3v1zm0 2h4V9H3v1zm11-5h-4v1h4V5zm0 2h-4v1h4V7zm0 2h-4v1h4V9zm2-6v9c0 .55-.45 1-1 1H9.5l-1 1-1-1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h5.5l1 1 1-1H15c.55 0 1 .45 1 1zm-8 .5L7.5 3H2v9h6V3.5zm7-.5H9.5l-.5.5V12h6V3z\"></path></svg>\n README.md\n </h3>\n\n <article class=\"markdown-body entry-content\" itemprop=\"text\"><p><a href=\"https://raw.githubusercontent.com/franzenzenhofer/f19n-obtrusive-livetest/master/src/public/images/icon.png\" target=\"_blank\"><img src=\"https://raw.githubusercontent.com/franzenzenhofer/f19n-obtrusive-livetest/master/src/public/images/icon.png\" alt=\"Obtrusive Live Test Logo\" style=\"max-width:100%;\"></a></p>\n<h1><a href=\"#f19n-obtrusive-livetest-chrome-extension\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-f19n-obtrusive-livetest-chrome-extension\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>f19n Obtrusive Livetest Chrome Extension</h1>\n<p>by <a href=\"http://www.fullstackoptimization.com/\" rel=\"nofollow\">http://www.fullstackoptimization.com/</a>\ndeveloped in cooperation with <a href=\"https://die-antwort.eu/\" rel=\"nofollow\">https://die-antwort.eu/</a></p>\n<p>Chrome App Store: <a href=\"https://chrome.google.com/webstore/detail/f19n-obstrusive-live-test/jbnaibigcohjfefpfocphcjeliohhold?hl=en\" rel=\"nofollow\">https://chrome.google.com/webstore/detail/f19n-obstrusive-live-test/jbnaibigcohjfefpfocphcjeliohhold?hl=en</a></p>\n<h3><a href=\"#what-is-it\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-what-is-it\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>What is it?</h3>\n<p>It's a sandboxed, extendable testing chrome extension and framework! It runs pre-defined and custom tests on each page that you visit.</p>\n<p><a href=\"https://raw.githubusercontent.com/franzenzenhofer/f19n-obtrusive-livetest/master/promotion/sample-output.png\" target=\"_blank\"><img src=\"https://raw.githubusercontent.com/franzenzenhofer/f19n-obtrusive-livetest/master/promotion/sample-output.png\" alt=\"Sample Output\" style=\"max-width:100%;\"></a></p>\n<h3><a href=\"#what-does-it-do\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-what-does-it-do\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>What does it do?</h3>\n<p>The extension collects the whole lifecycle of a pageload (http-headers, onpageload, onDOMready, ...) in an object, then it executes javascript functions against this object and returns testing feedback.</p>\n<p>It has multiple pre-defined rules currently targeting SEO and webperformance best practices.</p>\n<p>See <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/src/public/default-rules\">/src/public/default-rules</a> for a list of what currently gets tested.</p>\n<p>Additional it can call third party REST-APIs from within these rules.</p>\n<h3><a href=\"#what-can-it-do\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-what-can-it-do\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>What can it do?</h3>\n<p>Everything! You can write your own tests! Anything that happens in the browser during the pageload and render lifecycle can be inspected and dissected!</p>\n<h2><a href=\"#development\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-development\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Development</h2>\n<h3><a href=\"#install-all-dependencies\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-install-all-dependencies\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Install all dependencies</h3>\n<div class=\"highlight highlight-source-shell\"><pre>npm install</pre></div>\n<h3><a href=\"#run-the-build-process\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-run-the-build-process\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Run the build process</h3>\n<p>run the build process once (for this you need grunt-cli installed <code>npm install -g grunt-cli</code>)</p>\n<div class=\"highlight highlight-source-shell\"><pre>grunt</pre></div>\n<p>or if you want to automatically reload the extension after every change. Its required if you make changes inside RuleContext.js or other core scripts. <strong>Its not required if you just work on custom rules.</strong></p>\n<p>first install <a href=\"https://github.com/prasmussen/chrome-cli\">https://github.com/prasmussen/chrome-cli</a></p>\n<div class=\"highlight highlight-source-shell\"><pre>brew install chrome-cli</pre></div>\n<p>then:</p>\n<div class=\"highlight highlight-source-shell\"><pre>grunt --reload-extension</pre></div>\n<p>Open chrome://extensions/ and point the installation of an unpacked extension to the ./build folder</p>\n<h2><a href=\"#rules\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-rules\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Rules</h2>\n<p>The production ready rules can be found within <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/src/public/default-rules\">/src/public/default-rules</a></p>\n<p>Inside <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/sample-rules\">/sample-rules</a> are some sample rules plus the documentation how to write your own rules.</p>\n<h2><a href=\"#license\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-license\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>License</h2>\n<ul>\n<li>All rules within the /sample-rules/ directory are MIT licensed.</li>\n<li>All rules within the /public/default-rules/ directory are MIT licensed.</li>\n<li>See details within the directory.</li>\n</ul>\n<p>All other code within this repository - if not defined otherwise - is currently available under a</p>\n<p><strong>Contribution License</strong>.</p>\n<p>You are welcome to</p>\n<ul>\n<li>review the code</li>\n<li>install the application in your browser</li>\n<li>submit issues, pull requests, any other feedback</li>\n<li>compile and use this extension in development mode on your computer with the goal of learning about the codebase or delivering feedback</li>\n<li>use code for educational purposes for yourself or within your organization</li>\n</ul>\n<p>Currently don't</p>\n<ul>\n<li>remove this license</li>\n<li>remove branding or links from/to <a href=\"http://www.fullstackoptimization.com\" rel=\"nofollow\">www.fullstackoptimization.com</a></li>\n<li>create a free or commercial product based upon the code of this repository</li>\n<li>submit a product based on this code to any app store</li>\n<li>install this extension in developer mode on multiple computers within your company</li>\n</ul>\n<p>These restrictions do not apply to the /sample-rules/ and the /public/default-rules/ code.</p>\n<p>This license might change in the future. I must just figure out what the best long term license for this product will be.</p>\n<p>Rightsholder: Franz Enzenhofer fe at f19n dot com</p>\n</article>\n </div>\n\n\n </div>\n <div class=\"modal-backdrop js-touch-events\"></div>\n</div>\n\n </div>\n </div>\n\n </div>\n\n \n<div class=\"footer container-lg px-3\" role=\"contentinfo\">\n <div class=\"position-relative d-flex flex-justify-between py-6 mt-6 f6 text-gray border-top border-gray-light \">\n <ul class=\"list-style-none d-flex flex-wrap \">\n <li class=\"mr-3\">© 2017 <span title=\"0.19285s from unicorn-3502610391-6kln8\">GitHub</span>, Inc.</li>\n <li class=\"mr-3\"><a href=\"https://github.com/site/terms\" data-ga-click=\"Footer, go to terms, text:terms\">Terms</a></li>\n <li class=\"mr-3\"><a href=\"https://github.com/site/privacy\" data-ga-click=\"Footer, go to privacy, text:privacy\">Privacy</a></li>\n <li class=\"mr-3\"><a href=\"https://github.com/security\" data-ga-click=\"Footer, go to security, text:security\">Security</a></li>\n <li class=\"mr-3\"><a href=\"https://status.github.com/\" data-ga-click=\"Footer, go to status, text:status\">Status</a></li>\n <li><a href=\"https://help.github.com\" data-ga-click=\"Footer, go to help, text:help\">Help</a></li>\n </ul>\n\n <a href=\"https://github.com\" aria-label=\"Homepage\" class=\"footer-octicon\" title=\"GitHub\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-mark-github\" height=\"24\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"24\"><path fill-rule=\"evenodd\" d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z\"></path></svg>\n</a>\n <ul class=\"list-style-none d-flex flex-wrap \">\n <li class=\"mr-3\"><a href=\"https://github.com/contact\" data-ga-click=\"Footer, go to contact, text:contact\">Contact GitHub</a></li>\n <li class=\"mr-3\"><a href=\"https://developer.github.com\" data-ga-click=\"Footer, go to api, text:api\">API</a></li>\n <li class=\"mr-3\"><a href=\"https://training.github.com\" data-ga-click=\"Footer, go to training, text:training\">Training</a></li>\n <li class=\"mr-3\"><a href=\"https://shop.github.com\" data-ga-click=\"Footer, go to shop, text:shop\">Shop</a></li>\n <li class=\"mr-3\"><a href=\"https://github.com/blog\" data-ga-click=\"Footer, go to blog, text:blog\">Blog</a></li>\n <li><a href=\"https://github.com/about\" data-ga-click=\"Footer, go to about, text:about\">About</a></li>\n\n </ul>\n </div>\n</div>\n\n\n\n <div id=\"ajax-error-message\" class=\"ajax-error-message flash flash-error\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-alert\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M8.865 1.52c-.18-.31-.51-.5-.87-.5s-.69.19-.87.5L.275 13.5c-.18.31-.18.69 0 1 .19.31.52.5.87.5h13.7c.36 0 .69-.19.86-.5.17-.31.18-.69.01-1L8.865 1.52zM8.995 13h-2v-2h2v2zm0-3h-2V6h2v4z\"></path></svg>\n <button type=\"button\" class=\"flash-close js-ajax-error-dismiss\" aria-label=\"Dismiss error\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-x\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path fill-rule=\"evenodd\" d=\"M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z\"></path></svg>\n </button>\n You can't perform that action at this time.\n </div>\n\n\n \n <script crossorigin=\"anonymous\" integrity=\"sha256-eSmC/otpTwXUEsDiTzhgqZ3CsEty0JvC/eK8QGavCSY=\" src=\"https://assets-cdn.github.com/assets/frameworks-792982fe8b694f05d412c0e24f3860a99dc2b04b72d09bc2fde2bc4066af0926.js\"></script>\n \n <script async=\"async\" crossorigin=\"anonymous\" integrity=\"sha256-/G88M4nO+F4bpHIgS2QY0odzkatwV0r9MzXYi3vLGno=\" src=\"https://assets-cdn.github.com/assets/github-fc6f3c3389cef85e1ba472204b6418d2877391ab70574afd3335d88b7bcb1a7a.js\"></script>\n \n \n \n \n <div class=\"js-stale-session-flash stale-session-flash flash flash-warn flash-banner d-none\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-alert\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M8.865 1.52c-.18-.31-.51-.5-.87-.5s-.69.19-.87.5L.275 13.5c-.18.31-.18.69 0 1 .19.31.52.5.87.5h13.7c.36 0 .69-.19.86-.5.17-.31.18-.69.01-1L8.865 1.52zM8.995 13h-2v-2h2v2zm0-3h-2V6h2v4z\"></path></svg>\n <span class=\"signed-in-tab-flash\">You signed in with another tab or window. <a href=\"\">Reload</a> to refresh your session.</span>\n <span class=\"signed-out-tab-flash\">You signed out in another tab or window. <a href=\"\">Reload</a> to refresh your session.</span>\n </div>\n <div class=\"facebox\" id=\"facebox\" style=\"display:none;\">\n <div class=\"facebox-popup\">\n <div class=\"facebox-content\" role=\"dialog\" aria-labelledby=\"facebox-header\" aria-describedby=\"facebox-description\">\n </div>\n <button type=\"button\" class=\"facebox-close js-facebox-close\" aria-label=\"Close modal\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-x\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path fill-rule=\"evenodd\" d=\"M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z\"></path></svg>\n </button>\n </div>\n</div>\n\n\n \n\n\n</body>",
"location": {
"href": "https://github.com/franzenzenhofer/f19n-obtrusive-livetest",
"ancestorOrigins": {},
"origin": "https://github.com",
"protocol": "https:",
"host": "github.com",
"hostname": "github.com",
"port": "",
"pathname": "/franzenzenhofer/f19n-obtrusive-livetest",
"search": "",
"hash": ""
},
"event": "documentEnd"
},
{
"snapshot": {
"requestTime": 1511608420.249,
"startLoadTime": 1511608420.249,
"commitLoadTime": 1511608420.999,
"finishDocumentLoadTime": 1511608421.653,
"finishLoadTime": 0,
"firstPaintTime": 0,
"firstPaintAfterLoadTime": 0,
"navigationType": "Other",
"wasFetchedViaSpdy": false,
"wasNpnNegotiated": true,
"npnNegotiatedProtocol": "http/1.1",
"wasAlternateProtocolAvailable": false,
"connectionInfo": "http/1.1"
},
"location": {
"href": "https://github.com/franzenzenhofer/f19n-obtrusive-livetest",
"ancestorOrigins": {},
"origin": "https://github.com",
"protocol": "https:",
"host": "github.com",
"hostname": "github.com",
"port": "",
"pathname": "/franzenzenhofer/f19n-obtrusive-livetest",
"search": "",
"hash": ""
},
"event": "chromeLoadTimes"
},
{
"snapshot": {
"timing": {
"navigationStart": 1511608420249,
"unloadEventStart": 0,
"unloadEventEnd": 0,
"redirectStart": 0,
"redirectEnd": 0,
"fetchStart": 1511608420274,
"domainLookupStart": 1511608420275,
"domainLookupEnd": 1511608420321,
"connectStart": 1511608420321,
"connectEnd": 1511608420639,
"secureConnectionStart": 1511608420490,
"requestStart": 1511608420640,
"responseStart": 1511608420999,
"responseEnd": 1511608421123,
"domLoading": 1511608421006,
"domInteractive": 1511608421647,
"domContentLoadedEventStart": 1511608421647,
"domContentLoadedEventEnd": 1511608421653,
"domComplete": 0,
"loadEventStart": 0,
"loadEventEnd": 0
},
"navigation": {
"type": 0,
"redirectCount": 0
}
},
"location": {
"href": "https://github.com/franzenzenhofer/f19n-obtrusive-livetest",
"ancestorOrigins": {},
"origin": "https://github.com",
"protocol": "https:",
"host": "github.com",
"hostname": "github.com",
"port": "",
"pathname": "/franzenzenhofer/f19n-obtrusive-livetest",
"search": "",
"hash": ""
},
"event": "windowPerformance"
},
{
"html": "<head>\n <meta charset=\"utf-8\">\n <link rel=\"dns-prefetch\" href=\"https://assets-cdn.github.com\">\n <link rel=\"dns-prefetch\" href=\"https://avatars0.githubusercontent.com\">\n <link rel=\"dns-prefetch\" href=\"https://avatars1.githubusercontent.com\">\n <link rel=\"dns-prefetch\" href=\"https://avatars2.githubusercontent.com\">\n <link rel=\"dns-prefetch\" href=\"https://avatars3.githubusercontent.com\">\n <link rel=\"dns-prefetch\" href=\"https://github-cloud.s3.amazonaws.com\">\n <link rel=\"dns-prefetch\" href=\"https://user-images.githubusercontent.com/\">\n\n\n\n <link crossorigin=\"anonymous\" href=\"https://assets-cdn.github.com/assets/frameworks-c9193575f18b28be82c0a963e144ff6fa7a809dd8ae003a1d1e5979bed3f7f00.css\" integrity=\"sha256-yRk1dfGLKL6CwKlj4UT/b6eoCd2K4AOh0eWXm+0/fwA=\" media=\"all\" rel=\"stylesheet\">\n <link crossorigin=\"anonymous\" href=\"https://assets-cdn.github.com/assets/github-e44ecf269c9d06cd9d34f65adaef2eb78a65fda33728f88a2340fc220b40f160.css\" integrity=\"sha256-5E7PJpydBs2dNPZa2u8ut4pl/aM3KPiKI0D8IgtA8WA=\" media=\"all\" rel=\"stylesheet\">\n \n \n <link crossorigin=\"anonymous\" href=\"https://assets-cdn.github.com/assets/site-40d3ebebbd14d73c1a2f449e109a016ab13b3ba29987bc4f8eff487787682a7b.css\" integrity=\"sha256-QNPr670U1zwaL0SeEJoBarE7O6KZh7xPjv9Id4doKns=\" media=\"all\" rel=\"stylesheet\">\n \n\n <meta name=\"viewport\" content=\"width=device-width\">\n \n <title>GitHub - franzenzenhofer/f19n-obtrusive-livetest: A sandboxed, extendable testing chrome extension and framework! It runs pre-defined and custom tests on each page that you visit.</title>\n <link rel=\"search\" type=\"application/opensearchdescription+xml\" href=\"/opensearch.xml\" title=\"GitHub\">\n <link rel=\"fluid-icon\" href=\"https://github.com/fluidicon.png\" title=\"GitHub\">\n <meta property=\"fb:app_id\" content=\"1401488693436528\">\n\n \n <meta content=\"https://avatars0.githubusercontent.com/u/323190?s=400&v=4\" property=\"og:image\"><meta content=\"GitHub\" property=\"og:site_name\"><meta content=\"object\" property=\"og:type\"><meta content=\"franzenzenhofer/f19n-obtrusive-livetest\" property=\"og:title\"><meta content=\"https://github.com/franzenzenhofer/f19n-obtrusive-livetest\" property=\"og:url\"><meta content=\"f19n-obtrusive-livetest - A sandboxed, extendable testing chrome extension and framework! It runs pre-defined and custom tests on each page that you visit.\" property=\"og:description\">\n\n <link rel=\"assets\" href=\"https://assets-cdn.github.com/\">\n \n <meta name=\"pjax-timeout\" content=\"1000\">\n \n <meta name=\"request-id\" content=\"CEC5:3DB9:3E294EB:6717FE8:5A195064\" data-pjax-transient=\"\">\n \n\n <meta name=\"selected-link\" value=\"repo_source\" data-pjax-transient=\"\">\n\n <meta name=\"google-site-verification\" content=\"KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU\">\n<meta name=\"google-site-verification\" content=\"ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA\">\n <meta name=\"google-analytics\" content=\"UA-3769691-2\">\n\n<meta content=\"collector.githubapp.com\" name=\"octolytics-host\"><meta content=\"github\" name=\"octolytics-app-id\"><meta content=\"https://collector.githubapp.com/github-external/browser_event\" name=\"octolytics-event-url\"><meta content=\"CEC5:3DB9:3E294EB:6717FE8:5A195064\" name=\"octolytics-dimension-request_id\"><meta content=\"iad\" name=\"octolytics-dimension-region_edge\"><meta content=\"iad\" name=\"octolytics-dimension-region_render\">\n<meta content=\"/<user-name>/<repo-name>\" data-pjax-transient=\"true\" name=\"analytics-location\">\n\n\n\n\n <meta class=\"js-ga-set\" name=\"dimension1\" content=\"Logged Out\">\n\n\n \n\n <meta name=\"hostname\" content=\"github.com\">\n <meta name=\"user-login\" content=\"\">\n\n <meta name=\"expected-hostname\" content=\"github.com\">\n <meta name=\"js-proxy-site-detection-payload\" content=\"NjY5ODZlNzJmOTQ2MDZkODUyMWYyMGVkMzlhYTU2OGYxYTcwZGI4YzU1ZWQ4NjcwM2U4M2RmNDQ0OWU2NTdiZnx7InJlbW90ZV9hZGRyZXNzIjoiODAuMTEwLjI5LjE5OSIsInJlcXVlc3RfaWQiOiJDRUM1OjNEQjk6M0UyOTRFQjo2NzE3RkU4OjVBMTk1MDY0IiwidGltZXN0YW1wIjoxNTExNjA4NDIwLCJob3N0IjoiZ2l0aHViLmNvbSJ9\">\n\n\n <meta name=\"html-safe-nonce\" content=\"e85cea2a1d89e34365cca1ccd14148a10e250d8b\">\n\n <meta http-equiv=\"x-pjax-version\" content=\"d93dfdd0f8a6df8043728c1632cc76ef\">\n \n\n <link href=\"https://github.com/franzenzenhofer/f19n-obtrusive-livetest/commits/master.atom\" rel=\"alternate\" title=\"Recent Commits to f19n-obtrusive-livetest:master\" type=\"application/atom+xml\">\n\n <meta name=\"description\" content=\"f19n-obtrusive-livetest - A sandboxed, extendable testing chrome extension and framework! It runs pre-defined and custom tests on each page that you visit.\">\n <meta name=\"go-import\" content=\"github.com/franzenzenhofer/f19n-obtrusive-livetest git https://github.com/franzenzenhofer/f19n-obtrusive-livetest.git\">\n\n <meta content=\"323190\" name=\"octolytics-dimension-user_id\"><meta content=\"franzenzenhofer\" name=\"octolytics-dimension-user_login\"><meta content=\"56598478\" name=\"octolytics-dimension-repository_id\"><meta content=\"franzenzenhofer/f19n-obtrusive-livetest\" name=\"octolytics-dimension-repository_nwo\"><meta content=\"true\" name=\"octolytics-dimension-repository_public\"><meta content=\"false\" name=\"octolytics-dimension-repository_is_fork\"><meta content=\"56598478\" name=\"octolytics-dimension-repository_network_root_id\"><meta content=\"franzenzenhofer/f19n-obtrusive-livetest\" name=\"octolytics-dimension-repository_network_root_nwo\"><meta content=\"false\" name=\"octolytics-dimension-repository_explore_github_marketplace_ci_cta_shown\">\n\n\n <link rel=\"canonical\" href=\"https://github.com/franzenzenhofer/f19n-obtrusive-livetest\" data-pjax-transient=\"\">\n\n\n <meta name=\"browser-stats-url\" content=\"https://api.github.com/_private/browser/stats\">\n\n <meta name=\"browser-errors-url\" content=\"https://api.github.com/_private/browser/errors\">\n\n <link rel=\"mask-icon\" href=\"https://assets-cdn.github.com/pinned-octocat.svg\" color=\"#000000\">\n <link rel=\"icon\" type=\"image/x-icon\" class=\"js-site-favicon\" href=\"https://assets-cdn.github.com/favicon.ico\">\n\n<meta name=\"theme-color\" content=\"#1e2327\">\n\n\n <meta name=\"u2f-support\" content=\"true\">\n\n </head>\n\n <body class=\"logged-out env-production emoji-size-boost\">\n \n\n <div class=\"position-relative js-header-wrapper \">\n <a href=\"#start-of-content\" tabindex=\"1\" class=\"px-2 py-4 show-on-focus js-skip-to-content\">Skip to content</a>\n <div id=\"js-pjax-loader-bar\" class=\"pjax-loader-bar\"><div class=\"progress\"></div></div>\n\n \n \n \n\n\n\n <header class=\"Header header-logged-out position-relative f4 py-3\" role=\"banner\">\n <div class=\"container-lg d-flex px-3\">\n <div class=\"d-flex flex-justify-between flex-items-center\">\n <a class=\"header-logo-invertocat my-0\" href=\"https://github.com/\" aria-label=\"Homepage\" data-ga-click=\"(Logged out) Header, go to homepage, icon:logo-wordmark\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-mark-github\" height=\"32\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"32\"><path fill-rule=\"evenodd\" d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z\"></path></svg>\n </a>\n\n </div>\n\n <div class=\"HeaderMenu HeaderMenu--bright d-flex flex-justify-between flex-auto\">\n <nav class=\"mt-0\">\n <ul class=\"d-flex list-style-none\">\n <li class=\"ml-2\">\n <a href=\"/features\" class=\"js-selected-navigation-item HeaderNavlink px-0 py-2 m-0\" data-ga-click=\"Header, click, Nav menu - item:features\" data-selected-links=\"/features /features/project-management /features/code-review /features/project-management /features/integrations /features\">\n Features\n</a> </li>\n <li class=\"ml-4\">\n <a href=\"/business\" class=\"js-selected-navigation-item HeaderNavlink px-0 py-2 m-0\" data-ga-click=\"Header, click, Nav menu - item:business\" data-selected-links=\"/business /business/security /business/customers /business\">\n Business\n</a> </li>\n\n <li class=\"ml-4\">\n <a href=\"/explore\" class=\"js-selected-navigation-item HeaderNavlink px-0 py-2 m-0\" data-ga-click=\"Header, click, Nav menu - item:explore\" data-selected-links=\"/explore /trending /trending/developers /integrations /integrations/feature/code /integrations/feature/collaborate /integrations/feature/ship showcases showcases_search showcases_landing /explore\">\n Explore\n</a> </li>\n\n <li class=\"ml-4\">\n <a href=\"/marketplace\" class=\"js-selected-navigation-item HeaderNavlink px-0 py-2 m-0\" data-ga-click=\"Header, click, Nav menu - item:marketplace\" data-selected-links=\" /marketplace\">\n Marketplace\n</a> </li>\n <li class=\"ml-4\">\n <a href=\"/pricing\" class=\"js-selected-navigation-item HeaderNavlink px-0 py-2 m-0\" data-ga-click=\"Header, click, Nav menu - item:pricing\" data-selected-links=\"/pricing /pricing/developer /pricing/team /pricing/business-hosted /pricing/business-enterprise /pricing\">\n Pricing\n</a> </li>\n </ul>\n </nav>\n\n <div class=\"d-flex\">\n <div class=\"d-lg-flex flex-items-center mr-3\">\n <div class=\"header-search scoped-search site-scoped-search js-site-search\" role=\"search\">\n <!-- '\"` --><!-- </textarea></xmp> --><form accept-charset=\"UTF-8\" action=\"/franzenzenhofer/f19n-obtrusive-livetest/search\" class=\"js-site-search-form\" data-scoped-search-url=\"/franzenzenhofer/f19n-obtrusive-livetest/search\" data-unscoped-search-url=\"/search\" method=\"get\"><div style=\"margin:0;padding:0;display:inline\"><input name=\"utf8\" type=\"hidden\" value=\"✓\"></div>\n <label class=\"form-control header-search-wrapper js-chromeless-input-container\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest\" class=\"header-search-scope no-underline\">This repository</a>\n <input type=\"text\" class=\"form-control header-search-input js-site-search-focus js-site-search-field is-clearable\" data-hotkey=\"s\" name=\"q\" value=\"\" placeholder=\"Search\" aria-label=\"Search this repository\" data-unscoped-placeholder=\"Search GitHub\" data-scoped-placeholder=\"Search\" autocapitalize=\"off\">\n <input type=\"hidden\" class=\"js-site-search-type-field\" name=\"type\">\n </label>\n</form></div>\n\n </div>\n\n <span class=\"d-inline-block\">\n <div class=\"HeaderNavlink px-0 py-2 m-0\">\n <a class=\"text-bold text-white no-underline\" href=\"/login?return_to=%2Ffranzenzenhofer%2Ff19n-obtrusive-livetest\" data-ga-click=\"(Logged out) Header, clicked Sign in, text:sign-in\">Sign in</a>\n <span class=\"text-gray\">or</span>\n <a class=\"text-bold text-white no-underline\" href=\"/join?source=header-repo\" data-ga-click=\"(Logged out) Header, clicked Sign up, text:sign-up\">Sign up</a>\n </div>\n </span>\n </div>\n </div>\n </div>\n</header>\n\n\n </div>\n\n <div id=\"start-of-content\" class=\"show-on-focus\"></div>\n\n <div id=\"js-flash-container\">\n</div>\n\n\n\n <div role=\"main\">\n <div itemscope=\"\" itemtype=\"http://schema.org/SoftwareSourceCode\">\n <div id=\"js-repo-pjax-container\" data-pjax-container=\"\">\n \n\n\n\n\n <div class=\"pagehead repohead instapaper_ignore readability-menu experiment-repo-nav \">\n <div class=\"repohead-details-container clearfix container \">\n\n <ul class=\"pagehead-actions\">\n <li>\n <a href=\"/login?return_to=%2Ffranzenzenhofer%2Ff19n-obtrusive-livetest\" class=\"btn btn-sm btn-with-count tooltipped tooltipped-n\" aria-label=\"You must be signed in to watch a repository\" rel=\"nofollow\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-eye\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z\"></path></svg>\n Watch\n </a>\n <a class=\"social-count\" href=\"/franzenzenhofer/f19n-obtrusive-livetest/watchers\" aria-label=\"4 users are watching this repository\">\n 4\n </a>\n\n </li>\n\n <li>\n <a href=\"/login?return_to=%2Ffranzenzenhofer%2Ff19n-obtrusive-livetest\" class=\"btn btn-sm btn-with-count tooltipped tooltipped-n\" aria-label=\"You must be signed in to star a repository\" rel=\"nofollow\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-star\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74z\"></path></svg>\n Star\n </a>\n\n <a class=\"social-count js-social-count\" href=\"/franzenzenhofer/f19n-obtrusive-livetest/stargazers\" aria-label=\"13 users starred this repository\">\n 13\n </a>\n\n </li>\n\n <li>\n <a href=\"/login?return_to=%2Ffranzenzenhofer%2Ff19n-obtrusive-livetest\" class=\"btn btn-sm btn-with-count tooltipped tooltipped-n\" aria-label=\"You must be signed in to fork a repository\" rel=\"nofollow\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-repo-forked\" height=\"16\" version=\"1.1\" viewBox=\"0 0 10 16\" width=\"10\"><path fill-rule=\"evenodd\" d=\"M8 1a1.993 1.993 0 0 0-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V6.5l3 3v1.78A1.993 1.993 0 0 0 5 15a1.993 1.993 0 0 0 1-3.72V9.5l3-3V4.72A1.993 1.993 0 0 0 8 1zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3 10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z\"></path></svg>\n Fork\n </a>\n\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/network\" class=\"social-count\" aria-label=\"1 user forked this repository\">\n 1\n </a>\n </li>\n</ul>\n\n <h1 class=\"public \">\n <svg aria-hidden=\"true\" class=\"octicon octicon-repo\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path fill-rule=\"evenodd\" d=\"M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z\"></path></svg>\n <span class=\"author\" itemprop=\"author\"><a href=\"/franzenzenhofer\" class=\"url fn\" rel=\"author\">franzenzenhofer</a></span><!--\n--><span class=\"path-divider\">/</span><!--\n--><strong itemprop=\"name\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest\" data-pjax=\"#js-repo-pjax-container\">f19n-obtrusive-livetest</a></strong>\n\n</h1>\n\n </div>\n \n<nav class=\"reponav js-repo-nav js-sidenav-container-pjax container\" itemscope=\"\" itemtype=\"http://schema.org/BreadcrumbList\" role=\"navigation\" data-pjax=\"#js-repo-pjax-container\">\n\n <span itemscope=\"\" itemtype=\"http://schema.org/ListItem\" itemprop=\"itemListElement\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest\" class=\"js-selected-navigation-item selected reponav-item\" data-hotkey=\"g c\" data-selected-links=\"repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages /franzenzenhofer/f19n-obtrusive-livetest\" itemprop=\"url\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-code\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M9.5 3L8 4.5 11.5 8 8 11.5 9.5 13 14 8 9.5 3zm-5 0L0 8l4.5 5L6 11.5 2.5 8 6 4.5 4.5 3z\"></path></svg>\n <span itemprop=\"name\">Code</span>\n <meta itemprop=\"position\" content=\"1\">\n</a> </span>\n\n <span itemscope=\"\" itemtype=\"http://schema.org/ListItem\" itemprop=\"itemListElement\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/issues\" class=\"js-selected-navigation-item reponav-item\" data-hotkey=\"g i\" data-selected-links=\"repo_issues repo_labels repo_milestones /franzenzenhofer/f19n-obtrusive-livetest/issues\" itemprop=\"url\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-issue-opened\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z\"></path></svg>\n <span itemprop=\"name\">Issues</span>\n <span class=\"Counter\">2</span>\n <meta itemprop=\"position\" content=\"2\">\n</a> </span>\n\n <span itemscope=\"\" itemtype=\"http://schema.org/ListItem\" itemprop=\"itemListElement\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/pulls\" class=\"js-selected-navigation-item reponav-item\" data-hotkey=\"g p\" data-selected-links=\"repo_pulls /franzenzenhofer/f19n-obtrusive-livetest/pulls\" itemprop=\"url\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-git-pull-request\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path fill-rule=\"evenodd\" d=\"M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z\"></path></svg>\n <span itemprop=\"name\">Pull requests</span>\n <span class=\"Counter\">0</span>\n <meta itemprop=\"position\" content=\"3\">\n</a> </span>\n\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/projects\" class=\"js-selected-navigation-item reponav-item\" data-hotkey=\"g b\" data-selected-links=\"repo_projects new_repo_project repo_project /franzenzenhofer/f19n-obtrusive-livetest/projects\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-project\" height=\"16\" version=\"1.1\" viewBox=\"0 0 15 16\" width=\"15\"><path fill-rule=\"evenodd\" d=\"M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z\"></path></svg>\n Projects\n <span class=\"Counter\">0</span>\n</a>\n\n\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/pulse\" class=\"js-selected-navigation-item reponav-item\" data-selected-links=\"repo_graphs repo_contributors dependency_graph pulse /franzenzenhofer/f19n-obtrusive-livetest/pulse\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-graph\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M16 14v1H0V0h1v14h15zM5 13H3V8h2v5zm4 0H7V3h2v10zm4 0h-2V6h2v7z\"></path></svg>\n Insights\n</a>\n\n</nav>\n\n\n </div>\n\n<div class=\"container new-discussion-timeline experiment-repo-nav\">\n <div class=\"repository-content\">\n\n \n <div class=\"signup-prompt-bg rounded-1\">\n <div class=\"signup-prompt p-4 text-center mb-4 rounded-1\">\n <div class=\"position-relative\">\n <!-- '\"` --><!-- </textarea></xmp> --><form accept-charset=\"UTF-8\" action=\"/site/dismiss_signup_prompt\" method=\"post\"><div style=\"margin:0;padding:0;display:inline\"><input name=\"utf8\" type=\"hidden\" value=\"✓\"><input name=\"authenticity_token\" type=\"hidden\" value=\"lelx7dFetFNMB4zbb2kOVbo4EVjP/dRWKMtA5R0Fv866K0bPxL6/hLPuxSUW24SM33b2ZUFFiX4q8f+sXps3cQ==\"></div>\n <button type=\"submit\" class=\"position-absolute top-0 right-0 btn-link link-gray\" data-ga-click=\"(Logged out) Sign up prompt, clicked Dismiss, text:dismiss\">\n Dismiss\n </button>\n</form>\n <h3 class=\"pt-2\">Join GitHub today</h3>\n <p class=\"col-6 mx-auto\">GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.</p>\n <p class=\"pb-2\">\n <a class=\"btn btn-blue\" href=\"/join?source=prompt-code\" data-ga-click=\"(Logged out) Sign up prompt, clicked Sign up, text:sign-up\">Sign up</a>\n </p>\n </div>\n </div>\n </div>\n\n\n <div class=\"js-repo-meta-container\">\n <div class=\"repository-meta mb-0 js-repo-meta-edit js-details-container \">\n <div class=\"repository-meta-content col-11 mb-1\">\n <span class=\"col-11 text-gray-dark mr-2\" itemprop=\"about\">\n A sandboxed, extendable testing chrome extension and framework! It runs pre-defined and custom tests on each page that you visit.\n </span>\n <span itemprop=\"url\"><a href=\"https://chrome.google.com/webstore/detail/f19n-obstrusive-live-test/jbnaibigcohjfefpfocphcjeliohhold?hl=en\" rel=\"nofollow\">https://chrome.google.com/webstore/de…</a></span>\n </div>\n\n </div>\n\n <div class=\"mb-3 repository-topics-container js-repository-topics-container js-details-container\">\n <div id=\"topics-list-container\" data-url=\"/franzenzenhofer/f19n-obtrusive-livetest/settings/topics\">\n <div class=\"list-topics-container f6 mt-1\">\n <a href=\"/topics/chrome\" class=\"topic-tag topic-tag-link\" data-ga-click=\"Topic, repository page\" data-octo-click=\"topic_click\" data-octo-dimensions=\"topic:chrome\">\n chrome\n </a>\n <a href=\"/topics/chrome-extension\" class=\"topic-tag topic-tag-link\" data-ga-click=\"Topic, repository page\" data-octo-click=\"topic_click\" data-octo-dimensions=\"topic:chrome-extension\">\n chrome-extension\n </a>\n <a href=\"/topics/devtools\" class=\"topic-tag topic-tag-link\" data-ga-click=\"Topic, repository page\" data-octo-click=\"topic_click\" data-octo-dimensions=\"topic:devtools\">\n devtools\n </a>\n <a href=\"/topics/seo\" class=\"topic-tag topic-tag-link\" data-ga-click=\"Topic, repository page\" data-octo-click=\"topic_click\" data-octo-dimensions=\"topic:seo\">\n seo\n </a>\n <a href=\"/topics/webperformance\" class=\"topic-tag topic-tag-link\" data-ga-click=\"Topic, repository page\" data-octo-click=\"topic_click\" data-octo-dimensions=\"topic:webperformance\">\n webperformance\n </a>\n </div>\n\n\n </div>\n\n </div>\n</div>\n\n\n\n <div class=\"overall-summary overall-summary-bottomless\">\n <div class=\"stats-switcher-viewport js-stats-switcher-viewport\">\n <div class=\"stats-switcher-wrapper\">\n <ul class=\"numbers-summary\">\n <li class=\"commits\">\n <a data-pjax=\"\" href=\"/franzenzenhofer/f19n-obtrusive-livetest/commits/master\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-history\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M8 13H6V6h5v2H8v5zM7 1C4.81 1 2.87 2.02 1.59 3.59L0 2v4h4L2.5 4.5C3.55 3.17 5.17 2.3 7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-.34.03-.67.09-1H.08C.03 7.33 0 7.66 0 8c0 3.86 3.14 7 7 7s7-3.14 7-7-3.14-7-7-7z\"></path></svg>\n <span class=\"num text-emphasized\">\n 351\n </span>\n commits\n </a>\n </li>\n <li>\n <a data-pjax=\"\" href=\"/franzenzenhofer/f19n-obtrusive-livetest/branches\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-git-branch\" height=\"16\" version=\"1.1\" viewBox=\"0 0 10 16\" width=\"10\"><path fill-rule=\"evenodd\" d=\"M10 5c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v.3c-.02.52-.23.98-.63 1.38-.4.4-.86.61-1.38.63-.83.02-1.48.16-2 .45V4.72a1.993 1.993 0 0 0-1-3.72C.88 1 0 1.89 0 3a2 2 0 0 0 1 1.72v6.56c-.59.35-1 .99-1 1.72 0 1.11.89 2 2 2 1.11 0 2-.89 2-2 0-.53-.2-1-.53-1.36.09-.06.48-.41.59-.47.25-.11.56-.17.94-.17 1.05-.05 1.95-.45 2.75-1.25S8.95 7.77 9 6.73h-.02C9.59 6.37 10 5.73 10 5zM2 1.8c.66 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2C1.35 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2zm0 12.41c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm6-8c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z\"></path></svg>\n <span class=\"num text-emphasized\">\n 2\n </span>\n branches\n </a>\n </li>\n\n <li>\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/releases\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-tag\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 0 0 0-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z\"></path></svg>\n <span class=\"num text-emphasized\">\n 0\n </span>\n releases\n </a>\n </li>\n\n <li>\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/graphs/contributors\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-organization\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M16 12.999c0 .439-.45 1-1 1H7.995c-.539 0-.994-.447-.995-.999H1c-.54 0-1-.561-1-1 0-2.634 3-4 3-4s.229-.409 0-1c-.841-.621-1.058-.59-1-3 .058-2.419 1.367-3 2.5-3s2.442.58 2.5 3c.058 2.41-.159 2.379-1 3-.229.59 0 1 0 1s1.549.711 2.42 2.088C9.196 9.369 10 8.999 10 8.999s.229-.409 0-1c-.841-.62-1.058-.59-1-3 .058-2.419 1.367-3 2.5-3s2.437.581 2.495 3c.059 2.41-.158 2.38-1 3-.229.59 0 1 0 1s3.005 1.366 3.005 4\"></path></svg>\n <span class=\"num text-emphasized\">\n 5\n </span>\n contributors\n</a>\n </li>\n </ul>\n\n <div class=\"repository-lang-stats\">\n <ol class=\"repository-lang-stats-numbers\">\n <li>\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/search?l=javascript\" data-ga-click=\"Repository, language stats search click, location:repo overview\">\n <span class=\"color-block language-color\" style=\"background-color:#f1e05a;\"></span>\n <span class=\"lang\">JavaScript</span>\n <span class=\"percent\">91.9%</span>\n </a>\n </li>\n <li>\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/search?l=css\" data-ga-click=\"Repository, language stats search click, location:repo overview\">\n <span class=\"color-block language-color\" style=\"background-color:#563d7c;\"></span>\n <span class=\"lang\">CSS</span>\n <span class=\"percent\">7.3%</span>\n </a>\n </li>\n <li>\n <span class=\"other\">\n <span class=\"color-block language-color\" style=\"background-color:#ededed;\"></span>\n <span class=\"lang\">Other</span>\n <span class=\"percent\">0.8%</span>\n </span>\n </li>\n </ol>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"repository-lang-stats-graph js-toggle-lang-stats\" title=\"Click for language details\" data-ga-click=\"Repository, language bar stats toggle, location:repo overview\">\n <span class=\"language-color\" aria-label=\"JavaScript 91.9%\" style=\"width:91.9%; background-color:#f1e05a;\" itemprop=\"keywords\">JavaScript</span>\n <span class=\"language-color\" aria-label=\"CSS 7.3%\" style=\"width:7.3%; background-color:#563d7c;\" itemprop=\"keywords\">CSS</span>\n <span class=\"language-color\" aria-label=\"Other 0.8%\" style=\"width:0.8%; background-color:#ededed;\" itemprop=\"keywords\">Other</span>\n </div>\n\n\n\n <div class=\"file-navigation in-mid-page\">\n\n <details class=\"get-repo-select-menu js-menu-container float-right position-relative dropdown-details\">\n <summary class=\"btn btn-sm btn-primary\">\n Clone or download\n <span class=\"dropdown-caret\"></span>\n </summary>\n <div class=\"position-relative\">\n <div class=\"get-repo-modal dropdown-menu dropdown-menu-sw pb-0 js-toggler-container \">\n <div class=\"clone-options https-clone-options\">\n\n <h4 class=\"mb-1\">\n Clone with HTTPS\n <a class=\"muted-link\" href=\"https://help.github.com/articles/which-remote-url-should-i-use\" target=\"_blank\" title=\"Which remote URL should I use?\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-question\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M6 10h2v2H6v-2zm4-3.5C10 8.64 8 9 8 9H6c0-.55.45-1 1-1h.5c.28 0 .5-.22.5-.5v-1c0-.28-.22-.5-.5-.5h-1c-.28 0-.5.22-.5.5V7H4c0-1.5 1.5-3 3-3s3 1 3 2.5zM7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7z\"></path></svg>\n </a>\n </h4>\n <p class=\"mb-2 get-repo-decription-text\">\n Use Git or checkout with SVN using the web URL.\n </p>\n\n <div class=\"input-group js-zeroclipboard-container\">\n <input type=\"text\" class=\"form-control input-monospace input-sm js-zeroclipboard-target js-url-field\" value=\"https://github.com/franzenzenhofer/f19n-obtrusive-livetest.git\" aria-label=\"Clone this repository at https://github.com/franzenzenhofer/f19n-obtrusive-livetest.git\" readonly=\"\">\n <div class=\"input-group-button\">\n <button aria-label=\"Copy to clipboard\" class=\"js-zeroclipboard btn btn-sm zeroclipboard-button tooltipped tooltipped-s\" data-copied-hint=\"Copied!\" type=\"button\"><svg aria-hidden=\"true\" class=\"octicon octicon-clippy\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9zM2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z\"></path></svg></button>\n </div>\n</div>\n\n </div>\n\n <div class=\"mt-2\">\n <a href=\"https://desktop.github.com\" class=\"btn btn-outline get-repo-btn tooltipped tooltipped-s tooltipped-multiline\" aria-label=\"Clone franzenzenhofer/f19n-obtrusive-livetest to your computer and use it in GitHub Desktop.\">\n Open in Desktop\n </a>\n\n<a href=\"/franzenzenhofer/f19n-obtrusive-livetest/archive/master.zip\" class=\"btn btn-outline get-repo-btn\n\" rel=\"nofollow\" data-ga-click=\"Repository, download zip, location:repo overview\">\n Download ZIP\n</a>\n\n </div>\n </div>\n </div>\n</details>\n\n\n <div class=\"BtnGroup float-right\">\n\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/find/master\" class=\"btn btn-sm empty-icon float-right BtnGroup-item\" data-pjax=\"\" data-hotkey=\"t\" data-ga-click=\"Repository, find file, location:repo overview\">\n Find file\n </a>\n </div>\n\n \n<div class=\"select-menu branch-select-menu js-menu-container js-select-menu float-left\">\n <button class=\" btn btn-sm select-menu-button js-menu-target css-truncate\" data-hotkey=\"w\" type=\"button\" aria-label=\"Switch branches or tags\" aria-expanded=\"false\" aria-haspopup=\"true\">\n <i>Branch:</i>\n <span class=\"js-select-button css-truncate-target\">master</span>\n </button>\n\n <div class=\"select-menu-modal-holder js-menu-content js-navigation-container\" data-pjax=\"\">\n\n <div class=\"select-menu-modal\">\n <div class=\"select-menu-header\">\n <svg aria-label=\"Close\" class=\"octicon octicon-x js-menu-close\" height=\"16\" role=\"img\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path fill-rule=\"evenodd\" d=\"M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z\"></path></svg>\n <span class=\"select-menu-title\">Switch branches/tags</span>\n </div>\n\n <div class=\"select-menu-filters\">\n <div class=\"select-menu-text-filter\">\n <input type=\"text\" aria-label=\"Filter branches/tags\" id=\"context-commitish-filter-field\" class=\"form-control js-filterable-field js-navigation-enable\" placeholder=\"Filter branches/tags\">\n </div>\n <div class=\"select-menu-tabs\">\n <ul>\n <li class=\"select-menu-tab\">\n <a href=\"#\" data-tab-filter=\"branches\" data-filter-placeholder=\"Filter branches/tags\" class=\"js-select-menu-tab\" role=\"tab\">Branches</a>\n </li>\n <li class=\"select-menu-tab\">\n <a href=\"#\" data-tab-filter=\"tags\" data-filter-placeholder=\"Find a tag…\" class=\"js-select-menu-tab\" role=\"tab\">Tags</a>\n </li>\n </ul>\n </div>\n </div>\n\n <div class=\"select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket\" data-tab-filter=\"branches\" role=\"menu\">\n\n <div data-filterable-for=\"context-commitish-filter-field\" data-filterable-type=\"substring\">\n\n\n <a class=\"select-menu-item js-navigation-item js-navigation-open \" href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/async-rules\" data-name=\"async-rules\" data-skip-pjax=\"true\" rel=\"nofollow\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-check select-menu-item-icon\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path fill-rule=\"evenodd\" d=\"M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z\"></path></svg>\n <span class=\"select-menu-item-text css-truncate-target js-select-menu-filter-text\">\n async-rules\n </span>\n </a>\n <a class=\"select-menu-item js-navigation-item js-navigation-open selected\" href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/master\" data-name=\"master\" data-skip-pjax=\"true\" rel=\"nofollow\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-check select-menu-item-icon\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path fill-rule=\"evenodd\" d=\"M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z\"></path></svg>\n <span class=\"select-menu-item-text css-truncate-target js-select-menu-filter-text\">\n master\n </span>\n </a>\n </div>\n\n <div class=\"select-menu-no-results\">Nothing to show</div>\n </div>\n\n <div class=\"select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket\" data-tab-filter=\"tags\">\n <div data-filterable-for=\"context-commitish-filter-field\" data-filterable-type=\"substring\">\n\n\n </div>\n\n <div class=\"select-menu-no-results\">Nothing to show</div>\n </div>\n\n </div>\n </div>\n</div>\n\n\n <button type=\"button\" class=\"btn btn-sm disabled tooltipped tooltipped-n new-pull-request-btn\" aria-label=\"You must be signed in to create a pull request\">\n New pull request\n </button>\n\n <div class=\"breadcrumb\">\n \n </div>\n</div>\n\n\n \n\n\n <div class=\"commit-tease js-details-container Details\">\n <span class=\"float-right\">\n Latest commit\n <a class=\"commit-tease-sha\" href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/81b93d5d7b8272baac596e3f92a4b0a511ee7704\" data-pjax=\"\">\n 81b93d5\n </a>\n <span itemprop=\"dateModified\"><relative-time datetime=\"2017-11-19T21:44:23Z\" title=\"19 Nov 2017, 22:44 CET\">6 days ago</relative-time></span>\n </span>\n\n\n <span class=\"commit-author-section\">\n <a href=\"/franzenzenhofer\" class=\"d-inline-block\">\n <img src=\"https://avatars3.githubusercontent.com/u/323190?s=40&v=4\" width=\"20\" height=\"20\" class=\"avatar avatar-small\" alt=\"@franzenzenhofer\">\n </a>\n \n <a href=\"/franzenzenhofer\" class=\"user-mention\">franzenzenhofer</a>\n\n </span>\n\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/81b93d5d7b8272baac596e3f92a4b0a511ee7704\" class=\"message\" data-pjax=\"true\" title=\"new version\">new version</a>\n\n\n </div>\n\n\n\n<div class=\"file-wrap\">\n\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/81b93d5d7b8272baac596e3f92a4b0a511ee7704\" class=\"d-none js-permalink-shortcut\" data-hotkey=\"y\">Permalink</a>\n\n <table class=\"files js-navigation-container js-active-navigation-container\" data-pjax=\"\">\n\n\n <tbody>\n <tr class=\"warning include-fragment-error\">\n <td class=\"icon\"><svg aria-hidden=\"true\" class=\"octicon octicon-alert\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M8.865 1.52c-.18-.31-.51-.5-.87-.5s-.69.19-.87.5L.275 13.5c-.18.31-.18.69 0 1 .19.31.52.5.87.5h13.7c.36 0 .69-.19.86-.5.17-.31.18-.69.01-1L8.865 1.52zM8.995 13h-2v-2h2v2zm0-3h-2V6h2v4z\"></path></svg></td>\n <td class=\"content\" colspan=\"3\">Failed to load latest commit information.</td>\n </tr>\n\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-directory\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/master/.vscode\" class=\"js-navigation-open\" id=\"7fde71560fa9376d2d93a25b42d719f5-c9cdd850f81b4b25fa2bde35f1d588da55eff6fc\" title=\".vscode\">.vscode</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/d8ad2e53d08e070c9d2f97bf5204e8e4275c9da1\" class=\"message\" data-pjax=\"true\" title=\"VS Code settings\">VS Code settings</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-10-17T15:25:18Z\" title=\"17 Oct 2017, 17:25 CEST\">a month ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-directory\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/master/promotion\" class=\"js-navigation-open\" id=\"f8dcad058c9c44fdb6ffcb22d2d4c31f-b2415a9d99e606d53687cfa36172e6b5fd3dd053\" title=\"promotion\">promotion</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/581631c9c1cfcc89da75f7d338f9d70999a4f0d1\" class=\"message\" data-pjax=\"true\" title=\"Merge branch 'master' of github.com:franzenzenhofer/f19n-obtrusive-livetest\">Merge branch 'master' of github.com:franzenzenhofer/f19n-obtrusive-li…</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-08-07T15:14:37Z\" title=\"7 Aug 2017, 17:14 CEST\">4 months ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-directory\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/master/sample-rules\" class=\"js-navigation-open\" id=\"9bb6ff1a410526d782343e6951902428-3d273b5be08d4f073bbc3bf0bf46b196767798f3\" title=\"sample-rules\">sample-rules</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/a223f55649a9631aaa4ba789a158fd8e6f92e528\" class=\"message\" data-pjax=\"true\" title=\"clean up\">clean up</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-11-17T19:08:42Z\" title=\"17 Nov 2017, 20:08 CET\">8 days ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-directory\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/master/src\" class=\"js-navigation-open\" id=\"25d902c24283ab8cfbac54dfa101ad31-287e063b523a68443174223e00cc000b45ccaffa\" title=\"src\">src</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/81b93d5d7b8272baac596e3f92a4b0a511ee7704\" class=\"message\" data-pjax=\"true\" title=\"new version\">new version</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-11-19T21:44:23Z\" title=\"19 Nov 2017, 22:44 CET\">6 days ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-directory\" height=\"16\" version=\"1.1\" viewBox=\"0 0 14 16\" width=\"14\"><path fill-rule=\"evenodd\" d=\"M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/tree/master/test\" class=\"js-navigation-open\" id=\"098f6bcd4621d373cade4e832627b4f6-d6fe41e68e81f7bea404787d83cd3e73b3e61f21\" title=\"test\">test</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/ab3721baa7d34c29b9218a0c4d64affc683364a7\" class=\"message\" data-pjax=\"true\" title=\"make URLs downloadable & adding "what" hint to rules\">make URLs downloadable & adding \"what\" hint to rules</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2016-10-06T12:38:08Z\" title=\"6 Oct 2016, 14:38 CEST\">a year ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/.eslintrc\" class=\"js-navigation-open\" id=\"1dc6ee56b778cd91e0327b52aaeaa1b9-4f1694bc2628ba7fbdc2fe929842134bc454ccba\" title=\".eslintrc\">.eslintrc</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/d4e42119ecd5d9de3580aa2df11191e50f7550d5\" class=\"message\" data-pjax=\"true\" title=\"rules list polishing\">rules list polishing</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2016-05-08T22:22:19Z\" title=\"9 May 2016, 00:22 CEST\">2 years ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/.gitignore\" class=\"js-navigation-open\" id=\"a084b794bc0759e7a6b77810e01874f2-5b7e3b6b1acc2bb57aa8cd68b4559f35ed7b7e28\" title=\".gitignore\">.gitignore</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/81b93d5d7b8272baac596e3f92a4b0a511ee7704\" class=\"message\" data-pjax=\"true\" title=\"new version\">new version</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-11-19T21:44:23Z\" title=\"19 Nov 2017, 22:44 CET\">6 days ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/Gruntfile.js\" class=\"js-navigation-open\" id=\"35b4a816e0441e6a375cd925af50752c-344829ded2e05111a3097f821571faa26bfb67bf\" title=\"Gruntfile.js\">Gruntfile.js</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/0fc136c37abc899409ca93ac764ab7c100e9224c\" class=\"message\" data-pjax=\"true\" title=\"codeview preparation\">codeview preparation</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-10-26T08:26:51Z\" title=\"26 Oct 2017, 10:26 CEST\">a month ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/README.md\" class=\"js-navigation-open\" id=\"04c6e90faac2675aa89e2176d2eec7d8-2368d1747635df100367e52fa99612aa83371c5d\" title=\"README.md\">README.md</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/19da5da3fd55513ac0527877165dd37ebd173f54\" class=\"message\" data-pjax=\"true\" title=\"v 0.0.2.\">v 0.0.2.</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-08-07T15:41:44Z\" title=\"7 Aug 2017, 17:41 CEST\">4 months ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/build.zip\" class=\"js-navigation-open\" id=\"bd3f409385be2426c686b5e8eb288c66-c6e609f575164ee433b2e7a85e3f298ab488eede\" title=\"build.zip\">build.zip</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/a223f55649a9631aaa4ba789a158fd8e6f92e528\" class=\"message\" data-pjax=\"true\" title=\"clean up\">clean up</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-11-17T19:08:42Z\" title=\"17 Nov 2017, 20:08 CET\">8 days ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/package-lock.json\" class=\"js-navigation-open\" id=\"32607347f8126e6534ebc7ebaec4853d-fa029f6b8d363afc68b0006ca0ef6ad2ad3d6837\" title=\"package-lock.json\">package-lock.json</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/082590717bfb9f0312b74da1ae4a8fc46498fa28\" class=\"message\" data-pjax=\"true\" title=\"popup css\">popup css</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-10-24T14:16:17Z\" title=\"24 Oct 2017, 16:16 CEST\">a month ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/package.json\" class=\"js-navigation-open\" id=\"b9cfc7f2cdf78a7f4b91a753d10865a2-6e48c43d23fe5fbb2fa8b1cce94fda5f0a06cf6e\" title=\"package.json\">package.json</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/81b93d5d7b8272baac596e3f92a4b0a511ee7704\" class=\"message\" data-pjax=\"true\" title=\"new version\">new version</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-11-19T21:44:23Z\" title=\"19 Nov 2017, 22:44 CET\">6 days ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/privacy.md\" class=\"js-navigation-open\" id=\"18d05a63a1c8d7ed973cc51838494e41-a13038cb538841a804eb2d1e1a35029e24a3d3f4\" title=\"privacy.md\">privacy.md</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/f439578256a3244011e26b99ba4ce73e8bfb9d47\" class=\"message\" data-pjax=\"true\" title=\"Change wrong spelling\">Change wrong spelling</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2017-08-07T14:48:51Z\" title=\"7 Aug 2017, 16:48 CEST\">4 months ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/temp.js\" class=\"js-navigation-open\" id=\"228085ed546959371a280b5e3c424586-ee6d5b2d47acfeafed3232176341a13ae413f3a1\" title=\"temp.js\">temp.js</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/6553e10831a681d3f502133e77ef417563daef0d\" class=\"message\" data-pjax=\"true\" title=\"now with asyn rules\">now with asyn rules</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2016-10-18T09:19:16Z\" title=\"18 Oct 2016, 11:19 CEST\">a year ago</time-ago></span>\n </td>\n </tr>\n <tr class=\"js-navigation-item\">\n <td class=\"icon\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-file-text\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path d=\"M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z\"></path></svg>\n <img alt=\"\" class=\"spinner\" height=\"16\" src=\"https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif\" width=\"16\">\n </td>\n <td class=\"content\">\n <span class=\"css-truncate css-truncate-target\"><a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/yarn.lock\" class=\"js-navigation-open\" id=\"8ee2343978836a779dc9f8d6b794c3b2-c66b2abe2ee03bff2d354bcf3986ed56f5f77c1a\" title=\"yarn.lock\">yarn.lock</a></span>\n </td>\n <td class=\"message\">\n <span class=\"css-truncate css-truncate-target\">\n <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/commit/7de61d43d3c005b7c30b978631807b515a2b9ac4\" class=\"message\" data-pjax=\"true\" title=\"new rules & yarn\">new rules & yarn</a>\n </span>\n </td>\n <td class=\"age\">\n <span class=\"css-truncate css-truncate-target\"><time-ago datetime=\"2016-10-14T07:35:40Z\" title=\"14 Oct 2016, 09:35 CEST\">a year ago</time-ago></span>\n </td>\n </tr>\n </tbody>\n </table>\n\n</div>\n\n\n\n <div id=\"readme\" class=\"readme boxed-group clearfix announce instapaper_body md\">\n <h3>\n <svg aria-hidden=\"true\" class=\"octicon octicon-book\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M3 5h4v1H3V5zm0 3h4V7H3v1zm0 2h4V9H3v1zm11-5h-4v1h4V5zm0 2h-4v1h4V7zm0 2h-4v1h4V9zm2-6v9c0 .55-.45 1-1 1H9.5l-1 1-1-1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h5.5l1 1 1-1H15c.55 0 1 .45 1 1zm-8 .5L7.5 3H2v9h6V3.5zm7-.5H9.5l-.5.5V12h6V3z\"></path></svg>\n README.md\n </h3>\n\n <article class=\"markdown-body entry-content\" itemprop=\"text\"><p><a href=\"https://raw.githubusercontent.com/franzenzenhofer/f19n-obtrusive-livetest/master/src/public/images/icon.png\" target=\"_blank\"><img src=\"https://raw.githubusercontent.com/franzenzenhofer/f19n-obtrusive-livetest/master/src/public/images/icon.png\" alt=\"Obtrusive Live Test Logo\" style=\"max-width:100%;\"></a></p>\n<h1><a href=\"#f19n-obtrusive-livetest-chrome-extension\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-f19n-obtrusive-livetest-chrome-extension\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>f19n Obtrusive Livetest Chrome Extension</h1>\n<p>by <a href=\"http://www.fullstackoptimization.com/\" rel=\"nofollow\">http://www.fullstackoptimization.com/</a>\ndeveloped in cooperation with <a href=\"https://die-antwort.eu/\" rel=\"nofollow\">https://die-antwort.eu/</a></p>\n<p>Chrome App Store: <a href=\"https://chrome.google.com/webstore/detail/f19n-obstrusive-live-test/jbnaibigcohjfefpfocphcjeliohhold?hl=en\" rel=\"nofollow\">https://chrome.google.com/webstore/detail/f19n-obstrusive-live-test/jbnaibigcohjfefpfocphcjeliohhold?hl=en</a></p>\n<h3><a href=\"#what-is-it\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-what-is-it\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>What is it?</h3>\n<p>It's a sandboxed, extendable testing chrome extension and framework! It runs pre-defined and custom tests on each page that you visit.</p>\n<p><a href=\"https://raw.githubusercontent.com/franzenzenhofer/f19n-obtrusive-livetest/master/promotion/sample-output.png\" target=\"_blank\"><img src=\"https://raw.githubusercontent.com/franzenzenhofer/f19n-obtrusive-livetest/master/promotion/sample-output.png\" alt=\"Sample Output\" style=\"max-width:100%;\"></a></p>\n<h3><a href=\"#what-does-it-do\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-what-does-it-do\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>What does it do?</h3>\n<p>The extension collects the whole lifecycle of a pageload (http-headers, onpageload, onDOMready, ...) in an object, then it executes javascript functions against this object and returns testing feedback.</p>\n<p>It has multiple pre-defined rules currently targeting SEO and webperformance best practices.</p>\n<p>See <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/src/public/default-rules\">/src/public/default-rules</a> for a list of what currently gets tested.</p>\n<p>Additional it can call third party REST-APIs from within these rules.</p>\n<h3><a href=\"#what-can-it-do\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-what-can-it-do\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>What can it do?</h3>\n<p>Everything! You can write your own tests! Anything that happens in the browser during the pageload and render lifecycle can be inspected and dissected!</p>\n<h2><a href=\"#development\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-development\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Development</h2>\n<h3><a href=\"#install-all-dependencies\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-install-all-dependencies\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Install all dependencies</h3>\n<div class=\"highlight highlight-source-shell\"><pre>npm install</pre></div>\n<h3><a href=\"#run-the-build-process\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-run-the-build-process\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Run the build process</h3>\n<p>run the build process once (for this you need grunt-cli installed <code>npm install -g grunt-cli</code>)</p>\n<div class=\"highlight highlight-source-shell\"><pre>grunt</pre></div>\n<p>or if you want to automatically reload the extension after every change. Its required if you make changes inside RuleContext.js or other core scripts. <strong>Its not required if you just work on custom rules.</strong></p>\n<p>first install <a href=\"https://github.com/prasmussen/chrome-cli\">https://github.com/prasmussen/chrome-cli</a></p>\n<div class=\"highlight highlight-source-shell\"><pre>brew install chrome-cli</pre></div>\n<p>then:</p>\n<div class=\"highlight highlight-source-shell\"><pre>grunt --reload-extension</pre></div>\n<p>Open chrome://extensions/ and point the installation of an unpacked extension to the ./build folder</p>\n<h2><a href=\"#rules\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-rules\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Rules</h2>\n<p>The production ready rules can be found within <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/src/public/default-rules\">/src/public/default-rules</a></p>\n<p>Inside <a href=\"/franzenzenhofer/f19n-obtrusive-livetest/blob/master/sample-rules\">/sample-rules</a> are some sample rules plus the documentation how to write your own rules.</p>\n<h2><a href=\"#license\" aria-hidden=\"true\" class=\"anchor\" id=\"user-content-license\"><svg aria-hidden=\"true\" class=\"octicon octicon-link\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>License</h2>\n<ul>\n<li>All rules within the /sample-rules/ directory are MIT licensed.</li>\n<li>All rules within the /public/default-rules/ directory are MIT licensed.</li>\n<li>See details within the directory.</li>\n</ul>\n<p>All other code within this repository - if not defined otherwise - is currently available under a</p>\n<p><strong>Contribution License</strong>.</p>\n<p>You are welcome to</p>\n<ul>\n<li>review the code</li>\n<li>install the application in your browser</li>\n<li>submit issues, pull requests, any other feedback</li>\n<li>compile and use this extension in development mode on your computer with the goal of learning about the codebase or delivering feedback</li>\n<li>use code for educational purposes for yourself or within your organization</li>\n</ul>\n<p>Currently don't</p>\n<ul>\n<li>remove this license</li>\n<li>remove branding or links from/to <a href=\"http://www.fullstackoptimization.com\" rel=\"nofollow\">www.fullstackoptimization.com</a></li>\n<li>create a free or commercial product based upon the code of this repository</li>\n<li>submit a product based on this code to any app store</li>\n<li>install this extension in developer mode on multiple computers within your company</li>\n</ul>\n<p>These restrictions do not apply to the /sample-rules/ and the /public/default-rules/ code.</p>\n<p>This license might change in the future. I must just figure out what the best long term license for this product will be.</p>\n<p>Rightsholder: Franz Enzenhofer fe at f19n dot com</p>\n</article>\n </div>\n\n\n </div>\n <div class=\"modal-backdrop js-touch-events\"></div>\n</div>\n\n </div>\n </div>\n\n </div>\n\n \n<div class=\"footer container-lg px-3\" role=\"contentinfo\">\n <div class=\"position-relative d-flex flex-justify-between py-6 mt-6 f6 text-gray border-top border-gray-light \">\n <ul class=\"list-style-none d-flex flex-wrap \">\n <li class=\"mr-3\">© 2017 <span title=\"0.19285s from unicorn-3502610391-6kln8\">GitHub</span>, Inc.</li>\n <li class=\"mr-3\"><a href=\"https://github.com/site/terms\" data-ga-click=\"Footer, go to terms, text:terms\">Terms</a></li>\n <li class=\"mr-3\"><a href=\"https://github.com/site/privacy\" data-ga-click=\"Footer, go to privacy, text:privacy\">Privacy</a></li>\n <li class=\"mr-3\"><a href=\"https://github.com/security\" data-ga-click=\"Footer, go to security, text:security\">Security</a></li>\n <li class=\"mr-3\"><a href=\"https://status.github.com/\" data-ga-click=\"Footer, go to status, text:status\">Status</a></li>\n <li><a href=\"https://help.github.com\" data-ga-click=\"Footer, go to help, text:help\">Help</a></li>\n </ul>\n\n <a href=\"https://github.com\" aria-label=\"Homepage\" class=\"footer-octicon\" title=\"GitHub\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-mark-github\" height=\"24\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"24\"><path fill-rule=\"evenodd\" d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z\"></path></svg>\n</a>\n <ul class=\"list-style-none d-flex flex-wrap \">\n <li class=\"mr-3\"><a href=\"https://github.com/contact\" data-ga-click=\"Footer, go to contact, text:contact\">Contact GitHub</a></li>\n <li class=\"mr-3\"><a href=\"https://developer.github.com\" data-ga-click=\"Footer, go to api, text:api\">API</a></li>\n <li class=\"mr-3\"><a href=\"https://training.github.com\" data-ga-click=\"Footer, go to training, text:training\">Training</a></li>\n <li class=\"mr-3\"><a href=\"https://shop.github.com\" data-ga-click=\"Footer, go to shop, text:shop\">Shop</a></li>\n <li class=\"mr-3\"><a href=\"https://github.com/blog\" data-ga-click=\"Footer, go to blog, text:blog\">Blog</a></li>\n <li><a href=\"https://github.com/about\" data-ga-click=\"Footer, go to about, text:about\">About</a></li>\n\n </ul>\n </div>\n</div>\n\n\n\n <div id=\"ajax-error-message\" class=\"ajax-error-message flash flash-error\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-alert\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M8.865 1.52c-.18-.31-.51-.5-.87-.5s-.69.19-.87.5L.275 13.5c-.18.31-.18.69 0 1 .19.31.52.5.87.5h13.7c.36 0 .69-.19.86-.5.17-.31.18-.69.01-1L8.865 1.52zM8.995 13h-2v-2h2v2zm0-3h-2V6h2v4z\"></path></svg>\n <button type=\"button\" class=\"flash-close js-ajax-error-dismiss\" aria-label=\"Dismiss error\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-x\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path fill-rule=\"evenodd\" d=\"M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z\"></path></svg>\n </button>\n You can't perform that action at this time.\n </div>\n\n\n \n <script crossorigin=\"anonymous\" integrity=\"sha256-eSmC/otpTwXUEsDiTzhgqZ3CsEty0JvC/eK8QGavCSY=\" src=\"https://assets-cdn.github.com/assets/frameworks-792982fe8b694f05d412c0e24f3860a99dc2b04b72d09bc2fde2bc4066af0926.js\"></script>\n \n <script async=\"async\" crossorigin=\"anonymous\" integrity=\"sha256-/G88M4nO+F4bpHIgS2QY0odzkatwV0r9MzXYi3vLGno=\" src=\"https://assets-cdn.github.com/assets/github-fc6f3c3389cef85e1ba472204b6418d2877391ab70574afd3335d88b7bcb1a7a.js\"></script>\n \n \n \n \n <div class=\"js-stale-session-flash stale-session-flash flash flash-warn flash-banner d-none\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-alert\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M8.865 1.52c-.18-.31-.51-.5-.87-.5s-.69.19-.87.5L.275 13.5c-.18.31-.18.69 0 1 .19.31.52.5.87.5h13.7c.36 0 .69-.19.86-.5.17-.31.18-.69.01-1L8.865 1.52zM8.995 13h-2v-2h2v2zm0-3h-2V6h2v4z\"></path></svg>\n <span class=\"signed-in-tab-flash\">You signed in with another tab or window. <a href=\"\">Reload</a> to refresh your session.</span>\n <span class=\"signed-out-tab-flash\">You signed out in another tab or window. <a href=\"\">Reload</a> to refresh your session.</span>\n </div>\n <div class=\"facebox\" id=\"facebox\" style=\"display:none;\">\n <div class=\"facebox-popup\">\n <div class=\"facebox-content\" role=\"dialog\" aria-labelledby=\"facebox-header\" aria-describedby=\"facebox-description\">\n </div>\n <button type=\"button\" class=\"facebox-close js-facebox-close\" aria-label=\"Close modal\">\n <svg aria-hidden=\"true\" class=\"octicon octicon-x\" height=\"16\" version=\"1.1\" viewBox=\"0 0 12 16\" width=\"12\"><path fill-rule=\"evenodd\" d=\"M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z\"></path></svg>\n </button>\n </div>\n</div>\n\n\n \n\n\n</body>",
"location": {
"href": "https://github.com/franzenzenhofer/f19n-obtrusive-livetest",
"ancestorOrigins": {},
"origin": "https://github.com",
"protocol": "https:",
"host": "github.com",
"hostname": "github.com",
"port": "",
"pathname": "/franzenzenhofer/f19n-obtrusive-livetest",
"search": "",
"hash": ""
},
"event": "documentIdle"
}
]
}