sniffles 0.1.0 → 0.1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,7 +15,7 @@ http_interactions:
15
15
  headers:
16
16
  !binary "RGF0ZQ==":
17
17
  - !binary |-
18
- RnJpLCAwMiBNYXIgMjAxMiAyMzoxNToxNiBHTVQ=
18
+ U2F0LCAwMyBNYXIgMjAxMiAxMjowNDoxMSBHTVQ=
19
19
  !binary "U2VydmVy":
20
20
  - !binary |-
21
21
  QXBhY2hlLzI=
@@ -492,5 +492,5 @@ http_interactions:
492
492
  dG1sPgo=
493
493
  http_version: !binary |-
494
494
  MS4x
495
- recorded_at: Fri, 02 Mar 2012 23:15:17 GMT
495
+ recorded_at: Sat, 03 Mar 2012 12:04:12 GMT
496
496
  recorded_with: VCR 2.0.0
@@ -15,7 +15,7 @@ http_interactions:
15
15
  headers:
16
16
  !binary "RGF0ZQ==":
17
17
  - !binary |-
18
- RnJpLCAwMiBNYXIgMjAxMiAyMzoxNToxNiBHTVQ=
18
+ U2F0LCAwMyBNYXIgMjAxMiAxMjowNDoxMiBHTVQ=
19
19
  !binary "U2VydmVy":
20
20
  - !binary |-
21
21
  TGl0ZVNwZWVk
@@ -24,7 +24,7 @@ http_interactions:
24
24
  Y2xvc2U=
25
25
  !binary "TGFzdC1Nb2RpZmllZA==":
26
26
  - !binary |-
27
- RnJpLCAwMiBNYXIgMjAxMiAyMzoxMDoyNSBHTVQ=
27
+ U2F0LCAwMyBNYXIgMjAxMiAxMjowMzoyNCBHTVQ=
28
28
  !binary "VmFyeQ==":
29
29
  - !binary |-
30
30
  QWNjZXB0LUVuY29kaW5nLCBDb29raWU=
@@ -32,7 +32,7 @@ http_interactions:
32
32
  VXNlci1BZ2VudA==
33
33
  !binary "RXhwaXJlcw==":
34
34
  - !binary |-
35
- U2F0LCAwMyBNYXIgMjAxMiAwMDoxMDoyNSBHTVQ=
35
+ U2F0LCAwMyBNYXIgMjAxMiAxMzowMzoyNCBHTVQ=
36
36
  !binary "UHJhZ21h":
37
37
  - !binary |-
38
38
  cHVibGlj
@@ -53,7 +53,7 @@ http_interactions:
53
53
  dGV4dC9odG1sOyBjaGFyc2V0PVVURi04
54
54
  !binary "Q29udGVudC1MZW5ndGg=":
55
55
  - !binary |-
56
- NTYzMQ==
56
+ NTY1MQ==
57
57
  body:
58
58
  encoding: ASCII-8BIT
59
59
  string: !binary |-
@@ -447,12 +447,12 @@ http_interactions:
447
447
  ZSBvcHRpbWl6ZWQgYnkgVzMgVG90YWwgQ2FjaGUuIExlYXJuIG1vcmU6IGh0
448
448
  dHA6Ly93d3cudzMtZWRnZS5jb20vd29yZHByZXNzLXBsdWdpbnMvDQoNCk1p
449
449
  bmlmaWVkIHVzaW5nIGFwYw0KUGFnZSBDYWNoaW5nIHVzaW5nIGFwYw0KRGF0
450
- YWJhc2UgQ2FjaGluZyB1c2luZyBhcGMNCk9iamVjdCBDYWNoaW5nIDU2OS82
451
- NTggb2JqZWN0cyB1c2luZyBkaXNrOiBiYXNpYw0KQ29udGVudCBEZWxpdmVy
452
- eSBOZXR3b3JrIHZpYSBjZG4ucGVhcnNvbmlmaWVkLmNvbQ0KDQpTZXJ2ZWQg
453
- ZnJvbTogd3d3LnBlYXJzb25pZmllZC5jb20gQCAyMDEyLTAzLTAyIDE4OjEw
454
- OjI1IC0tPg==
450
+ YWJhc2UgQ2FjaGluZyA2LzMyIHF1ZXJpZXMgaW4gMC4wMTcgc2Vjb25kcyB1
451
+ c2luZyBhcGMNCk9iamVjdCBDYWNoaW5nIDU4OC82MzAgb2JqZWN0cyB1c2lu
452
+ ZyBkaXNrOiBiYXNpYw0KQ29udGVudCBEZWxpdmVyeSBOZXR3b3JrIHZpYSBj
453
+ ZG4ucGVhcnNvbmlmaWVkLmNvbQ0KDQpTZXJ2ZWQgZnJvbTogd3d3LnBlYXJz
454
+ b25pZmllZC5jb20gQCAyMDEyLTAzLTAzIDA3OjAzOjI0IC0tPg==
455
455
  http_version: !binary |-
456
456
  MS4x
457
- recorded_at: Fri, 02 Mar 2012 23:15:16 GMT
457
+ recorded_at: Sat, 03 Mar 2012 12:04:12 GMT
458
458
  recorded_with: VCR 2.0.0
@@ -27,19 +27,19 @@ http_interactions:
27
27
  dGV4dC9odG1sOyBjaGFyc2V0PVVURi04
28
28
  !binary "Q29udGVudC1MZW5ndGg=":
29
29
  - !binary |-
30
- NzAxNQ==
30
+ NzA4MQ==
31
31
  !binary "QWNjZXB0LVJhbmdlcw==":
32
32
  - !binary |-
33
33
  Ynl0ZXM=
34
34
  !binary "RGF0ZQ==":
35
35
  - !binary |-
36
- U2F0LCAwMyBNYXIgMjAxMiAwNDo1NzoxOCBHTVQ=
36
+ U2F0LCAwMyBNYXIgMjAxMiAxMjowNDoxMSBHTVQ=
37
37
  !binary "WC1WYXJuaXNo":
38
38
  - !binary |-
39
- MTMwMzgwNTQ1OCAxMzAzNzU2ODk5
39
+ MTMwNjUzNTUxNyAxMzA2NDc5Mjcx
40
40
  !binary "QWdl":
41
41
  - !binary |-
42
- Mzc1
42
+ NTQ5
43
43
  !binary "Vmlh":
44
44
  - !binary |-
45
45
  MS4xIHZhcm5pc2g=
@@ -98,8 +98,8 @@ http_interactions:
98
98
  PSJodHRwOi8vdGhlLnNxdWlkb29jZG4uY29tL3NjcmlwdHMvanF1ZXJ5L2px
99
99
  dWVyeS0xLjYuNC5taW4uanMiJTNFJTNDL3NjcmlwdCUzRScpKTwvc2NyaXB0
100
100
  Pgo8c2NyaXB0PiRKID0galF1ZXJ5Lm5vQ29uZmxpY3QoKTs8L3NjcmlwdD4K
101
- PHNjcmlwdD4KU3F1aWRvbz17X19nZW5lcmF0ZWRfXzonMjAxMi0wMy0wMlQy
102
- Mjo1ODoxMS0wNTowMCcsaG9zdDonaHR0cDovL3d3dy5zcXVpZG9vLmNvbScs
101
+ PHNjcmlwdD4KU3F1aWRvbz17X19nZW5lcmF0ZWRfXzonMjAxMi0wMy0wM1Qw
102
+ NTo1ODoxMS0wNTowMCcsaG9zdDonaHR0cDovL3d3dy5zcXVpZG9vLmNvbScs
103
103
  c2VjdXJlOidodHRwczovL3d3dy5zcXVpZG9vLmNvbScsX19jYXB0Y2hhX186
