marketplace_opportunity_scraper 0.1.0 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/{.circleci → .github}/setup-rubygems.sh +4 -1
  3. data/.github/workflows/build.yml +27 -0
  4. data/.github/workflows/publish.yml +25 -0
  5. data/.github/workflows/smoke_test.yml +28 -0
  6. data/.rspec +1 -0
  7. data/.ruby-version +1 -1
  8. data/.standard.yml +2 -0
  9. data/Gemfile +1 -1
  10. data/Gemfile.lock +58 -48
  11. data/README.md +5 -3
  12. data/Rakefile +4 -6
  13. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_all/gets_the_correct_opportunity_data.yml +979 -398
  14. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_all/returns_all_open_opportunities.yml +978 -397
  15. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_all/when_status_is_specified/returns_the_correct_opportunities.yml +650 -5838
  16. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_all/when_type_is_specified/gets_data_that_is_not_on_the_homepage.yml +1620 -0
  17. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_all/when_type_is_specified/returns_the_correct_opportunities.yml +441 -399
  18. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_awarded_to/when_an_opportunity_has_been_awarded/1_4_1_1.yml +20 -18
  19. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_awarded_to/when_an_opportunity_has_not_been_awarded/1_4_2_1.yml +20 -18
  20. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_awarded_to/when_an_opportunity_is_still_open/1_4_3_1.yml +21 -19
  21. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_find/gets_the_correct_opportunity_data.yml +21 -19
  22. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_status/when_an_opportunity_has_been_awarded/1_3_4_1.yml +20 -18
  23. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_status/when_an_opportunity_is_awaiting/1_3_2_1.yml +21 -19
  24. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_status/when_an_opportunity_is_cancelled/1_3_3_1.yml +21 -19
  25. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_status/when_an_opportunity_is_still_open/1_3_1_1.yml +20 -20
  26. data/lib/marketplace_opportunity_scraper.rb +4 -4
  27. data/lib/marketplace_opportunity_scraper/opportunity.rb +25 -25
  28. data/lib/marketplace_opportunity_scraper/utils.rb +6 -6
  29. data/lib/marketplace_opportunity_scraper/version.rb +1 -1
  30. data/marketplace_opportunity_scraper.gemspec +21 -21
  31. metadata +14 -13
  32. data/.circleci/config.yml +0 -70
  33. data/.rubocop.yml +0 -8
  34. data/.rubocop_todo.yml +0 -52
  35. data/fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_all/gets_data_that_is_not_on_the_homepage.yml +0 -1578
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://www.digitalmarketplace.service.gov.uk/digital-outcomes-and-specialists/opportunities/9242
5
+ uri: https://www.digitalmarketplace.service.gov.uk/digital-outcomes-and-specialists/opportunities/11036
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -12,13 +12,13 @@ http_interactions:
12
12
  Accept:
13
13
  - "*/*"
14
14
  User-Agent:
