-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex_html.h
388 lines (362 loc) · 20 KB
/
index_html.h
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
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
const char indexHTML[] PROGMEM = R"=====(
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title> Lamp Control </title>
<link rel="icon" href="data:image/png;base64,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
ew22+5B/97jLnAemmLyJCTD/BVo5Em3Pk+fCAAAAx3pUWHRSYXcgcHJvZmlsZSB0eXBlIGlwdGMA
AHja7VM7DsMwCN05RY/Azw/7OJGTSt069P4qSZSlSqS0nSoVC2zAvMcAdLs/Ol1m8Qqy6urNR/Y8
m8g4SGeNyqwtDCMkNFwZHQXr3RCoS0yjoBNUOZBpC8c10ssvhiumfC02sgAts2UGt0iiamqcKjou
WqUTK9p53mNa2ueVBGdbAc/59G7BkU/fAvw7+p2OuLwOMX0yxXtDnCtiPdkmE3MbcoMsrViZt2iL
0BNtad0qkgLkmwAAAYRpQ0NQSUNDIHByb2ZpbGUAAHicfZE9SMNQFIVPU8UiFQU7iDhkqE4WREU6
ahWKUCHUCq06mLz0D5o0JCkujoJrwcGfxaqDi7OuDq6CIPgD4ubmpOgiJd6XFFrEeOHxPs675/De
fYDQqDDN6poANN0208mEmM2tij2vCCCEMOIYkJllzElSCr71dU/dVHcxnuXf92f1qXmLAQGReJYZ
pk28QTyzaRuc94kjrCSrxOfE4yZdkPiR64rHb5yLLgs8M2Jm0vPEEWKx2MFKB7OSqRFPE0dVTad8
IeuxynmLs1apsdY9+QvDeX1lmeu0RpDEIpYgQYSCGsqowEaMdp0UC2k6T/j4h12/RC6FXGUwciyg
Cg2y6wf/g9+ztQpTk15SOAF0vzjOxyjQsws0647zfew4zRMg+Axc6W1/tQHEP0mvt7XoEdC/DVxc
tzVlD7jcAYaeDNmUXSlISygUgPcz+qYcMHgL9K55c2ud4/QByNCsUjfAwSEwVqTsdZ93hzrn9m9P
a34/VOdym2K1/SIAABT1aVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49
Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9
ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA0LjQuMC1FeGl2MiI+CiA8cmRmOlJE
RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMi
PgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczppcHRjRXh0PSJodHRw
Oi8vaXB0Yy5vcmcvc3RkL0lwdGM0eG1wRXh0LzIwMDgtMDItMjkvIgogICAgeG1sbnM6eG1wTU09
Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICB4bWxuczpzdEV2dD0iaHR0cDov
L25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgeG1sbnM6cGx1
cz0iaHR0cDovL25zLnVzZXBsdXMub3JnL2xkZi94bXAvMS4wLyIKICAgIHhtbG5zOkdJTVA9Imh0
dHA6Ly93d3cuZ2ltcC5vcmcveG1wLyIKICAgIHhtbG5zOk1pY3Jvc29mdFBob3RvPSJodHRwOi8v
bnMubWljcm9zb2Z0LmNvbS9waG90by8xLjAvIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9y
Zy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUu
Y29tL3Bob3Rvc2hvcC8xLjAvIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90
aWZmLzEuMC8iCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAg
IHhtcE1NOkRvY3VtZW50SUQ9ImdpbXA6ZG9jaWQ6Z2ltcDo1OTMxNWYxNy1lYjZkLTQ2MDktYjM3
MS1lMTkxZDE1YjJiMzAiCiAgIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODJmZjUyODctNTM2
My00ODljLWFjNGUtODU0NmZiZTkzOWQ2IgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9Inht
cC5kaWQ6NjBmZDRlNDUtMDFhNC00MDliLWJjY2ItOGYyYjVjYTFjYTQ3IgogICBHSU1QOkFQST0i
Mi4wIgogICBHSU1QOlBsYXRmb3JtPSJMaW51eCIKICAgR0lNUDpUaW1lU3RhbXA9IjE2MTAxMTA5
OTcwNzU1MzAiCiAgIEdJTVA6VmVyc2lvbj0iMi4xMC4yMiIKICAgZGM6Rm9ybWF0PSJpbWFnZS9w
bmciCiAgIHBob3Rvc2hvcDpIZWFkbGluZT0ic21hcnQgbGVkIGxpZ2h0IGJ1bGIgdmVjdG9yIGlj
b24gb24gd2hpdGUiCiAgIHRpZmY6T3JpZW50YXRpb249IjEiCiAgIHhtcDpDcmVhdG9yVG9vbD0i
R0lNUCAyLjEwIj4KICAgPGlwdGNFeHQ6TG9jYXRpb25DcmVhdGVkPgogICAgPHJkZjpCYWcvPgog
ICA8L2lwdGNFeHQ6TG9jYXRpb25DcmVhdGVkPgogICA8aXB0Y0V4dDpMb2NhdGlvblNob3duPgog
ICAgPHJkZjpCYWcvPgogICA8L2lwdGNFeHQ6TG9jYXRpb25TaG93bj4KICAgPGlwdGNFeHQ6QXJ0
d29ya09yT2JqZWN0PgogICAgPHJkZjpCYWcvPgogICA8L2lwdGNFeHQ6QXJ0d29ya09yT2JqZWN0
PgogICA8aXB0Y0V4dDpSZWdpc3RyeUlkPgogICAgPHJkZjpCYWcvPgogICA8L2lwdGNFeHQ6UmVn
aXN0cnlJZD4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAg
ICAgIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii8iCiAgICAgIHN0
RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6ZGQ4ZGZmNGYtNjExMC00OWEzLWI4MDEtNGEzNzgzOTFk
YTEzIgogICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJHaW1wIDIuMTAgKExpbnV4KSIKICAgICAg
c3RFdnQ6d2hlbj0iKzAxOjAwIi8+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNh
dmVkIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAu
aWlkOjYyMzA1ZjIxLTZhMjItNGQ1OS05ZDI4LWRhNTJkYzJmNjIxNyIKICAgICAgc3RFdnQ6c29m
dHdhcmVBZ2VudD0iR2ltcCAyLjEwIChMaW51eCkiCiAgICAgIHN0RXZ0OndoZW49IiswMTowMCIv
PgogICAgPC9yZGY6U2VxPgogICA8L3htcE1NOkhpc3Rvcnk+CiAgIDxwbHVzOkltYWdlU3VwcGxp
ZXI+CiAgICA8cmRmOlNlcS8+CiAgIDwvcGx1czpJbWFnZVN1cHBsaWVyPgogICA8cGx1czpJbWFn
ZUNyZWF0b3I+CiAgICA8cmRmOlNlcS8+CiAgIDwvcGx1czpJbWFnZUNyZWF0b3I+CiAgIDxwbHVz
OkNvcHlyaWdodE93bmVyPgogICAgPHJkZjpTZXEvPgogICA8L3BsdXM6Q29weXJpZ2h0T3duZXI+
CiAgIDxwbHVzOkxpY2Vuc29yPgogICAgPHJkZjpTZXEvPgogICA8L3BsdXM6TGljZW5zb3I+CiAg
IDxNaWNyb3NvZnRQaG90bzpMYXN0S2V5d29yZFhNUD4KICAgIDxyZGY6QmFnPgogICAgIDxyZGY6
bGk+bGVkLCBsaWdodCwgYnVsYiwgbGlnaHRidWxiLCBpY29uLCBzbWFydCwgd2lyZWxlc3MsIGNv
bnRyb2wsIGxhbXAsIGVuZXJneSwgY29uY2VwdCwgZWNvbm9taWNhbCwgZWZmaWNpZW5jeSwgZWxl
Y3RyaWMsIGlubm92YXRpb24sIGJyaWdodCwgZ3JhcGhpYywgaWxsdW1pbmF0aW9uLCB0ZWNobm9s
b2d5LCBzb2x1dGlvbiwgZWxlbWVudCwgbHVtaW5vc2l0eSwgb2JqZWN0LCBlbGVjdHJpY2FsLCBz
YXZpbmcsIGxvZ28sIGNvbnRvdXIsIHZlY3RvciwgZXBzLCBtb2Rlcm4sIHNpZ24sIHBpY3RvZ3Jh
bSwgc3ltYm9sLCBtYXJrLCBsaWdodGVuaW5nLCBpc29sYXRlZCwgb3ZlciB3aGl0ZSwgZ3JlZW48
L3JkZjpsaT4KICAgIDwvcmRmOkJhZz4KICAgPC9NaWNyb3NvZnRQaG90bzpMYXN0S2V5d29yZFhN
UD4KICAgPGRjOmNyZWF0b3I+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpPlZlY3RvclN0b2Nr
LmNvbS8yMTM0NDg1NTwvcmRmOmxpPgogICAgPC9yZGY6U2VxPgogICA8L2RjOmNyZWF0b3I+CiAg
IDxkYzpzdWJqZWN0PgogICAgPHJkZjpCYWc+CiAgICAgPHJkZjpsaT5sZWQsIGxpZ2h0LCBidWxi
LCBsaWdodGJ1bGIsIGljb24sIHNtYXJ0LCB3aXJlbGVzcywgY29udHJvbCwgbGFtcCwgZW5lcmd5
LCBjb25jZXB0LCBlY29ub21pY2FsLCBlZmZpY2llbmN5LCBlbGVjdHJpYywgaW5ub3ZhdGlvbiwg
YnJpZ2h0LCBncmFwaGljLCBpbGx1bWluYXRpb24sIHRlY2hub2xvZ3ksIHNvbHV0aW9uLCBlbGVt
ZW50LCBsdW1pbm9zaXR5LCBvYmplY3QsIGVsZWN0cmljYWwsIHNhdmluZywgbG9nbywgY29udG91
ciwgdmVjdG9yLCBlcHMsIG1vZGVybiwgc2lnbiwgcGljdG9ncmFtLCBzeW1ib2wsIG1hcmssIGxp
Z2h0ZW5pbmcsIGlzb2xhdGVkLCBvdmVyIHdoaXRlLCBncmVlbjwvcmRmOmxpPgogICAgPC9yZGY6
QmFnPgogICA8L2RjOnN1YmplY3Q+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+Cjwv
eDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4bfp0gAAAABmJLR0QA/ADBAC2hNaYhAAAACXBIWXMA
AAsTAAALEwEAmpwYAAAAB3RJTUUH5QEIDQMRO8zBrAAAACR0RVh0Q29tbWVudABjaGFyc2V0PUFz
Y2lpIGJpbmFyeSBjb21tZW50Jv/Y7wAAB2JJREFUaN7FmluMldUVx3///Z05cxEZLoMXREZBBirI
gI5S24pVU5UUK2ovpNqLNpiavjT2uRpt00TTt8bW2AqS1ku1Y23FpFStRKxKkHIT68yA6BjGQWR0
hLlw5jv734dziNSIYc75GHayX845e63123vttfZaOaLK0fr27/PCUyRmArMlzgGmAo3ASeWfDQD9
Nj3ATqDDZpfRvq1nrShUo1+VLJq/+0EFqQl8gfDXgC8CM4FGRB4IR1kagQKmH3gLeAX0rNEmmw+2
nn2LR2tLbtQ7vmulgMWY25EuBk0+wuDUZgA4WN71kfLnNeXTGCeoB04tz0WG72H+DfwK2HjcASxq
Zd1ouAYjYMjQDd4msdnQAfQA/YZC+ZjzZZeaipltWAiaL5humAJcA2yeu+vB/+yY+aPicQWQw0hp
p7TIcg/wNHh9tLodZaEJQBPidENdaQ3DwEfAa+DnJEtiutElwFLQybY3CsUxuQOtO1fXx9JFPRCt
glAL8CXEIuFZwClAwxEblAKDwPtGXdgbQC8bdwQ5L6gtEnt3nHNzOiYAh8d5nX+aZ7gdcVk58uSP
9LbyPKznSF0FoAfzLHDP6y037RrTKAQwt+PhBPiZxC9Ll1QpuM/wLvAO0KvSZbbhZOA0oFlwJmgS
OAcaNNwW5D9un3WjK7EjVylAtKMIb4C2A4eMnxN60XIXpg90KKdgAylRtmsFEym526Wgy8oB4L/b
WyozvmoXmvPmI/kETQcO2d5bJNQCUwVnY02VmAjG5kNEj2E30JMoHgKaJITp3THnu8UTAgDQsuPx
YDg9wFclvg4sKLtL/acu8RDQC2yxeSbCOsF7nXO/HavRXxXArNefGCfpKuDWcjY+uSzTQLFs+GFX
TY747gDwKvCA7bVd8751cMwBWrb9ZaqlnyBuBp0GSPAx0CW8VVJntD8ACFKT7RajVmCWYXwJxL2Y
VbLv65z/zZ4xA2jZ9uR0w52G5eV4PxhgvcTDwi/lRG+NOLR57g0RYOGO9lAwtUVzmtFXbG6McMnh
tYLHBHd1zr+++7gDnLPlqcmIu4FbKGXaPUH+XYDV9YE9m+dd97kRZeHrf9VQ5IwIP4jWbcAZwDCw
EnPHzgXL9h83gJmb/15j+DHSL4BG4XcCviuRH3uzddnQqCLY1qfqi9byiO40agb6sX8uuH/Xwm+M
HKucMKqHXNR8O9zqqEYifVj3Ch4drfEAb7YuGwrwqKx7ifQ5qrEse/5o5BwzQPOmNbWRZLkJc0wo
4tCeWI90Lrh2uNJA0LHg2uFgPYJDuwlFE+ZEkuXNm9bUZg7gGM6ydZWjckS9bcLKzvOXflRtHuk8
f+lHJqwkarejciUd4azsXcjhQkfNcJSxXkjMNjIaidmGtc5RdtQMHC7MFKB5w9o8Dm2QNEAYxGHd
zrYlg1kB7GxbMojDOgiDkDTg0Na8YW0+s8dcjEm9xQyMhPokOsh4yKHDps9wEmiGTH352V39CUSr
zjFMcgw4hn7H0Jc1gGPoK8vGMUyKVl1mJ5A6KIhQqkpUzKE0a4AcSZriojGgULSVGUAgREeiS0V9
rmBqsgYoRGqKKFe2OwYdW30cji1KaBhrvy0cNSFaTVkDRKvJURNsgbU/sYYzA3BkyA5ddoh2mBRj
OHfO+leVlfFfWP+KYgzn2mFSWUeXI0OZAexZvHgEa6MdBqJDXdHh8oEYx2UFMBA9ruhwRXSos8MA
1sY9ixePZAZQTmSbsLpsKVqLi1ZbVgAjVlu0LrElrC4cNmVe1Cd2d7SeMZpnmJbCitOf37A7H9Q3
YtI6iAdMPDWXYyAtxr2x6BBcKlsQE0mYWJML76epGmSNQJJAMgKT0xhXRJgGFITXBHHMdcGo/HjK
8xvmRnjIqK1ciGwOaL9hSDAYoZCX0tQeGCk1cj/ZAAh5qaFg14RSr7TBUG/cVGo10iD8WoAf7rti
0Y7j0lZJRIed/Daae4Aphi9/OtYNu5RX9Rlt6WEj0P+TlfdQsE/ivkRxVFl+VPVA7+WLUsXQTtRq
WwVbHGXqKPNovx921Krg8GTv5ReNKklWFAon/XPT7IhWGS7O4hUheCHgFX1XXvDWmHTmZHaC/oB1
rlFjlX2dvcL31Sh9e0zbKpP/seWU1OE3EZZWIScN+MFEvqPv6gUHxrQ3Wkey76C52+Zpl5pWlexe
AfFy35LWA5XaUTHAnqvPc8PTb+yzea9iV4ThEPiwuldsdWVIm8T95ZZiJQB7gJuALScEwA41QCN4
fIUiDnqUoTxrgOpjKObEuZCFq9EvjHXiAII1ULQKlTLIHghiqCobqrrCkW2Yv9nq/5xnwmdNY+1N
0BM5q7sqG6r14ZPad5+aWksM349wEZ/8P+Jo48MgXgz4oVrFf/VfP/PjEwoA0NTeHQbsaUVrqWFF
NK3+lGyJYgIvBfmBGvFcPiT79l83zdXqzqyuBZj4eHcygK4swq8jmnOEi6YJ3pjHP52QsLHnhunO
SmemAADj//xuTSpdnFrLjGYDKXh7jdyes7d+/J0zY5b6/gdChrEhOYMDugAAAABJRU5ErkJggg=="
>
<style>
html {
/* height: 100%;*/
font-family: 'Work Sans', sans-serif;
text-align: center;
}
html h1 {
color: #eeeeee;
font-weight: 5000;
margin-bottom: 35px;
/*text-align: left;*/
}
html h3 {
color: #c3c3c3;
font-weight: 700;
margin-left: 14%;
margin-right: 14%;
/*display: inline;*/
}
html h4 {
color: #999;
font-weight: 500;
}
/*Chrome*/
@media screen and (-webkit-min-device-pixel-ratio:0) {
input[type='range'] {
overflow: hidden;
width: 75%;
border-radius: 14px;
outline: none;
-webkit-appearance: none;
background-color: #1b3756;
}
input[type='range']::-webkit-slider-runnable-track {
height: 40px;
-webkit-appearance: none;
color: #052aff;
}
input[type='range']::-webkit-slider-thumb {
width: 0px;
-webkit-appearance: none;
height: 40px;
border-radius: 50%;
cursor: ew-resize;
background: #1a73e8;
box-shadow: -800px 0 0 800px #1a73e8;
}
}
/** FF*/
input[type=range]{
/* fix for FF unable to apply focus style bug */
border: 0px #242424;
/*required for proper track sizing in FF*/
width: 75%;
height: 40px;
}
input[type=range]::-moz-range-thumb {
background-color: #1a73e8;
height: 0px;
width: 0px;
border: none;
}
input[type="range"]::-moz-range-progress {
background-color: #1a73e8;
height: 40px;
}
input[type="range"]::-moz-range-track {
background-color: #1b3756;
border: none;
height: 40px;
width: 75%;
border-radius: 14px;
}
</style>
</head>
<body style="background-color: #242424">
<h1> Lamp Control </h1>
<div style="clear: both">
<h3 style="float: left"> TOP </h3>
<h3 style="float: right"> <span id="value1"></span> </h3>
</div>
<div class="slidecontainer">
<input type="range" min="0" max="100" value="50" class="slider" id="slider1">
</div>
<br>
<div style="clear: both">
<h3 style="float: left"> BOTTOM </h3>
<h3 style="float: right"> <span id="value2"></span> </h3>
</div>
<div class="slidecontainer">
<input type="range" min="0" max="100" value="50" class="slider" id="slider2">
</div>
<script>
var xhr = new XMLHttpRequest();
var slider1 = document.getElementById("slider1");
var slider2 = document.getElementById("slider2");
var value1 = document.getElementById("value1");
var value2 = document.getElementById("value2");
value1.innerHTML = slider1.value;
value2.innerHTML = slider2.value;
var url = "/";
window.onload = init;
slider1.oninput = function() {
value1.innerHTML = this.value;
xhr.open("GET", url + "?ch1=" + this.value, true);
xhr.send();
}
slider2.oninput = function() {
value2.innerHTML = this.value;
xhr.open("GET", url + "?ch2=" + this.value, true);
xhr.send();
}
function init() {
xhr = new XMLHttpRequest();
xhr.onreadystatechange = processResponse;
setInterval(update, 1000);
update();
}
function update() {
xhr.open("GET", url+"?dummy=x", true);
xhr.send();
}
function processResponse() {
if (4 == xhr.readyState && 200 == xhr.status) {
var response = JSON.parse(xhr.responseText);
value1.innerHTML = response.ch1;
slider1.value = response.ch1;
value2.innerHTML = response.ch2;
slider2.value = response.ch2;
}
}
</script>
</body>
</html>
)=====" ;