104
104
  J19zcXVpZGNhcF9lJyxERVBTOnt9fTtTcXVpZG9vLkRFUFMuSlFVRVJZPXtz
105
105
  cmM6Jy8vYWpheC5nb29nbGVhcGlzLmNvbS9hamF4L2xpYnMvanF1ZXJ5LzEu
@@ -166,7 +166,7 @@ http_interactions:
166
166
  djMwNDYxNjM3MTAuanMnLGlzTG9hZGVkOmZ1bmN0aW9uKGNhbGxiYWNrKXtj
167
167
  YWxsYmFjayhTcXVpZG9vLkF1dGgmJlNxdWlkb28uQXV0aC5saWIpO319O1Nx
168
168
  dWlkb28uRmFjZWJvb2s9e2FwcElkOiczNzQ1OTM4MDA0OScsc2RrTG9hZGVk
169
- OmZhbHNlLGRlZmF1bHRQaWN0dXJlOidodHRwOi8vaTEuc3F1aWRvb2Nkbi5j
169
+ OmZhbHNlLGRlZmF1bHRQaWN0dXJlOidodHRwOi8vaTIuc3F1aWRvb2Nkbi5j
170
170
  b20vcmVzaXplX3NxdWFyZS9zcXVpZG9vX2ltYWdlcy81MC9sbV9wbGFjZWhv
171
171
  bGRlci5qcGcnLHJlbG9hZDpmdW5jdGlvbihidG4sY2FsbGJhY2spe2lmKCQu
172
172
  aXNGdW5jdGlvbihidG4pKXtjYWxsYmFjaz1idG47YnRuPW51bGw7fQpGQi5p
@@ -371,19 +371,13 @@ http_interactions:
371
371
  aW9uc2hpcHMgJmFtcDsgRmFtaWx5PC9hPjwvbGk+IAogICAgICAgICAgPC91
372
372
  bD4gCiAgICAgIDwvZGl2PgogIAogIAogIDxkaXYgY2xhc3M9ImhvbWVfc2Jf
373
373
  aXRlbSI+CiAgICA8aDM+VGVzdGltb25pYWxzPC9oMz4KICAgIDx1bCBjbGFz
374
- cz0icXVvdGVzIj4KICAgICAgICAgICAgICA8bGk+IkkgbG92ZSByZWFkaW5n
375
- LCBsZWFybmluZywgd3JpdGluZywgb3JnYW5pemluZyBhbmQgY29ubmVjdGlu
376
- ZyBvbiBTcXVpZG9vLiBJIGNhbiBjb21iaW5lIGFsbCBteSBpbnRlcmVzdHMg
377
- aGVyZS4gU3F1aWRvbyBsZXRzIG1lIGJlIG1lISIKICAgICAgICAgPHNwYW4+
378
- PGEgaHJlZj0iL2xlbnNtYXN0ZXJzL015c3RpY1R1cnRsZSI+TXlzdGljVHVy
379
- dGxlPC9hPjwvc3Bhbj4KICAgICAgICAgICAgICA8bGk+IlNxdWlkb28gaXMg
380
- dmVyeSBhZGRpY3RpdmUuIFBlcmhhcHMgd2UgbmVlZCBhIHdhcm5pbmcgbGFi
381
- ZWwhIEkgbG92ZSB0aGUgb3Bwb3J0dW5pdHkgdG8gd3JpdGUgb24gZGl2ZXJz
382
- ZSB0b3BpY3MgYW5kIHF1aWNrbHkgY3JlYXRlIGEgbGVucyBvbiB0aGUgZmx5
383
- LiBUaGUgaW5kZXBlbmRlbmNlIGlzIHdvbmRlcmZ1bCwgYXMgd2VsbCBhcyB0
384
- aGUgYWJpbGl0eSB0byBjcmVhdGUgbGVuc2VzIHRoYXQgYXV0b21hdGljYWxs
385
- eSBkb25hdGUgdG8gY2hhcml0eS4iCiAgICAgICAgIDxzcGFuPjxhIGhyZWY9
386
- Ii9sZW5zbWFzdGVycy9nZW5nbG8iPkdlbmdsbzwvYT48L3NwYW4+CiAgICAg
374
+ cz0icXVvdGVzIj4KICAgICAgICAgICAgICA8bGk+IlNxdWlkb28gd29ya3Mu
375
+ IEl0J3MgYSBqb3kgdG8gdXMgdGhhdCBwZW9wbGUgZmluZCBTcXVpZG9vIGEg
376
+ Z29vZCB3YXkgdG8gdGVsbCB0aGVpciBzdG9yaWVzLiBJIGZlbHQgbGlrZSBJ
377
+ IHdhcyBoZWFyaW5nIHZvaWNlcyB0aGF0IHdlJ2QgbmV2ZXIgaGVhcmQgYmVm
378
+ b3JlLiBTcXVpZG9vIHVubG9ja2VkIHRoZW0uIgogICAgICAgICA8c3Bhbj48
379
+ YSBocmVmPSJodHRwOi8vd3d3LnBvbGx5a2xhYXMub3JnLyI+R2xlbmEgUmVj
380
+ b3JkcywgUG9sbHkgS2xhYXMgRm91bmRhdGlvbjwvYT48L3NwYW4+CiAgICAg
387
381
  ICAgICAgICAgPGxpPiJUaGFua3MgdG8gY29udHJpYnV0ZWQgcm95YWx0aWVz
388
382
  IGZyb20gdGhvdXNhbmRzIG9mIGxlbnNtYXN0ZXJzLCBSb29tIHRvIFJlYWQg
389
383
  aGFzIGJ1aWx0IGEgY29tcHV0ZXIgcm9vbSBmb3Iga2lkcyBpbiBLaGVyaSBL
@@ -391,132 +385,140 @@ http_interactions:
391
385
  Zm9yIGhlbHBpbmcgdXMgdG8gY3JlYXRlIGEgYnJpZ2h0ZXIgZnV0dXJlIHRo
392
386
  cm91Z2ggZWR1Y2F0aW9uLiIKICAgICAgICAgPHNwYW4+PGEgaHJlZj0iaHR0
393
387
  cDovL3d3dy5yb29tdG9yZWFkLm9yZy8iPkpvaG4gV29vZCwgUm9vbSB0byBS