15
- - Mechanize/2.7.6 Ruby/2.6.0p0 (http://github.com/sparklemotion/mechanize/)
15
+ - Mechanize/2.7.6 Ruby/2.7.1p83 (http://github.com/sparklemotion/mechanize/)
16
16
  Accept-Charset:
17
17
  - ISO-8859-1,utf-8;q=0.7,*;q=0.7
18
18
  Accept-Language:
19
19
  - en-us,en;q=0.5
20
20
  Cookie:
21
- - dm_session=eyJfZnJlc2giOmZhbHNlLCJfcGVybWFuZW50Ijp0cnVlLCJjc3JmX3Rva2VuIjoiZGIzMDQ4N2ZhYmVjYzYyNjk1ODQ1MGVhYzZjOTc5MGQ2YTJlZmUzMSJ9.D5Id2Q.exsXfavGo9E01IGyRg8w20YG-70
21
+ - dm_cookie_probe=yum; dm_session=eyJfZnJlc2giOmZhbHNlLCJfcGVybWFuZW50Ijp0cnVlfQ.X3Rdfg.ytfkSfnR7lNyCAeaZJU3941oHgo
22
22
  Host:
23
23
  - www.digitalmarketplace.service.gov.uk
24
24
  Connection:
@@ -32,47 +32,49 @@ http_interactions:
32
32
  headers:
33
33
  Content-Type:
34
34
  - text/html; charset=utf-8
35
- Transfer-Encoding:
36
- - chunked
35
+ Content-Length:
36
+ - '52472'
37
37
  Connection:
38
38
  - keep-alive
39
- Content-Encoding:
40
- - gzip
41
39
  Date:
42
- - Fri, 12 Apr 2019 13:02:17 GMT
40
+ - Wed, 30 Sep 2020 10:27:10 GMT
43
41
  Dm-Request-Id:
44
- - e914551e9358152b
42
+ - 70c149428e7f1d83
45
43
  Server:
46
44
  - nginx
47
45
  Set-Cookie:
48
- - dm_session=eyJfZnJlc2giOmZhbHNlLCJfcGVybWFuZW50Ijp0cnVlLCJjc3JmX3Rva2VuIjoiZGIzMDQ4N2ZhYmVjYzYyNjk1ODQ1MGVhYzZjOTc5MGQ2YTJlZmUzMSJ9.D5Id2Q.exsXfavGo9E01IGyRg8w20YG-70;
49
- Expires=Fri, 12-Apr-2019 14:02:17 GMT; Secure; HttpOnly; Path=/
46
+ - dm_cookie_probe=yum; Expires=Thu, 30-Sep-2021 10:27:10 GMT; Max-Age=31536000.0;
47
+ Path=/
48
+ - dm_session=eyJfZnJlc2giOmZhbHNlLCJfcGVybWFuZW50Ijp0cnVlfQ.X3Rdfg.ytfkSfnR7lNyCAeaZJU3941oHgo;
49
+ Expires=Wed, 30-Sep-2020 11:27:10 GMT; Secure; HttpOnly; Path=/; SameSite=Lax
50
50
  Strict-Transport-Security:
51
51
  - max-age=31536000; includeSubdomains
52
52
  Vary:
53
53
  - Cookie
54
54
  X-B3-Spanid:
55
- - e914551e9358152b
55
+ - 70c149428e7f1d83
56
56
  X-B3-Traceid:
57
- - e914551e9358152b
57
+ - 70c149428e7f1d83
58
58
  X-Content-Type-Options:
59
59
  - nosniff
60
60
  X-Frame-Options:
61
61
  - DENY
62
62
  X-Vcap-Request-Id:
63
- - a8494c5b-ebea-4355-5cbe-f26f60256f5c
63
+ - 2c39cceb-fbb8-49b6-60aa-866612d5af59
64
64
  X-Xss-Protection:
65
65
  - 1; mode=block
66
66
  X-Cache:
67
67
  - Miss from cloudfront
68
68
  Via:
69
- - 1.1 05b9970524a45c2b893693fc638118db.cloudfront.net (CloudFront)
69
+ - 1.1 11353e5e706855a44a10829d33622e23.cloudfront.net (CloudFront)
70
+ X-Amz-Cf-Pop:
71
+ - LHR61-C1
70
72
  X-Amz-Cf-Id:
71
- - qS4ZT9h2mCVNtJOecTjoUYYYKvg348AuxAHFVcUAPgk8QwiBSGD1Sw==
73
+ - Hjgd_g3AsC5rcIkLMg0K0sB65inkzpH4NwBEtBrEU2mTAYNV_H874A==
72
74
  body:
73
75
  encoding: ASCII-8BIT
74
76
  string: !binary |-
75
- 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
76
- http_version:
77
- recorded_at: Fri, 12 Apr 2019 13:02:17 GMT
77
+ CjwhRE9DVFlQRSBodG1sPgo8aHRtbCBsYW5nPSJlbiIgY2xhc3M9ImdvdnVrLXRlbXBsYXRlICI+CiAgPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KICAgIDx0aXRsZT4KICBEaWdpdGFsIGRldmVsb3BtZW50LCBpbXByb3ZlbWVudCBhbmQgaW5ub3ZhdGlvbiBmb3IgUm95YWwgQm90YW5pYyBHYXJkZW5zLCBLZXcgLSBEaWdpdGFsIE1hcmtldHBsYWNlCjwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHZpZXdwb3J0LWZpdD1jb3ZlciI+CiAgICA8bWV0YSBuYW1lPSJ0aGVtZS1jb2xvciIgY29udGVudD0iIzBiMGMwYyIgLz4gCiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIgLz4KCiAgICAKICAgICAgPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBzaXplcz0iMTZ4MTYgMzJ4MzIgNDh4NDgiIGhyZWY9Ii9zdGF0aWMvaW1hZ2VzL2Zhdmljb24uaWNvIiB0eXBlPSJpbWFnZS94LWljb24iIC8+CiAgICAgIDxsaW5rIHJlbD0ibWFzay1pY29uIiBocmVmPSIvc3RhdGljL2ltYWdlcy9nb3Z1ay1tYXNrLWljb24uc3ZnIiBjb2xvcj0iIzBiMGMwYyI+IAogICAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIHNpemVzPSIxODB4MTgwIiBocmVmPSIvc3RhdGljL2ltYWdlcy9nb3Z1ay1hcHBsZS10b3VjaC1pY29uLTE4MHgxODAucG5nIj4KICAgICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iMTY3eDE2NyIgaHJlZj0iL3N0YXRpYy9pbWFnZXMvZ292dWstYXBwbGUtdG91Y2gtaWNvbi0xNjd4MTY3LnBuZyI+CiAgICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjE1MngxNTIiIGhyZWY9Ii9zdGF0aWMvaW1hZ2VzL2dvdnVrLWFwcGxlLXRvdWNoLWljb24tMTUyeDE1Mi5wbmciPgogICAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIGhyZWY9Ii9zdGF0aWMvaW1hZ2VzL2dvdnVrLWFwcGxlLXRvdWNoLWljb24ucG5nIj4KICAgIAoKICAgIAogIAoKCgoKCgoKCiAgCiAgPG1ldGEgbmFtZT0iZ29vZ2xlLXNpdGUtdmVyaWZpY2F0aW9uIiBjb250ZW50PSJUS0dTR1puZkhweDEtbEtPdGhJMTdBTnR3azdmejNGNFNicjc3STBwcE8wIj4KCiAgPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3N0YXRpYy9zdHlsZXNoZWV0cy9hcHBsaWNhdGlvbi5jc3M/NjllYjc5NzA4MDdmNDQ1MjQwYWM0NDFmNWEwMjNhNzYiIC8+CiAgCgogICAgCiAgICAKICAgIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iL3N0YXRpYy9pbWFnZXMvZ292dWstb3BlbmdyYXBoLWltYWdlLnBuZyI+CiAgPC9oZWFkPgogIDxib2R5IGNsYXNzPSJnb3Z1ay10ZW1wbGF0ZV9fYm9keSAiPgogICAgPHNjcmlwdD5kb2N1bWVudC5ib2R5LmNsYXNzTmFtZSA9ICgoZG9jdW1lbnQuYm9keS5jbGFzc05hbWUpID8gZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgKyAnIGpzLWVuYWJsZWQnIDogJ2pzLWVuYWJsZWQnKTs8L3NjcmlwdD4KICAgIAoKICAgIAogICAgICA8YSBocmVmPSIjbWFpbi1jb250ZW50IiBjbGFzcz0iZ292dWstc2tpcC1saW5rIj5Ta2lwIHRvIG1haW4gY29udGVudDwvYT4KICAgIAoKICAgIAogIAogIAoKCgoKPGRpdiBpZD0iZG0tY29va2llLWJhbm5lciIgY2xhc3M9ImRtLWNvb2tpZS1iYW5uZXIgZ292dWstd2lkdGgtY29udGFpbmVyIiBkYXRhLW1vZHVsZT0iZG0tY29va2llLWJhbm5lciIgcm9sZT0icmVnaW9uIiBhcmlhLWxhYmVsPSJDb29raWUgQmFubmVyIiBhcmlhLWRlc2NyaWJlZGJ5PSJkbS1jb29raWUtYmFubmVyX19oZWFkaW5nIj4KICA8ZGl2IGNsYXNzPSJkbS1jb29raWUtYmFubmVyX193cmFwcGVyIj4KICAgIDxoMiBjbGFzcz0iZG0tY29va2llLWJhbm5lcl9faGVhZGluZyBnb3Z1ay1oZWFkaW5nLW0iIGlkPSJkbS1jb29raWUtYmFubmVyX19oZWFkaW5nIj4KICAgICAgQ2FuIHdlIHN0b3JlIGFuYWx5dGljcyBjb29raWVzIG9uIHlvdXIgZGV2aWNlPwogICAgPC9oMj4KICAgIDxwIGNsYXNzPSJnb3Z1ay1ib2R5Ij4KICAgICAgQW5hbHl0aWNzIGNvb2tpZXMgaGVscCB1cyB1bmRlcnN0YW5kIGhvdyBvdXIgd2Vic2l0ZSBpcyBiZWluZyB1c2VkLgogICAgPC9wPgogICAgPGRpdiBjbGFzcz0iZG0tY29va2llLWJhbm5lcl9fYnV0dG9ucyI+CiAgICAgIDxidXR0b24gY2xhc3M9ImdvdnVrLWJ1dHRvbiBkbS1jb29raWUtYmFubmVyX19idXR0b24gZG0tY29va2llLWJhbm5lcl9fYnV0dG9uLS1hY2NlcHQiIHR5cGU9InN1Ym1pdCIgZGF0YS1hY2NlcHQtY29va2llcz0idHJ1ZSIgYXJpYS1kZXNjcmliZWRieT0iZG0tY29va2llLWJhbm5lcl9faGVhZGluZyI+CiAgICAgICAgWWVzPHNwYW4gY2xhc3M9ImdvdnVrLXZpc3VhbGx5LWhpZGRlbiI+LCBEaWdpdGFsIE1hcmtldHBsYWNlIGNhbiBzdG9yZSBhbmFseXRpY3MgY29va2llcyBvbiB5b3VyIGRldmljZTwvc3Bhbj4KICAgICAgPC9idXR0b24+CiAgICAgIDxidXR0b24gY2xhc3M9ImdvdnVrLWJ1dHRvbiBkbS1jb29raWUtYmFubmVyX19idXR0b24gZG0tY29va2llLWJhbm5lcl9fYnV0dG9uLS1yZWplY3QiIHR5cGU9InN1Ym1pdCIgZGF0YS1hY2NlcHQtY29va2llcz0iZmFsc2UiIGFyaWEtZGVzY3JpYmVkYnk9ImRtLWNvb2tpZS1iYW5uZXJfX2hlYWRpbmciPgogICAgICAgIE5vPHNwYW4gY2xhc3M9ImdvdnVrLXZpc3VhbGx5LWhpZGRlbiI+LCBEaWdpdGFsIE1hcmtldHBsYWNlIGNhbm5vdCBzdG9yZSBhbmFseXRpY3MgY29va2llcyBvbiB5b3VyIGRldmljZTwvc3Bhbj4KICAgICAgPC9idXR0b24+CiAgICAgIDxhIGNsYXNzPSJnb3Z1ay1saW5rIGRtLWNvb2tpZS1iYW5uZXJfX2xpbmsiIGhyZWY9Ii9jb29raWVzIj5Ib3cgRGlnaXRhbCBNYXJrZXRwbGFjZSB1c2VzIGNvb2tpZXM8L2E+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0iZG0tY29va2llLWJhbm5lcl9fY29uZmlybWF0aW9uIiB0YWJpbmRleD0iLTEiPgogICAgPHAgY2xhc3M9ImRtLWNvb2tpZS1iYW5uZXJfX2NvbmZpcm1hdGlvbi1tZXNzYWdlIGdvdnVrLWJvZHkiPgogICAgICBZb3UgY2FuIDxhIGNsYXNzPSJnb3Z1ay1saW5rIiBocmVmPSIvdXNlci9jb29raWUtc2V0dGluZ3MiPmNoYW5nZSB5b3VyIGNvb2tpZSBzZXR0aW5nczwvYT4gYXQgYW55IHRpbWUuCiAgICA8L3A+CiAgICA8YnV0dG9uIGNsYXNzPSJkbS1jb29raWUtYmFubmVyX19oaWRlLWJ1dHRvbiBnb3Z1ay1saW5rIiBkYXRhLWhpZGUtY29va2llLWJhbm5lcj0idHJ1ZSIgcm9sZT0ibGluayI+SGlkZTwvYnV0dG9uPgogIDwvZGl2Pgo8L2Rpdj4KCiAgCgoKCgoKICAKICAKCgoKICAKCjxoZWFkZXIgY2xhc3M9ImdvdnVrLWhlYWRlciAiIHJvbGU9ImJhbm5lciIgZGF0YS1tb2R1bGU9ImhlYWRlciI+CiAgPGRpdiBjbGFzcz0iZ292dWstaGVhZGVyX19jb250YWluZXIgZ292dWstd2lkdGgtY29udGFpbmVyIj4KCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1oZWFkZXJfX2xvZ28iPgogICAgICA8YSBocmVmPSIvIiBjbGFzcz0iZ292dWstaGVhZGVyX19saW5rIGdvdnVrLWhlYWRlcl9fbGluay0taG9tZXBhZ2UiPgogICAgICAgIDxzcGFuIGNsYXNzPSJnb3Z1ay1oZWFkZXJfX2xvZ290eXBlIj4KICAgICAgICAgIAogICAgICAgICAgPHN2ZwogICAgICAgICAgICByb2xlPSJwcmVzZW50YXRpb24iCiAgICAgICAgICAgIGZvY3VzYWJsZT0iZmFsc2UiCiAgICAgICAgICAgIGNsYXNzPSJnb3Z1ay1oZWFkZXJfX2xvZ290eXBlLWNyb3duIgogICAgICAgICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgICAgICAgICAgIHZpZXdib3g9IjAgMCAxMzIgOTciCiAgICAgICAgICAgIGhlaWdodD0iMzIiCiAgICAgICAgICAgIHdpZHRoPSIzNiIKICAgICAgICAgID4KICAgICAgICAgICAgPHBhdGgKICAgICAgICAgICAgICBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgICAgICBkPSJNMjUgMzAuMmMzLjUgMS41IDcuNy0uMiA5LjEtMy43IDEuNS0zLjYtLjItNy44LTMuOS05LjItMy42LTEuNC03LjYuMy05LjEgMy45LTEuNCAzLjUuMyA3LjUgMy45IDl6TTkgMzkuNWMzLjYgMS41IDcuOC0uMiA5LjItMy43IDEuNS0zLjYtLjItNy44LTMuOS05LjEtMy42LTEuNS03LjYuMi05LjEgMy44LTEuNCAzLjUuMyA3LjUgMy44IDl6TTQuNCA1Ny4yYzMuNSAxLjUgNy43LS4yIDkuMS0zLjggMS41LTMuNi0uMi03LjctMy45LTkuMS0zLjUtMS41LTcuNi4zLTkuMSAzLjgtMS40IDMuNS4zIDcuNiAzLjkgOS4xem0zOC4zLTIxLjRjMy41IDEuNSA3LjctLjIgOS4xLTMuOCAxLjUtMy42LS4yLTcuNy0zLjktOS4xLTMuNi0xLjUtNy42LjMtOS4xIDMuOC0xLjMgMy42LjQgNy43IDMuOSA5LjF6bTY0LjQtNS42Yy0zLjYgMS41LTcuOC0uMi05LjEtMy43LTEuNS0zLjYuMi03LjggMy44LTkuMiAzLjYtMS40IDcuNy4zIDkuMiAzLjkgMS4zIDMuNS0uNCA3LjUtMy45IDl6bTE1LjkgOS4zYy0zLjYgMS41LTcuNy0uMi05LjEtMy43LTEuNS0zLjYuMi03LjggMy43LTkuMSAzLjYtMS41IDcuNy4yIDkuMiAzLjggMS41IDMuNS0uMyA3LjUtMy44IDl6bTQuNyAxNy43Yy0zLjYgMS41LTcuOC0uMi05LjItMy44LTEuNS0zLjYuMi03LjcgMy45LTkuMSAzLjYtMS41IDcuNy4zIDkuMiAzLjggMS4zIDMuNS0uNCA3LjYtMy45IDkuMXpNODkuMyAzNS44Yy0zLjYgMS41LTcuOC0uMi05LjItMy44LTEuNC0zLjYuMi03LjcgMy45LTkuMSAzLjYtMS41IDcuNy4zIDkuMiAzLjggMS40IDMuNi0uMyA3LjctMy45IDkuMXpNNjkuNyAxNy43bDguOSA0LjdWOS4zbC04LjkgMi44Yy0uMi0uMy0uNS0uNi0uOS0uOUw3Mi40IDBINTkuNmwzLjUgMTEuMmMtLjMuMy0uNi41LS45LjlsLTguOC0yLjh2MTMuMWw4LjgtNC43Yy4zLjMuNi43LjkuOWwtNSAxNS40di4xYy0uMi44LS40IDEuNi0uNCAyLjQgMCA0LjEgMy4xIDcuNSA3IDguMWguMmMuMyAwIC43LjEgMSAuMS40IDAgLjcgMCAxLS4xaC4yYzQtLjYgNy4xLTQuMSA3LjEtOC4xIDAtLjgtLjEtMS43LS40LTIuNFYzNGwtNS4xLTE1LjRjLjQtLjIuNy0uNiAxLS45ek02NiA5Mi44YzE2LjkgMCAzMi44IDEuMSA0Ny4xIDMuMiA0LTE2LjkgOC45LTI2LjcgMTQtMzMuNWwtOS42LTMuNGMxIDQuOSAxLjEgNy4yIDAgMTAuMi0xLjUtMS40LTMtNC4zLTQuMi04LjdMMTA4LjYgNzZjMi44LTIgNS0zLjIgNy41LTMuMy00LjQgOS40LTEwIDExLjktMTMuNiAxMS4yLTQuMy0uOC02LjMtNC42LTUuNi03LjkgMS00LjcgNS43LTUuOSA4LS41IDQuMy04LjctMy0xMS40LTcuNi04LjggNy4xLTcuMiA3LjktMTMuNSAyLjEtMjEuMS04IDYuMS04LjEgMTIuMy00LjUgMjAuOC00LjctNS40LTEyLjEtMi41LTkuNSA2LjIgMy40LTUuMiA3LjktMiA3LjIgMy4xLS42IDQuMy02LjQgNy44LTEzLjUgNy4yLTEwLjMtLjktMTAuOS04LTExLjItMTMuOCAyLjUtLjUgNy4xIDEuOCAxMSA3LjNMODAuMiA2MGMtNC4xIDQuNC04IDUuMy0xMi4zIDUuNCAxLjQtNC40IDgtMTEuNiA4LTExLjZINTUuNXM2LjQgNy4yIDcuOSAxMS42Yy00LjItLjEtOC0xLTEyLjMtNS40bDEuNCAxNi40YzMuOS01LjUgOC41LTcuNyAxMC45LTcuMy0uMyA1LjgtLjkgMTIuOC0xMS4xIDEzLjgtNy4yLjYtMTIuOS0yLjktMTMuNS03LjItLjctNSAzLjgtOC4zIDcuMS0zLjEgMi43LTguNy00LjYtMTEuNi05LjQtNi4yIDMuNy04LjUgMy42LTE0LjctNC42LTIwLjgtNS44IDcuNi01IDEzLjkgMi4yIDIxLjEtNC43LTIuNi0xMS45LjEtNy43IDguOCAyLjMtNS41IDcuMS00LjIgOC4xLjUuNyAzLjMtMS4zIDcuMS01LjcgNy45LTMuNS43LTktMS44LTEzLjUtMTEuMiAyLjUuMSA0LjcgMS4zIDcuNSAzLjNsLTQuNy0xNS40Yy0xLjIgNC40LTIuNyA3LjItNC4zIDguNy0xLjEtMy0uOS01LjMgMC0xMC4ybC05LjUgMy40YzUgNi45IDkuOSAxNi43IDE0IDMzLjUgMTQuOC0yLjEgMzAuOC0zLjIgNDcuNy0zLjJ6IgogICAgICAgICAgICA+PC9wYXRoPgogICAgICAgICAgICAKICAgICAgICAgICAgPGltYWdlIHNyYz0iL2Fzc2V0cy9pbWFnZXMvZ292dWstbG9nb3R5cGUtY3Jvd24ucG5nIiB4bGluazpocmVmPSIiIGNsYXNzPSJnb3Z1ay1oZWFkZXJfX2xvZ290eXBlLWNyb3duLWZhbGxiYWNrLWltYWdlIiB3aWR0aD0iMzYiIGhlaWdodD0iMzIiPjwvaW1hZ2U+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJnb3Z1ay1oZWFkZXJfX2xvZ290eXBlLXRleHQiPgogICAgICAgICAgICBHT1YuVUsKICAgICAgICAgIDwvc3Bhbj4KICAgICAgICA8L3NwYW4+CiAgICAgICAgCiAgICAgICAgPHNwYW4gY2xhc3M9ImdvdnVrLWhlYWRlcl9fcHJvZHVjdC1uYW1lIj4KICAgICAgICAgIERpZ2l0YWwgTWFya2V0cGxhY2UKICAgICAgICA8L3NwYW4+CiAgICAgICAgCiAgICAgIDwvYT4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1oZWFkZXJfX2NvbnRlbnQiPgoKICAgIAoKICAgIAogICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIHJvbGU9ImJ1dHRvbiIgY2xhc3M9ImdvdnVrLWhlYWRlcl9fbWVudS1idXR0b24ganMtaGVhZGVyLXRvZ2dsZSIgYXJpYS1jb250cm9scz0ibmF2aWdhdGlvbiIgYXJpYS1sYWJlbD0iU2hvdyBvciBoaWRlIFRvcCBMZXZlbCBOYXZpZ2F0aW9uIj5NZW51PC9idXR0b24+CiAgICA8bmF2PgogICAgICA8dWwgaWQ9Im5hdmlnYXRpb24iIGNsYXNzPSJnb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24gIiBhcmlhLWxhYmVsPSJUb3AgTGV2ZWwgTmF2aWdhdGlvbiI+CiAgICAgICAgCiAgICAgICAgICAKICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24taXRlbSI+CiAgICAgICAgICAgICAgPGEgY2xhc3M9ImdvdnVrLWhlYWRlcl9fbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuZ292LnVrL2d1aWRhbmNlL2J1eWluZy1hbmQtc2VsbGluZy1vbi10aGUtZGlnaXRhbC1tYXJrZXRwbGFjZSI+CiAgICAgICAgICAgICAgICBHdWlkYW5jZQogICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgCiAgICAgICAgICAgIDxsaSBjbGFzcz0iZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLWl0ZW0iPgogICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1oZWFkZXJfX2xpbmsiIGhyZWY9Ii9oZWxwIj4KICAgICAgICAgICAgICAgIEhlbHAKICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAKICAgICAgICAKICAgICAgICAgIAogICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtIj4KICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstaGVhZGVyX19saW5rIiBocmVmPSIvdXNlci9sb2dpbiI+CiAgICAgICAgICAgICAgICBMb2cgaW4KICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAKICAgICAgICAKICAgICAgPC91bD4KICAgIDwvbmF2PgogICAgCiAgICA8L2Rpdj4KICAgIAogIDwvZGl2Pgo8L2hlYWRlcj4KCgogICAgCiAgICAgIDxkaXYgY2xhc3M9ImdvdnVrLXdpZHRoLWNvbnRhaW5lciI+CiAgICAgICAgCiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1waGFzZS1iYW5uZXIiPgogIDxwIGNsYXNzPSJnb3Z1ay1waGFzZS1iYW5uZXJfX2NvbnRlbnQiPjxzdHJvbmcgY2xhc3M9ImdvdnVrLXRhZyBnb3Z1ay1waGFzZS1iYW5uZXJfX2NvbnRlbnRfX3RhZyAiPgogIGJldGEKPC9zdHJvbmc+PHNwYW4gY2xhc3M9ImdvdnVrLXBoYXNlLWJhbm5lcl9fdGV4dCI+CiAgICAgIEhlbHAgdXMgaW1wcm92ZSB0aGUgRGlnaXRhbCBNYXJrZXRwbGFjZSAtIDxhIGNsYXNzPSJnb3Z1ay1saW5rIiBocmVmPSIvaGVscCI+c2VuZCB5b3VyIGZlZWRiYWNrPC9hPgogICAgPC9zcGFuPgogIDwvcD4KPC9kaXY+CiAgCiAgCjxkaXYgY2xhc3M9ImdvdnVrLWJyZWFkY3J1bWJzIj4KICA8b2wgY2xhc3M9ImdvdnVrLWJyZWFkY3J1bWJzX19saXN0Ij4KICAKICAgIAogICAgPGxpIGNsYXNzPSJnb3Z1ay1icmVhZGNydW1ic19fbGlzdC1pdGVtIj4KICAgICAgPGEgY2xhc3M9ImdvdnVrLWJyZWFkY3J1bWJzX19saW5rIiBocmVmPSIvIj5EaWdpdGFsIE1hcmtldHBsYWNlPC9hPgogICAgPC9saT4KICAgIAogIAogICAgCiAgICA8bGkgY2xhc3M9ImdvdnVrLWJyZWFkY3J1bWJzX19saXN0LWl0ZW0iPgogICAgICA8YSBjbGFzcz0iZ292dWstYnJlYWRjcnVtYnNfX2xpbmsiIGhyZWY9Ii9kaWdpdGFsLW91dGNvbWVzLWFuZC1zcGVjaWFsaXN0cy9vcHBvcnR1bml0aWVzIj5TdXBwbGllciBvcHBvcnR1bml0aWVzPC9hPgogICAgPC9saT4KICAgIAogIAogIDwvb2w+CjwvZGl2PgoKCiAgICAgICAgPG1haW4gY2xhc3M9ImdvdnVrLW1haW4td3JhcHBlciAiIGlkPSJtYWluLWNvbnRlbnQiIHJvbGU9Im1haW4iPgogICAgICAgICAgCiAgCiAgICAKICAgICAgCiAgICAKICAKICAKICAgIAogIAogIAoKCjxkaXYgY2xhc3M9ImdvdnVrLWdyaWQtcm93Ij4KICA8ZGl2IGNsYXNzPSJnb3Z1ay1ncmlkLWNvbHVtbi1mdWxsIj4KICAgIDxzZWN0aW9uCiAgICBkYXRhLW1vZHVsZT0iZG0tYmFubmVyIgogICAgcm9sZT0icmVnaW9uIgogICAgYXJpYS1sYWJlbD0iVGhpcyBvcHBvcnR1bml0eSB3YXMgY2FuY2VsbGVkIgogICAgY2xhc3M9ImRtLWJhbm5lciIKPgogICAgPGgyCiAgICAgICAgY2xhc3M9ImRtLWJhbm5lcl9fdGl0bGUgZG0tYmFubmVyX190aXRsZS0tbGFyZ2UiCiAgICA+CiAgICAgICAgVGhpcyBvcHBvcnR1bml0eSB3YXMgY2FuY2VsbGVkCiAgICA8L2gyPgogICAgICAgIDxkaXYgY2xhc3M9ImRtLWJhbm5lcl9fYm9keSI+CiAgICAgICAgICAgIFRoZSBidXllciBjYW5jZWxsZWQgdGhpcyBvcHBvcnR1bml0eSwgZm9yIGV4YW1wbGUgYmVjYXVzZSB0aGV5IG5vIGxvbmdlciBoYXZlIHRoZSBidWRnZXQuIFRoZXkgbWF5IHB1Ymxpc2ggYW4gdXBkYXRlZCB2ZXJzaW9uIGxhdGVyLgogICAgICAgIDwvZGl2PgogICAgCjwvc2VjdGlvbj4KICA8L2Rpdj4KPC9kaXY+CgoKPGRpdiBjbGFzcz0iZ292dWstZ3JpZC1yb3ciPgogIDxkaXYgY2xhc3M9ImdvdnVrLWdyaWQtY29sdW1uLXR3by10aGlyZHMiPgogICAgPHNwYW4gY2xhc3M9ImdvdnVrLWNhcHRpb24tbCI+Um95YWwgQm90YW5pYyBHYXJkZW5zLCBLZXc8L3NwYW4+CiAgICA8aDEgY2xhc3M9ImdvdnVrLWhlYWRpbmctbCI+RGlnaXRhbCBkZXZlbG9wbWVudCwgaW1wcm92ZW1lbnQgYW5kIGlubm92YXRpb24gZm9yIFJveWFsIEJvdGFuaWMgR2FyZGVucywgS2V3PC9oMT4KICAgIDxzcGFuIGRhdGEtbG90PSJkaWdpdGFsLW91dGNvbWVzIj48L3NwYW4+CiAgPC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0iZ292dWstZ3JpZC1yb3cgZ292dWstIS1tYXJnaW4tYm90dG9tLTkiPgogIDxkaXYgY2xhc3M9ImdvdnVrLWdyaWQtY29sdW1uLW9uZS10aGlyZCBhcHAtc3RhdC1ibG9jayIgaWQ9ImluY29tcGxldGUtYXBwbGljYXRpb25zIj4KICAgPGgyPgogICAgICA8c3BhbiBjbGFzcz0iZ292dWstIS1mb250LXNpemUtMzYgZ292dWstIS1kaXNwbGF5LWJsb2NrIj4zMjwvc3Bhbj4KICAgICAgPHNwYW4+SW5jb21wbGV0ZSBhcHBsaWNhdGlvbnM8L3NwYW4+CiAgIDwvaDI+CiAgIDxwIGNsYXNzPSJnb3Z1ay1ib2R5IGdvdnVrLSEtZm9udC1zaXplLTE2Ij4yNyBTTUUsIDUgbGFyZ2U8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJnb3Z1ay1ncmlkLWNvbHVtbi1vbmUtdGhpcmQgYXBwLXN0YXQtYmxvY2siIGlkPSJjb21wbGV0ZWQtYXBwbGljYXRpb25zIj4KICAgPGgyPgogICAgICA8c3BhbiBjbGFzcz0iZ292dWstIS1mb250LXNpemUtMzYgZ292dWstIS1kaXNwbGF5LWJsb2NrIj4zMDwvc3Bhbj4KICAgICAgPHNwYW4+Q29tcGxldGVkIGFwcGxpY2F0aW9uczwvc3Bhbj4KICAgPC9oMj4KICAgPHAgY2xhc3M9ImdvdnVrLWJvZHkgZ292dWstIS1mb250LXNpemUtMTYiPjI2IFNNRSwgNCBsYXJnZTwvcD4KPC9kaXY+Cgo8L2Rpdj4KCjxkaXYgY2xhc3M9ImdvdnVrLWdyaWQtcm93Ij4KICA8ZGl2IGNsYXNzPSJnb3Z1ay1ncmlkLWNvbHVtbi1mdWxsIj4KICAgIDxoMiBjbGFzcz0iZ292dWstdmlzdWFsbHktaGlkZGVuIj5JbXBvcnRhbnQgZGF0ZXM8L2gyPgoKCgogIAoKICAKCiAgCjxkbCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0IGFwcC1nb3Z1ay1zdW1tYXJ5LWxpc3QgYXBwLWdvdnVrLXN1bW1hcnktbGlzdC0tdG9wLWJvcmRlciBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tOCIgaWQ9Im9wcG9ydHVuaXR5LWltcG9ydGFudC1kYXRlcyI+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIFB1Ymxpc2hlZAogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFRodXJzZGF5IDMxIE9jdG9iZXIgMjAxOQogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBEZWFkbGluZSBmb3IgYXNraW5nIHF1ZXN0aW9ucwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFRodXJzZGF5IDcgTm92ZW1iZXIgMjAxOSBhdCAxMTo1OXBtIEdNVAogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBDbG9zaW5nIGRhdGUgZm9yIGFwcGxpY2F0aW9ucwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFRodXJzZGF5IDE0IE5vdmVtYmVyIDIwMTkgYXQgMTE6NTlwbSBHTVQKICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKPC9kbD4KCgogIDxoMiBpZD0ib3Bwb3J0dW5pdHktYXR0cmlidXRlcy0xIiBjbGFzcz0iZ292dWstaGVhZGluZy1tIGFwcC1zdW1tYXJ5LWxpc3QtaGVhZGluZyI+T3ZlcnZpZXc8L2gyPgogIAogIAoKCiAgCgogIAoKICAKCiAgCgogIAoKICAKPGRsIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3QgYXBwLWdvdnVrLXN1bW1hcnktbGlzdCBhcHAtZ292dWstc3VtbWFyeS1saXN0LS10b3AtYm9yZGVyIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS04Ij4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgU3VtbWFyeSBvZiB0aGUgd29yawogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFdlIGFyZSBsb29raW5nIGZvciBhIHBhcnRuZXIgYWdlbmN5IHRvIHdvcmsgd2l0aCB1cyBvbiBjb250aW51aW5nIHRvIGltcHJvdmUgdGhlIEtldyYjMzk7cyBkaWdpdGFsIGVzdGF0ZSwgaW5jbHVkaW5nIHRoZSBjb250aW51b3VzIGltcHJvdmVtZW50IG9mIGtldy5vcmcsIHRoZSB1cGdyYWRlIG9mIG91ciBlLWNvbW1lcmNlIGFuZCBvbmxpbmUgbGVhcm5pbmcgb2ZmZXIsIGFsb25nc2lkZSBvbi1zaXRlIGltcHJvdmVtZW50cyB0byB2aXNpdG9yIGV4cGVyaWVuY2UgdGhyb3VnaCBkaWdpdGFsIGNoYW5uZWxzLgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBMYXRlc3Qgc3RhcnQgZGF0ZQogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIE1vbmRheSAxOCBOb3ZlbWJlciAyMDE5CiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIEV4cGVjdGVkIGNvbnRyYWN0IGxlbmd0aAogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIDIgeWVhcnMKICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgTG9jYXRpb24KICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBMb25kb24KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgT3JnYW5pc2F0aW9uIHRoZSB3b3JrIGlzIGZvcgogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFJveWFsIEJvdGFuaWMgR2FyZGVucywgS2V3CiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIEJ1ZGdldCByYW5nZQogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIE1heGltdW0gb2YgwqM4MDAsMDAwIG92ZXIgdHdvIHllYXJzIC0gdG8gY292ZXIgYSBzaWduaWZpY2FudCBlLWNvbW1lcmNlIHJlLWRldmVsb3BtZW50IHByb2plY3QsIGFzIHdlbGwgYXMgb25nb2luZyBpbXByb3ZlbWVudHMgdG8gZXhpc3RpbmcgcHJvcGVydGllcyBhcyB3ZWxsIGFzIHN1cHBvcnQgYW5kIG1haW50ZW5hbmNlIC0gZXhhY3Qgc3BlbmQgdG8gYmUgYWdyZWVkIGluIHNlcGFyYXRlIHNtYWxsZXIgc3RhdGVtZW50cyBvZiB3b3JrLgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAo8L2RsPgoKICA8aDIgaWQ9Im9wcG9ydHVuaXR5LWF0dHJpYnV0ZXMtMiIgY2xhc3M9ImdvdnVrLWhlYWRpbmctbSBhcHAtc3VtbWFyeS1saXN0LWhlYWRpbmciPkFib3V0IHRoZSB3b3JrPC9oMj4KICAKICAKCgogIAoKICAKCiAgCgogIAoKICAKCiAgCgogIAo8ZGwgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdCBhcHAtZ292dWstc3VtbWFyeS1saXN0IGFwcC1nb3Z1ay1zdW1tYXJ5LWxpc3QtLXRvcC1ib3JkZXIgZ292dWstIS1tYXJnaW4tYm90dG9tLTgiPgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBXaHkgdGhlIHdvcmsgaXMgYmVpbmcgZG9uZQogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFJveWFsIEJvdGFuaWMgR2FyZGVucywgS2V3IGlzIGEgd29ybGQgbGVhZGluZyBwbGFudCBzY2llbmNlIGFuZCBjb25zZXJ2YXRpb24gb3JnYW5pc2F0aW9uLiBXZSBydW4gdHdvIGJvdGFuaWMgZ2FyZGVucyAtIEtldyBHYXJkZW5zIGluIExvbmRvbiBhbmQgV2FrZWh1cnN0IGluIFN1c3NleC4gS2V3IEdhcmRlbnMgaXMgYSBVTkVTQ08gV29ybGQgSGVyaXRhZ2UgU2l0ZSBhbmQgbGVhZGluZyB2aXNpdG9yIGF0dHJhY3Rpb24sIHdlbGNvbWluZyAybSB2aXNpdG9ycyBpbiAyMDE4LzE5LiBXYWtlaHVyc3QgaXMgS2V34oCZcyDigJh3aWxkIGJvdGFuaWMgZ2FyZGVu4oCZIGFuZCB3ZWxjb21lcyBvdmVyIDMwMGsgdmlzaXRvcnMgcGVyIHllYXIuIDxicj48YnI+V2UgYXJlIGxvb2tpbmcgZm9yIGEgcGFydG5lciBhZ2VuY3kgdG8gd29yayB3aXRoIHVzIG9uIGNvbnRpbnVpbmcgdG8gaW1wcm92ZSB0aGUgS2V3JiMzOTtzIGRpZ2l0YWwgZXN0YXRlLCBpbmNsdWRpbmcgdGhlIGNvbnRpbnVvdXMgaW1wcm92ZW1lbnQgb2Yga2V3Lm9yZywgdGhlIHVwZ3JhZGUgb2Ygb3VyIGVjb21tZXJjZSBhbmQgb25saW5lIGxlYXJuaW5nIG9mZmVyLCBhbG9uZ3NpZGUgb24tc2l0ZSBpbXByb3ZlbWVudHMgdG8gdmlzaXRvciBleHBlcmllbmNlIHRocm91Z2ggZGlnaXRhbCBjaGFubmVscy4KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgUHJvYmxlbSB0byBiZSBzb2x2ZWQKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBXZSB3YW50IHRvIGZ1cnRoZXIgaW1wcm92ZSBjdXN0b21lciBqb3VybmV5cyBhY3Jvc3Mgb3VyIGRpZ2l0YWwgZXN0YXRlIHRvIGhlbHAgdXMgbWVldCBvdXIgY29tbWVyY2lhbCBhbmQgbm9uLWNvbW1lcmNpYWwgZ29hbHMuIEZyb20gaW1wcm92aW5nIHVwc2VsbCBvZiBtZW1iZXJzaGlwcyB0byBlbmNvdXJhZ2luZyBkb25hdGlvbnMgYW5kIGluY3JlYXNpbmcgb3VyIG9ubGluZSByZXRhaWwgY2FwYWJpbGl0aWVzLCBvdXIgb2ZmZXIgaXMgYnJvYWQgYW5kIGF0IHRpbWVzIGNvbmZ1c2luZyBmb3IgdXNlcnMuIDxicj48YnI+V2UgcmUtbGF1bmNoZWQgb3VyIG1haW4gd2Vic2l0ZSBlYXJseSBpbiAyMDE5LCBhbmQgYXJlIG5vdyBob3BpbmcgdG8gdHVybiBvdXIgYXR0ZW50aW9uIHRvIGltcHJvdmluZyBvdXIgZWNvbW1lcmNlIG9mZmVyIChyZXRhaWwsIG1lbWJlcnNoaXBzLCBkb25hdGlvbnMsIHRpY2tldHMpLCBhbG9uZyB3aXRoIGNvbnRpbnVpbmcgdG8gdGVzdCBhbmQgaW1wcm92ZSBrZXcub3JnLiA8YnI+PGJyPk91ciB3ZWJzaXRlIGlzIGJ1aWxkIG9uIERydXBhbCA4IC0gYW5kIHdlIGFyZSBvcGVuLW1pbmRlZCBhYm91dCB3aGF0IGVjb21tZXJjZSB0ZWNobm9sb2d5IHdlIHVzZSB0byBidWlsZCBvdXQgb3VyIG9mZmVyICh3ZSBjdXJyZW50bHkgdXNlIGEgbnVtYmVyIG9mIGRpZmZlcmVudCBzb2x1dGlvbnMpCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIFdobyB0aGUgdXNlcnMgYXJlIGFuZCB3aGF0IHRoZXkgbmVlZCB0byBkbwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIEFzIGEgcG90ZW50aWFsIHZpc2l0b3IsIEkgbmVlZCB0byBmaW5kIG91dCBpbmZvcm1hdGlvbiBhYm91dCB3aGF0JiMzOTtzIHRoZXJlLCB3aGF0JiMzOTtzIG9uIGFuZCBob3cgbXVjaCBpdCBjb3N0cywgc28gSSBjYW4gZGVjaWRlIGlmIEkgd2FudCB0byB2aXNpdC48YnI+PGJyPkFzIGEgaG9ydGljdWx0dXJlIGZhbiwgSSBjYW4gZmluZCBhbmQgcHVyY2hhc2UgYmVhdXRpZnVsIHByb2R1Y3RzLCBzbyB0aGF0IEkgY2FuIG1ha2UgbXkgaG91c2UgYmVhdXRpZnVsLjxicj48YnI+QXMgYSBsYXN0LW1pbnV0ZSBzaG9wcGVyLCBJIGNhbiBwdXJjaGFzZSBhIGdpZnQgbWVtYmVyc2hpcCB2b3VjaGVyIGZvciBteSBtdW0sIHNvIHRoYXQgSSBoYXZlIHNvbWV0aGluZyB0byBnaXZlIGhlciBvbiBoZXIgYmlydGhkYXkuPGJyPjxicj5BcyBhIGJvdGFuaXN0LCBJIGNhbiBmaW5kIG91dCBhYm91dCBwbGFudCByZXNlYXJjaCBoYXBwZW5pbmcgYXQgUkJHIEtldywgc28gdGhhdCBJIGNhbiBpbmZvcm0gbXkgb3duIHJlc2VhcmNoIGFuZCBpZGVudGlmeSBwb3RlbnRpYWwgIHBhcnRuZXJzaGlwcy9jb2xsYWJvcmF0aW9ucy4KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgRWFybHkgbWFya2V0IGVuZ2FnZW1lbnQKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBXZSBoYXZlIGJlZW4gdHJhbnNwYXJlbnQgd2l0aCBvdXIgZXhpc3Rpbmcgc3VwcGxpZXIgYWJvdXQgb3VyIHJvYWRtYXAsIGFuZCB3ZSB3b3VsZCBleHBlY3QgdGhlbSB0byBzdWJtaXQgYSByZXNwb25zZSB0byB0aGVzZSByZXF1aXJlbWVudHMuCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIEFueSB3b3JrIHRoYXTigJlzIGFscmVhZHkgYmVlbiBkb25lCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgV2UgcmUtbGF1bmNoZWQga2V3Lm9yZyBpbiBNYXJjaCAyMDE5LCBhbmQgaGF2ZSBjb250aW51ZWQgdG8gbWFrZSBpdGVyYXRpdmUgaW1wcm92ZW1lbnRzIG92ZXIgdGhlIHBhc3Qgc2l4IG1vbnRocy4KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgRXhpc3RpbmcgdGVhbQogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFlvdSYjMzk7bGwgYmUgd29ya2luZyBwcmltYXJpbHkgd2l0aCBLZXcmIzM5O3MgRGlnaXRhbCBFeHBlcmllbmNlIHRlYW0sIGFuZCBwcmltYXJpbHkgd2l0aCB0aGUgSGVhZCBvZiBEaWdpdGFsIEV4cGVyaWVuY2UsIFNlbmlvciBQcm9kdWN0IE1hbmFnZXIsIFByb2R1Y3QgTWFuYWdlciwgSnVuaW9yIFByb2R1Y3QgTWFuYWdlciwgVUkgRGVzaWduZXIsIFNlbmlvciBDb250ZW50IE1hbmFnZXIgYW5kIENvbnRlbnQgUHJvZHVjZXJzLiA8YnI+PGJyPldoZXJlIHJlbGV2YW50IHlvdSYjMzk7bGwgYWxzbyB3b3JrIHdpdGggc3Rha2Vob2xkZXJzIGluIG90aGVyIHRlYW1zIGFjcm9zcyBLZXcsIGZvciBleGFtcGxlIG91ciBEaWdpdGFsIENvbW1lcmNpYWwgTWFuYWdlciBmb3IgRUNvbW1lcmNlLgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBDdXJyZW50IHBoYXNlCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgTGl2ZQogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAo8L2RsPgoKICA8aDIgaWQ9Im9wcG9ydHVuaXR5LWF0dHJpYnV0ZXMtMyIgY2xhc3M9ImdvdnVrLWhlYWRpbmctbSBhcHAtc3VtbWFyeS1saXN0LWhlYWRpbmciPldvcmsgc2V0dXA8L2gyPgogIAogIAoKCiAgCgogIAoKICAKPGRsIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3QgYXBwLWdvdnVrLXN1bW1hcnktbGlzdCBhcHAtZ292dWstc3VtbWFyeS1saXN0LS10b3AtYm9yZGVyIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS04Ij4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgQWRkcmVzcyB3aGVyZSB0aGUgd29yayB3aWxsIHRha2UgcGxhY2UKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBSb3lhbCBCb3RhbmljIEdhcmRlbnMsIEtldwogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBXb3JraW5nIGFycmFuZ2VtZW50cwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFdlIGV4cGVjdCB0byBuZWdvdGlhdGUgYSBmbGV4aWJsZSBhcnJhbmdlbWVudCB3aXRoIHRoZSBzdXBwbGllciBhbmQgYmVsaWV2ZSBpdCBpcyBpbXBvcnRhbnQgdG8gaGF2ZSByZWd1bGFyIGZhY2UtdG8tZmFjZSBtZWV0aW5ncy4gPGJyPjxicj5XaGVuIGluIHRoZSBtaWRzdCBvZiBvbmdvaW5nIHNwcmludHMsIHdlIHdvdWxkIGxpa2UgdG8gZXhwbG9yZSBjby1sb2NhdGluZyBvbiBhIHJlZ3VsYXIgYmFzaXMgKG9uY2UgYSB3ZWVrIG9yIG9uY2UgYSBmb3J0bmlnaHQpIC0gdGhpcyBjYW4gdGFrZSBwbGFjZSBlaXRoZXIgb24gc2l0ZSBhdCBLZXcgb3IgYXQgdGhlIHN1cHBsaWVyJiMzOTtzIG9mZmljZXMuCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIFNlY3VyaXR5IGNsZWFyYW5jZQogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIE5vbmUKICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKPC9kbD4KCiAgPGgyIGlkPSJvcHBvcnR1bml0eS1hdHRyaWJ1dGVzLTQiIGNsYXNzPSJnb3Z1ay1oZWFkaW5nLW0gYXBwLXN1bW1hcnktbGlzdC1oZWFkaW5nIj5BZGRpdGlvbmFsIGluZm9ybWF0aW9uPC9oMj4KICAKICAKCgogIAo8ZGwgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdCBhcHAtZ292dWstc3VtbWFyeS1saXN0IGFwcC1nb3Z1ay1zdW1tYXJ5LWxpc3QtLXRvcC1ib3JkZXIgZ292dWstIS1tYXJnaW4tYm90dG9tLTgiPgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBBZGRpdGlvbmFsIHRlcm1zIGFuZCBjb25kaXRpb25zCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgTm9uZQogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAo8L2RsPgoKICA8aDIgaWQ9Im9wcG9ydHVuaXR5LWF0dHJpYnV0ZXMtNSIgY2xhc3M9ImdvdnVrLWhlYWRpbmctbSBhcHAtc3VtbWFyeS1saXN0LWhlYWRpbmciPlNraWxscyBhbmQgZXhwZXJpZW5jZTwvaDI+CiAgCiAgPHAgY2xhc3M9ImdvdnVrLWJvZHkgZ292dWstIS1tYXJnaW4tdG9wLTMiPkJ1eWVycyB3aWxsIHVzZSB0aGUgZXNzZW50aWFsIGFuZCBuaWNlLXRvLWhhdmUgc2tpbGxzIGFuZCBleHBlcmllbmNlIHRvIGhlbHAgdGhlbSBldmFsdWF0ZSBzdXBwbGllcnPigJkgdGVjaG5pY2FsIGNvbXBldGVuY2UuPC9wPgogIAogIAogIAoKCiAgCgogIAo8ZGwgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdCBhcHAtZ292dWstc3VtbWFyeS1saXN0IGFwcC1nb3Z1ay1zdW1tYXJ5LWxpc3QtLXRvcC1ib3JkZXIgZ292dWstIS1tYXJnaW4tYm90dG9tLTgiPgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBFc3NlbnRpYWwgc2tpbGxzIGFuZCBleHBlcmllbmNlCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgPHVsIGNsYXNzPSJnb3Z1ay1saXN0IGdvdnVrLWxpc3QtLWJ1bGxldCI+CiAgICAgICAgICA8bGk+RXhwZXJpZW5jZSBvZiBEcnVwYWwgOCB3ZWJzaXRlIGRldmVsb3BtZW50IGFuZCBtYWludGVuYW5jZSBmb3IgY2xpZW50cyB3aXRoIGJvdGggY29tbWVyY2lhbCBhbmQgbm9uLWNvbW1lcmNpYWwgb2JqZWN0aXZlcy48L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2Ugb2YgZGVsaXZlcmluZyBlY29tbWVyY2Ugc29sdXRpb25zIGZvciBhIG5vdC1mb3ItcHJvZml0IG9yZ2FuaXNhdGlvbiB3aXRoIGEgcmFuZ2Ugb2YgZGlmZmVyZW50IHByb2R1Y3QgdHlwZXMgKG9ubGluZSBkb25hdGlvbnMsIG1lbWJlcnNoaXAsIGV2ZW50cyBvciBleHBlcmllbmNlIGJvb2tpbmcsIHJldGFpbCkgdXNpbmcgZGlmZmVyZW50IHRlY2huaWNhbCBzb2x1dGlvbnMuPC9saT4KICAgICAgICAgIDxsaT5FeHBlcmllbmNlIG9mIGludGVncmF0aW5nIHdlYnNpdGVzIGFuZCB3ZWIgYXBwbGljYXRpb25zIHdpdGggYnVzaW5lc3Mgc3lzdGVtcyBzdWNoIGFzIENSTSwgRW1haWwgYW5kIFBheW1lbnQgR2F0ZXdheXMuPC9saT4KICAgICAgICAgIDxsaT54cGVyaWVuY2Ugb2YgYSB1c2VyIHJlc2VhcmNoL2RhdGEtZHJpdmVuIGFwcHJvYWNoIHRvIGRldmVsb3BtZW50LCBpbmNsdWRpbmcgdXNlIG9mIHByb3RvdHlwaW5nIGFuZCBwcm9vZiBvZiBjb25jZXB0cy48L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2Ugb2Ygd29ya2luZyBhbG9uZ3NpZGUgYWRkaXRpb25hbCBzdXBwbGllcnMgYW5kIGluLWhvdXNlIHRlYW1zIHRvIGRlbGl2ZXIgY29tcGxleCB0ZWNobm9sb2d5IGNoYW5nZSBwcm9qZWN0cy48L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2Ugb2YgZGVsaXZlcmluZyB2YWx1ZSBmb3IgbW9uZXkgYnkgd29ya2luZyBpbiBwYXJ0bmVyc2hpcCB3aXRoIGNsaWVudHMgdG8gc2NvcGUgYW5kIHByaW9yaXRpc2UgYWdhaW5zdCBidXNpbmVzcy91c2VyIG5lZWRzLjwvbGk+CiAgICAgICAgICA8bGk+RXhwZXJpZW5jZSBvZiB3b3JraW5nIHdpdGggYW4gaW4taG91c2UgSVQgdGVhbSBvbiBob3N0aW5nLCBtb25pdG9yaW5nLCBzZWN1cml0eSBhbmQgRE5TLCBpbmNsdWRpbmcgcmVndWxhciB2dWxuZXJhYmlsaXR5IGFuZCBwZW5ldHJhdGlvbiB0ZXN0cywgYWN0aW5nIHByb21wdGx5IHRvIG1pdGlnYXRlIGFuZCByZW1lZGlhdGUgc2VjdXJpdHkgaXNzdWVzLjwvbGk+CiAgICAgICAgICA8bGk+QWJsZSB0byBkZW1vbnN0cmF0ZSBwcm9hY3RpdmUgYXBwcm9hY2ggdG8gbWFpbnRlbmFuY2UgYW5kIG1hbmFnaW5nIENNUyB1cGRhdGVzIChlLmcuIHJlZ3VsYXIgRHJ1cGFsIHNlY3VyaXR5IHVwZGF0ZXMpPC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBOaWNlLXRvLWhhdmUgc2tpbGxzIGFuZCBleHBlcmllbmNlCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgPHVsIGNsYXNzPSJnb3Z1ay1saXN0IGdvdnVrLWxpc3QtLWJ1bGxldCI+CiAgICAgICAgICA8bGk+RXhwZXJpZW5jZSBvZiBkZWxpdmVyaW5nIGFuIGludGVncmF0ZWQgZWNvbW1lcmNlIG9mZmVyICg1IHBvaW50cyk8L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2Ugb2Ygd29ya2luZyB3aXRoIGEgbXVsdGlzaXRlIHZpc2l0b3IgYXR0cmFjdGlvbiB3aXRoIGEgcmV0YWlsIGFuZCBtZW1iZXJzaGlwIG9mZmVyIGFsb25nc2lkZSBmdW5kcmFpc2luZyBhbWJpdGlvbnMgKDUgcG9pbnRzKTwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKPC9kbD4KCiAgPGgyIGlkPSJvcHBvcnR1bml0eS1hdHRyaWJ1dGVzLTYiIGNsYXNzPSJnb3Z1ay1oZWFkaW5nLW0gYXBwLXN1bW1hcnktbGlzdC1oZWFkaW5nIj5Ib3cgc3VwcGxpZXJzIHdpbGwgYmUgZXZhbHVhdGVkPC9oMj4KICAKICA8cCBjbGFzcz0iZ292dWstYm9keSBnb3Z1ay0hLW1hcmdpbi10b3AtMyI+QWxsIHN1cHBsaWVycyB3aWxsIGJlIGFza2VkIHRvIHByb3ZpZGUgYSB3cml0dGVuIHByb3Bvc2FsLjwvcD4KICAKICAKCgogIAoKICAKCiAgCgogIAoKICAKCiAgCjxkbCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0IGFwcC1nb3Z1ay1zdW1tYXJ5LWxpc3QgYXBwLWdvdnVrLXN1bW1hcnktbGlzdC0tdG9wLWJvcmRlciBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tOCI+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIEhvdyBtYW55IHN1cHBsaWVycyB0byBldmFsdWF0ZQogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIDYKICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgUHJvcG9zYWwgY3JpdGVyaWEKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICA8dWwgY2xhc3M9ImdvdnVrLWxpc3QgZ292dWstbGlzdC0tYnVsbGV0Ij4KICAgICAgICAgIDxsaT5Qcm92aWRlIGFuIG92ZXJ2aWV3IG9mIHNvbWUgb2YgdGhlIGltcHJvdmVtZW50IG9wcG9ydHVuaXRpZXMgeW91IGNhbiBpZGVudGlmeSB0byBpbmNyZWFzZSBvbmxpbmUgcmV2ZW51ZXMgZm9yIFJCRyBLZXcsIGFuZCBzb21lIG9mIHRoZSBsaWtlbHkgZGVwZW5kZW5jaWVzL2NoYWxsZW5nZXMgb2YgdGhlIHByb2plY3QuICg1MCBwb2ludHMpPC9saT4KICAgICAgICAgIDxsaT5Qcm92aWRlIGFuIG91dGxpbmUgb2YgYW4gZW5kLXRvLWVuZCBlY29tbWVyY2UgcHJvamVjdCB5b3UgaGF2ZSBkZWxpdmVyZWQgaW5jbHVkaW5nIGRldGFpbHMgb2YgdGhlIG1ldGhvZG9sb2d5LCB0ZWNobmljYWwgc29sdXRpb24sIGludGVncmF0aW9ucywgY2hhbGxlbmdlcyB5b3UgZmFjZWQsIGFuIG91dGxpbmUgb2YgYmVuZWZpdCByZWFsaXNhdGlvbi4gKDUwIHBvaW50cyk8L2xpPgogICAgICAgICAgPGxpPkRldGFpbHMgb2YgeW91ciBhcHByb2FjaCB0byBpZGVudGlmeWluZyBhIHRlY2huaWNhbCBzb2x1dGlvbiAob3Igc3VpdGUpIHRvIGRlbGl2ZXIgb3VyIGVjb21tZXJjZSBhbWJpdGlvbnMgYW5kIGluZm9ybWF0aW9uIHlvdSB3b3VsZCBuZWVkIHRvIGluZm9ybS92YWxpZGF0ZSBhbiBvcHRpb25zIGFwcHJhaXNhbCBhbmQgcmVjb21tZW5kYXRpb24gKDIwKTwvbGk+CiAgICAgICAgICA8bGk+RGV0YWlsIHlvdXIgYXBwcm9hY2ggdG8gb25nb2luZyBtYWludGVuYW5jZS9zdXBwb3J0IG9mIHdlYnNpdGVzLCBvdXRsaW5pbmcgaG91cnMgb2Ygc2VydmljZSBhbmQgaG93IHByaW9yaXR5IGlzc3VlcyBhcmUgZGVhbHQgd2l0aCwgaW5jbHVkaW5nIGFuIGV4YW1wbGUgd29yayB3aXRoIGFuIGV4aXN0aW5nIGNsaWVudC4gKDIwIHBvaW50cyk8L2xpPgogICAgICAgICAgPGxpPkRldGFpbCB5b3VyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGRpZmZlcmVudCBhbmQgY29tcGV0aW5nIHByaW9yaXRpZXMgKGJvdGggY29tbWVyY2lhbCBhbmQgbm9uLWNvbW1lcmNpYWwpIHdlIGZhY2UgYXMgYW4gb3JnYW5pc2F0aW9uICgyMCBwb2ludHMpPC9saT4KICAgICAgICAgIDxsaT5Qcm92aWRlIGFuIGV4YW1wbGUgb2YgaG93IHlvdSBoYXZlIHdvcmtlZCB3aXRoIGEgY2xpZW50IGdvaW5nIHRocm91Z2ggYSBsYXJnZS1zY2FsZSBkaWdpdGFsIHRyYW5zZm9ybWF0aW9uIHRvIGRldGVybWluZSBhbmQgZGVsaXZlciBhZ2FpbnN0IHRoZWlyIGRpZ2l0YWwgcm9hZG1hcCAoMjAgcG9pbnRzKTwvbGk+CiAgICAgICAgICA8bGk+UHJvdmlkZSBpbmZvcm1hdGlvbiBvbiB3aGF0IG1ha2VzIGEgc3VjY2Vzc2Z1bCBhZ2VuY3kvY2xpZW50IHBhcnRuZXJzaGlwLCBhbmQgYW4gZXhhbXBsZSBvZiB3aGVyZSB5b3UgaGF2ZSBhY2hpZXZlZCB0aGlzIChwbGVhc2UgaW5jbHVkZSB0aGlzIGNsaWVudCBhcyBvbmUgb2YgeW91ciByZWZlcmVuY2VzKS4gKDIwIHBvaW50cyk8L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIEN1bHR1cmFsIGZpdCBjcml0ZXJpYQogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIDx1bCBjbGFzcz0iZ292dWstbGlzdCBnb3Z1ay1saXN0LS1idWxsZXQiPgogICAgICAgICAgPGxpPkRlbW9uc3RyYXRlIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGRpZmZlcmVudCBhbmQgY29tcGV0aW5nIHByaW9yaXRpZXMgKGJvdGggY29tbWVyY2lhbCBhbmQgbm9uLWNvbW1lcmNpYWwpIGZhY2VkIGJ5IGNvbXBsZXggbm9uLXByb2ZpdCBvcmdhbmlzYXRpb25zICgyMCBwb2ludHMpPC9saT4KICAgICAgICAgIDxsaT5EZW1vbnN0cmF0ZSBhbiBldmlkZW5jZS1kcml2ZW4gYXBwcm9hY2ggd2l0aCBhbiBleGFtcGxlIG9mIHdoZXJlIHlvdSBoYXZlIHVzZWQgYW5hbHl0aWNzIG9yIHVzZXIgcmVzZWFyY2ggdG8gaW5mbHVlbmNlIG91dGNvbWVzICgyMCBwb2ludHMpPC9saT4KICAgICAgICAgIDxsaT5Qcm92aWRlIGFuIGV4YW1wbGUgb2Ygd2hlcmUgeW91IGhhdmUgd29ya2VkIHdpdGggaW4taG91c2UgZGV2ZWxvcG1lbnQgYW5kIElUIHJlc291cmNlcyB0byBkZWxpdmVyIG9uIGEgcHJvamVjdCAoMjAgcG9pbnRzKTwvbGk+CiAgICAgICAgICA8bGk+UHJvdmlkZSBldmlkZW5jZSBvZiBzdXBwb3J0aW5nIGFuIGluLWhvdXNlIGRpZ2l0YWwgdGVhbSB3aXRoIHN0YWtlaG9sZGVyIGVuZ2FnZW1lbnQgdG8gZGVsaXZlciBzb2x1dGlvbnMgdGhhdCBtZWV0IGJvdGggdXNlciBhbmQgYnVzaW5lc3MgbmVlZHMgKDE1IHBvaW50czwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgUGF5bWVudCBhcHByb2FjaAogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIENhcHBlZCB0aW1lIGFuZCBtYXRlcmlhbHMKICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgQWRkaXRpb25hbCBhc3Nlc3NtZW50IG1ldGhvZHMKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICA8dWwgY2xhc3M9ImdvdnVrLWxpc3QgZ292dWstbGlzdC0tYnVsbGV0Ij4KICAgICAgICAgIDxsaT5SZWZlcmVuY2U8L2xpPgogICAgICAgICAgPGxpPlByZXNlbnRhdGlvbjwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgRXZhbHVhdGlvbiB3ZWlnaHRpbmcKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICA8cCBjbGFzcz0iZ292dWstYm9keSBnb3Z1ay0hLW1hcmdpbi10b3AtMCBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tMSI+VGVjaG5pY2FsIGNvbXBldGVuY2U8L3A+CiAgICAgICAgPGRpdj42MCU8L2Rpdj4KICAgICAgICA8cCBjbGFzcz0iZ292dWstYm9keSBnb3Z1ay0hLW1hcmdpbi10b3AtMyBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tMSI+Q3VsdHVyYWwgZml0PC9wPgogICAgICAgIDxkaXY+MjAlPC9kaXY+CiAgICAgICAgPHAgY2xhc3M9ImdvdnVrLWJvZHkgZ292dWstIS1tYXJnaW4tdG9wLTMgZ292dWstIS1tYXJnaW4tYm90dG9tLTEiPlByaWNlPC9wPgogICAgICAgIDxkaXY+MjAlPC9kaXY+CiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCjwvZGw+CgogIDwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iZ292dWstZ3JpZC1yb3ciPgogIDxkaXYgY2xhc3M9ImdvdnVrLWdyaWQtY29sdW1uLWZ1bGwiPgogICAgCgo8aDIgaWQ9ImNsYXJpZmljYXRpb24tcXVlc3Rpb25zIiBjbGFzcz0iZ292dWstaGVhZGluZy1tIGFwcC1zdW1tYXJ5LWxpc3QtaGVhZGluZyI+UXVlc3Rpb25zIGFza2VkIGJ5IHN1cHBsaWVyczwvaDI+CgoKCgogIAoKICAKCiAgCgogIAoKICAKCiAgCgogIAoKICAKCiAgCgogIAoKICAKCiAgCgogIAoKICAKCiAgCgogIAoKICAKCiAgCgogIAoKICAKCiAgCgogIAoKICAKCiAgCgogIAoKICAKCiAgCgogIAo8ZGwgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdCBhcHAtZ292dWstc3VtbWFyeS1saXN0IGFwcC1nb3Z1ay1zdW1tYXJ5LWxpc3QtLXRvcC1ib3JkZXIgZ292dWstIS1tYXJnaW4tYm90dG9tLTgiPgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICAxLiBJbiB0aGUgZXNzZW50aWFsIHNraWxscyBpdCBsaXN0IHRoYXQgJiMzNDsgRXhwZXJpZW5jZSBvZiBEcnVwYWwgOCB3ZWJzaXRlIGRldmVsb3BtZW50JiMzNDsgaXMgcmVxdWlyZWQgYnV0IGluIHRoZSBkZXNjcmlwdGlvbiBhbHNvIHNheXMgdGhhdCB5b3UgYXJlIG9wZW4gdG8gb3RoZXIgRWNvbW1lcmNlIHRlY2hub2xvZ2llcy4gSWYgYSBzdXBwbGllciB3b3VsZCBsaWtlIHRvIGltcGxlbWVudCBhIGRpZmZlcmVudCBDTVMvZWNvbW1lcmNlIHNvbHV0aW9uIHdvdWxkIHRoZXkgc3RpbGwgbmVlZCBEcnVwYWwgOCBleHBlcmllbmNlPwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIERydXBhbCA4IGlzIHRoZSBDTVMgZm9yIGtldy5vcmcsIHdoaWNoIHdhcyByZWJ1aWx0IGFuZCBsYXVuY2hlZCBpbiBNYXJjaCAyMDE5LiBXZSBhcmUgY3VycmVudGx5IG5vdCBsb29raW5nIHRvIGNoYW5nZSB0aGF0IENNUyB1bmRlciB0aGlzIHRlbmRlci4gPGJyPjxicj5BcyBwYXJ0IG9mIGFueSBmdXR1cmUgZGV2ZWxvcG1lbnQgYXJvdW5kIG91ciBlLWNvbW1lcmNlIG9mZmVyLCB3ZSB3b3VsZCBhc3Nlc3MgcG90ZW50aWFsIHBsYXRmb3JtcyB3aXRoIHRoZSBhcHBvaW50ZWQgc3VwcGxpZXIuIDxicj48YnI+SG93ZXZlciwgZ2l2ZW4gd2UgY3VycmVudGx5IHVzZSBEcnVwYWwgOCwgd2UgZG8gcmVxdWlyZSBleHBlcnRpc2UgaW4gc3VwcG9ydGluZyBhbmQgZnVydGhlciBkZXZlbG9waW5nIG91ciBEcnVwYWwgOCBDTVMgYXMgYSBwcmlvcml0eSB1bmRlciB0aGlzIHRlbmRlcgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICAyLiBDb3VsZCB5b3UgcGxlYXNlIGNvbmZpcm0gd2hldGhlciBkZW1vbnN0cmF0aW5nIGV4cGVyaWVuY2UgYnVpbGRpbmcgY29tcGxleCBlLWNvbW1lcmNlIHN5c3RlbXMgdXNpbmcgYSByYW5nZSBvZiBQSFAgcGxhdGZvcm1zIHRoYXQgYXJlIE5PVCBEcnVwYWwgOCB3b3VsZCBiZSBhbiBhY2NlcHRhYmxlIHJlc3BvbnNlPwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFllcywgd2Ugd2lsbCBjb25zaWRlciB0aGUgdXNlIG9mIG90aGVyIHBsYXRmb3JtcyBhbmQgdGVjaG5vbG9naWVzIGZvciBhbnkgZnV0dXJlIGRldmVsb3BtZW50IGFyb3VuZCBvdXIgZS1jb21tZXJjZSBvZmZlci4gPGJyPjxicj5Ib3dldmVyLCBEcnVwYWwgOCBpcyB0aGUgQ01TIGZvciBrZXcub3JnLCB3aGljaCB3ZSByZXF1aXJlIGV4cGVydGlzZSBpbiBzdXBwb3J0aW5nIGFuZCBmdXJ0aGVyIGRldmVsb3BtZW50IG9mIGFzIHBhcnQgb2YgdGhpcyB0ZW5kZXIuCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIDMuIFdlIGRvbiYjMzk7dCBoYXZlIHNwZWNpZmljIERydXBhbCA4IGV4cGVyaWVuY2UgYnV0IHdvcmsgd2l0aCBvdGhlciBsYXJnZS1zY2FsZSBQSFAtYmFzZWQgY29udGVudCBtYW5hZ2VtZW50IHN5c3RlbXMuIDxicj48YnI+T3VyIHRlYW0gd291bGQgYmUgbW9yZSB0aGFuIGNhcGFibGUgb2YgcHJvdmlkaW5nIHN1cHBvcnQgYW5kIG1haW50YWluaW5nIHRoZSBleGlzdGluZyBzeXN0ZW0uIDxicj48YnI+RG9lcyB0aGlzIGV4Y2x1ZGUgdXMgZnJvbSB0aGUgcHJvcG9zYWwgc3RhZ2U/IFdlIGFyZSBjYXBhYmxlIG9mIGRlbW9uc3RyYXRpbmcgZXhwZXJpZW5jZSBpbiBhbGwgb3RoZXIgYXJlYXMKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBXZSB3b3VsZCBwbGFjZSBwcmVmZXJlbmNlIG9uIHN1cHBsaWVyIHdobyBoYXZlIGV4cGVyaWVuY2Ugb2Ygc3VwcG9ydGluZyBhbmQgZGV2ZWxvcGluZyBmb3IgRHJ1cGFsIDguIDxicj48YnI+VGhlIHN1cHBsaWVyIG11c3QgYmUgYWJsZSB0byBkZXZlbG9wIGZvciBEcnVwYWwgOCwgbm90IGp1c3Qgc3VwcG9ydCB0aGUgc3lzdGVtCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIDQuIFdobyBpcyB0aGUgZXhpc3Rpbmcgc3VwcGxpZXI/CiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgT3VyIGN1cnJlbnQgc3VwcGxpZXIgaXMgTWFuaWZlc3RvLCBwYXJ0IG9mIHRoZSBQYW5vcGx5IGdyb3VwLgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICA1LiBJdCBzb3VuZHMgbGlrZSBpdOKAmXMgb25seSB0aGUgRHJ1cGFsIENvbW1lcmNlIGNvbXBvbmVudCB0aGF0IHlvdSBhcmUgY29uc2lkZXJpbmcgcmVwbGFjaW5nLCBub3QgRHJ1cGFsIENNUy4gQ2FuIHlvdSBjb25maXJtIHRoaXMgaXMgY29ycmVjdCBvciBpZiB5b3UgYXJlIG9wZW4gdG8gYSBuZXcgQ01TPwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIE92ZXIgdGhlIGNvbWluZyA2LTI0IG1vbnRocywgdGhlcmUgd2lsbCBsaWtlbHkgYmUgZS1jb21tZXJjZSBwcm9qZWN0IHRoYXQgd2lsbCBlaXRoZXIgYmUgYSBwYXJ0IG9mIG91ciBEcnVwYWwgOCBkZXZlbG9wbWVudCBvciBob3VzZWQgb24gdGhlaXIgb3duIHBsYXRmb3JtLjxicj48YnI+V2UgYXJlIG5vdCBjb21taXR0ZWQgdG8gY3JlYXRpbmcgYW55IG5ldyBwbGF0Zm9ybShzKSB1bmxlc3MgaXTigJlzIGRlZW1lZCBhcHByb3ByaWF0ZSB3aXRoIHRoZSBhcHBvaW50ZWQgc3VwcGxpZXIsIGVuc3VyaW5nIHRoYXQgdGhleSBtZWV0IHRoZSByZXF1aXJlbWVudHMgZm9yIGRldmVsb3BpbmcgdGhlIHNjb3BlZCBwbGF0Zm9ybShzKS48YnI+PGJyPldlIGFyZSBvcGVuIHRvIGRpc2N1c3NpbmcgcGxhdGZvcm1zIGZvciBhbnkgZnV0dXJlIGRldmVsb3BtZW50IG9mIG91ciBlLWNvbW1lcmNlIG9mZmVyIGFuZCBpdCBtYXkgYmUgdGhhdCB3ZSBwdWJsaXNoIGEgc2VwYXJhdGUgdGVuZGVyIGZvciB3b3JrIHRvIGNyZWF0ZSBhIG5ldyBlLWNvbW1lcmNlIHBsYXRmb3JtKHMpIGF0IGEgbGF0ZXIgZGF0ZSB0byBhcHBvaW50IGEgc2VwYXJhdGUgc3VwcGxpZXIgdG8gdGhpcyBjb250cmFjdC4KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgNi4gVGhlIGRlYWRsaW5lIGZvciBhc2tpbmcgcXVlc3Rpb25zIGlzIDcgTm92ZW1iZXIsIGJ1dCBpbiB0aGUgUSZhbXA7QSBzZXNzaW9uIGRldGFpbHMgeW91IHNheSAmIzM0O1dlIHdpbGwgcG9zdCByZXNwb25zZXMgdG8gYWxsIHF1ZXN0aW9ucyByZWNlaXZlZCBvbmxpbmUgYnkgdGhlIDEzdGggTm92ZW1iZXImIzM0Oy4gPGJyPjxicj5XZSBjYW4gb25seSBhc3N1bWUgdGhpcyBpcyBhbiBlcnJvciwgYXMgdGhlIGNsb3NpbmcgZGF0ZSBmb3IgYXBwbGljYXRpb25zIGlzIHRoZSAxNHRoIE5vdmVtYmVyCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgVGhlIERpZ2l0YWwgTWFya2V0cGxhY2UgcHJlc2NyaWJlZCB0aW1lbGluZXMgcmVxdWlyZSBhbGwgcmVzcG9uc2VzIHRvIGJlIHB1Ymxpc2hlZCBieSAxM3RoIG9mIE5vdmVtYmVyIGF0IHRoZSBsYXRlc3QuPGJyPjxicj5XZSB3aWxsIG9mIGNvdXJzZSBlbmRlYXZvdXIgdG8gcHVibGlzaCBhbnN3ZXJzIHRvIGFsbCBxdWVzdGlvbnMgcmVjZWl2ZWQgYnkgdGhlIGRlYWRsaW5lIGFzIHNvb24gYXMgcG9zc2libGUKICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgNy4gUGxlYXNlIGNvbmZpcm0gd2hldGhlciB5b3Ugd291bGQgY29uc2lkZXIgYSBzdXBwbGllciBpZiB0aGV5IGhhdmUgYm90aCBlY29tbWVyY2UgZXhwZXJpZW5jZSBhbmQgbm90LWZvci1wcm9maXQgZXhwZXJpZW5jZSBidXQgaGF2ZW4mIzM5O3QgcHJldmlvdXNseSBkb25lIGEgcHJvamVjdCB0aGF0IGNvbWJpbmVzIGJvdGggZWNvbW1lcmNlIGFuZCBub3QtZm9yLXByb2ZpdCBpbiB0aGUgc2FtZSBwcm9qZWN0IG9yIGZvciB0aGUgc2FtZSBjbGllbnQ/IE9yIHdvdWxkIHlvdSBydWxlIG91dCBhIHN1cHBsaWVyIGJhc2VkIG9uIHRoYXQ/CiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgWWVzLCB3ZSBhcmUgb3BlbiB0byB3b3JraW5nIHdpdGggYSBzdXBwbGllciB3aXRoIGV4cGVyaWVuY2UgaW4gZWFjaCBhcmVhLCBidXQgdGhhdCBkb2VzbuKAmXQgbmVjZXNzYXJpbHkgaGF2ZSBhIHNpbmdsZSBwcm9qZWN0IG9yIHNpbmdsZSBjbGllbnQgdG8gcHJvdmlkZSBldmlkZW5jZSBvZiBvciByZWZlcmVuY2VzIGZvci4KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgOC4gRG8geW91IGhhdmUgYW55IGRvY3VtZW50YXRpb24gYXJvdW5kIGV4aXN0aW5nIGtleSB1c2VyIGpvdXJuZXlzIGFuZC9vciBpZGVhbCBzdGF0ZSBqb3VybmV5cyBhcyBvZiB5ZXQ/CiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgRm9yIHRoaXMgdGVuZGVyLCB3ZSB3b3VsZCBleHBlY3QgdG8gd29yayB3aXRoIHRoZSBhcHBvaW50ZWQgc3VwcGxpZXIgdG8gbWFwIG91ciBrZXkgdXNlciBqb3VybmV5cyBmb3IgdGhlIHJlbGV2YW50IHN0YXRlbWVudHMgb2Ygd29yayB0aGF0IHdpbGwgYmUgY2FycmllZCBvdXQuCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIDkuIERvIHlvdSBhbHJlYWR5IGhhdmUgbWFwcGVkIG91dCB1c2VyIHBlcnNvbmFzIGFuZC9vciBhbnkgZGV0YWlsIG9uIGF1ZGllbmNlIC8gdXNlciBzZWdtZW50YXRpb24/CiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgV2UgYXJlIGN1cnJlbnRseSB1bmRlcmdvaW5nIGEgcmV2aWV3IG9mIG91ciB1c2UgYW5kIHN0cnVjdHVyZSBvZiBhdWRpZW5jZSBwZXJzb25hcyBhbmQgc2VnbWVudGF0aW9uLiBUaGlzIHdvcmsgaXMgbGlrZWx5IHRvIGJlIGNhcnJpZWQgb3V0IGluIFExIDIwMjAvMjEuCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIDEwLiBQbGVhc2UgY291bGQgeW91IHNoYXJlIGZ1cnRoZXIgZGV0YWlsIChldmVuIGlmIG9ubHkgdGhlIG5hbWUgb2YpIHJlIHlvdXIgZXhpc3RpbmcgcmV0YWlsIHBsYXRmb3JtcywgQ1JNIHN5c3RlbSwgZW1haWwgc3lzdGVtLCBwYXltZW50IHRlY2hub2xvZ3kgYW5kIGFueSBvdGhlciBrZXkgaW50ZWdyYXRpb24gcG9pbnRzPwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFRoZSB2YXJpb3VzIHN5c3RlbXMgaW4gb3VyIGRpZ2l0YWwgZXN0YXRlLCB3aXRoIHRoZSBleGNlcHRpb24gb2YgRHJ1cGFsIDggYXMgdGhlIENNUyBmb3Iga2V3Lm9yZywgYXJlIHN1YmplY3QgdG8gY2hhbmdlIGluIHRoZSBjb21pbmcgZmluYW5jaWFsIHllYXIuIDxicj48YnI+QmVjYXVzZSBvZiB0aGlzLCB3ZSB3b3VsZCBsaWtlIHJlc3BvbnNlcyBub3QgdG8gZm9jdXMgb24gdGhlIGV4aXN0aW5nIG9yIHBvdGVudGlhbCBzeXN0ZW1zLCBhcyB0aGlzIHdpbGwgYmUgYWdyZWVkIGJldHdlZW4gS2V3IGFuZCB0aGUgYXBwb2ludGVkIHN1cHBsaWVyCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIDExLiBZb3Ugbm90ZSB0aGUgZGVzaXJlIHRvIGltcHJvdmUgdXBzZWxsIG9mIG1lbWJlcnNoaXBzLCBlbmNvdXJhZ2UgZG9uYXRpb25zIGFuZCBpbmNyZWFzZSBvbmxpbmUgcmV0YWlsIGNhcGFiaWxpdGllczogY2FuIHlvdSBzaGFyZSBhbnl0aGluZyBmdXJ0aGVyIGFib3V0IHRoZSB3aWRlciBvcmdhbmlzYXRpb25hbCBnb2FscyBhbmQgY2hhbGxlbmdlcyBhbmQgdGhlIGJhbGFuY2UgaW4gcHJpb3JpdHkgKGlmIGFueSkgb2YgeW91ciB2YXJ5aW5nIGdvYWxzPwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFRoZXJlIGlzIGN1cnJlbnRseSBhIGNyb3NzLW9yZ2FuaXNhdGlvbiBwcm9ncmFtbWUgdG8gZGVmaW5lIHRoZSBidXNpbmVzcyBhbmQgdXNlciBuZWVkcyBhcm91bmQgaW1wcm92aW5nIHRoZSBlLWNvbW1lcmNlIG9mZmVyIChpbmNsdWRpbmcgcmV0YWlsLCBtZW1iZXJzaGlwLCBhbmQgZnVuZHJhaXNpbmcpLiBUaGUgb3V0Y29tZSBvZiB0aGlzIHByb2dyYW1tZSB3aWxsIHByb2R1Y2UgdGhlIHJvYWRtYXAgZm9yIGltcHJvdmluZyB0aGUgb2ZmZXIsIHdoaWNoIHdpbGwgdGhlbiBiZSBkZXZlbG9wZWQgaW50byBzdGF0ZW1lbnRzIG9mIHdvcmsgd2l0aCB0aGUgYXBwb2ludGVkIHN1cHBsaWVyLgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICAxMi4gSXQgc291bmRzIGxpa2UgaXTigJlzIG9ubHkgdGhlIERydXBhbCBDb21tZXJjZSBjb21wb25lbnQgdGhhdCB5b3UgYXJlIGNvbnNpZGVyaW5nIHJlcGxhY2luZywgbm90IERydXBhbCBDTVMuIENhbiB5b3UgY29uZmlybSB0aGlzIGlzIGNvcnJlY3Qgb3IgaWYgeW91IGFyZSBvcGVuIHRvIGEgbmV3IENNUz8KICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBEcnVwYWwgOCBpcyB0aGUgQ01TIGZvciBrZXcub3JnLCB3aGljaCB3YXMgcmVidWlsdCBhbmQgbGF1bmNoZWQgaW4gTWFyY2ggMjAxOS4gV2UgYXJlIGN1cnJlbnRseSBub3QgbG9va2luZyB0byBjaGFuZ2UgdGhhdCBDTVMgdW5kZXIgdGhpcyB0ZW5kZXIuIDxicj48YnI+QXMgcGFydCBvZiBhbnkgZnV0dXJlIGRldmVsb3BtZW50IGFyb3VuZCBvdXIgZS1jb21tZXJjZSBvZmZlciwgd2Ugd291bGQgYXNzZXNzIHBvdGVudGlhbCBwbGF0Zm9ybXMgd2l0aCB0aGUgYXBwb2ludGVkIHN1cHBsaWVyLiA8YnI+PGJyPkhvd2V2ZXIsIGdpdmVuIHdlIGN1cnJlbnRseSB1c2UgRHJ1cGFsIDgsIHdlIGRvIHJlcXVpcmUgZXhwZXJ0aXNlIGluIHN1cHBvcnRpbmcgYW5kIGZ1cnRoZXIgZGV2ZWxvcGluZyBvdXIgRHJ1cGFsIDggQ01TIGFzIGEgcHJpb3JpdHkgdW5kZXIgdGhpcyB0ZW5kZXIKICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgMTMuIERvIHlvdSBoYXZlIGFuIGV4aXN0aW5nIHN0ZWVyaW5nIGNvbW1pdHRlZSBpbiBwbGFjZSB0aGF0IGlzIGludmVzdGVkIGluIHlvdXIgZGlnaXRhbCB0cmFuc2Zvcm1hdGlvbiBwcm9ncmFtbWUgb3Igd291bGQgdGhpcyBiZSBzb21ldGhpbmcgeW914oCZZCBiZSBsb29raW5nIHRvIHB1dCBpbiBwbGFjZSBnb2luZyBmb3J3YXJkPwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFRoZXJlIGFyZSBjdXJyZW50bHkgdHdvIGNyb3NzLW9yZ2FuaXNhdGlvbiBncm91cHMgdGhhdCB3aWxsIGlucHV0IGludG8gdGhlIHJvYWRtYXAgb2Ygb3VyIGRpZ2l0YWwgb2ZmZXI7IG9uZSBvZiB3aGljaCBpcyBmb2N1c3NlZCBvbiBkZXZlbG9waW5nIG91ciB2aXNpdG9yIHVzZXIgam91cm5leXMgYWNyb3NzIG91ciBlLWNvbW1lcmNlIG9mZmVyLgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICAxNC4gV2hhdCBpcyB0aGUgdGltZWxpbmUgZm9yIHByb3Bvc2FscyBvbmNlIHNpeCBzdXBwbGllcnMgaGF2ZSBiZWVuIHNob3J0bGlzdGVkIGZvciBldmFsdWF0aW9uPwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFdlIGludGVuZCB0byBpbnZpdGUgc2hvcnRsaXN0ZWQgc3VwcGxpZXJzIHRvIHByZXNlbnQgYXQgUkJHIEtldyBvbiB0aGUgYWZ0ZXJub29ucyBvZiB0aGUgMjd0aCBhbmQgMjh0aCBOb3ZlbWJlciwgYW5kIHRvIGhhdmUgYSBDb250cmFjdCBpbiBwbGFjZSBieSBtaWQtRGVjZW1iZXIuCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIDE1LiBXaGF0IGludGVybmFsIGRldmVsb3BtZW50ICZhbXA7IGRlc2lnbiByZXNvdXJjZXMgd291bGQgd2UgYmUgd29ya2luZyB3aXRoPwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFdlIGN1cnJlbnRseSBoYXZlIGFuIGludGVybmFsIFVJIGRlc2lnbmVyLCB3aXRoaW4gS2V34oCZcyBEaWdpdGFsIEV4cGVyaWVuY2UgdGVhbSwgd2hvIHdvdWxkIGRldmVsb3AgdGhlIGZyb250LWVuZCBkZXNpZ25zIGZvciBhbGwsIG9yIG1vc3QsIG9mIG91ciBvbmxpbmUgcHJlc2VuY2UuPGJyPjxicj5JbiBhZGRpdGlvbiB0byB0aGUgYWJvdmUgZGVzaWduIHJlc291cmNlLCB0aGUgYXBwb2ludGVkIHN1cHBsaWVyIHdpbGwgYmUgd29ya2luZyBwcmltYXJpbHkgd2l0aCBLZXcmIzM5O3MgRGlnaXRhbCBFeHBlcmllbmNlIHRlYW0sIGFuZCBwcmltYXJpbHkgd2l0aCB0aGUgSGVhZCBvZiBEaWdpdGFsIEV4cGVyaWVuY2UsIFNlbmlvciBQcm9kdWN0IE1hbmFnZXIsIFByb2R1Y3QgTWFuYWdlciwgSnVuaW9yIFByb2R1Y3QgTWFuYWdlciwgVUkgRGVzaWduZXIsIFNlbmlvciBDb250ZW50IE1hbmFnZXIgYW5kIENvbnRlbnQgUHJvZHVjZXJzLiA8YnI+PGJyPldoZXJlIHJlbGV2YW50IHlvdSYjMzk7bGwgYWxzbyB3b3JrIHdpdGggc3Rha2Vob2xkZXJzIGluIG90aGVyIHRlYW1zIGFjcm9zcyBLZXcsIGZvciBleGFtcGxlIG91ciBEaWdpdGFsIENvbW1lcmNpYWwgTWFuYWdlciBmb3IgRUNvbW1lcmNlLgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICAxNi4gQXJlIHlvdSBsb29raW5nIGZvciByZXNvdXJjZXMgdG8gYmUgcGx1Z2dlZCBpbnRvIHlvdXIgdGVhbSBhbmQgbWFuYWdlZCBieSB5b3VyIHByb2plY3QgbWFuYWdlciwgb3IgYXJlIHlvdSBsb29raW5nIGZvciBhIHNlbGYtbWFuYWdpbmcgdGVhbSB0byB3b3JrIHRvIGEgZml4ZWQgc2NvcGU/CiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgV2Ugd291bGQgbGlrZSB0byB3b3JrIGNvbGxhYm9yYXRpdmVseSB3aXRoIHRoZSBhcHBvaW50ZWQgc3VwcGxpZXIsIGluY2x1ZGluZyB0aGUgZGVmaW5pdGlvbiBvZiBzdGF0ZW1lbnRzIG9mIHdvcmsgd2l0aGluIHRoaXMgY29udHJhY3QuIDxicj48YnI+V2Ugd291bGQgZXhwZWN0IHRoZSBhcHBvaW50ZWQgc3VwcGxpZXIgdG8gbWFuYWdlIHRoZWlyIG93biByZXNvdXJjZXMgaW4gb3JkZXIgdG8gZGVsaXZlciBhZ2FpbnN0IGFncmVlZCBzdGF0ZW1lbnRzIG9mIHdvcmsgdG8gYWdyZWVkIHRpbWVsaW5lcwogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICAxNy4gV2hhdCBob3N0aW5nIGFuZCBzdXBwb3J0IGxldmVscyAoU0xBKSBkbyB5b3UgY3VycmVudGx5IGhhdmUgaW4gcGxhY2U/CiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgT3VyIGhvc3RpbmcgY29udHJhY3QgaXMgbWFuYWdlZCBzZXBhcmF0ZWx5IHRvIHRoaXMgdGVuZGVyLiBUaGUgY3VycmVudCBzdXBwbGllciBpcyBBY3F1aWEuPGJyPjxicj5XZSBjdXJyZW50bHkgaGF2ZSBhbiBhZ3JlZWQgc3RhdGVtZW50IG9mIHdvcmsgZm9yIHN1cHBvcnQgd2l0aCBvdXIgY3VycmVudCBzdXBwbGllciwgd2hpY2ggY292ZXJzIGFncmVlbWVudCBvbiByZXNwb25zZSB0aW1pbmdzIGFjcm9zcyBjcml0aWNhbCwgaGlnaCwgbm9ybWFsLCBhbmQgbG93IHByaW9yaXRpZXMuCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIDE4LiBXaGF0IG90aGVyIGFkZGl0aW9uYWwgc3VwcGxpZXJzIHdvdWxkIHdlIGJlIGV4cGVjdGVkIHRvIHdvcmsgYWxvbmdzaWRlIGZvciB0aGlzIGJyaWVmPwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFRoZSBhZGRpdGlvbmFsIHN1cHBsaWVycyB3b3VsZCBiZSBkZXBlbmRlbnQgb24gdGhlIHN0YXRlbWVudHMgb2Ygd29yayBhZ3JlZWQgdG8gd2l0aGluIHRoaXMgY29udHJhY3QuPGJyPjxicj5UaGUgY3VycmVudCBrbm93biBhZGRpdGlvbmFsIHN1cHBsaWVyIGlzIEFjcXVpYSwgd2hvIGhvc3Qga2V3Lm9yZwogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICAxOS4gT3ZlcmFsbCwgaG93IGRvIHlvdSBzZWUgdGhlIGJ1ZGdldC9lZmZvcnQgc3BsaXQgYmV0d2VlbiBlLWNvbW1lcmNlIHVwZ3JhZGUsIG9uZ29pbmcgc2l0ZSBtYWludGVuYW5jZSwgYW5kIG5ldyBwcm9kdWN0IGRldmVsb3BtZW50PwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFdlIHdvdWxkIGV4cGVjdCB0byBkZWZpbmUgaW5kaXZpZHVhbCBidWRnZXRzIGZvciBzdGF0ZW1lbnRzIG9mIHdvcmsgd2l0aGluIHRoaXMgY29udHJhY3Qgd2l0aCB0aGUgYXBwb2ludGVkIHN1cHBsaWVyLCB3aGljaCB3aWxsIGJlIGRyaXZlbiBieSB0aGUga2V5IHByaW9yaXRpZXMgYXQgdGhhdCB0aW1lLgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICAyMC4gQ2FuIHlvdSBwcm92aWRlIGluZm9ybWF0aW9uIGFueSBpbmZvcm1hdGlvbiBvbiBjdXJyZW50IFByb29mIG9mIGNvbmNlcHRzIG9yIGFscGhhIHByb2dyYW1tZXMgbG9va2luZyB0byB1dGlsaXNlIHRlY2hub2xvZ3kgdG8gZW5oYW5jZSB2aXNpdG9yIGV4cGVyaWVuY2UgdG8gS2V3LCBXYWtlaHVyc3Qgb3IgYW55IG90aGVyIHNpdGVzPwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFdlIGFyZSBjdXJyZW50bHkgbm90IGluIGEgcG9zaXRpb24gdG8gc2hhcmUgYW55IGluZm9ybWF0aW9uIGFyb3VuZCB0aGlzLgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICAyMS4gQ2FuIHlvdSBwcm92aWRlIGluZm9ybWF0aW9uIG9uIGFueSBtYXJrZXRpbmcgc3RyYXRlZ2llczsgZGlnaXRhbCBvciB0aHJvdWdoIGFueSBvdGhlciBjaGFubmVscz8KICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBUaGVyZSBpcyBhbiBhZ3JlZWQgY3Jvc3Mtb3JnYW5pc2F0aW9uIHJvYWRtYXAgZm9yIEtld+KAmXMgZGlnaXRhbCBvZmZlciB3aGljaCB3ZSB3aWxsIHNoYXJlIHdpdGggdGhlIGFwcG9pbnRlZCBzdXBwbGllci4KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgMjIuIFBsZWFzZSBjYW4geW91IHN1cHBseSBjdXJyZW50IHZvbHVtZXRyaWNzIGZvciB0aGUgY3VycmVudCBvbmxpbmUgYW5kIFdpRmkgdmlzaXRvciBleHBlcmllbmNlIGluIHRoZSBkaWZmZXJlbnQgbG9jYXRpb25zCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgV2UgZXN0aW1hdGUgdGhhdCBvdXIgcGh5c2ljYWwgdmlzaXRvciBudW1iZXJzIGluIDIwMTkgd2lsbCBiZSBhcm91bmQgMiBtaWxsaW9uLiA8YnI+PGJyPldlIGFyZSBub3QgaW4gYSBwb3NpdGlvbiB0byBzaGFyZSBkYXRlIG9uIHRoZSBhbm51YWwgbnVtYmVyIG9mIHZpc2l0cyB0byBvdXIgdmFyaW91cyBvbmxpbmUgcGxhdGZvcm1zLgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICAyMy4gUmVmZXJlbmNlIGlzIG1hZGUgdGhhdCB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgJiMzNDtwYXJ0bmVyIGFnZW5jeSYjMzQ7LiBQbGVhc2UgY2FuIHlvdSBjbGFyaWZ5IHRoYXQgdGhpcyAmIzM0O2FnZW5jeSAmIzM0OyBpcyBhIHN0cmF0ZWdpYyBwYXJ0bmVyPwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFdlIGFyZSBsb29raW5nIGZvciBhbiBhZ2VuY3kgdG8gd29yayBjb2xsYWJvcmF0aXZlbHkgd2l0aCBLZXcsIHRvIGRldmVsb3AgYW5kIGltcHJvdmUgb3VyIGRpZ2l0YWwgb2ZmZXIuIDxicj48YnI+VGhlIGFnZW5jeSBzaG91bGQgYmUgYWJsZSB0byBkZW1vbnN0cmF0ZSB0aGVpciBhYmlsaXR5IHRvIGRldmVsb3AgYW5kIG1haW50YWluIERydXBhbCA4LCB3aGlsc3QgZXZpZGVuY2luZyBzdHJhdGVnaWMgc3VwcG9ydCBmb3IgYm90aCBjb21tZXJjaWFsIGFuZCBub24tY29tbWVyY2lhbCBvYmplY3RpdmVzCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIDI0LiBJcyBEcnVwYWwgYmVpbmcgdXNlZCBmb3IgdGhlIGxlYXJuaW5nIHBsYXRmb3JtcyBhbHNvPwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIE91ciBjdXJyZW50bHkgbGVhcm5pbmcgcGxhdGZvcm0gdXNlcyBhIHNlcGFyYXRlIExNUyB0byBvdXIgRHJ1cGFsIDggQ01TIGZvciBrZXcub3JnLiA8YnI+PGJyPkhvd2V2ZXIsIHRoZSBvbmxpbmUgbGVhcm5pbmcgb2ZmZXIgaXMgY3VycmVudGx5IHVuZGVyIHJldmlldyBhbmQgd2Ugd291bGQgaG9wZSB0byBhZGRyZXNzIHRoaXMgd2l0aCB0aGUgYXBwb2ludGVkIHN1cHBsaWVyIGFzIGEgc3RhdGVtZW50IG9mIHdvcmsgdW5kZXIgdGhpcyBjb250cmFjdC4KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgMjUuIFVuZGVyIHRoZSBQcm9ibGVtIHRvIGJlIHNvbHZlZCBzZWN0aW9uLCBpdCBtZW50aW9ucyB0aGF0IHRoZSB3ZWJzaXRlIERydXBhbCA4LiBDYW4geW91IHN1cHBseSBhbnkgYXJjaGl0ZWN0dXJhbCBpbmZvcm1hdGlvbiBvZiB0aGUgdGVjaG5vbG9naWVzIGludGVncmF0ZWQgd2l0aGluIGtldy5vcmcgYW5kIHRoZSBlQ29tbWVyY2UsIHBheW1lbnQgZ2F0ZXdheXMgYW5kIENSTT8KICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBDdXJyZW50bHkgdGhlIHNvbGUgaW50ZWdyYXRpb24gd2l0aGluIGtldy5vcmcgaXMgd2l0aCBvdXIgZW1haWwgbWFya2V0aW5nIHNlcnZpY2UsIERvdGRpZ2l0YWwuIDxicj48YnI+V2Ugd291bGQgaG9wZSB0byBpbnRlZ3JhdGUgb3RoZXIgc3lzdGVtcyAodG8gYmUgZGVmaW5lZCkgaW50byBrZXcub3JnIHVuZGVyIHRoaXMgY29udHJhY3QuCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIDI2LiBSZWdhcmRpbmcgdGhlIHdlYnNpdGUgKHdoeSBzaW5ndWxhcj8gRG8geW91IG1lYW4ganVzdCBrZXcub3JnPykgeW91IHNheSDigJxPdXIgd2Vic2l0ZSBpcyBidWlsdCBvbiBEcnVwYWwgOCDigJMgYW5kIHdlIGFyZSBvcGVuLW1pbmRlZCBhYm91dCB3aGF0IGVjb21tZXJjZSB0ZWNobm9sb2d5IHdlIHVzZSB0byBidWlsZCBvdXQgb3VyIG9mZmVyICh3ZSBjdXJyZW50bHkgdXNlIGEgbnVtYmVyIG9mIGRpZmZlcmVudCBzb2x1dGlvbnMp4oCdLiBDYW4gd2Uga25vdyB3aGF0IGtpbmQgb2YgZGlmZmVyZW50IHNvbHV0aW9ucy90ZWNobm9sb2dpZXMgYXJlIHlvdSByZWZlcnJpbmcgdG8/CiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgVGhpcyB0ZW5kZXIgaXMgcHJlZG9taW5hdGVseSBmb2N1c2VkIG9uIHRoZSBkZXZlbG9wbWVudCBhbmQgbWFpbnRlbmFuY2Ugb2Ygb3VyIGtldy5vcmcgd2Vic2l0ZSwgYnV0IHdlIGhhdmUgbnVtZXJvdXMgb3RoZXIgd2Vic2l0ZXMvcGxhdGZvcm1zIHRoYXQgbWF5IGJlIHdvcmtlZCB1cG9uIHVuZGVyIHRoaXMgY29udHJhY3QuCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIDI3LiBXaGF0IGRvIHlvdSBtZWFuIHdoZW4geW91IHNheSBLZXfigJlzIGRpZ2l0YWwgZXN0YXRlPyBXZSBoYWQgYSBsb29rIG9uIHlvdXIgd2Vic2l0ZShzKSBhbmQgZGlzY292ZXJlZCB5b3UgaGF2ZSBtYW55IHdlYnNpdGVzIHVuZGVyIGtldyBkb21haW4uPGJyPkFyZSB0aGV5IGFsbCB1c2luZyB0aGUgc2FtZSB0ZWNobm9sb2d5IOKAkyBJcyBpdCBEcnVwYWw/IEFyZSB5b3UgdXNpbmcgQWNxdWlhIHdpdGggRHJ1cGFsCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgVGhpcyB0ZW5kZXIgaXMgcHJlZG9taW5hdGVseSBmb2N1c3NlZCBvbiB0aGUgZGV2ZWxvcG1lbnQgYW5kIG1haW50ZW5hbmNlIG9mIG91ciBrZXcub3JnIHdlYnNpdGUsIGJ1dCB3ZSBoYXZlIG51bWVyb3VzIG90aGVyIHdlYnNpdGVzL3BsYXRmb3JtcyB0aGF0IG1heSBiZSB3b3JrZWQgdXBvbiB1bmRlciB0aGlzIGNvbnRyYWN0Ljxicj5LZXfigJlzIGRpZ2l0YWwgZXN0YXRlIHJlZmVycyB0byB0aGUgZGlnaXRhbCBwcm9kdWN0cyB0aGF0IGFyZSBvd25lZCBieSBLZXcuIEFzIG1lbnRpb25lZCBpbiB0aGUgcXVlc3Rpb24sIHRoZXJlIGFyZSBudW1lcm91cyB3ZWJzaXRlcyB0aGF0IGFyZSBlaXRoZXIgcGFydCBvZiBvciBzZXBhcmF0ZSB0byB0aGUga2V3Lm9yZyBkb21haW4uPGJyPjxicj5BdCB0aGlzIHRpbWUsIGVhY2ggcHJvZHVjdCBpcyBidWlsdCBvbiBkaWZmZXJlbnQvc2VwYXJhdGUgc3lzdGVtcy4gRHJ1cGFsIDggaXMgY3VycmVudGx5IG9ubHkgdXNlZCBieSB0aGUga2V3Lm9yZyBzaXRlLjxicj48YnI+V2UgZG8gdXNlIEFjcXVpYSBmb3Igb3VyIGhvc3Rpbmcgc29sdXRpb24sIHdoaWNoIGlzIG1hbmFnZWQgYXMgYSBzZXBhcmF0ZSBjb250cmFjdCB0byB0aGlzIHRlbmRlci4KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgMjguIFBsZWFzZSBjb25maXJtIHdoZXRoZXIgeW91IHdvdWxkIGNvbnNpZGVyIGEgc3VwcGxpZXIgaWYgdGhlaXIgZGV2ZWxvcG1lbnQgdGVhbSBoYXZlIGV4cGVyaWVuY2Ugb2YgbXVsdGlwbGUgcGhwIGZyYW1ld29ya3MgaW5jbHVkaW5nIERydXBhbCwgYXMgd2VsbCBhcyB0aGUgdGVjaG5pY2FsIGV4cGVydGlzZSB0byB3b3JrIHdpdGggRHJ1cGFsIDgsIGJ1dCB0aGV5IGRvIG5vdCBoYXZlIGEgcHVibGlzaGVkIGNhc2Ugc3R1ZHkgZm9yIERydXBhbCA4PwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFRoZSBhc3Nlc3NtZW50IG9mIHN1cHBsaWVycyB3aWxsIG5vdCBpbmNsdWRlIGFueSBjYXNlIHN0dWRpZXMuPGJyPjxicj5UaGUgYXNzZXNzbWVudCB3aWxsIGJlIG9uIHdyaXR0ZW4gcHJvcG9zYWxzIGluIHJlc3BvbnNlIHRvIHRoaXMgdGVuZGVyIGFuZCB0d28gY2xpZW50IHJlZmVyZW5jZXMuCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCjwvZGw+CgoKCiAgPC9kaXY+CjwvZGl2PgoKCgoKCiAgICAgICAgPC9tYWluPgogICAgICA8L2Rpdj4KICAgIAoKICAgIAogIDxmb290ZXIgY2xhc3M9ImdvdnVrLWZvb3RlciAiIHJvbGU9ImNvbnRlbnRpbmZvIj4KICA8ZGl2IGNsYXNzPSJnb3Z1ay13aWR0aC1jb250YWluZXIgIj4KICAgIAogICAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1mb290ZXJfX25hdmlnYXRpb24iPgogICAgICAgIAogICAgICAgICAgPGRpdiBjbGFzcz0iZ292dWstZm9vdGVyX19zZWN0aW9uIj4KICAgICAgICAgICAgPGgyIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2hlYWRpbmcgZ292dWstaGVhZGluZy1tIj5BYm91dCBEaWdpdGFsIE1hcmtldHBsYWNlPC9oMj4KICAgICAgICAgICAgCiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgPHVsIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpc3QgIj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Ii9oZWxwIj4KICAgICAgICAgICAgICAgICAgICAgICAgQ29udGFjdAogICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZ292dWstZm9vdGVyX19saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuZ292LnVrL2d1aWRhbmNlL2RpZ2l0YWwtbWFya2V0cGxhY2UtYnV5ZXJzLWd1aWRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgU2VydmljZXMgeW91IGNhbiBidXkKICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvdi51ay9ndWlkYW5jZS9kaWdpdGFsLW1hcmtldHBsYWNlLXN1cHBsaWVycy1ndWlkZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIFNlcnZpY2VzIHlvdSBjYW4gc2VsbAogICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZ292dWstZm9vdGVyX19saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuZ292LnVrL2dvdmVybm1lbnQvb3JnYW5pc2F0aW9ucy9jcm93bi1jb21tZXJjaWFsLXNlcnZpY2UiPgogICAgICAgICAgICAgICAgICAgICAgICBBYm91dCBDcm93biBDb21tZXJjaWFsIFNlcnZpY2VzCiAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSJodHRwczovL3d3dy5nb3YudWsvZ292ZXJubWVudC9vcmdhbmlzYXRpb25zL2dvdmVybm1lbnQtZGlnaXRhbC1zZXJ2aWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgQWJvdXQgR292ZXJubWVudCBEaWdpdGFsIFNlcnZpY2VzCiAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSIvZy1jbG91ZC9zdXBwbGllcnMiPgogICAgICAgICAgICAgICAgICAgICAgICBHLUNsb3VkIHN1cHBsaWVyIEEgdG8gWgogICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAgIDxkaXYgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fc2VjdGlvbiI+CiAgICAgICAgICAgIDxoMiBjbGFzcz0iZ292dWstZm9vdGVyX19oZWFkaW5nIGdvdnVrLWhlYWRpbmctbSI+R3VpZGFuY2UgZm9yIHVzaW5nIERpZ2l0YWwgTWFya2V0cGxhY2U8L2gyPgogICAgICAgICAgICAKICAgICAgICAgICAgICAKICAgICAgICAgICAgICA8dWwgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdCAiPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZ292dWstZm9vdGVyX19saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuZ292LnVrL2d1aWRhbmNlL2ctY2xvdWQtc3VwcGxpZXJzLWd1aWRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgQXBwbHlpbmcgdG8gc2VsbCBvbiB0aGUgRy1DbG91ZCBmcmFtZXdvcmsKICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvdi51ay9ndWlkYW5jZS9kaWdpdGFsLW91dGNvbWVzLWFuZC1zcGVjaWFsaXN0cy1zdXBwbGllcnMtZ3VpZGUiPgogICAgICAgICAgICAgICAgICAgICAgICBBcHBseWluZyB0byBzZWxsIG9uIHRoZSBET1MgZnJhbWV3b3JrCiAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSJodHRwczovL3d3dy5nb3YudWsvZ3VpZGFuY2UvaG93LXRvLXNlbGwteW91ci1kaWdpdGFsLW91dGNvbWVzLWFuZC1zcGVjaWFsaXN0cy1zZXJ2aWNlcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIFJlc3BvbmRpbmcgdG8gYnV5ZXIgcmVxdWlyZW1lbnRzIG9uIHRoZSBET1MgZnJhbWV3b3JrCiAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSJodHRwczovL3d3dy5nb3YudWsvZ3VpZGFuY2UvZy1jbG91ZC1idXllcnMtZ3VpZGUiPgogICAgICAgICAgICAgICAgICAgICAgICBCdXlpbmcgb24gdGhlIEctQ2xvdWQgZnJhbWV3b3JrCiAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSJodHRwczovL3d3dy5nb3YudWsvZ3VpZGFuY2UvZGlnaXRhbC1vdXRjb21lcy1hbmQtc3BlY2lhbGlzdHMtYnV5ZXJzLWd1aWRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgQnV5aW5nIG9uIHRoZSBET1MgZnJhbWV3b3JrCiAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSJodHRwczovL3d3dy5nb3YudWsvZ3VpZGFuY2UvdGhlLWNyb3duLWhvc3RpbmctZGF0YS1jZW50cmVzLWZyYW1ld29yay1vbi10aGUtZGlnaXRhbC1tYXJrZXRwbGFjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIEJ1eWluZyBvbiB0aGUgQ3Jvd24gSG9zdGluZyBmcmFtZXdvcmsKICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIAogICAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgIDwvZGl2PgogICAgICA8aHIgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fc2VjdGlvbi1icmVhayI+CiAgICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbWV0YSI+CiAgICAgIDxkaXYgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbWV0YS1pdGVtIGdvdnVrLWZvb3Rlcl9fbWV0YS1pdGVtLS1ncm93Ij4KICAgICAgICAKICAgICAgICAgIDxoMiBjbGFzcz0iZ292dWstdmlzdWFsbHktaGlkZGVuIj5TdXBwb3J0IGxpbmtzPC9oMj4KICAgICAgICAgIAogICAgICAgICAgICA8dWwgY2xhc3M9ImdvdnVrLWZvb3Rlcl9faW5saW5lLWxpc3QiPgogICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2lubGluZS1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSIvdGVybXMtYW5kLWNvbmRpdGlvbnMiPgogICAgICAgICAgICAgICAgICAgIFRlcm1zIGFuZCBjb25kaXRpb25zCiAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9faW5saW5lLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Ii9jb29raWVzIj4KICAgICAgICAgICAgICAgICAgICBDb29raWVzCiAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9faW5saW5lLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Ii9wcml2YWN5LW5vdGljZSI+CiAgICAgICAgICAgICAgICAgICAgUHJpdmFjeSBub3RpY2UKICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZ292dWstZm9vdGVyX19pbmxpbmUtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayIgaHJlZj0iL2FjY2Vzc2liaWxpdHktc3RhdGVtZW50Ij4KICAgICAgICAgICAgICAgICAgICBBY2Nlc3NpYmlsaXR5IHN0YXRlbWVudAogICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgIAogICAgICAgICAgICA8L3VsPgogICAgICAgICAgCiAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ292dWstZm9vdGVyX19tZXRhLWN1c3RvbSI+CiAgICAgICAgICAgICAgQnVpbHQgYnkgdGhlIDxhIGhyZWY9Imh0dHBzOi8vd3d3Lmdvdi51ay9nb3Zlcm5tZW50L29yZ2FuaXNhdGlvbnMvZ292ZXJubWVudC1kaWdpdGFsLXNlcnZpY2UiIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiPkdvdmVybm1lbnQgRGlnaXRhbCBTZXJ2aWNlPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIAogICAgICAgIAogICAgICAgIDxzdmcKICAgICAgICAgIHJvbGU9InByZXNlbnRhdGlvbiIKICAgICAgICAgIGZvY3VzYWJsZT0iZmFsc2UiCiAgICAgICAgICBjbGFzcz0iZ292dWstZm9vdGVyX19saWNlbmNlLWxvZ28iCiAgICAgICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgICAgICAgICB2aWV3Ym94PSIwIDAgNDgzLjIgMTk1LjciCiAgICAgICAgICBoZWlnaHQ9IjE3IgogICAgICAgICAgd2lkdGg9IjQxIgogICAgICAgID4KICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgIGZpbGw9ImN1cnJlbnRDb2xvciIKICAgICAgICAgICAgZD0iTTQyMS41IDE0Mi44Vi4xbC01MC43IDMyLjN2MTYxLjFoMTEyLjR2LTUwLjd6bS0xMjIuMy05LjZBNDcuMTIgNDcuMTIgMCAwIDEgMjIxIDk3LjhjMC0yNiAyMS4xLTQ3LjEgNDcuMS00Ny4xIDE2LjcgMCAzMS40IDguNyAzOS43IDIxLjhsNDIuNy0yNy4yQTk3LjYzIDk3LjYzIDAgMCAwIDI2OC4xIDBjLTM2LjUgMC02OC4zIDIwLjEtODUuMSA0OS43QTk4IDk4IDAgMCAwIDk3LjggMEM0My45IDAgMCA0My45IDAgOTcuOHM0My45IDk3LjggOTcuOCA5Ny44YzM2LjUgMCA2OC4zLTIwLjEgODUuMS00OS43YTk3Ljc2IDk3Ljc2IDAgMCAwIDE0OS42IDI1LjRsMTkuNCAyMi4yaDN2LTg3LjhoLTgwbDI0LjMgMjcuNXpNOTcuOCAxNDVjLTI2IDAtNDcuMS0yMS4xLTQ3LjEtNDcuMXMyMS4xLTQ3LjEgNDcuMS00Ny4xIDQ3LjIgMjEgNDcuMiA0N1MxMjMuOCAxNDUgOTcuOCAxNDUiCiAgICAgICAgICAvPgogICAgICAgIDwvc3ZnPgogICAgICAgIDxzcGFuIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpY2VuY2UtZGVzY3JpcHRpb24iPgogICAgICAgICAgQWxsIGNvbnRlbnQgaXMgYXZhaWxhYmxlIHVuZGVyIHRoZQogICAgICAgICAgPGEKICAgICAgICAgICAgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayIKICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubmF0aW9uYWxhcmNoaXZlcy5nb3YudWsvZG9jL29wZW4tZ292ZXJubWVudC1saWNlbmNlL3ZlcnNpb24vMy8iCiAgICAgICAgICAgIHJlbD0ibGljZW5zZSIKICAgICAgICAgID5PcGVuIEdvdmVybm1lbnQgTGljZW5jZSB2My4wPC9hPiwgZXhjZXB0IHdoZXJlIG90aGVyd2lzZSBzdGF0ZWQKICAgICAgICA8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1mb290ZXJfX21ldGEtaXRlbSI+CiAgICAgICAgPGEKICAgICAgICAgIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsgZ292dWstZm9vdGVyX19jb3B5cmlnaHQtbG9nbyIKICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3Lm5hdGlvbmFsYXJjaGl2ZXMuZ292LnVrL2luZm9ybWF0aW9uLW1hbmFnZW1lbnQvcmUtdXNpbmctcHVibGljLXNlY3Rvci1pbmZvcm1hdGlvbi91ay1nb3Zlcm5tZW50LWxpY2Vuc2luZy1mcmFtZXdvcmsvY3Jvd24tY29weXJpZ2h0LyIKICAgICAgICA+wqkgQ3Jvd24gY29weXJpZ2h0PC9hPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Zvb3Rlcj4KCgogICAgCiAgPHNjcmlwdCBzcmM9Ii9zdGF0aWMvamF2YXNjcmlwdHMvYXBwbGljYXRpb24uanM/NjE2MTQwM2MyY2ExMTdmMTkwZTU2ZDg0ZWMxMzgzNWYiPjwvc2NyaXB0PgogIAoKICA8L2JvZHk+CjwvaHRtbD4=
78
+ http_version:
79
+ recorded_at: Wed, 30 Sep 2020 10:27:10 GMT
78
80
  recorded_with: VCR 4.0.0
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://www.digitalmarketplace.service.gov.uk/digital-outcomes-and-specialists/opportunities/9482
5
+ uri: https://www.digitalmarketplace.service.gov.uk/digital-outcomes-and-specialists/opportunities/13198
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -12,13 +12,11 @@ http_interactions:
12
12
  Accept:
13
13
  - "*/*"
14
14
  User-Agent:
15
- - Mechanize/2.7.6 Ruby/2.6.0p0 (http://github.com/sparklemotion/mechanize/)
15
+ - Mechanize/2.7.6 Ruby/2.7.1p83 (http://github.com/sparklemotion/mechanize/)
16
16
  Accept-Charset:
17
17
  - ISO-8859-1,utf-8;q=0.7,*;q=0.7
18
18
  Accept-Language:
19
19
  - en-us,en;q=0.5
20
- Cookie:
21
- - dm_session=eyJfZnJlc2giOmZhbHNlLCJfcGVybWFuZW50Ijp0cnVlLCJjc3JmX3Rva2VuIjoiZGIzMDQ4N2ZhYmVjYzYyNjk1ODQ1MGVhYzZjOTc5MGQ2YTJlZmUzMSJ9.D5ISVQ.kL-w03ukoywqBuz-lixqpeGOKrE
22
20
  Host:
23
21
  - www.digitalmarketplace.service.gov.uk
24
22
  Connection:
@@ -32,47 +30,49 @@ http_interactions:
32
30
  headers:
33
31
  Content-Type:
34
32
  - text/html; charset=utf-8
35
- Transfer-Encoding:
36
- - chunked
33
+ Content-Length:
34
+ - '40249'
37
35
  Connection:
38
36
  - keep-alive
39
- Content-Encoding:
40
- - gzip
41
37
  Date:
42
- - Fri, 12 Apr 2019 13:02:16 GMT
38
+ - Wed, 30 Sep 2020 10:27:09 GMT
43
39
  Dm-Request-Id:
44
- - ff3bbda81e54fb33
40
+ - 72289455ad462a6b
45
41
  Server:
46
42
  - nginx
47
43
  Set-Cookie:
48
- - dm_session=eyJfZnJlc2giOmZhbHNlLCJfcGVybWFuZW50Ijp0cnVlLCJjc3JmX3Rva2VuIjoiZGIzMDQ4N2ZhYmVjYzYyNjk1ODQ1MGVhYzZjOTc5MGQ2YTJlZmUzMSJ9.D5Id2A.ELCsMvk1q7QMR5W9pBBMs9EwcQc;
49
- Expires=Fri, 12-Apr-2019 14:02:16 GMT; Secure; HttpOnly; Path=/
44
+ - dm_cookie_probe=yum; Expires=Thu, 30-Sep-2021 10:27:09 GMT; Max-Age=31536000.0;
45
+ Path=/
46
+ - dm_session=eyJfZnJlc2giOmZhbHNlLCJfcGVybWFuZW50Ijp0cnVlfQ.X3RdfQ.zrlpO8aoe431mdfjGZyp-IP2avY;
47
+ Expires=Wed, 30-Sep-2020 11:27:09 GMT; Secure; HttpOnly; Path=/; SameSite=Lax
50
48
  Strict-Transport-Security:
51
49
  - max-age=31536000; includeSubdomains
52
50
  Vary:
53
51
  - Cookie
54
52
  X-B3-Spanid:
55
- - ff3bbda81e54fb33
53
+ - 72289455ad462a6b
56
54
  X-B3-Traceid:
57
- - ff3bbda81e54fb33
55
+ - 72289455ad462a6b
58
56
  X-Content-Type-Options:
59
57
  - nosniff
60
58
  X-Frame-Options:
61
59
  - DENY
62
60
  X-Vcap-Request-Id:
63
- - b48b1df0-8a78-4c20-6b9f-a73188f79a48
61
+ - 38643d9c-1f3a-4544-47a8-89c3b5fa78f4
64
62
  X-Xss-Protection:
65
63
  - 1; mode=block
66
64
  X-Cache:
67
65
  - Miss from cloudfront
68
66
  Via:
69
- - 1.1 ca1303affdca7d63f1f154f36f5c79b4.cloudfront.net (CloudFront)
67
+ - 1.1 6c973aa0cbaa9809a414d7a4e20e26ce.cloudfront.net (CloudFront)
68
+ X-Amz-Cf-Pop:
69
+ - LHR61-C1
70
70
  X-Amz-Cf-Id:
71
- - rq5wjK6yhkBpZvmDZ31XqtLVRfDdCRfDaCp_lV-OUIkwXntPu70xKg==
71
+ - PATBRVb2JY05LN1E_5Fc1-Kl0CnI9xPKiuP2zZqBcSL5hglvEXKAgg==
72
72
  body:
73
73
  encoding: ASCII-8BIT
74
74
  string: !binary |-
75
- H4sIAAAAAAAAA+1d63LbRpb+vXmKHqZ2YtcIokTZkpWRlNLNjpPIckIlrmRqKwUSIAkLBDgAKFn5Ne+wv/b15kn2+05f0KBAWbItT1xl14xCkI3u06fP/Zzu/uKLnb8cnR6e/fryWE2qabqH5yD4RzJSaaWeH6vt/9nb4fdqmIZludtJqzhI4icdlYbZeLcTZ529nb/8I86iZPQ/QVC/PZa3n+BtdGe68F8JgsZrSu1M4jDa+0Lh3840rkI1nIRFGVe7nXk1CjBg1/xYJVUa770IqyTPwlQdhkUcF6Xqx8VFMozVUTJOKnx/FF/EaT6bxllVqsB9fRIW53E1S8NhvNPVXX2hBzXTXgA8TbJzNSni0W6nW1YYdIj/XKVxOYnjquyO84v5eVDFU/RYxavDsvxmbXV9e7XXUdM4SsLdTjkEfFlHFXGKB/cq50PULGABkzdwAPebwN6dxsfKbN4ZBm/xBPn1+FvvMP7WBxyf1HPX+T957/HvNuKsSLKqbUz5oXXZm/SGdb7FPEc5yJiM1zZUmKatAy2lrXEVW97Gar8VyTL43Qa+gbBruQLWSGaVKothzVyvw4tQf192k3j1teOnvZ2u/r4pbzTvypppDpvkRTWcVyoZ5uC6Jucm03Acl91RCEmRZ6v447i1uprFux1p0H0T6JetxKl7n4blufmxtWeIg9X5+e9pPs7Z4e/DIr/MVsuLsRtnmKd5sdv5cm2wNlwbdoxMq0cIZ7M0Dqp8PpzIQMGsiIf5dJaXcdRRZfJHDCG8/rj3Bv9fMr1rXZjmq7PMwfGO4/bW3qz31m49rm7+/uNubb7Z2rztqNL4PcZsXdhrON1ce7O51hzF011ZOAU1XSTx5Qzk2FGgtgqKaLdzmUTVZDeKqaoCeVhRSZZUSZgG5TBM4911SxOiBGdFPouL6mq3k4+/Fur0OrMKyZA1WmbjIpyBcEjnLcABwi/MP6tlNaTj8PfhvKzy6VEChVlCs3ZUFFZhkESgNhCaPFyE6RzT+rmMC6izMg6L4UQNwiyLCwAt/2r91dSjGFmLcs1nVfym6kJZtoitBbXZXI1af5ZdLkkyFDNAy6bNjUdbo43B9mbY2wg3n4y2Bluba4+313tb4TqexIK4pnI9dQt1d79gQn5r9fik9ySMt7Yeb43CXu9RHIbDR8MnwzjqPXm8sb3xODSgeprZAxPa4t7B1GrmcW893ngyfPJ4cz2MHj2Ohr3herg23A63B9vh2vqj62CCvmoDzpBWno8h0coEhuNFXCQjs2YeHZ99/6z/7Lds9O3szXqQfn9aTZ6vb+2/qC7Pt0Z/bDx91B8UW1vP12azU4geCGUq0J2uthf5cZBHV9Y+tdxjdEWUD+c0AVfZZlVs2BfgTbWrHjxY8ttD9Y1a8pP6m/pKvS6DOAsHaRx9pb5WX3mPD//udJTW8UbTR8mFIiOV5wlINjsPKA7CRLMN8YU5oI2WyfIUGsX1pREcQJY2v20Xnb0+OlNVrqboyMqXnW5oO9npuh7NR70yFpZxmg8gc4Z5fp7EwTQuS4gMgzyzioSE6J3tPTv9ZfXn79W8jEsMxTdKPfR5rKpJDLUEg6JMYATHxarasdB3TdvO3tMki1QOrTzNi1iFA340PxLmne5Mr6oZkssr4AvMGnAuN+VODhnZMUJHsGpmon93iLpMqgl0Zw7FCekKeeYQQwwYbOp3gksITUhZ10Qvx0IjPYzXprUVNX+jDVpZdEyqalZ+3e1eXl6uakOho8QD2e08y4lPotKgepJP4xlXRKYovVp4LEnYCRFn/LeTTMdNW8rohVaj5PckAzdWv1dFmJW+qlBaRXU2qHDjZDyB1tqABghTfOjsGQBlTfS4GLkmOwGkJj3dgkR0HesydYMrh6NuZ886cA1PzdD1TlkVeTa2qJhNwhLGUjju7B0cn+2D++RneKEe+bSA1A7QIrX4MDeR7sD90nsnIGtDoxnaglww5FXlY0hA+IPZvLN3gr8OXztZqCWD341uZxC8M0+FAvwGepx6+aFY64cb6Y3ualxkGAHaN0/TeEjWKIEs8ZmDae0cB4P5FdzqIMyioJxT1fIpyUZ5MRWd29l7Nk+iMKMf7aQOacGHZhloEN7prLP3Lf7e8LYWn1w/j9zcx5Zflw4HyVV0wUUJ5MAP+Rgm103Daqrd6c4RDdHUg3XiR0NWTeoyT7qhXnL9mtEBAj1e5qPuzuMFAhZYWypwtlSTYZryCfJYukGbJjfot4XqkgwsQexCZivI5QLrLuKllbks15h5hzW6tfX1Zaf+xlB3G9zBMIWXEgyqrGMAVNpuDBGnuULkBJ4LxM3w/PgCBLisTQCTLh7nBUzexiBL24dCxLudQ45uzVEDwJ586dZa9IwsVI3Da7PtCrFkeeVMlVK+csu0DJJ7nd0v8CWgYseZmovaJ5C1EQ5rh0EmO+t+3W4AdatmOb0P+BhU4d5rs7DAsiSzMKsWcdQkdVKvdC4ykbZMQ+uCcKE9fbaQxvYP/tv68qCATh8W8+nASU0jMkXcvqlEO1BIGj7MXRhyXOTzGbwHbQ24fkpP91IYOEG9XK80BZbAacAVQml0YuUkzBf45LGRjrN4CNQmJcKB+Yz+3pwOXQxY+kZwqsb3RPXyUXe6uYidna7M20kX4t9hf0EiiA3IVbFqyiCG3zuMcBXs9LCavnYbF0kUIFSh8e2JJyiJ+TQLqss8qCZJEVn8SrAWlGSkAS0VK3eCcop4lGdN7cxsM7eqx9FcO24K6kXBkk3TUj2dI4gM3b4/jrPhlWNVzHqyfrdwL3yD9VpGgrq1GEpzWDCLS0iyLdHEUJh4FXHBpyYH3AlfeQbnfgLaNMhvYlvCyCUYz/MDRMknGSM9aQxPyXNua5xvWEReJOUcSL4KJkkUMQT/3L2p/DeBiA0zMW9RB8k4cDB09nqOxAyBmUV1TQI6cjeMga71IIa6fMqqO4li7ZKJLd5T/ZPjFbWGLEIxhgHhd2Hx7kFc90IS0p6TYMziK7orwg4NoqO742vNA7d9qhpfy4ZomesHJjYKLlmLnYp+qqWacj6FgXcVwFmbBvSHDXXuDMMZ7UDb7hp1mXV9jihkUUFXkJ3iUo/QNS8bMoMLE0a2o8aAoyROIyskLE1j4pUwG0H2xC6/n6hyiJAWhRrC25Yo/Tk0ugxGSVFqjaE7W+iQjzvkdNvVtWmeOuF9pcKqKpLBHG4tF9MXEbZzgxTptltN9Pz55P9w10k4Ya1H8bqScd4BfInZvQv8yI6ZlcEnrqpdYVKOna0B0MGJD1hQi+HG+lv1YhAkLSPV2lSvq7+eZgBZv72X8wG07SSO/Gmxv25lgHxr51YuazTrbp9CCYZXar2n9pG7SVVvbX17yQh6MKDHwGX+I1O7//kfYTHgA8YKvphCQoJK85/zGBoFvtwSiA1oNyH8JpxsezgBb6j19a8fb8+m6tnJ2ZIB/7MootlPtFBQaTTVweL7QVFv88OgCERsGQwfKb7Ja8b4nvRa+YXcSY9PVGJtal4FToqVgU0rGPZT6hSRACYoZKEmPcPRQsn1nw+rQLwhya2fNQdF1mfNIUJYaO7W2oOvkHCrmwRawyKw/Yut39dWhMpHEhS5zIvzJWJMKwjzsnu4edw2QXoKcQ1pLeFvF05jzJehmSSKlfFLFFKDtmxFwVdnnrAUCcbg8LKiF8TcB8Ue/382SUpVTvJ5Gim6/jT/MIrp1Y2CUeGCoTCmmsCRHk/wA4wtSISrFQR6EVYVx2zAMhyJsSKIlAF+BuDR2wReGxvbmHWaILpkJ2CAVlUcTvlWqC6hVasJtAYnDguyVOdZfon8yRiwMfw8Qld0BAk6spCw7wn36m2WhETgDBWzTG61zIdbauT3pKkfaBNjjhViKqJ3bgP+e1DUSZ7RXNlQ381BWzcYK24MO8E/B76O3yBuUsVwFuDSISpYqRTp62pyz2jrqSvkrZfbAAZJfy5c/ZDrcMmdcHMLCdkmqV6Rik+SCMV60TI0LXIYnv8kXHhajMMsKSVD4WQ7BQts5Tth7+4i/lZBrTrUpHFmHJY/JdUdzCGhKwUJzRDN2yHnJN6R6PZn0EhvkK+s4vRKPVntqSligoxJaD1zmWu2FTURoqqqLNV0nlbIpyPxbNNTtwFyKamCgO/F8O4ZJnOG975kv6nOaXcIPB/H/L42MLn2sxH+2QgHDep/5sPHMZheTWgWai6ghB7E4rEjdn4bPnYA311Qn91gSRMQqWNhjpzwhCpD4o1FeNApeJ7mUZwiy4hyTAXxxCqKsmJjMZER5GbqjcastYerHFkrz6qXyhldQKTdAV14xxJ2mNZlnI4CmtBxbdPv00yP6Smgum+K4iVUPdgeAUVSyRcDloky1gvzRpvbo3mB9woRM5xXFsdRHK2oQY6wJMaywfOF3gk8fg2H+B2zZQSFwyPjdkkEDJDARSadvpM/K3QbX8EkbXbmTcJa/+zD+Agr0niYz1HnD3yh0LVC3rf+FTAjJxQX41yvhEWpN66gGqmpUs+SUxQ8wvex04tWldJuEdEKNOQVVg5qhrNa5lFhOihRCtNSV+VQP5Eg4IxNUHbV146ZHbyIlGRS0flFEpJYdMbpE/NgXhY53K4pFx/oK/P04oYQK/nPyQ3zcHdWPM302rasrKZXA0y9ltbRfQGuNF5sgw6Fyu0U5oPXoCk+Wf+WlWskcJSFlcmARBCeY7WsG0y6b3N/V+2w+ymY2ewwMcNfBzRhjoQFaAr7Yjg6/2P9YiMiivifc1C8SI4VyU9qaoqHkwwVkikdSTh4SLkCOPjO2OVCb1o2rqgHnAL9piSbkzU4QR03eCjjouFNxH3r2djwAciBPj9FnnH7QyVOv/HotbNPoEg4tQsvUzJttEtvwhSvUA4F51X4izzLGYgZJwgR4K/3r2eVIFYwSNKkwtrV4RODjLwudyFmLdJLDTdyP/EbZIAkzWxX0azLJ8arryZaMLGeAxTNokpg/5KUgpW/clwQ5fesTKGcgNbjbMyUjBqi8OEP8NMDFAREan3jbw9Ro0JCJ5UOzU6tMGJUa0U9t1B+Te4K1CHSFyjWpeaZQ9vqKelqF9FCXvEZpJNmi+foNQMtoRBV/4xh9TjgiGHCSvYSFfZSAUUYpldqNK/mwBfUZZZPkyGlSMlQRKmhOEG1EgJTaGj6iUcj/IoQV4rgWD2urapCwzJnAUjX9ThMClQdk4GhL5zkAKIaKMDKXUPBtyEiaW5A19ybeZf2BOJkjfmzms7ivlHvBWbRwAl53AZArYyBE0YlrwNocm8QPlTa0LqTBHsAzLJDXUOR18KIpEgIpL6jxp35VpB2A1y2bu02BCxelM1XGrXktJP58HGs2uOwgFbRhZSQ+2PQEiXRbSbxHibti3xFXVJIg3zAPLRVarcYiwRjj2yCLYuowi6E78AWNHGoJyg8GYHTgkTb4fGbSQhBHkefmGDcz660KUit+e9//R/mlLI87AqqiWbZ/bsX+6MKjEM/QAoIaQrAz6ezIMas6HWKIinFE4NV1s4ocMiv0KotiDDnTpyxUKZSp84RORFHBMymhYOzSjzjGIavlT4vdcDfmgmiHGlUFQm5GOZPDMZFxF7b0QQP8JI2FtUkEodMZTBxwnJL/Q7Mbye0hPohQtkHO9B63BjMqHBK56J+Q0R44M5I3cmoyKcYiPZ/gAplShAPBzmr2DAVjquTCvR+2K1olbol0+FOElEKmZwGwXBiSASO00TQmSH8AXpJrV0XsRhcBl3tfopkZ54eS8covvL9BHAVNncBEVaeim8yn6U5imQ0VFaQdpkK8RpTczk7TdwXoaJlDo7YpXXqSHMyDCZJ4YDksO2R+Sdi7RNj6OM3qKwUYgJ53rMYPdSiEyRshKlYJtouCNXB/s+q26RnEs3f+Tt2mIc1wV1RyGq116A3TWOw4ovkggYOV6d+/ZojfHNz2ESgfWySt8ihf+BzW92zdATKhJfKxlI3Im6O0BReMzYRLC9sBHLzWXBZpBcyIzN0MijYG+kuyqXFAAmtUdjaYFEUc9LYn4Ek8Z0G2ro2VjqdTbCbUKxYjlGqgkYFwLKKKYeNWwKn2CKnjLCAUaa1nJEsjsOcWqPDhEHJe5wVpQrED3QBhgJg0zATLVmFoxFMTgkpgyW1RPvEeMTQrc7V3olH3jFefwDCXTLOotmF5/bc0H0F3DcWA+6vqH5xksR8JrB8nGB7Y9DPgXaxbbHin6tdBBMf1SXZjyLsMKKvBpEpNpmI/Utk2CT8pYNKS9jZOSX6A/+Si24svGlLKx8iKoFTU6QA5luEaWLK/h8RvapgaP4Ee4jPhwgvwRW5ks+/rKveq2XlhQ2wlooYAy3/83G8P3I9NWNYSNaUduOyHHpjBu7h7oiF7nS2K1ScBL6DlAUDUJYShNT2rTXktYbNM9mRTSVrkV7H6tGlUZ6Mf4vKlhikb3zS8KCvohUnTv8x+piBcJiaurDKpjbUayjvLL5qGwKmVnwOiwu7A+ZTvigfRF1jh3ABZ4GWUhQjqI6tDkMEcFeV8WZK7fDaWWfYx4aiJkBlfJeSO73DPxDt6coW5RFPWrgiuVcwgaaondXcIJEOix9r9NBaMaFL9DhAsBLmCBIiGU8WOoU5Q0R+YnZCP0ZwgCiQLJHeu3mvef2Dl/2+2H2wiEGMEDigT9qFskxYOGO2KRyIwdU1nmVyK6ZZyvb3ZVk8WrQsIFllcznC9V6ITuD6OFbGUgA+WxwiUj9bHFqzuFzdx1GDHlkiFgaHjsIUzpzmllsx93toxL5xL9XRaR/uIpSA2DsCA3bNBTkcvjawXLjlCKkpJiD8SlqJXJUsdIWKChFkHObY8CmKrkDUFcVKjHchcIWZcjjxsxnXok/JcgElOplRHWSjGXNFmR3VpLzNN7Watq0ktI7iJniq1FXs7rj/dF/HEqeIzFKSwqXnxjfu7hYVxbHwJElP+LeI+ujCWit5pcSXWrtkvwKadGqA0CpvUCLgIrJ4luOAHSg+Tomy22bqMDLqHnIkcdyokrzDEQHa4jB6k0AjqBfjkK/y/TTlfUn0x4sS3exF5ZTr8EWLQNfkWW9tbWx1amx1xMtKHchhChqLkiPBQsEkh3nITdkcDUlfHvsVSAjfCx3VUJBGJNGDVZ5CYeIwJlpGFvMlgt0ga5s+ZnAXG0mhUlcFfLfh3YgCAUv+fNg9HssQ+FkhCcl8Vkiacz6yQjp2vNbKWnfyfd/RAcZJLnqPlTAd2AEnC8CPkc0fSIawmJUJCzkhCrt06WzIVnDt3NlKjGLOHRXWV/FyPRDmeicHpIR5FbqmPmbAG/XYs7XLuYR8RzhmBse7QiRJqgPezrOjvnqAjAGz9xA1DJXCB4NzxwaUWa71w9ZBDuB5mc0n05z1Ggzw6rkAQlHInu8pagPPPfEGRa3a2K8KL1EF0zrG0zmUUjOpRlEaxfDS4AvK+J78RP9w/TIJXbMdcKk/u8D99d0vHoZbQdivS1FkTuJwox7NlIShRkUC2s4iAEappMUzZS0N7BGX7QNe3G/Wc4atZM/T8VZQ6IYZIlgQK8zrUD1D22YM86Cbcj6w6EPa3VRBobiaiUlBSMXlAD5wZCYUCdfWkh6MHnwpwQNSkinZME5xOzQWB02lye6RBYQJYybfOpPjOkcAY0gIF9VT8AMNIlF3SDTJkUXqjNoN52eOrxC0wJ4pvPGSeWuoztbOv3fbjLqeNudrdj1klNUXx2fqqbUTV9A3oh+cjDMk+bDPOIJ6GYZ9W/7Xjo160AV8NMZ8nh/KEC6ucQV80W7jovLFk18OV/DnlxN5OoQw4EFmsfr5+VumetOohzkCcOXRgZ7djz/ITIyN+Coe7L98vsIMc6bwSbEoxh2BI2/8dNxHPK6FHm83Z43BPqswC4QCsSdjnsmEtX+AGkvLCvLFfz3HmZk2RTwT4s24QQypIdivx/2DFRQ08Ng6EP6Kms0HXVA6uGFAYsWk7CvvAfHPiBeBgyX/uKLOjo5W1MHRkeDi9NV+/6X6LZzJ07dnJz+AcPr9FfUdDrDty8G2eANnwOrP7wHE/hxSgbWnOlk+BRNwiwu8KouLUzbpabCeHx2+x1gv88u46MPK1EbpdycwIbFv5p2X/ABFw1gOJKCH5wJfHwInS+ZI5Hp92pO2lqhhI/icyYBnmFHmcALz42Kbj+Pnvnir0b5kStoIckDzUR7w5+4R4DbLoq/PyWsqR7qbUD7Paol6ZEpZyZSYy1+/3Nj+O6srpOyEJ1jTHoFKoFCxRgfZC21dgWpjKTkTWjZWJ1AZ8VjbmrNR0AeFFeFcZB4kgK2q2C7Jw7bQI9jaL4vFj8kIlVMepdjulwqcRdluYrVO0rxfb0YJmJNviZTDHGU+LA58R6WwCG8fMt6EqQ9P+u8HLU04RAMqHkVNV1wqBxtdfijGuy/3fHPRPf82xyFodruXdqcZUDa+cET26X6cyOvbISEsn3dXUVR/TvpSbtntEh9HNZE+EQJEXs2xC2Sx5ZQ7qaW7a6THS/p3Cs98EH79U2hyeFQwsOHXwnKDyZMsq26RhbQr6T1wJnfOibcp7hbnnJ4UZXntckstHzw8HJGkD2OlT9PU9VRO3j6JCHoYWwFaVGnLgBINeLvr5ocRTBma5y5rowG6jOWeiGZzOwyOFoZhLifPhmOcWCR2hY57WzLVDvNbIXXlpk1X7rrn7VWKWr/WGDB69An4xDlh3B0EAziWyIc7ReMhGQmx9PYghI+/hosnsVjtrcL+NXt5xJCSwr36K1OfrMMTNIN0Th0HZwi6DLgIoL9l9RqjozSQ/pucSwkZ4OIBsL1gE2DpaBH4TaRIv3WMlyjHA0psEsHtfURFOcIOSEWwjBcWEPoFDyEnwJiHSaBwvsaRxA/mLBFj9DQDRx/KFvnokvYQoTvsV0nVCM7if1p8vGKtG+xoE2oTrmMxau6fi8BFaXIdNgOA6VGFIfsYeSKslNyCJJtlGVAgcEXbAx9nEDGoBOWGHYl5SckIPIi8wKEvkqnQAQXQAfiBRZfO3HdpJDl0GqQ2ieGogFJdmSbIVgo/bbW2DW/lRZOKuPr0P/osT/HOmeGUvVCgxouMIcC20r3uA1Q9ZvkUMGRlmTCxX2y92J16IOlC4bEFRD+ULaKQLZci/HDeQQrGQfkroqrmADePzT9ZpngZXkkkWbKT4fBup7q8Y4T9DHeXCFJ5jARUeAo6ba1u+fOaIfsuqo7YFnZYLD2BxTM99McPHUB4BTsI6UMj1MO0lUNE2mDzNbdtNxp8snR7rF1JRmEv5fIDqMklVNS+BHe3AhepEQLMO/pWEkP2dEfnDnNsnAMvAXHZLczIuU73egcnSyseN7u59t/eobXydX3krnNMvA+3hsBXfm0j9+5tZLFK3mHI26zmUr9keaDDnlqs8erj722Ha2NH2sJh0Tgu+jYnPeJI3Po6ncDSSH20riGsH+3RoFC451C+SO5ZY5tn+OqAibRdUs6Q5XJQNTSUo78XeX3iqC7ClN11OMuN5nOEw3oq3SMvdgFdyeHl9h4UxOnNfRLN89K724+e9Lq8YS10szEjSmdK6asbmOFCK9g4ds7yM/7IIfbyXzlk2ayJDO6xVGNBmty27LxztNIVo5Kv4G11N00B6nyGDCRumoOhw+u/tCzHoflxjUKP29B7ks2wGROg6/uxYLBPE7yIL8zBx9iriUrpoEStkXyNX/jrwv8ovXBiMlIpsOW4zQcOEZzF+mBjuT+JAoD/2Af+7XQ5N52cdmLC4U4a7XS574dNLJ17+MS+IgRxsWgwlXiAhHesubxxU9PEXB4mcNzUkAafT4HgkNtfcOFCgnYZ51VukuTAFurBcL2NXdkRjiPgGSf1qsGp8ZfNrJVeKHMAu5wSjZOqy2L0e5XjRImOMkvxfPpTcvLH/trpUTT99dV36a+9k97J618fvzgbr704O0h/fXXS+/WP843Ts4PzF9Pjq99e/Zae/HGcrB49fh719leHv7z46eVFGpwmgxfjg18vp1m+tvV8GLy5+NFxo6MfXgGAAt+OAUc+NuE0UPlXEZm4vnf3y6p1OZF7xXWG7nqY2117IGwM2Ax1AbjZ3kucSoOMM6IQPH1FG8dS21bKHa4RthMl2NUOgoUhzAub4E56FbWIZPDGKNlW1/Bk8EJdlQAPGdKmHjYNBziqB7SNa/ewGfj3iMfIdPZe8ZAE8fJZlCxffgPjhY01DwgtaoYMrxMKcex1Z1Dtf6MxzivuGlhYBGcC2zjOcKujhsg+vhMs9mW78gJO/eUSiDx+M+Klea8EEYHl079ZEkcNPCWT7tLKqYaQwr0XqNXf6er3PJz6NsdNQsfJHhl+lOP2EnemuFz8wTvY9Nf6zGP7WV8HYkQF6adeAF8j6+Yt135RvnlIMe24lQIX0siNHu0thDwNO1IwGRo8hMyCXJGnOi/hon4YzLp6MlGnH1nl13oPltT/uZta8L4LCdUGN+BflLpmHvpGp+tg1ufC2XTgSX0P1F2B9yWLER91BccHuHSqBURfUrQiZxmiLawtEnCAKhN7SVvbjWSKDd5psPr2t+7YXKCFDEkcjHl90jwKXMFyAHXPHwx0/uVcuHsrwBHnc+6GNeXNd4KlawarzZi6R2vZqP1//+t/f7tTtxafy6aIuOZlFuDcAAaXAu4rCobQ6TCXbjnrQ3agvtUdvOPc24B0CfGur13KrgYYlsI0LhhLlZPZEAzt7GlIUJZjfrHp31Z83YY5Ldqt+e6JEaXsTWsfghktzbWQlb3zjXSJObaxmpYhLDWWRq3TfRu7tZFHGzQOJcENALlGHx4my5F6zhYIy3n3hQk7qpvY4sDuhw8/Y7sKywy9JQRyaq7DkuBb36UdcKSjlL1/eDgRPZVaeRwZEvAYFXc1WwAjq7xRcFqiXgqzHMvCgKzcbsz+7m0ab0W3W2pLA2+F3r1xM9KvS6RJgYt1G4aX2CTXrSFeS21sCLYAs7e3wV2R/gW3uq0WYHVww97BY++x6sOtZkGQXHHZajJp4VLf6wbTcKrvYYPZZ/YXuduCWn9E1KxtS9LinWy0zeph3E22h/r6Wwq+2voSNDTaywkfw6tAVzZ1UOmNKmrspdHP7W8fzJMU23pQM4wiLTf0XfRVbWk5q8G4ctDvTskpS0V9XcnVhEaTRu1GLS4xT7fkKT2mKBe3nkKHUyXK2upllnfctW+wlGCIt04Ie3sRag0RyBpO4POVxuTq4v5lxIZaB+piZJY+dze65vZwgaAEBFK66s3zBw2anp+3AUYDuQAvCGu2x2N0jPsgh4dcwC2VMnJJri9fmI8yD3WxsYrLx8K9FaSyhvEMXqxs1JYM0yUruhFuwvbnhaAoZ9uYq+FyjQX+tWzvfePxNC7huip4D/DCEjcW1FxrvAwPni8PO5bJdGaHuiK+aQuieherCPOKJ8D6t8zCYzCjB8i6Qc5T3ju7zPyEyx3/ynZ/V9osc+8QWd7UFybeePQe6JrS5TSxBJFv3pWXcNuDuCjywokZ942ycszH6A5SqNgB17ya+TWqhPX3JS/lnZ8HuJSNG9Pj1dflN2ur69urODgcsWp510CCqdjOao++W3fVWT4GQASChds4wOhJtL0Whdvrw61hNFwfbq6NngyjwWB9c7TRW9tCTKIeGtSjpYFg0gCwl4zUAwLBXD7yovnlKm6uxh3hu7u76ityC7KluCH9IQIsy25gX/LLqjl064F/tfqK+uor/3p1Eq0+rh1aopqme/8PCTXe3siIAAA=
76
- http_version:
77
- recorded_at: Fri, 12 Apr 2019 13:02:16 GMT
75
+ CjwhRE9DVFlQRSBodG1sPgo8aHRtbCBsYW5nPSJlbiIgY2xhc3M9ImdvdnVrLXRlbXBsYXRlICI+CiAgPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KICAgIDx0aXRsZT4KICBDQ1Q5MzQtTU9EIEZIUlMgRGVsaXZlcnkgUGFydG5lciBmb3IgT3JhY2xlIFNhYVMgJmFtcDsgUGFhUyBUZWNobmljYWwsIEJ1c2luZXNzICZhbXA7IFNlcnZpY2UgQ2hhbmdlIC0gRGlnaXRhbCBNYXJrZXRwbGFjZQo8L3RpdGxlPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB2aWV3cG9ydC1maXQ9Y292ZXIiPgogICAgPG1ldGEgbmFtZT0idGhlbWUtY29sb3IiIGNvbnRlbnQ9IiMwYjBjMGMiIC8+IAogICAgCiAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiIC8+CgogICAgCiAgICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgc2l6ZXM9IjE2eDE2IDMyeDMyIDQ4eDQ4IiBocmVmPSIvc3RhdGljL2ltYWdlcy9mYXZpY29uLmljbyIgdHlwZT0iaW1hZ2UveC1pY29uIiAvPgogICAgICA8bGluayByZWw9Im1hc2staWNvbiIgaHJlZj0iL3N0YXRpYy9pbWFnZXMvZ292dWstbWFzay1pY29uLnN2ZyIgY29sb3I9IiMwYjBjMGMiPiAKICAgICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iMTgweDE4MCIgaHJlZj0iL3N0YXRpYy9pbWFnZXMvZ292dWstYXBwbGUtdG91Y2gtaWNvbi0xODB4MTgwLnBuZyI+CiAgICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjE2N3gxNjciIGhyZWY9Ii9zdGF0aWMvaW1hZ2VzL2dvdnVrLWFwcGxlLXRvdWNoLWljb24tMTY3eDE2Ny5wbmciPgogICAgICA8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIHNpemVzPSIxNTJ4MTUyIiBocmVmPSIvc3RhdGljL2ltYWdlcy9nb3Z1ay1hcHBsZS10b3VjaC1pY29uLTE1MngxNTIucG5nIj4KICAgICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSIvc3RhdGljL2ltYWdlcy9nb3Z1ay1hcHBsZS10b3VjaC1pY29uLnBuZyI+CiAgICAKCiAgICAKICAKCgoKCgoKCgogIAogIDxtZXRhIG5hbWU9Imdvb2dsZS1zaXRlLXZlcmlmaWNhdGlvbiIgY29udGVudD0iVEtHU0dabmZIcHgxLWxLT3RoSTE3QU50d2s3ZnozRjRTYnI3N0kwcHBPMCI+CgogIDxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9zdGF0aWMvc3R5bGVzaGVldHMvYXBwbGljYXRpb24uY3NzPzY5ZWI3OTcwODA3ZjQ0NTI0MGFjNDQxZjVhMDIzYTc2IiAvPgogIAoKICAgIAogICAgCiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Ii9zdGF0aWMvaW1hZ2VzL2dvdnVrLW9wZW5ncmFwaC1pbWFnZS5wbmciPgogIDwvaGVhZD4KICA8Ym9keSBjbGFzcz0iZ292dWstdGVtcGxhdGVfX2JvZHkgIj4KICAgIDxzY3JpcHQ+ZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgPSAoKGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lKSA/IGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lICsgJyBqcy1lbmFibGVkJyA6ICdqcy1lbmFibGVkJyk7PC9zY3JpcHQ+CiAgICAKCiAgICAKICAgICAgPGEgaHJlZj0iI21haW4tY29udGVudCIgY2xhc3M9ImdvdnVrLXNraXAtbGluayI+U2tpcCB0byBtYWluIGNvbnRlbnQ8L2E+CiAgICAKCiAgICAKICAKICAKCgoKCjxkaXYgaWQ9ImRtLWNvb2tpZS1iYW5uZXIiIGNsYXNzPSJkbS1jb29raWUtYmFubmVyIGdvdnVrLXdpZHRoLWNvbnRhaW5lciIgZGF0YS1tb2R1bGU9ImRtLWNvb2tpZS1iYW5uZXIiIHJvbGU9InJlZ2lvbiIgYXJpYS1sYWJlbD0iQ29va2llIEJhbm5lciIgYXJpYS1kZXNjcmliZWRieT0iZG0tY29va2llLWJhbm5lcl9faGVhZGluZyI+CiAgPGRpdiBjbGFzcz0iZG0tY29va2llLWJhbm5lcl9fd3JhcHBlciI+CiAgICA8aDIgY2xhc3M9ImRtLWNvb2tpZS1iYW5uZXJfX2hlYWRpbmcgZ292dWstaGVhZGluZy1tIiBpZD0iZG0tY29va2llLWJhbm5lcl9faGVhZGluZyI+CiAgICAgIENhbiB3ZSBzdG9yZSBhbmFseXRpY3MgY29va2llcyBvbiB5b3VyIGRldmljZT8KICAgIDwvaDI+CiAgICA8cCBjbGFzcz0iZ292dWstYm9keSI+CiAgICAgIEFuYWx5dGljcyBjb29raWVzIGhlbHAgdXMgdW5kZXJzdGFuZCBob3cgb3VyIHdlYnNpdGUgaXMgYmVpbmcgdXNlZC4KICAgIDwvcD4KICAgIDxkaXYgY2xhc3M9ImRtLWNvb2tpZS1iYW5uZXJfX2J1dHRvbnMiPgogICAgICA8YnV0dG9uIGNsYXNzPSJnb3Z1ay1idXR0b24gZG0tY29va2llLWJhbm5lcl9fYnV0dG9uIGRtLWNvb2tpZS1iYW5uZXJfX2J1dHRvbi0tYWNjZXB0IiB0eXBlPSJzdWJtaXQiIGRhdGEtYWNjZXB0LWNvb2tpZXM9InRydWUiIGFyaWEtZGVzY3JpYmVkYnk9ImRtLWNvb2tpZS1iYW5uZXJfX2hlYWRpbmciPgogICAgICAgIFllczxzcGFuIGNsYXNzPSJnb3Z1ay12aXN1YWxseS1oaWRkZW4iPiwgRGlnaXRhbCBNYXJrZXRwbGFjZSBjYW4gc3RvcmUgYW5hbHl0aWNzIGNvb2tpZXMgb24geW91ciBkZXZpY2U8L3NwYW4+CiAgICAgIDwvYnV0dG9uPgogICAgICA8YnV0dG9uIGNsYXNzPSJnb3Z1ay1idXR0b24gZG0tY29va2llLWJhbm5lcl9fYnV0dG9uIGRtLWNvb2tpZS1iYW5uZXJfX2J1dHRvbi0tcmVqZWN0IiB0eXBlPSJzdWJtaXQiIGRhdGEtYWNjZXB0LWNvb2tpZXM9ImZhbHNlIiBhcmlhLWRlc2NyaWJlZGJ5PSJkbS1jb29raWUtYmFubmVyX19oZWFkaW5nIj4KICAgICAgICBObzxzcGFuIGNsYXNzPSJnb3Z1ay12aXN1YWxseS1oaWRkZW4iPiwgRGlnaXRhbCBNYXJrZXRwbGFjZSBjYW5ub3Qgc3RvcmUgYW5hbHl0aWNzIGNvb2tpZXMgb24geW91ciBkZXZpY2U8L3NwYW4+CiAgICAgIDwvYnV0dG9uPgogICAgICA8YSBjbGFzcz0iZ292dWstbGluayBkbS1jb29raWUtYmFubmVyX19saW5rIiBocmVmPSIvY29va2llcyI+SG93IERpZ2l0YWwgTWFya2V0cGxhY2UgdXNlcyBjb29raWVzPC9hPgogICAgPC9kaXY+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9ImRtLWNvb2tpZS1iYW5uZXJfX2NvbmZpcm1hdGlvbiIgdGFiaW5kZXg9Ii0xIj4KICAgIDxwIGNsYXNzPSJkbS1jb29raWUtYmFubmVyX19jb25maXJtYXRpb24tbWVzc2FnZSBnb3Z1ay1ib2R5Ij4KICAgICAgWW91IGNhbiA8YSBjbGFzcz0iZ292dWstbGluayIgaHJlZj0iL3VzZXIvY29va2llLXNldHRpbmdzIj5jaGFuZ2UgeW91ciBjb29raWUgc2V0dGluZ3M8L2E+IGF0IGFueSB0aW1lLgogICAgPC9wPgogICAgPGJ1dHRvbiBjbGFzcz0iZG0tY29va2llLWJhbm5lcl9faGlkZS1idXR0b24gZ292dWstbGluayIgZGF0YS1oaWRlLWNvb2tpZS1iYW5uZXI9InRydWUiIHJvbGU9ImxpbmsiPkhpZGU8L2J1dHRvbj4KICA8L2Rpdj4KPC9kaXY+CgogIAoKCgoKCiAgCiAgCgoKCiAgCgo8aGVhZGVyIGNsYXNzPSJnb3Z1ay1oZWFkZXIgIiByb2xlPSJiYW5uZXIiIGRhdGEtbW9kdWxlPSJoZWFkZXIiPgogIDxkaXYgY2xhc3M9ImdvdnVrLWhlYWRlcl9fY29udGFpbmVyIGdvdnVrLXdpZHRoLWNvbnRhaW5lciI+CgogICAgPGRpdiBjbGFzcz0iZ292dWstaGVhZGVyX19sb2dvIj4KICAgICAgPGEgaHJlZj0iLyIgY2xhc3M9ImdvdnVrLWhlYWRlcl9fbGluayBnb3Z1ay1oZWFkZXJfX2xpbmstLWhvbWVwYWdlIj4KICAgICAgICA8c3BhbiBjbGFzcz0iZ292dWstaGVhZGVyX19sb2dvdHlwZSI+CiAgICAgICAgICAKICAgICAgICAgIDxzdmcKICAgICAgICAgICAgcm9sZT0icHJlc2VudGF0aW9uIgogICAgICAgICAgICBmb2N1c2FibGU9ImZhbHNlIgogICAgICAgICAgICBjbGFzcz0iZ292dWstaGVhZGVyX19sb2dvdHlwZS1jcm93biIKICAgICAgICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICAgICAgICAgICB2aWV3Ym94PSIwIDAgMTMyIDk3IgogICAgICAgICAgICBoZWlnaHQ9IjMyIgogICAgICAgICAgICB3aWR0aD0iMzYiCiAgICAgICAgICA+CiAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgICAgICAgZD0iTTI1IDMwLjJjMy41IDEuNSA3LjctLjIgOS4xLTMuNyAxLjUtMy42LS4yLTcuOC0zLjktOS4yLTMuNi0xLjQtNy42LjMtOS4xIDMuOS0xLjQgMy41LjMgNy41IDMuOSA5ek05IDM5LjVjMy42IDEuNSA3LjgtLjIgOS4yLTMuNyAxLjUtMy42LS4yLTcuOC0zLjktOS4xLTMuNi0xLjUtNy42LjItOS4xIDMuOC0xLjQgMy41LjMgNy41IDMuOCA5ek00LjQgNTcuMmMzLjUgMS41IDcuNy0uMiA5LjEtMy44IDEuNS0zLjYtLjItNy43LTMuOS05LjEtMy41LTEuNS03LjYuMy05LjEgMy44LTEuNCAzLjUuMyA3LjYgMy45IDkuMXptMzguMy0yMS40YzMuNSAxLjUgNy43LS4yIDkuMS0zLjggMS41LTMuNi0uMi03LjctMy45LTkuMS0zLjYtMS41LTcuNi4zLTkuMSAzLjgtMS4zIDMuNi40IDcuNyAzLjkgOS4xem02NC40LTUuNmMtMy42IDEuNS03LjgtLjItOS4xLTMuNy0xLjUtMy42LjItNy44IDMuOC05LjIgMy42LTEuNCA3LjcuMyA5LjIgMy45IDEuMyAzLjUtLjQgNy41LTMuOSA5em0xNS45IDkuM2MtMy42IDEuNS03LjctLjItOS4xLTMuNy0xLjUtMy42LjItNy44IDMuNy05LjEgMy42LTEuNSA3LjcuMiA5LjIgMy44IDEuNSAzLjUtLjMgNy41LTMuOCA5em00LjcgMTcuN2MtMy42IDEuNS03LjgtLjItOS4yLTMuOC0xLjUtMy42LjItNy43IDMuOS05LjEgMy42LTEuNSA3LjcuMyA5LjIgMy44IDEuMyAzLjUtLjQgNy42LTMuOSA5LjF6TTg5LjMgMzUuOGMtMy42IDEuNS03LjgtLjItOS4yLTMuOC0xLjQtMy42LjItNy43IDMuOS05LjEgMy42LTEuNSA3LjcuMyA5LjIgMy44IDEuNCAzLjYtLjMgNy43LTMuOSA5LjF6TTY5LjcgMTcuN2w4LjkgNC43VjkuM2wtOC45IDIuOGMtLjItLjMtLjUtLjYtLjktLjlMNzIuNCAwSDU5LjZsMy41IDExLjJjLS4zLjMtLjYuNS0uOS45bC04LjgtMi44djEzLjFsOC44LTQuN2MuMy4zLjYuNy45LjlsLTUgMTUuNHYuMWMtLjIuOC0uNCAxLjYtLjQgMi40IDAgNC4xIDMuMSA3LjUgNyA4LjFoLjJjLjMgMCAuNy4xIDEgLjEuNCAwIC43IDAgMS0uMWguMmM0LS42IDcuMS00LjEgNy4xLTguMSAwLS44LS4xLTEuNy0uNC0yLjRWMzRsLTUuMS0xNS40Yy40LS4yLjctLjYgMS0uOXpNNjYgOTIuOGMxNi45IDAgMzIuOCAxLjEgNDcuMSAzLjIgNC0xNi45IDguOS0yNi43IDE0LTMzLjVsLTkuNi0zLjRjMSA0LjkgMS4xIDcuMiAwIDEwLjItMS41LTEuNC0zLTQuMy00LjItOC43TDEwOC42IDc2YzIuOC0yIDUtMy4yIDcuNS0zLjMtNC40IDkuNC0xMCAxMS45LTEzLjYgMTEuMi00LjMtLjgtNi4zLTQuNi01LjYtNy45IDEtNC43IDUuNy01LjkgOC0uNSA0LjMtOC43LTMtMTEuNC03LjYtOC44IDcuMS03LjIgNy45LTEzLjUgMi4xLTIxLjEtOCA2LjEtOC4xIDEyLjMtNC41IDIwLjgtNC43LTUuNC0xMi4xLTIuNS05LjUgNi4yIDMuNC01LjIgNy45LTIgNy4yIDMuMS0uNiA0LjMtNi40IDcuOC0xMy41IDcuMi0xMC4zLS45LTEwLjktOC0xMS4yLTEzLjggMi41LS41IDcuMSAxLjggMTEgNy4zTDgwLjIgNjBjLTQuMSA0LjQtOCA1LjMtMTIuMyA1LjQgMS40LTQuNCA4LTExLjYgOC0xMS42SDU1LjVzNi40IDcuMiA3LjkgMTEuNmMtNC4yLS4xLTgtMS0xMi4zLTUuNGwxLjQgMTYuNGMzLjktNS41IDguNS03LjcgMTAuOS03LjMtLjMgNS44LS45IDEyLjgtMTEuMSAxMy44LTcuMi42LTEyLjktMi45LTEzLjUtNy4yLS43LTUgMy44LTguMyA3LjEtMy4xIDIuNy04LjctNC42LTExLjYtOS40LTYuMiAzLjctOC41IDMuNi0xNC43LTQuNi0yMC44LTUuOCA3LjYtNSAxMy45IDIuMiAyMS4xLTQuNy0yLjYtMTEuOS4xLTcuNyA4LjggMi4zLTUuNSA3LjEtNC4yIDguMS41LjcgMy4zLTEuMyA3LjEtNS43IDcuOS0zLjUuNy05LTEuOC0xMy41LTExLjIgMi41LjEgNC43IDEuMyA3LjUgMy4zbC00LjctMTUuNGMtMS4yIDQuNC0yLjcgNy4yLTQuMyA4LjctMS4xLTMtLjktNS4zIDAtMTAuMmwtOS41IDMuNGM1IDYuOSA5LjkgMTYuNyAxNCAzMy41IDE0LjgtMi4xIDMwLjgtMy4yIDQ3LjctMy4yeiIKICAgICAgICAgICAgPjwvcGF0aD4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxpbWFnZSBzcmM9Ii9hc3NldHMvaW1hZ2VzL2dvdnVrLWxvZ290eXBlLWNyb3duLnBuZyIgeGxpbms6aHJlZj0iIiBjbGFzcz0iZ292dWstaGVhZGVyX19sb2dvdHlwZS1jcm93bi1mYWxsYmFjay1pbWFnZSIgd2lkdGg9IjM2IiBoZWlnaHQ9IjMyIj48L2ltYWdlPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iZ292dWstaGVhZGVyX19sb2dvdHlwZS10ZXh0Ij4KICAgICAgICAgICAgR09WLlVLCiAgICAgICAgICA8L3NwYW4+CiAgICAgICAgPC9zcGFuPgogICAgICAgIAogICAgICAgIDxzcGFuIGNsYXNzPSJnb3Z1ay1oZWFkZXJfX3Byb2R1Y3QtbmFtZSI+CiAgICAgICAgICBEaWdpdGFsIE1hcmtldHBsYWNlCiAgICAgICAgPC9zcGFuPgogICAgICAgIAogICAgICA8L2E+CiAgICA8L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0iZ292dWstaGVhZGVyX19jb250ZW50Ij4KCiAgICAKCiAgICAKICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiByb2xlPSJidXR0b24iIGNsYXNzPSJnb3Z1ay1oZWFkZXJfX21lbnUtYnV0dG9uIGpzLWhlYWRlci10b2dnbGUiIGFyaWEtY29udHJvbHM9Im5hdmlnYXRpb24iIGFyaWEtbGFiZWw9IlNob3cgb3IgaGlkZSBUb3AgTGV2ZWwgTmF2aWdhdGlvbiI+TWVudTwvYnV0dG9uPgogICAgPG5hdj4KICAgICAgPHVsIGlkPSJuYXZpZ2F0aW9uIiBjbGFzcz0iZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uICIgYXJpYS1sYWJlbD0iVG9wIExldmVsIE5hdmlnYXRpb24iPgogICAgICAgIAogICAgICAgICAgCiAgICAgICAgICAgIDxsaSBjbGFzcz0iZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLWl0ZW0iPgogICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1oZWFkZXJfX2xpbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvdi51ay9ndWlkYW5jZS9idXlpbmctYW5kLXNlbGxpbmctb24tdGhlLWRpZ2l0YWwtbWFya2V0cGxhY2UiPgogICAgICAgICAgICAgICAgR3VpZGFuY2UKICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAKICAgICAgICAKICAgICAgICAgIAogICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtIj4KICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstaGVhZGVyX19saW5rIiBocmVmPSIvaGVscCI+CiAgICAgICAgICAgICAgICBIZWxwCiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAKICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24taXRlbSI+CiAgICAgICAgICAgICAgPGEgY2xhc3M9ImdvdnVrLWhlYWRlcl9fbGluayIgaHJlZj0iL3VzZXIvbG9naW4iPgogICAgICAgICAgICAgICAgTG9nIGluCiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgCiAgICAgICAgCiAgICAgIDwvdWw+CiAgICA8L25hdj4KICAgIAogICAgPC9kaXY+CiAgICAKICA8L2Rpdj4KPC9oZWFkZXI+CgoKICAgIAogICAgICA8ZGl2IGNsYXNzPSJnb3Z1ay13aWR0aC1jb250YWluZXIiPgogICAgICAgIAogIAogICAgPGRpdiBjbGFzcz0iZ292dWstcGhhc2UtYmFubmVyIj4KICA8cCBjbGFzcz0iZ292dWstcGhhc2UtYmFubmVyX19jb250ZW50Ij48c3Ryb25nIGNsYXNzPSJnb3Z1ay10YWcgZ292dWstcGhhc2UtYmFubmVyX19jb250ZW50X190YWcgIj4KICBiZXRhCjwvc3Ryb25nPjxzcGFuIGNsYXNzPSJnb3Z1ay1waGFzZS1iYW5uZXJfX3RleHQiPgogICAgICBIZWxwIHVzIGltcHJvdmUgdGhlIERpZ2l0YWwgTWFya2V0cGxhY2UgLSA8YSBjbGFzcz0iZ292dWstbGluayIgaHJlZj0iL2hlbHAiPnNlbmQgeW91ciBmZWVkYmFjazwvYT4KICAgIDwvc3Bhbj4KICA8L3A+CjwvZGl2PgogIAogIAo8ZGl2IGNsYXNzPSJnb3Z1ay1icmVhZGNydW1icyI+CiAgPG9sIGNsYXNzPSJnb3Z1ay1icmVhZGNydW1ic19fbGlzdCI+CiAgCiAgICAKICAgIDxsaSBjbGFzcz0iZ292dWstYnJlYWRjcnVtYnNfX2xpc3QtaXRlbSI+CiAgICAgIDxhIGNsYXNzPSJnb3Z1ay1icmVhZGNydW1ic19fbGluayIgaHJlZj0iLyI+RGlnaXRhbCBNYXJrZXRwbGFjZTwvYT4KICAgIDwvbGk+CiAgICAKICAKICAgIAogICAgPGxpIGNsYXNzPSJnb3Z1ay1icmVhZGNydW1ic19fbGlzdC1pdGVtIj4KICAgICAgPGEgY2xhc3M9ImdvdnVrLWJyZWFkY3J1bWJzX19saW5rIiBocmVmPSIvZGlnaXRhbC1vdXRjb21lcy1hbmQtc3BlY2lhbGlzdHMvb3Bwb3J0dW5pdGllcyI+U3VwcGxpZXIgb3Bwb3J0dW5pdGllczwvYT4KICAgIDwvbGk+CiAgICAKICAKICA8L29sPgo8L2Rpdj4KCgogICAgICAgIDxtYWluIGNsYXNzPSJnb3Z1ay1tYWluLXdyYXBwZXIgIiBpZD0ibWFpbi1jb250ZW50IiByb2xlPSJtYWluIj4KICAgICAgICAgIAogIAogICAgCiAgICAgIAogICAgCiAgCiAgCiAgICAKICAKICAKCgoKPGRpdiBjbGFzcz0iZ292dWstZ3JpZC1yb3ciPgogIDxkaXYgY2xhc3M9ImdvdnVrLWdyaWQtY29sdW1uLXR3by10aGlyZHMiPgogICAgPHNwYW4gY2xhc3M9ImdvdnVrLWNhcHRpb24tbCI+TWluaXN0cnkgb2YgRGVmZW5jZTwvc3Bhbj4KICAgIDxoMSBjbGFzcz0iZ292dWstaGVhZGluZy1sIj5DQ1Q5MzQtTU9EIEZIUlMgRGVsaXZlcnkgUGFydG5lciBmb3IgT3JhY2xlIFNhYVMgJmFtcDsgUGFhUyBUZWNobmljYWwsIEJ1c2luZXNzICZhbXA7IFNlcnZpY2UgQ2hhbmdlPC9oMT4KICAgIDxzcGFuIGRhdGEtbG90PSJkaWdpdGFsLW91dGNvbWVzIj48L3NwYW4+CiAgPC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0iZ292dWstZ3JpZC1yb3cgZ292dWstIS1tYXJnaW4tYm90dG9tLTkiPgogIDxkaXYgY2xhc3M9ImdvdnVrLWdyaWQtY29sdW1uLW9uZS10aGlyZCBhcHAtc3RhdC1ibG9jayIgaWQ9ImluY29tcGxldGUtYXBwbGljYXRpb25zIj4KICAgPGgyPgogICAgICA8c3BhbiBjbGFzcz0iZ292dWstIS1mb250LXNpemUtMzYgZ292dWstIS1kaXNwbGF5LWJsb2NrIj4wPC9zcGFuPgogICAgICA8c3Bhbj5JbmNvbXBsZXRlIGFwcGxpY2F0aW9uczwvc3Bhbj4KICAgPC9oMj4KICAgPHAgY2xhc3M9ImdvdnVrLWJvZHkgZ292dWstIS1mb250LXNpemUtMTYiPjwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9ImdvdnVrLWdyaWQtY29sdW1uLW9uZS10aGlyZCBhcHAtc3RhdC1ibG9jayIgaWQ9ImNvbXBsZXRlZC1hcHBsaWNhdGlvbnMiPgogICA8aDI+CiAgICAgIDxzcGFuIGNsYXNzPSJnb3Z1ay0hLWZvbnQtc2l6ZS0zNiBnb3Z1ay0hLWRpc3BsYXktYmxvY2siPjA8L3NwYW4+CiAgICAgIDxzcGFuPkNvbXBsZXRlZCBhcHBsaWNhdGlvbnM8L3NwYW4+CiAgIDwvaDI+CiAgIDxwIGNsYXNzPSJnb3Z1ay1ib2R5IGdvdnVrLSEtZm9udC1zaXplLTE2Ij48L3A+CjwvZGl2PgoKPC9kaXY+Cgo8ZGl2IGNsYXNzPSJnb3Z1ay1ncmlkLXJvdyI+CiAgPGRpdiBjbGFzcz0iZ292dWstZ3JpZC1jb2x1bW4tZnVsbCI+CiAgICA8aDIgY2xhc3M9ImdvdnVrLXZpc3VhbGx5LWhpZGRlbiI+SW1wb3J0YW50IGRhdGVzPC9oMj4KCgoKICAKCiAgCgogIAo8ZGwgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdCBhcHAtZ292dWstc3VtbWFyeS1saXN0IGFwcC1nb3Z1ay1zdW1tYXJ5LWxpc3QtLXRvcC1ib3JkZXIgZ292dWstIS1tYXJnaW4tYm90dG9tLTgiIGlkPSJvcHBvcnR1bml0eS1pbXBvcnRhbnQtZGF0ZXMiPgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBQdWJsaXNoZWQKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBXZWRuZXNkYXkgMzAgU2VwdGVtYmVyIDIwMjAKICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgRGVhZGxpbmUgZm9yIGFza2luZyBxdWVzdGlvbnMKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBXZWRuZXNkYXkgNyBPY3RvYmVyIDIwMjAgYXQgMTE6NTlwbSBHTVQKICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgQ2xvc2luZyBkYXRlIGZvciBhcHBsaWNhdGlvbnMKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBXZWRuZXNkYXkgMTQgT2N0b2JlciAyMDIwIGF0IDExOjU5cG0gR01UCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCjwvZGw+CgoKICA8aDIgaWQ9Im9wcG9ydHVuaXR5LWF0dHJpYnV0ZXMtMSIgY2xhc3M9ImdvdnVrLWhlYWRpbmctbSBhcHAtc3VtbWFyeS1saXN0LWhlYWRpbmciPk92ZXJ2aWV3PC9oMj4KICAKICAKCgogIAoKICAKCiAgCgogIAoKICAKCiAgCjxkbCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0IGFwcC1nb3Z1ay1zdW1tYXJ5LWxpc3QgYXBwLWdvdnVrLXN1bW1hcnktbGlzdC0tdG9wLWJvcmRlciBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tOCI+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIFN1bW1hcnkgb2YgdGhlIHdvcmsKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBTdXBwb3J0IHRvIE1PRCBhbmQgREUmYW1wO1MgaW4gZGVsaXZlcnkgb2YgY29uZmlndXJlZCBPcmFjbGUgSENNIGFuZCBQSlJNIHRocm91Z2ggU3lzdGVtICZhbXA7IFVzZXIgVGVzdGluZywgQnVzaW5lc3MgYW5kIFNlcnZpY2UgQ2hhbmdlIGFuZCAzIG1vbnRocyBwb3N0IGdvLWxpdmUgc3VwcG9ydC4KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgTGF0ZXN0IHN0YXJ0IGRhdGUKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBNb25kYXkgMTQgRGVjZW1iZXIgMjAyMAogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBFeHBlY3RlZCBjb250cmFjdCBsZW5ndGgKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICAxMSBtb250aHMgd2l0aCBhIDMgbW9udGggT3B0aW9uYWwgZXh0ZW5zaW9uIHBlcmlvZAogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBMb2NhdGlvbgogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFNvdXRoIFdlc3QgRW5nbGFuZAogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBPcmdhbmlzYXRpb24gdGhlIHdvcmsgaXMgZm9yCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgTWluaXN0cnkgb2YgRGVmZW5jZQogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBCdWRnZXQgcmFuZ2UKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICDCozUsMjgwLDMxOSAgKGV4IFZBVCkKICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKPC9kbD4KCiAgPGgyIGlkPSJvcHBvcnR1bml0eS1hdHRyaWJ1dGVzLTIiIGNsYXNzPSJnb3Z1ay1oZWFkaW5nLW0gYXBwLXN1bW1hcnktbGlzdC1oZWFkaW5nIj5BYm91dCB0aGUgd29yazwvaDI+CiAgCiAgCgoKICAKCiAgCgogIAoKICAKCiAgCgogIAoKICAKPGRsIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3QgYXBwLWdvdnVrLXN1bW1hcnktbGlzdCBhcHAtZ292dWstc3VtbWFyeS1saXN0LS10b3AtYm9yZGVyIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS04Ij4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgV2h5IHRoZSB3b3JrIGlzIGJlaW5nIGRvbmUKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBNT0QgYW5kIERFJmFtcDtTIGhhdmUgY29udHJhY3RlZCB3aXRoIEluc2lnaHQvT3JhY2xlIHRvIGltcGxlbWVudCBTYWFTIEhDTSwgSUEsIEhSIEhlbHAgRGVzaywgT3JhY2xlIExlYXJuaW5nIENsb3VkIFNlcnZpY2UsIFByb2plY3QgUmVzb3VyY2UgTWFuYWdlbWVudCAoUGpSTSksIE9yYWNsZSBSZWNydWl0aW5nIENsb3VkIGFuZCBTdHJhdGVnaWMgV29ya2ZvcmNlIFBsYW5uaW5nIChTV1ApLiBPdmVyIHRoZSBwYXN0IDE1IG1vbnRocyB0aGUgTU9EIGFuZCBERSZhbXA7UyBoYXZlIHdvcmtlZCB3aXRoIGEgZGVsaXZlcnkgcGFydG5lciB0byBjb25maWd1cmUgdGhlIG1vZHVsZXMgdG8gIE1PRCByZXF1aXJlbWVudHMsIGRldmVsb3Agc3BlY2lmaWNhdGlvbnMgYW5kIGJ1aWxkIGludGVyZmFjZSBjYXBhYmlsaXR5IHRvIE1PRCBhbmQgREUmYW1wO1Mgc3lzdGVtcyBhbmQgcGxhbiBzZXJ2aWNlIGFuZCBidXNpbmVzcyBjaGFuZ2UuIEEgbmV3IERlbGl2ZXJ5IFBhcnRuZXIgQ29udHJhY3QgaXMgcmVxdWlyZWQgdG8gc3VwcG9ydCB0aGUgaW1wbGVtZW50YXRpb24gb2YgU2FhUyBpbiB0aGUgTU9EIHRlY2huaWNhbCBlbnZpcm9ubWVudCwgIG1pZ3JhdGUgZGF0YSBmcm9tIHRoZSBQZW9wbGVTb2Z0IEhSIG9uIHByZW1pc2Ugc3lzdGVtIGFuZCBsZWdhY3kgREUmYW1wO1Mgc3lzdGVtcyBpbiBzY29wZSBmb3IgcmVwbGFjZW1lbnQsIGFyY2hpdmUgaGlzdG9yaWMgZGF0YSwgY3JlYXRlIHRyYWluaW5nIGRvY3VtZW50YXRpb24sIGFuZCBhc3Npc3QgaW4gdGhlIGVkdWNhdGlvbiBvZiB0aGUgc2VydmljZSBvcmdhbmlzYXRpb24gYW5kIHVzZXJzLgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBQcm9ibGVtIHRvIGJlIHNvbHZlZAogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIE1PRCBhbmQgREUmYW1wO1MgbmVlZCBhIGRlbGl2ZXJ5IHBhcnRuZXIgdG8gcHJvdmlkZSBzcGVjaWFsaXN0IGtub3dsZWRnZSBhbmQgZXhwZXJpZW5jZSBpbiB0aGUgc3lzdGVtIGludGVncmF0aW9uIGFuZCBVQVQgb2YgYSBjb25maWd1cmVkIFNhYVMgc3lzdGVtLCB3aXRoIHRoZSBleGNlcHRpb24gb2YgSW50ZWxsaWdlbnQgQWR2aXNvciB3aGljaCB3aWxsIHJlcXVpcmUgY29uZmlndXJhdGlvbjsgY29tcGxldGUgTU9EIGFuZCBERSZhbXA7UyBhc3N1cmFuY2UgYW5kICAgYWNjcmVkaXRhdGlvbiwgYW5kIGRlbGl2ZXIgR28gTGl2ZSwgQnVzaW5lc3MsIGFuZCBTZXJ2aWNlICBDaGFuZ2U8YnI+PGJyPkhlbHAgZGV2ZWxvcCBhbmQgcHJvZHVjZSBxdWFsaXR5IHRyYWluaW5nIG1hdGVyaWFscyB0byBzdXBwb3J0IHRoZSBjaGFuZ2Ugb2YgZGVsaXZlcnkgaW4gSFIgc2VydmljZXMsIGFuZCBjaGFuZ2UgaW4gdXNlciBiZWhhdmlvdXIgdG8gZW1icmFjZSBIUiAgc2VsZi1zZXJ2aWNlLiA8YnI+PGJyPlRlY2huaWNhbCBzdXBwb3J0IHRvIHN5c3RlbSBpbnRlZ3JhdGlvbiB0ZXN0aW5nIG9mIG11bHRpcGxlIGludGVyZmFjZXMgYnVpbHQgdG8gaW50ZXJmYWNlIHdpdGggIFNhYVMsIGFuZCByZXNvbHZlIGlzc3VlcyB0aGF0IGFyaXNlLjxicj48YnI+VXNlIGtub3dsZWRnZSBvZiBNT0QgYW5kIERFJmFtcDtTIGFjY3JlZGl0YXRpb24gYW5kIGFzc3VyYW5jZSBzdXBwb3J0IHRoZSBwcm9qZWN0IGluIGdhaW5pbmcgYXBwcm92YWwgdG8gdGVzdCBhbmQgYXBwcm92YWwgdG8gb3BlcmF0ZS4gPGJyPjxicj5TdXBwb3J0IHRlc3RpbmcgYW5kIHRoZSBjb3JyZWN0aW9uIG9mIGRlZmVjdHMgaWRlbnRpZmllZC48YnI+PGJyPkxlYWQgZGF0YSBtaWdyYXRpb24sIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgc3RyYXRlZ2llcyBkZXZlbG9wZWQuIDxicj48YnI+Q29uZmlndXJlIHRvIE1PRCBhbmQgREUmYW1wO1MgcmVxdWlyZW1lbnRzIGFuZCB0ZXN0IE9yYWNsZSBJbnRlbGxpZ2VudCBBc3Npc3RhbnQsIGFuZCB0cmFuc2ZlciBrbm93bGVkZ2UgdG8gREUmYW1wO1MgYW5kIE1PRCBzdGFmZi48YnI+PGJyPlN1cHBvcnQgdGhlIGZpcnN0IHRocmVlIG1vbnRocyBvZiBTYWFTIG9wZXJhdGlvbiBlbnN1cmluZyBNT0QgYW5kIERFJmFtcDtTIGFyZSBjb21wZXRlbnQgdG8gdW5kZXJ0YWtlIHRoZSBtYW5hZ2VtZW50IGFuZCBtYWludGVuYW5jZSBvZiBTYWFTIHBvc3Qgcm9sbC1vZmYuPGJyPjxicj5SZXF1aXJlZCB0byBnYWluIGEgZnVsbCB1bmRlcnN0YW5kaW5nIG9mIHRoZSBzeXN0ZW0gY29uZmlndXJhdGlvbiwgaW50ZXJmYWNlIHNwZWNpZmljYXRpb25zIGFuZCBjaGFuZ2UgYW5kIHNlcnZpY2UgZGVsaXZlcnkgZGlyZWN0aW9uIGFzIHBhcnQgb2YgYSBoYW5kb3ZlciBmcm9tIHRoZSBpbmN1bWJlbnQuCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIFdobyB0aGUgdXNlcnMgYXJlIGFuZCB3aGF0IHRoZXkgbmVlZCB0byBkbwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIEFjY2VzcyBpcyBieSBNT0QgZGV2aWNlIG9ubHkuIH41NiwwMDAgdXNlcnMgY3VycmVudGx5IHVzaW5nIGEgYmVzcG9rZSBQZW9wbGVTb2Z0IEhSIHN5c3RlbSwgaW5jbHVkaW5nIH4xMiwwMDAgdXNlcnMgaW4gREUmYW1wO1MgYW5kIH4gNywwMDAgbWlsaXRhcnkgbGluZSBtYW5hZ2VycyB3aWxsIHVzZSBTYWFTIHRvIG1hbmFnZSBjaXZpbGlhbiBzdGFmZi4gQSBzbWFsbCBwb3B1bGF0aW9uIG9mIEFzc2lzdGVkIERpZ2l0YWwgKEFEKSB1c2VycyB3aWxsIGhhdmUgYWNjZXNzIHRvICBhc3Npc3RlZCBzZXJ2aWNlcy4gU2FhUyBIUiB3aWxsIG1vdmUgZW1wbG95ZWVzIGFuZCBtYW5hZ2VycyB0byBzZWxmIHNlcnZpY2UuIFNlcnZpY2UgcHJvdmlkZXJzIGFuZCBIUiBidXNpbmVzcyBwcm9mZXNzaW9uYWxzIHdpbGwgaGF2ZSBpbmNyZWFzZWQgYWNjZXNzdCB0byAgYnVpbHQgcmVwb3J0cyBhbmQgaW5mb3JtYXRpb24uIEFsbCB1c2VycyB0byBiZSB0cmFpbmVkIGFuZCBlbXBvd2VyZWQgdG8gZXhwbG9pdCB0aGUgc3lzdGVtIGZvciBzZWxmIHNlcnZpY2UgYW5kIHJlZHVjZSBkZW1hbmQgb24gc2VydmljZSBwcm92aWRlci4gQUQgdXNlcnMgdW5kZXJzdGFuZCB0aGUgc3lzdGVtIGFuZCBzZXJ2aWNlIHByb3ZpZGVkLiA8YnI+PGJyPlNlcnZpY2UgYW5kIEJ1c2luZXNzIENoYW5nZSBUZWFtcyB0byByZWNlaXZlIGtub3dsZWRnZSB0cmFuc2ZlciB0byBydW4gU2FhUy4KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgRWFybHkgbWFya2V0IGVuZ2FnZW1lbnQKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICAKICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgQW55IHdvcmsgdGhhdOKAmXMgYWxyZWFkeSBiZWVuIGRvbmUKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBTYWFTIGhhcyBiZWVuIGNvbmZpZ3VyZWQgdG8gbWVldCBNT0QgYW5kIERFJmFtcDtTIHJlcXVpcmVtZW50cy4gU3BlY2lmaWNhdGlvbiBkb2N1bWVudHMgaGF2ZSBiZWVuIHdyaXR0ZW4gYW5kIGludGVyZmFjZXMgYnVpbHQuIERhdGEgTWlncmF0aW9uIGhhcyBiZWVuIHVuZGVydGFrZW4uIERhdGEgY2xlYW5zaW5nIGhhcyBiZWVuIGluaXRpYXRlZC4gQnVzaW5lc3MgYW5kIFNlcnZpY2UgQ2hhbmdlIGhhcyBiZWVuIGlkZW50aWZpZWQuIEEgbmV3IFNlcnZpY2UgRGVsaXZlcnkgU2VydmljZSBhbmQgVGVjaG5pY2FsIERlbGl2ZXJ5IE1vZGVsIGhhdmUgYmVlbiBkZXNpZ25lZC4gUHJvY2VzcyBtYXBzIGhhdmUgYmVlbiBjb21wbGV0ZWQuIFNlcnZpY2UgYW5kIFVzZXIgdHJhaW5pbmcgbmVlZHMgYXJlIGluIHByb2Nlc3Mgb2YgYmVpbmcgaWRlbnRpZmllZC4KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgRXhpc3RpbmcgdGVhbQogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFRoZSBNT0QgRkhSUy1DaXYgcHJvamVjdCB0ZWFtIGlzICBqb2ludCBiZXR3ZWVuLCBNT0QgYW5kIERFJmFtcDtTLjxicj48YnI+TU9EIHRlYW06ICAyMyBmdWxsLXRpbWUgY2l2aWwgc2VydmFudHMgYWNyb3NzIDMtbG9jYXRpb25zOiBQcm9qZWN0IERpcmVjdG9yLCBCdXNpbmVzcyBDaGFuZ2UsIFVzZXIgUHJlcGFyYXRpb24gYW5kIENvbW1zIFRlYW0sIFNlcnZpY2UgVGVhbSwgVGVjaG5pY2FsIFRlYW0gYW5kIERlbGl2ZXJ5IFRlYW0uIFN1cHBvcnRlZCBieSBEQlMgYW5kIERlZmVuY2UtRGlnaXRhbC4gPGJyPjxicj5ERSZhbXA7UyB0ZWFtOiAyMSBmdWxsLXRpbWUgYW5kIDUgcGFydC10aW1lIGNpdmlsIHNlcnZhbnRzOiBQcm9qZWN0IE1hbmFnZW1lbnQsIEhSIFRlYW0sIEJ1c2luZXNzIEFuYWx5c2lzICwgQ2hhbmdlIFRlYW0sIGFuZCBUZWNobmljYWwgVGVhbS48YnI+PGJyPkEgb24tZ29pbmcgY29udHJhY3QgaXMgaW4gcGxhY2UgZm9yIE9yYWNsZSB0byBkZWxpdmVyIHRoZSBTYWFTIGFuZCBQYWFTLCAgVGhlIERlbGl2ZXJ5IFBhcnRuZXIgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBkZXNpZ24vZGVsaXZlcnkgb2YgTXlIUiBmdW5jdGlvbmFsaXR5IGFuZCBpbnRlcmZhY2VzIGJhc2VkIG9uIHVzZSBvZiBPcmFjbGUgSENNIGFuZCBQYWFTIHBsYXRmb3JtcyB1bmRlciBBdXRob3JpdHkgb3ZlcnNpZ2h0LgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBDdXJyZW50IHBoYXNlCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgQmV0YQogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAo8L2RsPgoKICA8aDIgaWQ9Im9wcG9ydHVuaXR5LWF0dHJpYnV0ZXMtMyIgY2xhc3M9ImdvdnVrLWhlYWRpbmctbSBhcHAtc3VtbWFyeS1saXN0LWhlYWRpbmciPldvcmsgc2V0dXA8L2gyPgogIAogIAoKCiAgCgogIAoKICAKPGRsIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3QgYXBwLWdvdnVrLXN1bW1hcnktbGlzdCBhcHAtZ292dWstc3VtbWFyeS1saXN0LS10b3AtYm9yZGVyIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS04Ij4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgQWRkcmVzcyB3aGVyZSB0aGUgd29yayB3aWxsIHRha2UgcGxhY2UKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICBNT0QgREJTIGFuZCBERSZhbXA7UyBUZWNobmljYWwgYW5kIFNlcnZpY2UgdGVhbSBsZWFkcywgdGhlIFBNTyBhbmQgREUmYW1wO1MgQnVzaW5lc3MgQ2hhbmdlIGFuZCBDSU8gRGV2ZWxvcG1lbnQgYXJlIGluIEFiYmV5IFdvb2QsIHNlcGFyYXRlIHNpdGVzLjxicj7igKIJREJTLCBNT0QgQWJiZXkgV29vZCBOb3J0aCwgQlMzNCA4UVcgYW5kIDxicj7igKIJREUmYW1wO1MgQWJiZXkgV29vZCBTb3V0aCwgQlMzNCA4SkguIDxicj48YnI+TU9EIEJ1c2luZXNzIENoYW5nZSwgUHJvZHVjdCBPd25lciBhbmQgUHJvamVjdCBEaXJlY3RvciwgYmFzZWQgaW4gTG9uZG9uOiA8YnI+4oCiCTYtSiBNT0QgTWFpbiBCdWlsZGluZywgV2hpdGVoYWxsLCBMb25kb24uIFNXMUEgMkhCLiAgPGJyPjxicj5NT0QgREJTIGFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24gYW5kIHBhcnRzIG9mIHRoZSBzZXJ2aWNlIGFuZCB0ZWNobmljYWwgdGVhbXMgYXJlIGluIE1hbmNoZXN0ZXIgYW5kIERFJmFtcDtTIGluIEJyaXN0b2w6IDxicj7igKIJREJTLCBEYWlyeSBMYW5lLCBDaGVhZGxlIEh1bG1lLCBTSzggN05VLjxicj5hbmQ8YnI+4oCiCURFJmFtcDtTIEJ1c2luZXNzIENoYW5nZSBBYmJleSBXb29kIFNvdXRoLCBCUzM0IDhKSAogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBXb3JraW5nIGFycmFuZ2VtZW50cwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIEF0IHRoZSBjdXJyZW50IHRpbWUgdGhlIHRlYW0gaXMgd29ya2luZyByZW1vdGVseSB3aXRoIHZpcnR1YWwgbWVldGluZ3MuIExpbWl0ZWQgTU9EIGRldmljZXMgYXJlIGF2YWlsYWJsZSBhbmQgcGFydG5lcnMgbmVlZCB0byB1c2Ugb3duIGRldmljZXMgIGZvciBjb2xsYWJvcmF0aXZlIHdvcmtpbmcuPGJyPjxicj5Ob3JtYWxseSBpdCB3b3VsZCBiZSBleHBlY3RlZCB0aGUgUGFydG5lciB3b3VsZCB3b3JrIGFsb25nc2lkZSBNT0QgY2l2aWwgc2VydmFudHMgb24gc2l0ZS48YnI+PGJyPk1PRDogUGFydG5lciBzaG91bGQgaGF2ZSBhIHN1aXRhYmxlIHByZXNlbmNlIGluIERCUyBCcmlzdG9sIGFuZCBEQlMgQ2hlYWRsZSBIdWxtZSAgKDItNCBkYXlzIGEgd2VlayksIExvbmRvbiAoMS0yIGRheXMgcGVyIHdlZWspIDxicj48YnI+REUmYW1wO1M6IFBhcnRuZXIgc2hvdWxkIGhhdmUgYSBwcmVzZW5jZSBpbiBERSZhbXA7UyBCcmlzdG9sICgzLTQgZGF5cyBhIHdlZWspLjxicj5UcmF2ZWwgYmV0d2VlbiBhYm92ZSBkZWZlbmNlIGVzdGFibGlzaG1lbnRzIGFuZCB0aGUgd2lkZXIgZXN0YXRlIGluIGxpbmUgd2l0aCBwcm9qZWN0IG5lZWQuCiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIFNlY3VyaXR5IGNsZWFyYW5jZQogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIFNDIGVzc2VudGlhbDxicj48YnI+QWxsIHBlcnNvbm5lbCB1dGlsaXNlZCBieSBTdXBwbGllciBtdXN0IGhhdmUgU2VjdXJpdHkgQ2xlYXJhbmNlIGluIGFkdmFuY2Ugb2Ygc3RhcnRpbmcgY29udHJhY3QsIGR1ZSB0byB0aWdodCB0aW1lIGNvbnN0cmFpbnRzLgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAo8L2RsPgoKICA8aDIgaWQ9Im9wcG9ydHVuaXR5LWF0dHJpYnV0ZXMtNCIgY2xhc3M9ImdvdnVrLWhlYWRpbmctbSBhcHAtc3VtbWFyeS1saXN0LWhlYWRpbmciPkFkZGl0aW9uYWwgaW5mb3JtYXRpb248L2gyPgogIAogIAoKCiAgCjxkbCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0IGFwcC1nb3Z1ay1zdW1tYXJ5LWxpc3QgYXBwLWdvdnVrLXN1bW1hcnktbGlzdC0tdG9wLWJvcmRlciBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tOCI+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIEFkZGl0aW9uYWwgdGVybXMgYW5kIGNvbmRpdGlvbnMKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICDigKIJU3VwcGxpZXJzIG11c3QgdXNlIHRoZSBBdXRob3JpdHnigJlzIFB1cmNoYXNlIHRvIFBheW1lbnQgVG9vbCBjYWxsZWQgQ1AmYW1wO0Ygb3IgYmUgcHJlcGFyZWQgdG8gc2lnbiB1cCB0byB0aGUgdG9vbC48YnI+PGJyPuKAoglVc2Ugb2YgTU9EIGRldmljZXMgYW5kIFBhcnRuZXJzIG93biBkZXZpY2VzIHJlcXVpcmVkIGZvciBjb2xsYWJvcmF0aXZlIHdvcmtpbmcuPGJyPjxicj7igKIJQWRoZXJlbmNlIHRvIE1PRCBhbmQgREUmYW1wO1MgUG9saWN5IGFuZCBQcm9jZWR1cmVzLiBEZXRhaWwgd2lsbCBiZSBwcm92aWRlZCBhdCB0aGUgdGVuZGVyIHN0YWdlLCBmb3Igc3VwcGxpZXJzIHRoYXQgcGFzcyB0aGUgc2hvcnRsaXN0aW5nIHN0YWdlLjxicj48YnI+4oCiCUZ1cnRoZXIgZGVmZW5jZSBzcGVjaWZpYyBjb250cmFjdHVhbCBjb25kaXRpb25zIHdpbGwgYXBwbHksIHRoZXNlIHdpbGwgYmUgY29uZmlybWVkIGxhdGVyIGluIHRoZSB0ZW5kZXJpbmcgcHJvY2Vzcy4gPGJyPjxicj7igKIJTWF4aW11bSBjbGFzc2lmaWNhdGlvbiBmb3IgdGhpcyByZXF1aXJlbWVudCB3aWxsIGJlIE9mZmljaWFsIFNlbnNpdGl2ZS48YnI+PGJyPuKAoglJUjM1IGRvZXMgbm90IGFwcGx5LgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAo8L2RsPgoKICA8aDIgaWQ9Im9wcG9ydHVuaXR5LWF0dHJpYnV0ZXMtNSIgY2xhc3M9ImdvdnVrLWhlYWRpbmctbSBhcHAtc3VtbWFyeS1saXN0LWhlYWRpbmciPlNraWxscyBhbmQgZXhwZXJpZW5jZTwvaDI+CiAgCiAgPHAgY2xhc3M9ImdvdnVrLWJvZHkgZ292dWstIS1tYXJnaW4tdG9wLTMiPkJ1eWVycyB3aWxsIHVzZSB0aGUgZXNzZW50aWFsIGFuZCBuaWNlLXRvLWhhdmUgc2tpbGxzIGFuZCBleHBlcmllbmNlIHRvIGhlbHAgdGhlbSBldmFsdWF0ZSBzdXBwbGllcnPigJkgdGVjaG5pY2FsIGNvbXBldGVuY2UuPC9wPgogIAogIAogIAoKCiAgCgogIAo8ZGwgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdCBhcHAtZ292dWstc3VtbWFyeS1saXN0IGFwcC1nb3Z1ay1zdW1tYXJ5LWxpc3QtLXRvcC1ib3JkZXIgZ292dWstIS1tYXJnaW4tYm90dG9tLTgiPgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBFc3NlbnRpYWwgc2tpbGxzIGFuZCBleHBlcmllbmNlCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgPHVsIGNsYXNzPSJnb3Z1ay1saXN0IGdvdnVrLWxpc3QtLWJ1bGxldCI+CiAgICAgICAgICA8bGk+RXhwZXJpZW5jZSwgd2l0aGluIHRoZSBsYXN0IDQgeWVhcnMsIG9mIGVuZ2luZWVyaW5nIE9yYWNsZSBiYXNlZCBTYWFTL1BhYVMgc29sdXRpb25zIHRoYXQgYWxpZ24gdG8gdGhlIGJ1c2luZXNzIHJlcXVpcmVtZW50cy4gKDVwdHMpPC9saT4KICAgICAgICAgIDxsaT5FeHBlcmllbmNlIG9mIHVuZGVydGFraW5nIGVuZCB0byBlbmQgdGVzdGluZyBvZiBhIFNhYVMvUGFhUyBzb2x1dGlvbiB3aXRoaW4gYSBtdWx0aSB2ZW5kb3IgZGVsaXZlcnkgbW9kZWwuICg1cHRzKTwvbGk+CiAgICAgICAgICA8bGk+RXhwZXJpZW5jZSwgd2l0aGluIHRoZSBsYXN0IDQgeWVhcnMsIG9mIHRyYW5zaXRpb25pbmcgdG8gbGl2ZSBhICBTYWFTL1BhYVMgc29sdXRpb24gd2l0aG91dCBpbXBhY3Rpbmcgb24gdGhlIGJ1c2luZXNzLiAoNXB0cyk8L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2UsIHdpdGhpbiB0aGUgbGFzdCA0IHllYXJzLCBvZiBwcm92aWRpbmcgZWFybHkgbGlmZSBzdXBwb3J0IHBvc3QgZ28gbGl2ZSBvZiBTYWFTL1BhYVMgdG8gc3lzdGVtIG9wZXJhdG9ycy4gKDVwdHMpPC9saT4KICAgICAgICAgIDxsaT5FeHBlcmllbmNlIGluIGdhaW5pbmcgc2VjdXJpdHkgYW5kIGNvbXBsaWFuY2UgYXBwcm92YWwgdG8gb3BlcmF0ZSBjbG91ZCBzb2x1dGlvbnMgd2l0aGluIGEgR292ZXJubWVudCBEZXBhcnRtZW50LiAoNXB0cyk8L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2Ugb2YgZGVsaXZlcmluZyBhbmQgdGVzdGluZyBvZiBzZWN1cmUgaW50ZWdyYXRpb25zIHdpdGhpbiBjbG91ZC9vbi1wcmVtaXNlIGh5YnJpZCBhcmNoaXRlY3R1cmVzIHRvIGVuYWJsZSBwcm9jZXNzIGhhbmQtb2ZmcywgdGhlIGdlbmVyYXRpb24gb2YgYnVzaW5lc3MgaW50ZWxsaWdlbmNlIGFuZCBhcmNoaXZpbmcuICg1cHRzKTwvbGk+CiAgICAgICAgICA8bGk+RXhwZXJpZW5jZSBvZiBlbmFibGluZyBzZXJ2aWNlcyBhbmQgdHJhbnNpdGlvbmluZyB1c2VycyB0byBhIG5ldyBzb2x1dGlvbiB3aGlsc3QgY29tcGx5aW5nICB3aXRoIERQQTE4L0dEUFIgbGVnaXNsYXRpb24uICg4cHRzKTwvbGk+CiAgICAgICAgICA8bGk+RXhwZXJpZW5jZSBvZiB0YWtpbmcgYSBjdXN0b21lciB0aHJvdWdoIHNlcnZpY2UgcmVhZGluZXNzIHRvIHRyYW5zaXRpb24gYW5kIG9wZXJhdGlvbiBvZiBhIG5ldyBTYWFTIHNvbHV0aW9uIGFuZCBzZXJ2aWNlIHRvIGNpcmNhIDU1LDAwMCB1c2Vycy4gKDhwdHMpPC9saT4KICAgICAgICAgIDxsaT5FeHBlcmllbmNlIG9mIHRha2luZyBvdmVyIGEgc3lzdGVtIGJ1aWxkLCBidXNpbmVzcyBjaGFuZ2UgYXBwcm9hY2ggYW5kIHNlcnZpY2UgZGVzaWduIGZyb20gYSBwcmV2aW91cyBwYXJ0bmVyLCBkZWxpdmVyaW5nIHNtb290aCB0cmFuc2l0aW9uIHRocm91Z2ggU0lULCBVQVQsIGJ1c2luZXNzIGFuZCB1c2VyIHByZXBhcmVkbmVzcy4gKDRwdHMpPC9saT4KICAgICAgICAgIDxsaT5FeHBlcmllbmNlLCB3aXRoaW4gdGhlIGxhc3QgNSB5ZWFycywgb2YgYXNzaXN0aW5nIGEgY3VzdG9tZXIgaW4gbWFuYWdpbmcgY2hhbmdlIGFuZCBvbmdvaW5nIGZ1bmN0aW9uYWxpdHkgZGVzaWduIGFuZCBkZWxpdmVyeSBpbiBhIGNvbXBsZXggbXVsdGktc3Rha2Vob2xkZXIgZW52aXJvbm1lbnQuICAoNHB0cyk8L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2UsIHdpdGhpbiB0aGUgbGFzdCA1IHllYXJzLCBvZiBob3cgeW91IGlkZW50aWZpZWQsIGFzc2Vzc2VkIGFuZCBzdXBwb3J0ZWQgYnVzaW5lc3MgY29uZmlndXJhdGlvbiBjaGFuZ2VzIHJlcXVpcmVkIHRvIGltcGxlbWVudCBTYWFTLiAoNXB0cyk8L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2UgaWRlbnRpZnlpbmcgdGhlICBhc3NvY2lhdGVkIGJ1c2luZXNzIGNoYW5nZSBpbXBhY3QgKHBlb3BsZSwgcG9saWN5IG9yIHNlcnZpY2UpIHJlcXVpcmVkIHRvIGltcGxlbWVudCBTYWFTLiAoNXB0cyk8L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2UsIHdpdGhpbiB0aGUgbGFzdCA1IHllYXJzLCBvZiBlc3RhYmxpc2hpbmcgYSBTYWFTIEhSIHNlcnZpY2UsIHlvdXIgc3RyYXRlZ3kgZm9yIGRldmVsb3BtZW50IG9mIHN1cHBvcnQgbWF0ZXJpYWwgYW5kIHRyYWluaW5nIGZvciB1c2VycywgdGhlIGJ1c2luZXNzIGFuZCBzZXJ2aWNlIGRlbGl2ZXJ5LiAoNXB0cyk8L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2UsIHdpdGhpbiB0aGUgbGFzdCA1IHllYXJzLCBvZiB0cmFuc2ZlcnJpbmcga25vd2xlZGdlIHRvIHRoZSBjdXN0b21lciBhbmQgZGVtb25zdHJhdGluZyB0aGUgY3VzdG9tZXIgaXMgY29tcGV0ZW50IHRvIHByb3ZpZGUgZWZmZWN0aXZlIHN1cHBvcnQgd2l0aG91dCBleHRlcm5hbCBhc3Npc3RhbmNlLiAoOHB0cyk8L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2UsIHdpdGhpbiB0aGUgbGFzdCA1IHllYXJzLCBvZiBnYWluaW5nIGVuZ2FnZW1lbnQgYW5kIGNvbW11bmljYXRpbmcgd2l0aCBhIGxhcmdlIChjaXJjYSA1NSwwMDApIGRpdmVyc2UgYW5kIGdlb2dyYXBoaWNhbGx5IGRpc3BlcnNlZCB3b3JrLWZvcmNlLCB3aGVyZSBzaWduaWZpY2FudCBjdWx0dXJhbCBhbmQgYmVoYXZpb3VyYWwgY2hhbmdlIHdhcyByZXF1aXJlZC4gKDRwdHMpPC9saT4KICAgICAgICAgIDxsaT5FeHBlcmllbmNlIG9mIHN1Y2Nlc3NmdWxseSBidWlsZGluZywgY29uZmlndXJpbmcsIG9yIGV4dGVuZGluZyBPcmFjbGUgRGlnaXRhbCBBc3Npc3RhbnQgKE9EQSkgIHRvIHRoZSAgY3VzdG9tZXImIzM5O3MgcmVxdWlyZW1lbnRzLiAoNHB0cyk8L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2Ugb2YgbGVhcm5pbmcgZnJvbSBvdGhlcnMgYW5kIGJlbmNobWFya2luZyB0byBpbXByb3ZlIHRoZSBkZWxpdmVyeSBvZiB0aGUgcHJvamVjdCBvdXRwdXRzL291dGNvbWVzLiAoNHB0cyk8L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIE5pY2UtdG8taGF2ZSBza2lsbHMgYW5kIGV4cGVyaWVuY2UKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICA8dWwgY2xhc3M9ImdvdnVrLWxpc3QgZ292dWstbGlzdC0tYnVsbGV0Ij4KICAgICAgICAgIDxsaT5FeHBlcmllbmNlLCB3aXRoaW4gdGhlIGxhc3QgNCB5ZWFycywgb2YgcmVzb2x2aW5nIGlzc3VlcyB3aXRoIHRoZSBtaWdyYXRpb24gdG8gYSBTYWFTIHNvbHV0aW9uLiAoMnB0cyk8L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2UsIHdpdGhpbiB0aGUgbGFzdCA0IHllYXJzLCBvZiBlbmdpbmVlcmluZyBPcmFjbGUgYmFzZWQgU2FhUy9QYWFTIHNvbHV0aW9ucyB1c2luZyBGdXNpb24gQXBwbGljYXRpb25zIEh1bWFuIENhcGl0YWwgTWFuYWdlbWVudCAoSENNKSB0aGF0IGFsaWduIHRvIHRoZSBidXNpbmVzcyByZXF1aXJlbWVudHMuICgzcHRzKTwvbGk+CiAgICAgICAgICA8bGk+RXhwZXJpZW5jZSBpbiBnYWluaW5nIHNlY3VyaXR5IGFuZCBjb21wbGlhbmNlIGFwcHJvdmFsIHRvIG9wZXJhdGUgY2xvdWQgc29sdXRpb25zIHdpdGhpbiBhIERlZmVuY2UgZW52aXJvbm1lbnQuICgycHRzKTwvbGk+CiAgICAgICAgICA8bGk+RXhwZXJpZW5jZSBvZiBzdXBwb3J0aW5nIHRoZSBjdXN0b21lciB0aHJvdWdoIHRoZSBHb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZSBBc3Nlc3NtZW50cyBwcm9jZXNzLiAoMnB0cyk8L2xpPgogICAgICAgICAgPGxpPkV4cGVyaWVuY2Ugb2YgZGVwbG95aW5nIHJlbGV2YW50IHNraWxsc2V0IHRvIGFkZHJlc3MgbmV3IGNoYWxsZW5nZXMgb3IgaXNzdWVzIGFzIHRoZXkgbWF0ZXJpYWxpc2UuICgycHRzKTwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKPC9kbD4KCiAgPGgyIGlkPSJvcHBvcnR1bml0eS1hdHRyaWJ1dGVzLTYiIGNsYXNzPSJnb3Z1ay1oZWFkaW5nLW0gYXBwLXN1bW1hcnktbGlzdC1oZWFkaW5nIj5Ib3cgc3VwcGxpZXJzIHdpbGwgYmUgZXZhbHVhdGVkPC9oMj4KICAKICA8cCBjbGFzcz0iZ292dWstYm9keSBnb3Z1ay0hLW1hcmdpbi10b3AtMyI+QWxsIHN1cHBsaWVycyB3aWxsIGJlIGFza2VkIHRvIHByb3ZpZGUgYSB3cml0dGVuIHByb3Bvc2FsLjwvcD4KICAKICAKCgogIAoKICAKCiAgCgogIAoKICAKCiAgCjxkbCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0IGFwcC1nb3Z1ay1zdW1tYXJ5LWxpc3QgYXBwLWdvdnVrLXN1bW1hcnktbGlzdC0tdG9wLWJvcmRlciBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tOCI+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIEhvdyBtYW55IHN1cHBsaWVycyB0byBldmFsdWF0ZQogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIDQKICAgICAgPC9kZD4KICAgICAgCiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fcm93Ij4KICAgICAgPGR0IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSI+CiAgICAgICAgUHJvcG9zYWwgY3JpdGVyaWEKICAgICAgPC9kdD4KICAgICAgPGRkIGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIj4KICAgICAgICA8dWwgY2xhc3M9ImdvdnVrLWxpc3QgZ292dWstbGlzdC0tYnVsbGV0Ij4KICAgICAgICAgIDxsaT5UaGUgcHJvcG9zZWQgdGVhbSBoYXMgZGVtb25zdHJhYmxlIHJlbGV2YW50IGV4cGVyaWVuY2UgYW5kIHNraWxscyB0byBkZWxpdmVyIHRoZSBmdWxsIG91dGNvbWUuICgxMHB0cyk8L2xpPgogICAgICAgICAgPGxpPlRoZSBwcm9wb3NhbCBkZW1vbnN0cmF0ZXMgYSBjbGVhciBhbmQgY29tcGV0ZW50IGFwcHJvYWNoIHRvIGVuZ2luZWVyaW5nIFNhYVMgYW5kIFBhYVMgc29sdXRpb25zLiAoMTBwdHMpPC9saT4KICAgICAgICAgIDxsaT5UaGUgcHJvcG9zYWwgZGVtb25zdHJhdGVzIGEgY2xlYXIgYW5kIGNvbXBldGVudCBhcHByb2FjaCB0byBlbmQgdG8gZW5kIHNvbHV0aW9uIHRlc3RpbmcuICgxMHB0cyk8L2xpPgogICAgICAgICAgPGxpPlRoZSBwcm9wb3NhbCBkZW1vbnN0cmF0ZXMgYSBjbGVhciBhbmQgY29tcGV0ZW50IGFwcHJvYWNoIHRvIFRyYW5zaXRpb24gdG8gbGl2ZSBzZXJ2aWNlIGNvdmVyaW5nIHRlY2huaWNhbCwgYnVzaW5lc3MsIGN1bHR1cmFsIGFuZCBzdXBwb3J0IGFzcGVjdHMsIHdoaWxzdCBhY2tub3dsZWRnaW5nIGNoYWxsZW5nZXMuICgyMHB0cyk8L2xpPgogICAgICAgICAgPGxpPlRoZSBwcm9wb3NhbCBkZW1vbnN0cmF0ZXMgYSBjbGVhciBhbmQgY29tcGV0ZW50IGFwcHJvYWNoIGZvciBFYXJseSBMaWZlIFN1cHBvcnQgdGhhdCBtZWV0cyB0aGUgQXV0aG9yaXR54oCZcyBnb2FsIHRvIHN1cHBvcnQgdGhlIHNvbHV0aW9uIGluLXNlcnZpY2UgdXNpbmcgY2l2aWwgc2VydmFudHMgbm90IGNvbnRyYWN0b3JzLiAoMTBwdHMpPC9saT4KICAgICAgICAgIDxsaT5UaGUgcHJvcG9zYWwgZGVtb25zdHJhdGVzIGhvdyB0aGUgQXV0aG9yaXR5IHJlcXVpcmVtZW50cyBmb3IgZW5kIHRvIGVuZCBzZWN1cml0eSBvZiB0aGUgc29sdXRpb24gYW5kIGNvbXBsaWFuY2Ugd2l0aCBEUEExOCBhcmUgZW1iZWRkZWQuICg1cHRzKTwvbGk+CiAgICAgICAgICA8bGk+VGhlIHByb3Bvc2FsIGRlbW9uc3RyYXRlcyBhIGNsZWFyIGFuZCBjb21wZXRlbnQgYXBwcm9hY2ggdG8gSGFuZC1PdmVyL1Rha2UtT3ZlciBmcm9tIHRoZSBpbmN1bWJlbnQgb3ZlciBhIDMtNCB3ZWVrIHBlcmlvZC4gKDVwdHMpPC9saT4KICAgICAgICAgIDxsaT5UaGUgcHJvcG9zYWwgZGVtb25zdHJhdGVzIGEgY2xlYXIgYW5kIGNvbXBldGVudCBhcHByb2FjaCB0byBpbnRlcmFjdGluZyB3aXRoIG11bHRpcGxlIHN0YWtlaG9sZGVycyBmcm9tIGFjcm9zcyB0aGUgYnVzaW5lc3MuICg1cHRzKTwvbGk+CiAgICAgICAgICA8bGk+VGhlIHByb3Bvc2FsIGRlbW9uc3RyYXRlcyBhIGNsZWFyIGFuZCBjb21wZXRlbnQgYXBwcm9hY2ggdG8gbWFuYWdpbmcgY29uZmlndXJhdGlvbiBjaGFuZ2UgYW5kIGFzc2Vzc2luZyB0aGUgaW1wYWN0cyBvbiBhbnkgYnVzaW5lc3MgY2hhbmdlcy4gKDVwdHMpPC9saT4KICAgICAgICAgIDxsaT5UaGUgcHJvcG9zYWwgZGVtb25zdHJhdGVzIGEgY2xlYXIgYW5kIGNvbXBldGVudCBhcHByb2FjaCB0byB0aGUgcHJvdmlzaW9uIG9mIHN1cHBvcnQgYW5kIHRyYWluaW5nIG1hdGVyaWFscy4gICg1cHRzKTwvbGk+CiAgICAgICAgICA8bGk+VGhlIHByb3Bvc2FsIHByb3ZpZGVzIGNsZWFyIGFuZCBjb21wZXRlbnQgYXBwcm9hY2ggdG8gY29tbXVuaWNhdGluZyBjaGFuZ2UgYWNyb3NzIHRoZSBsYXJnZSwgZGl2ZXJzZSBhbmQgZ2VvZ3JhcGhpY2FsbHkgZGlzcGVyc2VkIHdvcmtmb3JjZS4gKDVwdHMpPC9saT4KICAgICAgICAgIDxsaT5UaGUgcHJvcG9zYWwgZGVzY3JpYmVzIGEgY2xlYXIgYW5kIGNvbXBldGVudCBhcHByb2FjaCB0byBidWlsZGluZy9jb25maWd1cmluZyBvciBleHRlbmRpbmcgT3JhY2xlIERpZ2l0YWwgQXNzaXN0YW50LiAoNXB0cyk8L2xpPgogICAgICAgICAgPGxpPlRoZSBwcm9wb3NhbCBkZW1vbnN0cmF0ZXMgY29udGludW91cyBsZWFybmluZyB0byBzdXBwb3J0IGRlbGl2ZXJ5IG9mIGltcHJvdmVkIG91dGNvbWVzLiAoNXB0cyk8L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIEN1bHR1cmFsIGZpdCBjcml0ZXJpYQogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIDx1bCBjbGFzcz0iZ292dWstbGlzdCBnb3Z1ay1saXN0LS1idWxsZXQiPgogICAgICAgICAgPGxpPldvcmtzIGFzIGEgdGVhbSB3aXRoIG9yZ2FuaXNhdGlvbnMgYW5kIHN0YWtlaG9sZGVyczwvbGk+CiAgICAgICAgICA8bGk+SW5mb3JtcywgZW1wb3dlcnMgYW5kIGNhdGFseXNlcyB0aW1lbHkgY2xpZW50IGRlY2lzaW9uIG1ha2luZyBhbmQgbWFuYWdlbWVudCBvZiByaXNrcy9pc3N1ZXM8L2xpPgogICAgICAgICAgPGxpPlRyYW5zcGFyZW50IGFuZCBob25lc3Qgd2l0aCBjbGllbnRzIGFuZCBmb3JnZXMgc3Ryb25nIHJlbGF0aW9uc2hpcHMgYmFzZWQgb24gbXV0dWFsIHJlc3BlY3Q8L2xpPgogICAgICAgICAgPGxpPldvcmtzIGNvbGxhYm9yYXRpdmVseSBhY3Jvc3MgbXVsdGlwbGUgbG9jYXRpb25zIGFuZCBvcmdhbmlzYXRpb25zIHRvIGFjaGlldmUgc3VjY2VzczwvbGk+CiAgICAgICAgICA8bGk+RHJpdmVzIHdvcmsgZm9yd2FyZCwgdGFraW5nIHRoZSBpbml0aWF0aXZlIGFuZCBjYXRhbHlzaW5nIHByb2dyZXNzPC9saT4KICAgICAgICAgIDxsaT5UYWtlcyByZXNwb25zaWJpbGl0eSBmb3IgZGVsaXZlcnkgb2YgdGhlaXIgd29yazwvbGk+CiAgICAgICAgICA8bGk+QXNzdXJlcyB0aGUgcXVhbGl0eSBvZiB0aGVpciB3b3JrLCBiZW5jaG1hcmtpbmcgYWdhaW5zdCBiZXN0IHByYWN0aWNlL290aGVyIG9yZ2FuaXNhdGlvbnMgYW5kIG9wZW4gdG8gc2hhcmluZyB0aG9zZSBpbXByb3ZlbWVudHMgdG8gdGhlIGJlbmVmaXQgb2YgdGhlIGJ1eWVyPC9saT4KICAgICAgICAgIDxsaT5TaGFyZXMga25vd2xlZGdlIHRvIHVwc2tpbGwgaW4taG91c2UgdGVhbXM8L2xpPgogICAgICAgICAgPGxpPkFkZHMgdmFsdWUgcHJvYWN0aXZlbHkgdG8gc3RyZW5ndGhlbiBwcm9qZWN0IG91dHB1dHMsIHN0cmF0ZWdpZXMgYW5kIHRoaW5raW5nPC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBQYXltZW50IGFwcHJvYWNoCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgQ2FwcGVkIHRpbWUgYW5kIG1hdGVyaWFscwogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19yb3ciPgogICAgICA8ZHQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5Ij4KICAgICAgICBBZGRpdGlvbmFsIGFzc2Vzc21lbnQgbWV0aG9kcwogICAgICA8L2R0PgogICAgICA8ZGQgY2xhc3M9ImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUiPgogICAgICAgIDx1bCBjbGFzcz0iZ292dWstbGlzdCBnb3Z1ay1saXN0LS1idWxsZXQiPgogICAgICAgICAgPGxpPkNhc2Ugc3R1ZHk8L2xpPgogICAgICAgICAgPGxpPldvcmsgaGlzdG9yeTwvbGk+CiAgICAgICAgICA8bGk+UmVmZXJlbmNlPC9saT4KICAgICAgICAgIDxsaT5QcmVzZW50YXRpb248L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvZGQ+CiAgICAgIAogICAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyI+CiAgICAgIDxkdCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X19rZXkiPgogICAgICAgIEV2YWx1YXRpb24gd2VpZ2h0aW5nCiAgICAgIDwvZHQ+CiAgICAgIDxkZCBjbGFzcz0iZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSI+CiAgICAgICAgPHAgY2xhc3M9ImdvdnVrLWJvZHkgZ292dWstIS1tYXJnaW4tdG9wLTAgZ292dWstIS1tYXJnaW4tYm90dG9tLTEiPlRlY2huaWNhbCBjb21wZXRlbmNlPC9wPgogICAgICAgIDxkaXY+NjAlPC9kaXY+CiAgICAgICAgPHAgY2xhc3M9ImdvdnVrLWJvZHkgZ292dWstIS1tYXJnaW4tdG9wLTMgZ292dWstIS1tYXJnaW4tYm90dG9tLTEiPkN1bHR1cmFsIGZpdDwvcD4KICAgICAgICA8ZGl2PjEwJTwvZGl2PgogICAgICAgIDxwIGNsYXNzPSJnb3Z1ay1ib2R5IGdvdnVrLSEtbWFyZ2luLXRvcC0zIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0xIj5QcmljZTwvcD4KICAgICAgICA8ZGl2PjMwJTwvZGl2PgogICAgICA8L2RkPgogICAgICAKICAgIDwvZGl2PgogIAo8L2RsPgoKICA8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImdvdnVrLWdyaWQtcm93Ij4KICA8ZGl2IGNsYXNzPSJnb3Z1ay1ncmlkLWNvbHVtbi1mdWxsIj4KICAgIAoKPGgyIGlkPSJjbGFyaWZpY2F0aW9uLXF1ZXN0aW9ucyIgY2xhc3M9ImdvdnVrLWhlYWRpbmctbSBhcHAtc3VtbWFyeS1saXN0LWhlYWRpbmciPlF1ZXN0aW9ucyBhc2tlZCBieSBzdXBwbGllcnM8L2gyPgogCjxwIGNsYXNzPSJzdW1tYXJ5LWl0ZW0tbm8tY29udGVudCI+Tm8gcXVlc3Rpb25zIGhhdmUgYmVlbiBhbnN3ZXJlZCB5ZXQ8L3A+CgoKCiAgPGEgY2xhc3M9ImdvdnVrLWxpbmsiIGhyZWY9Ii9zdXBwbGllcnMvb3Bwb3J0dW5pdGllcy8xMzE5OC9hc2stYS1xdWVzdGlvbiI+CiAgICAKICAgICAgTG9nIGluIHRvIGFzayBhIHF1ZXN0aW9uCiAgICAKICA8L2E+CgogIDwvZGl2Pgo8L2Rpdj4KCgogIDxici8+PCEtLSA8LSByZW1vdmUgb25jZSBncmlkIGFuZCBib2R5IGVsZW1lbnRzIGhhdmUgYmVlbiBjb252ZXJ0ZWQgdG8gZ292dWsgZnJvbnRlbmQgLS0+CiAgPGRpdiBjbGFzcz0iZ292dWstZ3JpZC1yb3ciPgogICAgPGRpdiBjbGFzcz0iZ292dWstZ3JpZC1jb2x1bW4tdHdvLXRoaXJkcyI+CiAgICAgIDxmb3JtIGFjdGlvbj0iL3N1cHBsaWVycy9vcHBvcnR1bml0aWVzLzEzMTk4L3Jlc3BvbnNlcy9zdGFydCIgbWV0aG9kPSJnZXQiPgogICAgICAgIAogIAogICAgCiAgCgo8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9ImdvdnVrLWJ1dHRvbiI+CiAgQXBwbHkgZm9yIHRoaXMgb3Bwb3J0dW5pdHkKPC9idXR0b24+CiAgICAgIDwvZm9ybT4KICAgIDwvZGl2PgogIDwvZGl2PgoKCgoKICAgICAgICA8L21haW4+CiAgICAgIDwvZGl2PgogICAgCgogICAgCiAgPGZvb3RlciBjbGFzcz0iZ292dWstZm9vdGVyICIgcm9sZT0iY29udGVudGluZm8iPgogIDxkaXYgY2xhc3M9ImdvdnVrLXdpZHRoLWNvbnRhaW5lciAiPgogICAgCiAgICAgIDxkaXYgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbmF2aWdhdGlvbiI+CiAgICAgICAgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1mb290ZXJfX3NlY3Rpb24iPgogICAgICAgICAgICA8aDIgY2xhc3M9ImdvdnVrLWZvb3Rlcl9faGVhZGluZyBnb3Z1ay1oZWFkaW5nLW0iPkFib3V0IERpZ2l0YWwgTWFya2V0cGxhY2U8L2gyPgogICAgICAgICAgICAKICAgICAgICAgICAgICAKICAgICAgICAgICAgICA8dWwgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdCAiPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZ292dWstZm9vdGVyX19saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayIgaHJlZj0iL2hlbHAiPgogICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0CiAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSJodHRwczovL3d3dy5nb3YudWsvZ3VpZGFuY2UvZGlnaXRhbC1tYXJrZXRwbGFjZS1idXllcnMtZ3VpZGUiPgogICAgICAgICAgICAgICAgICAgICAgICBTZXJ2aWNlcyB5b3UgY2FuIGJ1eQogICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZ292dWstZm9vdGVyX19saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuZ292LnVrL2d1aWRhbmNlL2RpZ2l0YWwtbWFya2V0cGxhY2Utc3VwcGxpZXJzLWd1aWRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgU2VydmljZXMgeW91IGNhbiBzZWxsCiAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSJodHRwczovL3d3dy5nb3YudWsvZ292ZXJubWVudC9vcmdhbmlzYXRpb25zL2Nyb3duLWNvbW1lcmNpYWwtc2VydmljZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0IENyb3duIENvbW1lcmNpYWwgU2VydmljZXMKICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvdi51ay9nb3Zlcm5tZW50L29yZ2FuaXNhdGlvbnMvZ292ZXJubWVudC1kaWdpdGFsLXNlcnZpY2UiPgogICAgICAgICAgICAgICAgICAgICAgICBBYm91dCBHb3Zlcm5tZW50IERpZ2l0YWwgU2VydmljZXMKICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Ii9nLWNsb3VkL3N1cHBsaWVycyI+CiAgICAgICAgICAgICAgICAgICAgICAgIEctQ2xvdWQgc3VwcGxpZXIgQSB0byBaCiAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAKICAgICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgICAgPGRpdiBjbGFzcz0iZ292dWstZm9vdGVyX19zZWN0aW9uIj4KICAgICAgICAgICAgPGgyIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2hlYWRpbmcgZ292dWstaGVhZGluZy1tIj5HdWlkYW5jZSBmb3IgdXNpbmcgRGlnaXRhbCBNYXJrZXRwbGFjZTwvaDI+CiAgICAgICAgICAgIAogICAgICAgICAgICAgIAogICAgICAgICAgICAgIDx1bCBjbGFzcz0iZ292dWstZm9vdGVyX19saXN0ICI+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSJodHRwczovL3d3dy5nb3YudWsvZ3VpZGFuY2UvZy1jbG91ZC1zdXBwbGllcnMtZ3VpZGUiPgogICAgICAgICAgICAgICAgICAgICAgICBBcHBseWluZyB0byBzZWxsIG9uIHRoZSBHLUNsb3VkIGZyYW1ld29yawogICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZ292dWstZm9vdGVyX19saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayIgaHJlZj0iaHR0cHM6Ly93d3cuZ292LnVrL2d1aWRhbmNlL2RpZ2l0YWwtb3V0Y29tZXMtYW5kLXNwZWNpYWxpc3RzLXN1cHBsaWVycy1ndWlkZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIEFwcGx5aW5nIHRvIHNlbGwgb24gdGhlIERPUyBmcmFtZXdvcmsKICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvdi51ay9ndWlkYW5jZS9ob3ctdG8tc2VsbC15b3VyLWRpZ2l0YWwtb3V0Y29tZXMtYW5kLXNwZWNpYWxpc3RzLXNlcnZpY2VzIj4KICAgICAgICAgICAgICAgICAgICAgICAgUmVzcG9uZGluZyB0byBidXllciByZXF1aXJlbWVudHMgb24gdGhlIERPUyBmcmFtZXdvcmsKICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvdi51ay9ndWlkYW5jZS9nLWNsb3VkLWJ1eWVycy1ndWlkZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIEJ1eWluZyBvbiB0aGUgRy1DbG91ZCBmcmFtZXdvcmsKICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvdi51ay9ndWlkYW5jZS9kaWdpdGFsLW91dGNvbWVzLWFuZC1zcGVjaWFsaXN0cy1idXllcnMtZ3VpZGUiPgogICAgICAgICAgICAgICAgICAgICAgICBCdXlpbmcgb24gdGhlIERPUyBmcmFtZXdvcmsKICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvdi51ay9ndWlkYW5jZS90aGUtY3Jvd24taG9zdGluZy1kYXRhLWNlbnRyZXMtZnJhbWV3b3JrLW9uLXRoZS1kaWdpdGFsLW1hcmtldHBsYWNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgQnV5aW5nIG9uIHRoZSBDcm93biBIb3N0aW5nIGZyYW1ld29yawogICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgPC9kaXY+CiAgICAgIDxociBjbGFzcz0iZ292dWstZm9vdGVyX19zZWN0aW9uLWJyZWFrIj4KICAgIAogICAgPGRpdiBjbGFzcz0iZ292dWstZm9vdGVyX19tZXRhIj4KICAgICAgPGRpdiBjbGFzcz0iZ292dWstZm9vdGVyX19tZXRhLWl0ZW0gZ292dWstZm9vdGVyX19tZXRhLWl0ZW0tLWdyb3ciPgogICAgICAgIAogICAgICAgICAgPGgyIGNsYXNzPSJnb3Z1ay12aXN1YWxseS1oaWRkZW4iPlN1cHBvcnQgbGlua3M8L2gyPgogICAgICAgICAgCiAgICAgICAgICAgIDx1bCBjbGFzcz0iZ292dWstZm9vdGVyX19pbmxpbmUtbGlzdCI+CiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImdvdnVrLWZvb3Rlcl9faW5saW5lLWxpc3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpbmsiIGhyZWY9Ii90ZXJtcy1hbmQtY29uZGl0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgVGVybXMgYW5kIGNvbmRpdGlvbnMKICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZ292dWstZm9vdGVyX19pbmxpbmUtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayIgaHJlZj0iL2Nvb2tpZXMiPgogICAgICAgICAgICAgICAgICAgIENvb2tpZXMKICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZ292dWstZm9vdGVyX19pbmxpbmUtbGlzdC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayIgaHJlZj0iL3ByaXZhY3ktbm90aWNlIj4KICAgICAgICAgICAgICAgICAgICBQcml2YWN5IG5vdGljZQogICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2lubGluZS1saXN0LWl0ZW0iPgogICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIiBocmVmPSIvYWNjZXNzaWJpbGl0eS1zdGF0ZW1lbnQiPgogICAgICAgICAgICAgICAgICAgIEFjY2Vzc2liaWxpdHkgc3RhdGVtZW50CiAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgCiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAKICAgICAgICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJnb3Z1ay1mb290ZXJfX21ldGEtY3VzdG9tIj4KICAgICAgICAgICAgICBCdWlsdCBieSB0aGUgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZ292LnVrL2dvdmVybm1lbnQvb3JnYW5pc2F0aW9ucy9nb3Zlcm5tZW50LWRpZ2l0YWwtc2VydmljZSIgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayI+R292ZXJubWVudCBEaWdpdGFsIFNlcnZpY2U8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgCiAgICAgICAgCiAgICAgICAgPHN2ZwogICAgICAgICAgcm9sZT0icHJlc2VudGF0aW9uIgogICAgICAgICAgZm9jdXNhYmxlPSJmYWxzZSIKICAgICAgICAgIGNsYXNzPSJnb3Z1ay1mb290ZXJfX2xpY2VuY2UtbG9nbyIKICAgICAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgICAgICAgIHZpZXdib3g9IjAgMCA0ODMuMiAxOTUuNyIKICAgICAgICAgIGhlaWdodD0iMTciCiAgICAgICAgICB3aWR0aD0iNDEiCiAgICAgICAgPgogICAgICAgICAgPHBhdGgKICAgICAgICAgICAgZmlsbD0iY3VycmVudENvbG9yIgogICAgICAgICAgICBkPSJNNDIxLjUgMTQyLjhWLjFsLTUwLjcgMzIuM3YxNjEuMWgxMTIuNHYtNTAuN3ptLTEyMi4zLTkuNkE0Ny4xMiA0Ny4xMiAwIDAgMSAyMjEgOTcuOGMwLTI2IDIxLjEtNDcuMSA0Ny4xLTQ3LjEgMTYuNyAwIDMxLjQgOC43IDM5LjcgMjEuOGw0Mi43LTI3LjJBOTcuNjMgOTcuNjMgMCAwIDAgMjY4LjEgMGMtMzYuNSAwLTY4LjMgMjAuMS04NS4xIDQ5LjdBOTggOTggMCAwIDAgOTcuOCAwQzQzLjkgMCAwIDQzLjkgMCA5Ny44czQzLjkgOTcuOCA5Ny44IDk3LjhjMzYuNSAwIDY4LjMtMjAuMSA4NS4xLTQ5LjdhOTcuNzYgOTcuNzYgMCAwIDAgMTQ5LjYgMjUuNGwxOS40IDIyLjJoM3YtODcuOGgtODBsMjQuMyAyNy41ek05Ny44IDE0NWMtMjYgMC00Ny4xLTIxLjEtNDcuMS00Ny4xczIxLjEtNDcuMSA0Ny4xLTQ3LjEgNDcuMiAyMSA0Ny4yIDQ3UzEyMy44IDE0NSA5Ny44IDE0NSIKICAgICAgICAgIC8+CiAgICAgICAgPC9zdmc+CiAgICAgICAgPHNwYW4gY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGljZW5jZS1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBBbGwgY29udGVudCBpcyBhdmFpbGFibGUgdW5kZXIgdGhlCiAgICAgICAgICA8YQogICAgICAgICAgICBjbGFzcz0iZ292dWstZm9vdGVyX19saW5rIgogICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy5uYXRpb25hbGFyY2hpdmVzLmdvdi51ay9kb2Mvb3Blbi1nb3Zlcm5tZW50LWxpY2VuY2UvdmVyc2lvbi8zLyIKICAgICAgICAgICAgcmVsPSJsaWNlbnNlIgogICAgICAgICAgPk9wZW4gR292ZXJubWVudCBMaWNlbmNlIHYzLjA8L2E+LCBleGNlcHQgd2hlcmUgb3RoZXJ3aXNlIHN0YXRlZAogICAgICAgIDwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbWV0YS1pdGVtIj4KICAgICAgICA8YQogICAgICAgICAgY2xhc3M9ImdvdnVrLWZvb3Rlcl9fbGluayBnb3Z1ay1mb290ZXJfX2NvcHlyaWdodC1sb2dvIgogICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cubmF0aW9uYWxhcmNoaXZlcy5nb3YudWsvaW5mb3JtYXRpb24tbWFuYWdlbWVudC9yZS11c2luZy1wdWJsaWMtc2VjdG9yLWluZm9ybWF0aW9uL3VrLWdvdmVybm1lbnQtbGljZW5zaW5nLWZyYW1ld29yay9jcm93bi1jb3B5cmlnaHQvIgogICAgICAgID7CqSBDcm93biBjb3B5cmlnaHQ8L2E+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CjwvZm9vdGVyPgoKCiAgICAKICA8c2NyaXB0IHNyYz0iL3N0YXRpYy9qYXZhc2NyaXB0cy9hcHBsaWNhdGlvbi5qcz82MTYxNDAzYzJjYTExN2YxOTBlNTZkODRlYzEzODM1ZiI+PC9zY3JpcHQ+CiAgCgogIDwvYm9keT4KPC9odG1sPg==
76
+ http_version:
77
+ recorded_at: Wed, 30 Sep 2020 10:27:10 GMT
78
78
  recorded_with: VCR 4.0.0
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'mechanize'
3
+ require "mechanize"
4
4
 
5
- require 'marketplace_opportunity_scraper/utils'
6
- require 'marketplace_opportunity_scraper/opportunity'
5
+ require "marketplace_opportunity_scraper/utils"
6
+ require "marketplace_opportunity_scraper/opportunity"
7
7
 
8
8
  module MarketplaceOpportunityScraper
9
- BASE_URL = 'https://www.digitalmarketplace.service.gov.uk'
9
+ BASE_URL = "https://www.digitalmarketplace.service.gov.uk"
10
10
  end
@@ -17,7 +17,7 @@ module MarketplaceOpportunityScraper
17
17
  expected_start_date
18
18
  ].freeze
19
19
 
20
- attr_reader *ATTRIBUTES
20
+ attr_reader(*ATTRIBUTES)
21
21
 
22
22
  def initialize(attrs)
23
23
  ATTRIBUTES.each do |a|
@@ -27,10 +27,10 @@ module MarketplaceOpportunityScraper
27
27
  end
28
28
 
29
29
  class << self
30
- def all(type: nil, status: 'open')
30
+ def all(type: nil, status: "open")
31
31
  url = build_url(type, status)
32
32
  page = mechanize.get(url)
33
- opportunities = page.search('.search-result')
33
+ opportunities = page.search(".app-search-result")
34
34
 
35
35
  opportunities.map { |o| opportunity_from_search_result(o) }
36
36
  end
@@ -46,42 +46,42 @@ module MarketplaceOpportunityScraper
46
46
  private
47
47
 
48
48
  def opportunity_from_id(id)
49
- url = BASE_URL + '/digital-outcomes-and-specialists/opportunities/' + id.to_s
49
+ url = BASE_URL + "/digital-outcomes-and-specialists/opportunities/" + id.to_s
50
50
  page = mechanize.get(url)
51
51
 
52
- title = page.at('h1')
52
+ title = page.at("h1")
53
53
 
54
54
  attrs = {
55
55
  page: page,
56
56
  id: id,
57
57
  title: title.text.strip,
58
58
  url: url,
59
- buyer: page.at('.context').text,
60
- location: text_from_label(page, 'Location'),
61
- published: date_from_label(page, 'Published'),
62
- question_deadline: date_from_label(page, 'Deadline for asking questions'),
63
- closing: date_from_label(page, 'Closing date for applications'),
64
- expected_start_date: date_from_label(page, 'Latest start date'),
65
- description: text_from_label(page, 'Summary of the work')
59
+ buyer: page.at(".govuk-caption-l").text,
60
+ location: text_from_label(page, "Location"),
61
+ published: date_from_label(page, "Published"),
62
+ question_deadline: date_from_label(page, "Deadline for asking questions"),
63
+ closing: date_from_label(page, "Closing date for applications"),
64
+ expected_start_date: date_from_label(page, "Latest start date"),
65
+ description: text_from_label(page, "Summary of the work")
66
66
  }
67
67
 
68
68
  new(attrs)
69
69
  end
70
70
 
71
71
  def opportunity_from_search_result(element)
72
- title = element.at('.search-result-title')
73
- url = BASE_URL + title.at('a').attributes['href'].value
72
+ title = element.at("h2")
73
+ url = BASE_URL + title.at("a").attributes["href"].value
74
74
 
75
- opportunity_from_id(url.split('/').last.to_i)
75
+ opportunity_from_id(url.split("/").last.to_i)
76
76
  end
77
77
  end
78
78
 
79
79
  def budget
80
- text_from_label('Budget range')
80
+ text_from_label("Budget range")
81
81
  end
82
82
 
83
83
  def skills
84
- list = find_by_label('Essential skills and experience').search('li')
84
+ list = find_by_label("Essential skills and experience").search("li")
85
85
  list.map { |li| li.text.strip }
86
86
  end
87
87
 
@@ -94,20 +94,20 @@ module MarketplaceOpportunityScraper
94
94
  end
95
95
 
96
96
  def status
97
- return 'open' if banner.nil?
98
- return 'cancelled' if banner.text =~ /cancelled/
99
- return 'awaiting' if banner.text =~ /closed for applications/
97
+ return "open" if banner.nil?
98
+ return "cancelled" if /cancelled/.match?(banner.text)
99
+ return "awaiting" if /closed for applications/.match?(banner.text)
100
100
 
101
- 'awarded'
101
+ "awarded"
102
102
  end
103
103
 
104
104
  def awarded_to
105
105
  return if banner.nil?
106
106
 
107
- text = banner.at('h2').text
108
- return unless text =~ /Awarded to/
107
+ text = banner.at("h2").text
108
+ return unless /Awarded to/.match?(text)
109
109
 
110
- text.gsub('Awarded to ', '').strip
110
+ text.gsub("Awarded to ", "").strip
111
111
  end
112
112
 
113
113
  def page
@@ -117,7 +117,7 @@ module MarketplaceOpportunityScraper
117
117
  private
118
118
 
119
119
  def banner
120
- @banner ||= page.at('.banner-temporary-message-without-action')
120
+ @banner ||= page.at(".dm-banner")
121
121
  end
122
122
  end
123
123
  end
@@ -7,8 +7,8 @@ module MarketplaceOpportunityScraper
7
7
  def build_url(type, status)
8
8
  check_type(type)
9
9
  check_status(status)
10
- url = BASE_URL + '/digital-outcomes-and-specialists/opportunities'
11
- h = { type: type, statusOpenClosed: status }.reject { |_k, v| v.nil? }
10
+ url = BASE_URL + "/digital-outcomes-and-specialists/opportunities"
11
+ h = {lot: type, statusOpenClosed: status}.reject { |_k, v| v.nil? }
12
12
  params = URI.encode_www_form(h)
13
13
  "#{url}?#{params}"
14
14
  end
@@ -17,15 +17,15 @@ module MarketplaceOpportunityScraper
17
17
  return if param.nil?
18
18
 
19
19
  valid_array = send("valid_#{type}")
20
- raise(ArgumentError, "#{param} is not a valid #{type}. Must be one of #{valid_array.join(' ')}") unless valid_array.include?(param)
20
+ raise(ArgumentError, "#{param} is not a valid #{type}. Must be one of #{valid_array.join(" ")}") unless valid_array.include?(param)
21
21
  end
22
22
 
23
23
  def check_type(type)
24
- check_params(type, 'types')
24
+ check_params(type, "types")
25
25
  end
26
26
 
27
27
  def check_status(status)
28
- check_params(status, 'statuses')
28
+ check_params(status, "statuses")
29
29
  end
30
30
 
31
31
  def valid_types
@@ -47,7 +47,7 @@ module MarketplaceOpportunityScraper
47
47
  end
48
48
 
49
49
  def find_by_label(page, label)
50
- selector = "//td[@class='summary-item-field-first']/span[text()='#{label}']/../../td[@class='summary-item-field']"
50
+ selector = "//dt[normalize-space()='#{label}']/../dd"
51
51
  page.search(selector)
52
52
  end
53
53
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MarketplaceOpportunityScraper
4
- VERSION = '0.1.0'
4
+ VERSION = "0.2.2"
5
5
  end
@@ -1,35 +1,35 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- lib = File.expand_path('lib', __dir__)
3
+ lib = File.expand_path("lib", __dir__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require 'marketplace_opportunity_scraper/version'
5
+ require "marketplace_opportunity_scraper/version"
6
6
 
7
7
  Gem::Specification.new do |spec|
8
- spec.name = 'marketplace_opportunity_scraper'
9
- spec.version = MarketplaceOpportunityScraper::VERSION
10
- spec.authors = ['Stuart Harrison']
11
- spec.email = ['stuart@dxw.com']
8
+ spec.name = "marketplace_opportunity_scraper"
9
+ spec.version = MarketplaceOpportunityScraper::VERSION
10
+ spec.authors = ["Stuart Harrison"]
11
+ spec.email = ["stuart@dxw.com"]
12
12
 
13
- spec.summary = 'A Ruby gem that fetches the latest opportunities from the Gov.uk Digital Marketplace (https://www.digitalmarketplace.service.gov.uk/) '
14
- spec.homepage = 'https://github.com/dxw/marketplace_opportunity_scraper'
15
- spec.license = 'MIT'
13
+ spec.summary = "A Ruby gem that fetches the latest opportunities from the Gov.uk Digital Marketplace (https://www.digitalmarketplace.service.gov.uk/) "
14
+ spec.homepage = "https://github.com/dxw/marketplace_opportunity_scraper"
15
+ spec.license = "MIT"
16
16
 
17
17
  # Specify which files should be added to the gem when it is released.
18
18
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
19
- spec.files = Dir.chdir(File.expand_path(__dir__)) do
19
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
20
20
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
21
21
  end
22
- spec.bindir = 'exe'
23
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
- spec.require_paths = ['lib']
22
+ spec.bindir = "exe"
23
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
+ spec.require_paths = ["lib"]
25
25
 
26
- spec.add_development_dependency 'bundler', '~> 2.0'
27
- spec.add_development_dependency 'pry', '~> 0.12.0'
28
- spec.add_development_dependency 'rake', '~> 10.0'
29
- spec.add_development_dependency 'rspec', '~> 3.0'
30
- spec.add_development_dependency 'rubocop', '~> 0.63'
31
- spec.add_development_dependency 'vcr', '~> 4.0'
32
- spec.add_development_dependency 'webmock', '~> 3.5'
26
+ spec.add_development_dependency "bundler", "~> 2.0"
27
+ spec.add_development_dependency "pry", "~> 0.12.0"
28
+ spec.add_development_dependency "rake", "~> 13.0"
29
+ spec.add_development_dependency "rspec", "~> 3.0"
30
+ spec.add_development_dependency "standard", "~> 0.4.7"
31
+ spec.add_development_dependency "vcr", "~> 4.0"
32
+ spec.add_development_dependency "webmock", "~> 3.5"
33
33
 
34
- spec.add_dependency 'mechanize', '~> 2.7'
34
+ spec.add_dependency "mechanize", "~> 2.7"
35
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marketplace_opportunity_scraper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stuart Harrison
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-04-12 00:00:00.000000000 Z
11
+ date: 2021-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '10.0'
47
+ version: '13.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '10.0'
54
+ version: '13.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -67,19 +67,19 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3.0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: rubocop
70
+ name: standard
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0.63'
75
+ version: 0.4.7
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0.63'
82
+ version: 0.4.7
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: vcr
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -129,22 +129,23 @@ executables: []
129
129
  extensions: []
130
130
  extra_rdoc_files: []
131
131
  files:
132
- - ".circleci/config.yml"
133
- - ".circleci/setup-rubygems.sh"
132
+ - ".github/setup-rubygems.sh"
133
+ - ".github/workflows/build.yml"
134
+ - ".github/workflows/publish.yml"
135
+ - ".github/workflows/smoke_test.yml"
134
136
  - ".rspec"
135
- - ".rubocop.yml"
136
- - ".rubocop_todo.yml"
137
137
  - ".ruby-version"
138
+ - ".standard.yml"
138
139
  - CODE_OF_CONDUCT.md
139
140
  - Gemfile
140
141
  - Gemfile.lock
141
142
  - LICENSE.txt
142
143
  - README.md
143
144
  - Rakefile
144
- - fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_all/gets_data_that_is_not_on_the_homepage.yml
145
145
  - fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_all/gets_the_correct_opportunity_data.yml
146
146
  - fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_all/returns_all_open_opportunities.yml
147
147
  - fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_all/when_status_is_specified/returns_the_correct_opportunities.yml
148
+ - fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_all/when_type_is_specified/gets_data_that_is_not_on_the_homepage.yml
148
149
  - fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_all/when_type_is_specified/returns_the_correct_opportunities.yml
149
150
  - fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_awarded_to/when_an_opportunity_has_been_awarded/1_4_1_1.yml
150
151
  - fixtures/cassettes/MarketplaceOpportunityScraper_Opportunity/_awarded_to/when_an_opportunity_has_not_been_awarded/1_4_2_1.yml
@@ -178,7 +179,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
178
179
  - !ruby/object:Gem::Version
179
180
  version: '0'
180
181
  requirements: []
181
- rubygems_version: 3.0.1
182
+ rubygems_version: 3.1.4
182
183
  signing_key:
183
184
  specification_version: 4
184
185
  summary: A Ruby gem that fetches the latest opportunities from the Gov.uk Digital