394
- ZWFkPC9hPjwvc3Bhbj4KICAgICAgICAgICAgICA8bGk+IlNxdWlkb28ncyBz
395
- ZWNyZXQgaXMgc2ltcGxlLi4uIGl0IGlzIHNpbXBsZSEiCiAgICAgICAgIDxz
396
- cGFuPjxhIGhyZWY9Ii9sZW5zbWFzdGVycy9taWNoYWVsZ2liYm9ucyI+TWlj
397
- aGFlbCBHaWJib25zPC9hPjwvc3Bhbj4KICAgICAgICAgICAgICA8bGk+Ikkg
398
- dXNlIG15IFNxdWlkb28gZWFybmluZ3MgdG8gYnV5IG15IGZyZWVkb20gdG8g
399
- c3RheSBhdCBob21lIHdpdGggbXkga2lkcywgYmUgbXkgb3duIGJvc3MgYW5k
400
- IGRvIHdoYXQgSSBsb3ZlLiIKICAgICAgICAgPHNwYW4+PGEgaHJlZj0iL2xl
401
- bnNtYXN0ZXJzL2Vuc2xhdmVkYnlmYWVyaWVzIj5lbnNsYXZlZGJ5ZmFlcmll
402
- czwvYT48L3NwYW4+CiAgICAgICAgICA8L3VsPgogIDwvZGl2Pgo8L2Rpdj48
403
- IS0tICNob21lX3JpZ2h0IC0tPgoKPHNjcmlwdD4KJEouYWpheCh7CiAgdHlw
404
- ZTogJ1BPU1QnLAogIGRhdGFUeXBlOiAnanNvbicsCiAgdXJsOiAnL2hvbWUv
405
- anNvbl9ob21lJywKICBzdWNjZXNzOiBmdW5jdGlvbihjb250ZW50KSB7CiAg
406
- ICAkSignI2hvbWVfbGVmdCcpLmh0bWwoY29udGVudC5sZW5zZXMuaHRtbCk7
407
- CiAgfQp9KTsKJEooJyNob21lX2xlZnQgLnNwaW5uZXInKS5zcGluKFNQSU5O
408
- RVJfSE9NRSk7Cjwvc2NyaXB0PgoKICAgICAgICAgICAgICAgICAgICAgIDwv
409
- ZGl2PjwhLS0gL2NvbnRlbnQgLS0+CiAgICA8L2Rpdj48IS0tIC9jb250ZW50
410
- X3dyYXAgLS0+ICAKICAgIDwhLS0gSU5GT0xJTktTX09GRiAtLT4KPGRpdiBp
411
- ZD0iZm9vdGVyX3dyYXAiIGNsYXNzPSJjb250YWluZXIiPgogIDxkaXYgaWQ9
412
- ImZvb3RlciIgY2xhc3M9InJvdyI+CiAgICAKICAgIDxkaXYgY2xhc3M9ImZv
413
- b3Rlcl9sZWZ0IGVpZ2h0IGNvbHVtbnMiPgogICAgICA8dWwgY2xhc3M9ImZv
414
- b3Rlcl9uYXYiPgogICAgICAgIDxsaSBjbGFzcz0iZmlyc3QiPjxhIGhyZWY9
415
- Imh0dHA6Ly93d3cuc3F1aWRvby5jb20vc3F1aWRvby82NTM1NTUwMS1UZXJt
416
- cy1vZi1TZXJ2aWNlIj5UT1M8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJl
417
- Zj0iaHR0cDovL3d3dy5zcXVpZG9vLmNvbS9vcmlnaW5hbGl0eXBhY3QiPk9y
418
- aWdpbmFsaXR5IFBhY3Q8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0i
419
- aHR0cDovL3d3dy5zcXVpZG9vLmNvbS9wYWdlcy9zcXVpZHRlYW0iPkFib3V0
420
- IFVzPC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cu
421
- c3F1aWRvb2hxLmNvbS8iPlNxdWlkb29IUTwvYT48L2xpPgogICAgICAgIDxs
422
- aT48YSBocmVmPSJodHRwOi8vd3d3LnNxdWlkb28uY29tL2NoYXJpdHktc2ln
423
- bi11cCI+Q2hhcml0eTwvYT48L2xpPgogICAgICAgICAgICAgICAgPGxpPjxh
424
- IGhyZWY9Imh0dHA6Ly93d3cuc3F1aWRvby5jb20vc3F1aWRvby82NTQzMTQ0
425
- MS1IZWxwLUZlZWRiYWNrI21vZHVsZTgzMDE4NjcxIiBvbmNsaWNrPSIkU3Eu
426
- YnVnKCk7IHJldHVybiBmYWxzZTsiPkZlZWRiYWNrICZhbXA7IEJ1Z3M8L2E+
427
- PC9saT4KICAgICAgPC91bD4KICAgICAgPCEtLSByZW1vdmUgIiNmb290ZXJf
428
- Y29weSIgZnJvbSBzdHlsZXNoZWV0IC0tPgogICAgICA8ZGl2IGNsYXNzPSJm
429
- b250MTIgZm9vdGVyX2NvcHkiPkNvcHlyaWdodCAmY29weTsgMjAxMiwKICAg
430
- ICAgICBTcXVpZG9vLCBMTEMgYW5kIHJlc3BlY3RpdmUgY29weXJpZ2h0IG93
431
- bmVyczwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmb250MTEgZm9vdGVyX2Nv
432
- cHkiPlRoaXMgcGFnZSBhbmQgYWxsIHRoZSBwYWdlcyBvbiBTcXVpZG9vIGdl
433
- bmVyYXRlIGluY29tZSBmb3IgbGVuc21hc3RlcnMgYW5kIGNoYXJpdGllcyBi
434
- YXNlZCBvbiBhZmZpbGlhdGUgcmVsYXRpb25zaGlwcyB3aXRoIG91ciBwYXJ0
435
- bmVycywgaW5jbHVkaW5nIEFtYXpvbiwgR29vZ2xlLCBlQmF5IGFuZCBvdGhl
436
- cnMuIEhhdmUgZnVuLjwvZGl2PgogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNs
437
- YXNzPSJmb3VyIGNvbHVtbnMiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9
438
- ImZvb3Rlcl9yaWdodCIgaWQ9Im5ld3Nfc3ViIiA+CiAgICAgICAgICA8aDQg
439
- Y2xhc3M9ImZvbnQxMyBubF9oNCI+V2FudCBvdXIgTmV3c2xldHRlcj88L2g0
440
- PgogICAgICAgICAgPGZvcm0gYWN0aW9uPSIjIiBvbnN1Ym1pdD0iTmV3c2xl
441
- dHRlci5zdWJzY3JpYmUodGhpcyk7IHJldHVybiBmYWxzZTsiPgogICAgICAg
442
- ICAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9Iml0YWxpYyBubF9pbnB1
443
- dCIgCiAgICAgICAgICAgICAgb25mb2N1cz0idGhpcy52YWx1ZT0nJzsgalF1
444
- ZXJ5KHRoaXMucmVtb3ZlQ2xhc3MoJ2l0YWxpYycpKTsiICAgICAgICAgICAg
445
- ICBpZD0iZm9vdGVyX25sX2lucHV0IiBuYW1lPSJlbWFpbF9hZGRyZXNzIiB2
446
- YWx1ZT0iZW50ZXIgZS1tYWlsIGFkZHJlc3MiIC8+CiAgICAgICAgICAgIDxi
447
- dXR0b24gY2xhc3M9ImIgYjI0IGZsb2F0X2xlZnQiIHR5cGU9InN1Ym1pdCIg
448
- aWQ9IiI+U2lnbiB1cCE8L2J1dHRvbj4KICAgICAgICAgIDwvZm9ybT4KICAg
449
- ICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgCiAgPC9kaXY+Cjwv
450
- ZGl2Pgo8c2NyaXB0PgooZnVuY3Rpb24oJCkgewogIHZhciBzZWxmID0gd2lu
451
- ZG93Lk5ld3NsZXR0ZXIgPSB7CiAgICBzdWJzY3JpYmU6IGZ1bmN0aW9uKGZv
452
- cm0pIHsKICAgICAgdmFyIGZvcm0gPSAkKGZvcm0pOwogICAgICAkLnBvc3Qo
453
- Jy9tZW1iZXIvYWpheF9zdWJzY3JpYmUvc3F1aWR1JywgZm9ybS5zZXJpYWxp
454
- emUoKSwgZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICBpZiAoZXJyb3IpIHsK
455
- ICAgICAgICAgIGFsZXJ0KGVycm9yKTsKICAgICAgICB9IGVsc2UgewogICAg
456
- ICAgICAgYWxlcnQoJ1RoYW5rIHlvdSBmb3Igc3Vic2NyaWJpbmchJyk7CiAg
457
- ICAgICAgICAkKCcjbmV3c19zdWInKS5mYWRlT3V0KCk7CiAgICAgICAgfQog
458
- ICAgICB9KTsKICAgIH0KICB9Owp9KShqUXVlcnkpOwo8L3NjcmlwdD4KCiAg
459
- ICAgIDxzY3JpcHQ+CiAgICAgICAgaWYgKGpRdWVyeSgnLnR3aXR0ZXItc2hh
460
- cmUtYnV0dG9uJykuc2l6ZSgpKSB7CiAgICAgICAgICBqUXVlcnkuZ2V0U2Ny
461
- aXB0KCdodHRwOi8vcGxhdGZvcm0udHdpdHRlci5jb20vd2lkZ2V0cy5qcycs
462
- IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0d3R0ci5ldmVudHMuYmluZCgn
463
- dHdlZXQnLCBmdW5jdGlvbihldmVudCkgewogICAgICAgICAgICAgIGZ1bmN0
464
- aW9uIGV4dHJhY3RQYXJhbUZyb21VcmkodXJpLCBwYXJhbU5hbWUpIHsKICAg
465
- ICAgICAgICAgICAgIGlmICghdXJpKSB7CiAgICAgICAgICAgICAgICAgIHJl
466
- dHVybjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHZhciB1
467
- cmkgPSB1cmkuc3BsaXQoJyMnKVswXTsgIC8vIFJlbW92ZSBhbmNob3IuCiAg
468
- ICAgICAgICAgICAgICB2YXIgcGFydHMgPSB1cmkuc3BsaXQoJz8nKTsgIC8v
469
- IENoZWNrIGZvciBxdWVyeSBwYXJhbXMuCiAgICAgICAgICAgICAgICBpZiAo
470
- cGFydHMubGVuZ3RoID09IDEpIHsKICAgICAgICAgICAgICAgICAgcmV0dXJu
471
- OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdmFyIHF1ZXJ5
472
- ID0gZGVjb2RlVVJJKHBhcnRzWzFdKTsKCiAgICAgICAgICAgICAgICAvLyBG
473
- aW5kIHVybCBwYXJhbS4KICAgICAgICAgICAgICAgIHBhcmFtTmFtZSArPSAn
474
- PSc7CiAgICAgICAgICAgICAgICB2YXIgcGFyYW1zID0gcXVlcnkuc3BsaXQo
475
- JyYnKTsKICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBwYXJhbTsg
476
- cGFyYW0gPSBwYXJhbXNbaV07ICsraSkgewogICAgICAgICAgICAgICAgICBp
477
- ZiAocGFyYW0uaW5kZXhPZihwYXJhbU5hbWUpID09PSAwKSB7CiAgICAgICAg
478
- ICAgICAgICAgICAgcmV0dXJuIHVuZXNjYXBlKHBhcmFtLnNwbGl0KCc9Jylb
479
- MV0pOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAg
480
- ICAgICAgICAgICAgfSAgCgogICAgICAgICAgICAgIGlmIChldmVudCkgewog
481
- ICAgICAgICAgICAgICAgdmFyIHRhcmdldFVybDsKICAgICAgICAgICAgICAg
482
- IGlmIChldmVudC50YXJnZXQgJiYgZXZlbnQudGFyZ2V0Lm5vZGVOYW1lID09
483
- ICdJRlJBTUUnKSB7CiAgICAgICAgICAgICAgICAgIHRhcmdldFVybCA9IGV4
484
- dHJhY3RQYXJhbUZyb21VcmkoZXZlbnQudGFyZ2V0LnNyYywgJ3VybCcpOwog
485
- ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZXZTb2NpYWwoJ3R3
486
- aXR0ZXInLCAndHdlZXQnLCB0YXJnZXRVcmwpOwogICAgICAgICAgICAgIH0K
487
- ICAgICAgICAgICAgfSk7CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAg
488
- IDwvc2NyaXB0PgogICAgCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
489
- IiBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+CnZhciBfY29tc2NvcmUgPSBfY29t
490
- c2NvcmUgfHwgW107Cl9jb21zY29yZS5wdXNoKHsgYzE6ICIyIiwgYzI6ICI2
491
- MDM1MjMzIiB9KTsKKGZ1bmN0aW9uKCkgewp2YXIgcyA9IGRvY3VtZW50LmNy
492
- ZWF0ZUVsZW1lbnQoInNjcmlwdCIpLCBlbCA9ZG9jdW1lbnQuZ2V0RWxlbWVu
493
- dHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdOyBzLmFzeW5jID0gdHJ1ZTsKcy5z
494
- cmMgPSAoZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wgPT0gImh0dHBzOiIg
495
- PyAiaHR0cHM6Ly9zYiI6ICJodHRwOi8vYiIpICsgIi5zY29yZWNhcmRyZXNl
496
- YXJjaC5jb20vYmVhY29uLmpzIjsKZWwucGFyZW50Tm9kZS5pbnNlcnRCZWZv
497
- cmUocywgZWwpOwp9KSgpOwo8L3NjcmlwdD4KPG5vc2NyaXB0PgogIDxpbWcg
498
- c3JjPSJodHRwOi8vYi5zY29yZWNhcmRyZXNlYXJjaC5jb20vcD9jMT0yJmMy
499
- PTYwMzUyMzMmY3Y9Mi4wJmNqPTEiIC8+CiAgPGltZyBzcmM9Imh0dHA6Ly9w
500
- aXhlbC5xdWFudHNlcnZlLmNvbS9waXhlbC9wLTVhTURZbk5MQWRfeE0uZ2lm
501
- IiBzdHlsZT0iZGlzcGxheTogbm9uZTsiIGJvcmRlcj0iMCIgaGVpZ2h0PSIx
502
- IiB3aWR0aD0iMSIgYWx0PSJRdWFudGNhc3QiLz4KPC9ub3NjcmlwdD4KCjxz
503
- Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5pZighTlJFVU1RLmYpe05S
504
- RVVNUS5mPWZ1bmN0aW9uKCl7TlJFVU1RLnB1c2goWyJsb2FkIixuZXcgRGF0
505
- ZSgpLmdldFRpbWUoKV0pO3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
506
- InNjcmlwdCIpO2UudHlwZT0idGV4dC9qYXZhc2NyaXB0IjtlLmFzeW5jPXRy
507
- dWU7ZS5zcmM9Imh0dHBzOi8vZDFyb3M5N3FrcndqZjUuY2xvdWRmcm9udC5u
508
- ZXQvMzAvZXVtL3J1bS5qcyI7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChl
509
- KTtpZihOUkVVTVEuYSlOUkVVTVEuYSgpO307TlJFVU1RLmE9d2luZG93Lm9u
510
- bG9hZDt3aW5kb3cub25sb2FkPU5SRVVNUS5mO307TlJFVU1RLnB1c2goWyJu
511
- cmYyIiwiYmVhY29uLTEubmV3cmVsaWMuY29tIiwiM2NkMzc4NmNkNyIsNjU3
512
- MTQ0LCJNUWRRYkJFSENFSllBUmRjQ1FoTmNVMFFFZ2xjRmtnPSIsMCwyNCxu
513
- ZXcgRGF0ZSgpLmdldFRpbWUoKV0pOzwvc2NyaXB0PgoKCgoKPGRpdiBpZD0i
514
- ZGVmYXVsdF9vbmlvbiIgY2xhc3M9ImRlZmF1bHRfb25pb24iIHN0eWxlPSJk
515
- aXNwbGF5OiBub25lOyI+PC9kaXY+CjxkaXYgaWQ9ImFsZXJ0LW92ZXJsYXki
516
- IHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij48L2Rpdj4KPGRpdiBpZD0ibGVuc19v
517
- dmVybGF5IiBjbGFzcz0ib3ZlcmxheV93cmFwIiBzdHlsZT0iZGlzcGxheTpu
518
- b25lOyI+PC9kaXY+CgoKICA8L2JvZHk+CjwvaHRtbD4=
388
+ ZWFkPC9hPjwvc3Bhbj4KICAgICAgICAgICAgICA8bGk+IlNxdWlkb28gaXMg
389
+ dmVyeSBhZGRpY3RpdmUuIFBlcmhhcHMgd2UgbmVlZCBhIHdhcm5pbmcgbGFi
390
+ ZWwhIEkgbG92ZSB0aGUgb3Bwb3J0dW5pdHkgdG8gd3JpdGUgb24gZGl2ZXJz
391
+ ZSB0b3BpY3MgYW5kIHF1aWNrbHkgY3JlYXRlIGEgbGVucyBvbiB0aGUgZmx5
392
+ LiBUaGUgaW5kZXBlbmRlbmNlIGlzIHdvbmRlcmZ1bCwgYXMgd2VsbCBhcyB0
393
+ aGUgYWJpbGl0eSB0byBjcmVhdGUgbGVuc2VzIHRoYXQgYXV0b21hdGljYWxs
394
+ eSBkb25hdGUgdG8gY2hhcml0eS4iCiAgICAgICAgIDxzcGFuPjxhIGhyZWY9
395
+ Ii9sZW5zbWFzdGVycy9nZW5nbG8iPkdlbmdsbzwvYT48L3NwYW4+CiAgICAg
396
+ ICAgICAgICAgPGxpPiJTcXVpZG9vIGlzIGFuIGFtYXppbmcgdmVoaWNsZSBm
397
+ b3Igc2VsZi1leHByZXNzaW9uLiIKICAgICAgICAgPHNwYW4+PGEgaHJlZj0i
398
+ L2xlbnNtYXN0ZXJzL2tlbGx5bWFydGluc3BlYWtzIj5LZWxseU1hcnRpblNw
399
+ ZWFrczwvYT48L3NwYW4+CiAgICAgICAgICAgICAgPGxpPiJJIGxvdmUgcmVh
400
+ ZGluZywgbGVhcm5pbmcsIHdyaXRpbmcsIG9yZ2FuaXppbmcgYW5kIGNvbm5l
401
+ Y3Rpbmcgb24gU3F1aWRvby4gSSBjYW4gY29tYmluZSBhbGwgbXkgaW50ZXJl
402
+ c3RzIGhlcmUuIFNxdWlkb28gbGV0cyBtZSBiZSBtZSEiCiAgICAgICAgIDxz
403
+ cGFuPjxhIGhyZWY9Ii9sZW5zbWFzdGVycy9NeXN0aWNUdXJ0bGUiPk15c3Rp
404
+ Y1R1cnRsZTwvYT48L3NwYW4+CiAgICAgICAgICA8L3VsPgogIDwvZGl2Pgo8
405
+ L2Rpdj48IS0tICNob21lX3JpZ2h0IC0tPgoKPHNjcmlwdD4KJEouYWpheCh7
406
+ CiAgdHlwZTogJ1BPU1QnLAogIGRhdGFUeXBlOiAnanNvbicsCiAgdXJsOiAn
407
+ L2hvbWUvanNvbl9ob21lJywKICBzdWNjZXNzOiBmdW5jdGlvbihjb250ZW50
408
+ KSB7CiAgICAkSignI2hvbWVfbGVmdCcpLmh0bWwoY29udGVudC5sZW5zZXMu
409
+ aHRtbCk7CiAgfQp9KTsKJEooJyNob21lX2xlZnQgLnNwaW5uZXInKS5zcGlu
410
+ KFNQSU5ORVJfSE9NRSk7Cjwvc2NyaXB0PgoKICAgICAgICAgICAgICAgICAg
411
+ ICAgIDwvZGl2PjwhLS0gL2NvbnRlbnQgLS0+CiAgICA8L2Rpdj48IS0tIC9j
412
+ b250ZW50X3dyYXAgLS0+ICAKICAgIDwhLS0gSU5GT0xJTktTX09GRiAtLT4K
413
+ PGRpdiBpZD0iZm9vdGVyX3dyYXAiIGNsYXNzPSJjb250YWluZXIiPgogIDxk
414
+ aXYgaWQ9ImZvb3RlciIgY2xhc3M9InJvdyI+CiAgICAKICAgIDxkaXYgY2xh
415
+ c3M9ImZvb3Rlcl9sZWZ0IGVpZ2h0IGNvbHVtbnMiPgogICAgICA8dWwgY2xh
416
+ c3M9ImZvb3Rlcl9uYXYiPgogICAgICAgIDxsaSBjbGFzcz0iZmlyc3QiPjxh
417
+ IGhyZWY9Imh0dHA6Ly93d3cuc3F1aWRvby5jb20vc3F1aWRvby82NTM1NTUw
418
+ MS1UZXJtcy1vZi1TZXJ2aWNlIj5UT1M8L2E+PC9saT4KICAgICAgICA8bGk+
419
+ PGEgaHJlZj0iaHR0cDovL3d3dy5zcXVpZG9vLmNvbS9vcmlnaW5hbGl0eXBh
420
+ Y3QiPk9yaWdpbmFsaXR5IFBhY3Q8L2E+PC9saT4KICAgICAgICA8bGk+PGEg
421
+ aHJlZj0iaHR0cDovL3d3dy5zcXVpZG9vLmNvbS9wYWdlcy9zcXVpZHRlYW0i
422
+ PkFib3V0IFVzPC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6
423
+ Ly93d3cuc3F1aWRvb2hxLmNvbS8iPlNxdWlkb29IUTwvYT48L2xpPgogICAg
424
+ ICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LnNxdWlkb28uY29tL2NoYXJp
425
+ dHktc2lnbi11cCI+Q2hhcml0eTwvYT48L2xpPgogICAgICAgICAgICAgICAg
426
+ PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuc3F1aWRvby5jb20vc3F1aWRvby82
427
+ NTQzMTQ0MS1IZWxwLUZlZWRiYWNrI21vZHVsZTgzMDE4NjcxIiBvbmNsaWNr
428
+ PSIkU3EuYnVnKCk7IHJldHVybiBmYWxzZTsiPkZlZWRiYWNrICZhbXA7IEJ1
429
+ Z3M8L2E+PC9saT4KICAgICAgPC91bD4KICAgICAgPCEtLSByZW1vdmUgIiNm
430
+ b290ZXJfY29weSIgZnJvbSBzdHlsZXNoZWV0IC0tPgogICAgICA8ZGl2IGNs
431
+ YXNzPSJmb250MTIgZm9vdGVyX2NvcHkiPkNvcHlyaWdodCAmY29weTsgMjAx
432
+ MiwKICAgICAgICBTcXVpZG9vLCBMTEMgYW5kIHJlc3BlY3RpdmUgY29weXJp
433
+ Z2h0IG93bmVyczwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmb250MTEgZm9v
434
+ dGVyX2NvcHkiPlRoaXMgcGFnZSBhbmQgYWxsIHRoZSBwYWdlcyBvbiBTcXVp
435
+ ZG9vIGdlbmVyYXRlIGluY29tZSBmb3IgbGVuc21hc3RlcnMgYW5kIGNoYXJp
436
+ dGllcyBiYXNlZCBvbiBhZmZpbGlhdGUgcmVsYXRpb25zaGlwcyB3aXRoIG91
437
+ ciBwYXJ0bmVycywgaW5jbHVkaW5nIEFtYXpvbiwgR29vZ2xlLCBlQmF5IGFu
438
+ ZCBvdGhlcnMuIEhhdmUgZnVuLjwvZGl2PgogICAgPC9kaXY+CiAgCiAgICA8
439
+ ZGl2IGNsYXNzPSJmb3VyIGNvbHVtbnMiPgogICAgICAgICAgICAgIDxkaXYg
440
+ Y2xhc3M9ImZvb3Rlcl9yaWdodCIgaWQ9Im5ld3Nfc3ViIiA+CiAgICAgICAg
441
+ ICA8aDQgY2xhc3M9ImZvbnQxMyBubF9oNCI+V2FudCBvdXIgTmV3c2xldHRl
442
+ cj88L2g0PgogICAgICAgICAgPGZvcm0gYWN0aW9uPSIjIiBvbnN1Ym1pdD0i
443
+ TmV3c2xldHRlci5zdWJzY3JpYmUodGhpcyk7IHJldHVybiBmYWxzZTsiPgog
444
+ ICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9Iml0YWxpYyBu
445
+ bF9pbnB1dCIgCiAgICAgICAgICAgICAgb25mb2N1cz0idGhpcy52YWx1ZT0n
446
+ JzsgalF1ZXJ5KHRoaXMucmVtb3ZlQ2xhc3MoJ2l0YWxpYycpKTsiICAgICAg
447
+ ICAgICAgICBpZD0iZm9vdGVyX25sX2lucHV0IiBuYW1lPSJlbWFpbF9hZGRy
448
+ ZXNzIiB2YWx1ZT0iZW50ZXIgZS1tYWlsIGFkZHJlc3MiIC8+CiAgICAgICAg
449
+ ICAgIDxidXR0b24gY2xhc3M9ImIgYjI0IGZsb2F0X2xlZnQiIHR5cGU9InN1
450
+ Ym1pdCIgaWQ9IiI+U2lnbiB1cCE8L2J1dHRvbj4KICAgICAgICAgIDwvZm9y
451
+ bT4KICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgCiAgPC9k
452
+ aXY+CjwvZGl2Pgo8c2NyaXB0PgooZnVuY3Rpb24oJCkgewogIHZhciBzZWxm
453
+ ID0gd2luZG93Lk5ld3NsZXR0ZXIgPSB7CiAgICBzdWJzY3JpYmU6IGZ1bmN0
454
+ aW9uKGZvcm0pIHsKICAgICAgdmFyIGZvcm0gPSAkKGZvcm0pOwogICAgICAk
455
+ LnBvc3QoJy9tZW1iZXIvYWpheF9zdWJzY3JpYmUvc3F1aWR1JywgZm9ybS5z
456
+ ZXJpYWxpemUoKSwgZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICBpZiAoZXJy
457
+ b3IpIHsKICAgICAgICAgIGFsZXJ0KGVycm9yKTsKICAgICAgICB9IGVsc2Ug
458
+ ewogICAgICAgICAgYWxlcnQoJ1RoYW5rIHlvdSBmb3Igc3Vic2NyaWJpbmch
459
+ Jyk7CiAgICAgICAgICAkKCcjbmV3c19zdWInKS5mYWRlT3V0KCk7CiAgICAg
460
+ ICAgfQogICAgICB9KTsKICAgIH0KICB9Owp9KShqUXVlcnkpOwo8L3Njcmlw
461
+ dD4KCiAgICAgIDxzY3JpcHQ+CiAgICAgICAgaWYgKGpRdWVyeSgnLnR3aXR0
462
+ ZXItc2hhcmUtYnV0dG9uJykuc2l6ZSgpKSB7CiAgICAgICAgICBqUXVlcnku
463
+ Z2V0U2NyaXB0KCdodHRwOi8vcGxhdGZvcm0udHdpdHRlci5jb20vd2lkZ2V0
464
+ cy5qcycsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICB0d3R0ci5ldmVudHMu
465
+ YmluZCgndHdlZXQnLCBmdW5jdGlvbihldmVudCkgewogICAgICAgICAgICAg
466
+ IGZ1bmN0aW9uIGV4dHJhY3RQYXJhbUZyb21VcmkodXJpLCBwYXJhbU5hbWUp
467
+ IHsKICAgICAgICAgICAgICAgIGlmICghdXJpKSB7CiAgICAgICAgICAgICAg
468
+ ICAgIHJldHVybjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
469
+ IHZhciB1cmkgPSB1cmkuc3BsaXQoJyMnKVswXTsgIC8vIFJlbW92ZSBhbmNo
470
+ b3IuCiAgICAgICAgICAgICAgICB2YXIgcGFydHMgPSB1cmkuc3BsaXQoJz8n
471
+ KTsgIC8vIENoZWNrIGZvciBxdWVyeSBwYXJhbXMuCiAgICAgICAgICAgICAg
472
+ ICBpZiAocGFydHMubGVuZ3RoID09IDEpIHsKICAgICAgICAgICAgICAgICAg
473
+ cmV0dXJuOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdmFy
474
+ IHF1ZXJ5ID0gZGVjb2RlVVJJKHBhcnRzWzFdKTsKCiAgICAgICAgICAgICAg
475
+ ICAvLyBGaW5kIHVybCBwYXJhbS4KICAgICAgICAgICAgICAgIHBhcmFtTmFt
476
+ ZSArPSAnPSc7CiAgICAgICAgICAgICAgICB2YXIgcGFyYW1zID0gcXVlcnku
477
+ c3BsaXQoJyYnKTsKICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwLCBw
478
+ YXJhbTsgcGFyYW0gPSBwYXJhbXNbaV07ICsraSkgewogICAgICAgICAgICAg
479
+ ICAgICBpZiAocGFyYW0uaW5kZXhPZihwYXJhbU5hbWUpID09PSAwKSB7CiAg
480
+ ICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZXNjYXBlKHBhcmFtLnNwbGl0
481
+ KCc9JylbMV0pOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
482
+ ICB9CiAgICAgICAgICAgICAgfSAgCgogICAgICAgICAgICAgIGlmIChldmVu
483
+ dCkgewogICAgICAgICAgICAgICAgdmFyIHRhcmdldFVybDsKICAgICAgICAg
484
+ ICAgICAgIGlmIChldmVudC50YXJnZXQgJiYgZXZlbnQudGFyZ2V0Lm5vZGVO
485
+ YW1lID09ICdJRlJBTUUnKSB7CiAgICAgICAgICAgICAgICAgIHRhcmdldFVy
486
+ bCA9IGV4dHJhY3RQYXJhbUZyb21VcmkoZXZlbnQudGFyZ2V0LnNyYywgJ3Vy
487
+ bCcpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZXZTb2Np
488
+ YWwoJ3R3aXR0ZXInLCAndHdlZXQnLCB0YXJnZXRVcmwpOwogICAgICAgICAg
489
+ ICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgICB9KTsKICAgICAgICB9
490
+ CiAgICAgIDwvc2NyaXB0PgogICAgCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
491
+ c2NyaXB0IiBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+CnZhciBfY29tc2NvcmUg
492
+ PSBfY29tc2NvcmUgfHwgW107Cl9jb21zY29yZS5wdXNoKHsgYzE6ICIyIiwg
493
+ YzI6ICI2MDM1MjMzIiB9KTsKKGZ1bmN0aW9uKCkgewp2YXIgcyA9IGRvY3Vt
494
+ ZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLCBlbCA9ZG9jdW1lbnQuZ2V0
495
+ RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdOyBzLmFzeW5jID0gdHJ1
496
+ ZTsKcy5zcmMgPSAoZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wgPT0gImh0
497
+ dHBzOiIgPyAiaHR0cHM6Ly9zYiI6ICJodHRwOi8vYiIpICsgIi5zY29yZWNh
498
+ cmRyZXNlYXJjaC5jb20vYmVhY29uLmpzIjsKZWwucGFyZW50Tm9kZS5pbnNl
499
+ cnRCZWZvcmUocywgZWwpOwp9KSgpOwo8L3NjcmlwdD4KPG5vc2NyaXB0Pgog
500
+ IDxpbWcgc3JjPSJodHRwOi8vYi5zY29yZWNhcmRyZXNlYXJjaC5jb20vcD9j
501
+ MT0yJmMyPTYwMzUyMzMmY3Y9Mi4wJmNqPTEiIC8+CiAgPGltZyBzcmM9Imh0
502
+ dHA6Ly9waXhlbC5xdWFudHNlcnZlLmNvbS9waXhlbC9wLTVhTURZbk5MQWRf
503
+ eE0uZ2lmIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiIGJvcmRlcj0iMCIgaGVp
504
+ Z2h0PSIxIiB3aWR0aD0iMSIgYWx0PSJRdWFudGNhc3QiLz4KPC9ub3Njcmlw
505
+ dD4KCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5pZighTlJFVU1R
506
+ LmYpe05SRVVNUS5mPWZ1bmN0aW9uKCl7TlJFVU1RLnB1c2goWyJsb2FkIixu
507
+ ZXcgRGF0ZSgpLmdldFRpbWUoKV0pO3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVs
508
+ ZW1lbnQoInNjcmlwdCIpO2UudHlwZT0idGV4dC9qYXZhc2NyaXB0IjtlLmFz
509
+ eW5jPXRydWU7ZS5zcmM9Imh0dHBzOi8vZDFyb3M5N3FrcndqZjUuY2xvdWRm
510
+ cm9udC5uZXQvMzAvZXVtL3J1bS5qcyI7ZG9jdW1lbnQuYm9keS5hcHBlbmRD
511
+ aGlsZChlKTtpZihOUkVVTVEuYSlOUkVVTVEuYSgpO307TlJFVU1RLmE9d2lu
512
+ ZG93Lm9ubG9hZDt3aW5kb3cub25sb2FkPU5SRVVNUS5mO307TlJFVU1RLnB1
513
+ c2goWyJucmYyIiwiYmVhY29uLTEubmV3cmVsaWMuY29tIiwiM2NkMzc4NmNk
514
+ NyIsNjU3MTQ0LCJNUWRRYkJFSENFSllBUmRjQ1FoTmNVMFFFZ2xjRmtnPSIs
515
+ MCwyMyxuZXcgRGF0ZSgpLmdldFRpbWUoKV0pOzwvc2NyaXB0PgoKCgoKPGRp
516
+ diBpZD0iZGVmYXVsdF9vbmlvbiIgY2xhc3M9ImRlZmF1bHRfb25pb24iIHN0
517
+ eWxlPSJkaXNwbGF5OiBub25lOyI+PC9kaXY+CjxkaXYgaWQ9ImFsZXJ0LW92
518
+ ZXJsYXkiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij48L2Rpdj4KPGRpdiBpZD0i
519
+ bGVuc19vdmVybGF5IiBjbGFzcz0ib3ZlcmxheV93cmFwIiBzdHlsZT0iZGlz
520
+ cGxheTpub25lOyI+PC9kaXY+CgoKICA8L2JvZHk+CjwvaHRtbD4=
519
521
  http_version: !binary |-
520
522
  MS4x
521
- recorded_at: Sat, 03 Mar 2012 04:57:18 GMT
523
+ recorded_at: Sat, 03 Mar 2012 12:04:12 GMT
522
524
  recorded_with: VCR 2.0.0
@@ -3,12 +3,10 @@ require File.expand_path(File.dirname(__FILE__) + '/../../../../lib/sniffles/sni
3
3
 
4
4
  describe Sniffles::Sniffers::GoogleAnalytics do
5
5
  describe "#output" do
6
- context "Inline JS" do
6
+ context "Inline JS", :vcr do
7
7
  before(:all) do
8
- VCR.use_cassette("pearsonified_com") do
9
- @pearsonified = Typhoeus::Request.get("http://www.pearsonified.com/")
10
- @ga = Sniffles::Sniffers::GoogleAnalytics.new(@pearsonified.body)
11
- end
8
+ @pearsonified = Typhoeus::Request.get("http://www.pearsonified.com/")
9
+ @ga = Sniffles::Sniffers::GoogleAnalytics.new(@pearsonified.body)
12
10
  end
13
11
 
14
12
  it "should return as found" do
@@ -3,15 +3,13 @@ require File.expand_path(File.dirname(__FILE__) + '/../../../../lib/sniffles/sni
3
3
 
4
4
  describe Sniffles::Sniffers::Mixpanel do
5
5
  describe "#output" do
6
- context "w/ Mixpanel" do
6
+ context "w/ Mixpanel", :vcr do
7
7
  before(:all) do
8
- VCR.use_cassette("squidoo_com") do
9
- @squidoo = Typhoeus::Request.get("http://www.squidoo.com/", :follow_location => true)
10
- end
8
+ @squidoo = Typhoeus::Request.get("http://www.squidoo.com").body
11
9
  end
12
10
 
13
11
  it "should return UA" do
14
- Sniffles::Sniffers::Mixpanel.new(@squidoo.body).output[:found].should eq true
12
+ Sniffles::Sniffers::Mixpanel.new(@squidoo).output[:found].should eq true
15
13
  end
16
14
  end
17
15
 
@@ -3,15 +3,13 @@ require File.expand_path(File.dirname(__FILE__) + '/../../../../lib/sniffles/sni
3
3
 
4
4
  describe Sniffles::Sniffers::Quantcast do
5
5
  describe "#output" do
6
- context "w/ Quantcast" do
6
+ context "w/ Quantcast", :vcr do
7
7
  before(:all) do
8
- VCR.use_cassette("squidoo_com") do
9
- @squidoo = Typhoeus::Request.get("http://www.squidoo.com/", :follow_location => true)
10
- end
8
+ @squidoo = Typhoeus::Request.get("http://www.squidoo.com").body
11
9
  end
12
10
 
13
11
  it "should return true for found" do
14
- Sniffles::Sniffers::Quantcast.new(@squidoo.body).output[:found].should eq true
12
+ Sniffles::Sniffers::Quantcast.new(@squidoo).output[:found].should eq true
15
13
  end
16
14
  end
17
15
 
@@ -3,12 +3,10 @@ require File.expand_path(File.dirname(__FILE__) + '/../../../../lib/sniffles/sni
3
3
 
4
4
  describe "Sniffers::WordPress" do
5
5
  context "WordPress Blog w/ feed, theme, and pingback" do
6
- describe "#output" do
6
+ describe "#output", :vcr do
7
7
  before(:all) do
8
- VCR.use_cassette("pearsonified_com") do
9
- @pearsonified = Typhoeus::Request.get("http://www.pearsonified.com/")
10
- @wp = Sniffles::Sniffers::Wordpress.new(@pearsonified.body)
11
- end
8
+ @pearsonified = Typhoeus::Request.get("http://www.pearsonified.com/").body
9
+ @wp = Sniffles::Sniffers::Wordpress.new(@pearsonified)
12
10
  end
13
11
 
14
12
  it "should return found as true" do
@@ -34,13 +32,11 @@ describe "Sniffers::WordPress" do
34
32
  end
35
33
  end
36
34
 
37
- context "WordPress Blog w/ version" do
35
+ context "WordPress Blog w/ version", :vcr do
38
36
  describe "#output" do
39
37
  before(:all) do
40
- VCR.use_cassette("humemes_com") do
41
- @humemes = Typhoeus::Request.get("http://humemes.com/")
42
- @wp_version = Sniffles::Sniffers::Wordpress.new(@humemes.body)
43
- end
38
+ @humemes = Typhoeus::Request.get("http://humemes.com/").body
39
+ @wp_version = Sniffles::Sniffers::Wordpress.new(@humemes)
44
40
  end
45
41
 
46
42
  it "should return the version" do
@@ -49,12 +45,10 @@ describe "Sniffers::WordPress" do
49
45
  end
50
46
  end
51
47
 
52
- context "Not a WordPress Blog" do
48
+ context "Not a WordPress Blog", :vcr do
53
49
  before(:all) do
54
- VCR.use_cassette("google_com") do
55
- @google = Typhoeus::Request.get("http://www.google.com/")
56
- @not_wp = Sniffles::Sniffers::Wordpress.new(@google.body)
57
- end
50
+ @google = Typhoeus::Request.get("http://www.google.com/").body
51
+ @not_wp = Sniffles::Sniffers::Wordpress.new(@google)
58
52
  end
59
53
 
60
54
  it "should return false" do
@@ -1,21 +1,34 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
2
 
3
- describe Sniffles::Sniffers do
3
+ describe Sniffles::Sniffers do
4
+ describe "#use", :vcr do
5
+ before(:all) do
6
+ @wordpress = page_body("http://wordpress.com/")
7
+ end
8
+
9
+ context "single sniffer", :vcr do
10
+ it "should use the passed sniffer" do
11
+ output = Sniffles::Sniffers.use(@wordpress, :google_analytics)
12
+ output[:found].should be false
13
+ end
14
+ end
15
+ end
16
+
4
17
  describe "#list_all" do
5
18
  it "should list all sniffers" do
6
- Sniffles::Sniffers.list_all.count.should eq SNIFFER_COUNT
19
+ subject.list_all.count.should eq SNIFFER_COUNT
7
20
  end
8
21
  end
9
22
 
10
23
  describe "#list_groups" do
11
24
  it "should list all groups" do
12
- Sniffles::Sniffers.list_groups.count.should eq SNIFFER_GROUP_COUNT
25
+ subject.list_groups.count.should eq SNIFFER_GROUP_COUNT
13
26
  end
14
27
  end
15
28
 
16
29
  describe "#list_all_by_group" do
17
30
  it "should return a hash of all groups with collections of sniffers" do
18
- Sniffles::Sniffers.list_all_by_group.count.should eq SNIFFER_GROUP_COUNT
31
+ subject.list_all_by_group.count.should eq SNIFFER_GROUP_COUNT
19
32
  end
20
33
  end
21
34
  end
@@ -1,11 +1,9 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
 
3
3
  describe Sniffles do
4
- describe "#sniff" do
4
+ describe "#sniff", :vcr do
5
5
  before(:all) do
6
- VCR.use_cassette("squidoo_com") do
7
- @squidoo = Typhoeus::Request.get("http://www.squidoo.com/", :follow_location => true).body
8
- end
6
+ @squidoo = page_body("http://www.squidoo.com")
9
7
  end
10
8
 
11
9
  context "using sniffers" do
@@ -40,6 +38,34 @@ describe Sniffles do
40
38
  end
41
39
  end
42
40
 
41
+ describe "#group?" do
42
+ context "group exists" do
43
+ it "should be true" do
44
+ Sniffles.group?(:cms).should be true
45
+ end
46
+ end
47
+
48
+ context "group doesn't exist" do
49
+ it "should be false" do
50
+ Sniffles.group?(:wordpress).should be false
51
+ end
52
+ end
53
+ end
54
+
55
+ describe "#sniffer?" do
56
+ context "sniffer exists" do
57
+ it "should be true" do
58
+ Sniffles.sniffer?(:wordpress).should be true
59
+ end
60
+ end
61
+
62
+ context "sniffer doesn't exist" do
63
+ it "should be false" do
64
+ Sniffles.sniffer?(:cms).should be false
65
+ end
66
+ end
67
+ end
68
+
43
69
  describe "convenience methods" do
44
70
  it "should make it easier to see available sniffers" do
45
71
  subject.list_all.count.should be SNIFFER_COUNT
data/spec/spec_helper.rb CHANGED
@@ -1,15 +1,19 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/../lib/sniffles')
2
-
3
- require 'typhoeus'
4
2
  require 'vcr'
3
+ require 'typhoeus'
5
4
 
6
5
  SNIFFER_COUNT = Dir.glob("lib/sniffles/sniffers/**/*.rb").count
7
6
  SNIFFER_GROUP_COUNT = Dir.glob("lib/sniffles/sniffers/**").count
8
7
 
8
+ def page_body(url)
9
+ Typhoeus::Request.get(url).body
10
+ end
11
+
9
12
  VCR.configure do |c|
10
13
  c.cassette_library_dir = 'spec/cassettes'
11
14
  c.hook_into :typhoeus
12
15
  c.configure_rspec_metadata!
16
+ c.allow_http_connections_when_no_cassette = true
13
17
  end
14
18
 
15
19
 
@@ -17,5 +21,5 @@ RSpec.configure do |config|
17
21
  config.treat_symbols_as_metadata_keys_with_true_values = true
18
22
  config.run_all_when_everything_filtered = true
19
23
  config.filter_run :focus
20
- config.extend VCR::RSpec::Macros
24
+ config.extend VCR::RSpec::Macros
21
25
  end