relaton 1.11.0 → 1.11.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -3
  3. data/lib/relaton/db.rb +2 -6
  4. data/lib/relaton/version.rb +1 -1
  5. data/spec/relaton_spec.rb +4 -4
  6. data/spec/vcr_cassetes/3gpp_tr_00_01u_umts_3_0_0.yml +11 -10
  7. data/spec/vcr_cassetes/async_fetch.yml +1436 -1480
  8. data/spec/vcr_cassetes/bsi_bs_en_iso_8848.yml +11 -11
  9. data/spec/vcr_cassetes/cc_dir_10005_2019.yml +10 -10
  10. data/spec/vcr_cassetes/cie_001_1980.yml +7 -7
  11. data/spec/vcr_cassetes/ecma_6.yml +7 -7
  12. data/spec/vcr_cassetes/en_10160_1999.yml +248 -0
  13. data/spec/vcr_cassetes/fisp_140.yml +6 -6
  14. data/spec/vcr_cassetes/gb_t_20223_2006.yml +8 -8
  15. data/spec/vcr_cassetes/iana_service_names_port_numbers.yml +9 -9
  16. data/spec/vcr_cassetes/iec_60050_102_2007.yml +27 -27
  17. data/spec/vcr_cassetes/iec_combined_included.yml +95 -95
  18. data/spec/vcr_cassetes/ieee_528_2019.yml +1313 -1306
  19. data/spec/vcr_cassetes/iho_b_11.yml +7 -7
  20. data/spec/vcr_cassetes/iso_111111119115_1.yml +2 -2
  21. data/spec/vcr_cassetes/iso_19115_1.yml +16 -16
  22. data/spec/vcr_cassetes/iso_19115_1_2.yml +31 -31
  23. data/spec/vcr_cassetes/iso_19115_all_parts.yml +17 -17
  24. data/spec/vcr_cassetes/iso_19133_2005.yml +15 -15
  25. data/spec/vcr_cassetes/iso_combined_applied.yml +31 -31
  26. data/spec/vcr_cassetes/iso_combined_included.yml +30 -30
  27. data/spec/vcr_cassetes/iso_dis_14093.yml +14 -14
  28. data/spec/vcr_cassetes/itu_combined_included.yml +210 -222
  29. data/spec/vcr_cassetes/oasis_amqp_core_types_v1_0_pt1.yml +10 -10
  30. data/spec/vcr_cassetes/ogc_19_025r1.yml +10 -10
  31. data/spec/vcr_cassetes/omg_ami4ccm_1_0.yml +4 -4
  32. data/spec/vcr_cassetes/rfc_8341.yml +7 -7
  33. data/spec/vcr_cassetes/sp_800_38b.yml +6 -6
  34. data/spec/vcr_cassetes/threads_from_env.yml +60 -64
  35. data/spec/vcr_cassetes/un_rtade_cefact_2004_32.yml +30 -30
  36. data/spec/vcr_cassetes/w3c_json_ld11.yml +96 -11
  37. metadata +3 -5
  38. data/spec/vcr_cassetes/api_relaton_org.yml +0 -57
  39. data/spec/vcr_cassetes/api_relaton_org_unavailable.yml +0 -198
  40. data/spec/vcr_cassetes/cen_en_10160_1999.yml +0 -249
@@ -31,7 +31,7 @@ http_interactions:
31
31
  Connection:
32
32
  - keep-alive
33
33
  Content-Length:
34
- - '488'
34
+ - '489'
35
35
  Cache-Control:
36
36
  - max-age=300
37
37
  Content-Security-Policy:
@@ -39,7 +39,7 @@ http_interactions:
39
39
  Content-Type:
40
40
  - text/plain; charset=utf-8
41
41
  Etag:
42
- - W/"fd2ac3045c7690738a55e0a0eab44d52e8f19504123b36ddfb7a58d8fc37e6cc"
42
+ - W/"bb72dd6729ae1cbc7e7ef9046a9bc173efe3ee973dd64d625a67f246429531fb"
43
43
  Strict-Transport-Security:
44
44
  - max-age=31536000
45
45
  X-Content-Type-Options:
@@ -49,37 +49,37 @@ http_interactions:
49
49
  X-Xss-Protection:
50
50
  - 1; mode=block
51
51
  X-Github-Request-Id:
52
- - 909A:26C1:1D41A5C:1E93F8E:6252D29B
52
+ - 2ACE:B4E0:0155:3231B:6278EE7D
53
53
  Content-Encoding:
54
54
  - gzip
55
55
  Accept-Ranges:
56
56
  - bytes
57
57
  Date:
58
- - Sun, 10 Apr 2022 12:50:35 GMT
58
+ - Mon, 09 May 2022 10:35:42 GMT
59
59
  Via:
60
60
  - 1.1 varnish
61
61
  X-Served-By:
62
- - cache-sof1510070-SOF
62
+ - cache-vie6348-VIE
63
63
  X-Cache:
64
64
  - MISS
65
65
  X-Cache-Hits:
66
66
  - '0'
67
67
  X-Timer:
68
- - S1649595036.539571,VS0,VE198
68
+ - S1652092542.848184,VS0,VE183
69
69
  Vary:
70
70
  - Authorization,Accept-Encoding,Origin
71
71
  Access-Control-Allow-Origin:
72
72
  - "*"
73
73
  X-Fastly-Request-Id:
74
- - c641cf18fa76a49795350b52375b12ab15430cd2
74
+ - d3a7ecdd1275ac60a717f3afa4ecedefbda01899
75
75
  Expires:
76
- - Sun, 10 Apr 2022 12:55:35 GMT
76
+ - Mon, 09 May 2022 10:40:42 GMT
77
77
  Source-Age:
78
78
  - '0'
79
79
  body:
80
80
  encoding: ASCII-8BIT
81
81
  string: !binary |-
82
- H4sIAAAAAAAAA81UTY/TMBC951f4Vji4SSsu5FYJCa3Earu7iCuaxpPEwrHDeFLRf884adpQsRdgJXLyR+a9eW88o7XOrCnVw+757hm6772uAqHmU49RHzfrQu95k7Flh2WmVTovVQfWZ0pVwTN6LtVqjFY7cwRfoVH3GCM0qB4HHKxv1J4Chyo49WZ3/7h/q74gRRu8Eni1B2K1KdXnxLgSVAe+GSS6lLVWmIhiRbbn6eATcDqqA3Ug1Iw/OO9dSshZ/y3leEmrZe7LPDehiusA0UYdevTrQE2elOZJaZ405iHmv9Ue4rrlzgnfJDxSlZ1XDN4AmUzQxT+hvbioXrRxhhl/k11PtgM6iQoaMCH5oTsglS8jGOBFHWyMAxoBOoIbZL/aFput3hR6+36VJRvIHgYOlCJ68Tz45KFSHjqcVqORuNwv/HsKkgyfz38tzPzvWJ7puxZpvjyXarwcaEmyeDsfg6kJT3/NQsHNT8ZY0fxnkj/A0ZpXVnznmxa6/0SwvOJXlvsENaD793KvQCPAHHgOIHTANpkxN0svg+ahFoSDPVjGbuKY5gijIaxn1kvqN+18dfN29NTIVYtm7MDtVhfvdCEdKA19MywYq9YHF5rTVyCElNw0K2VKZj8B+uBhGYsFAAA=
82
+ H4sIAAAAAAAAA81UTW/bMAy9+1fo5u2g+AMYsPkWYEBRYEXTdth1YCzaFipLHkUHy7+fZMeJF7SXbQXmk0SZ7/E9SpRSJlpV4n77dPsE/Y9B1o5Q8nFALw/FJpc7LhLWbLBKpIjxSvSgbSJE7Syj5UqkU7bYqgPYGpW4Q++hRfEw4qhtK3bk2NXOiHfbu4fde/ENyWtnRYAXOyAWRSW+RsY0oBqw7Riyq7CWAiORr0kPPAe+AMdQ46iHQM34k7PBxIKMts+xxnNZHfNQZZlytd848NpLN6DdOGqzqDSLSrOoMXM+e1G785uOexP4ZuGe6uS0YrAKSCUBPfgXaM8uildtXGCm38JuIN0DHYMKGjEi2bHfI1WvIyjgVR+09yOqAHQAM4Z9WuZFKYtclp/SJNpAej+yo5gxBM+djR4KYaHHeTUZiev9yr9HF4rhU/z3xiz/Tu2Zv0uTlsNTq6bDkdYkq7tz41RDePxrFnJmuTJKB81/JvkzHLR6Y8W3tu2g/08Eh1v8xnIfoQE0/17uBWgCWBJPCYQGWEczlscyhEFz3wSEvd5rxn7mmOcIoyJsFtZz6VfP+eLm9ehpkOsO1fQCy1LmH2T+MY0P+mpYMNaddca1x+9ACLG4eVaGKZn8AkpJiOOLBQAA
83
83
  http_version:
84
- recorded_at: Sun, 10 Apr 2022 12:50:35 GMT
84
+ recorded_at: Mon, 09 May 2022 10:35:41 GMT
85
85
  recorded_with: VCR 5.1.0
@@ -21,7 +21,7 @@ http_interactions:
21
21
  Connection:
22
22
  - keep-alive
23
23
  Content-Length:
24
- - '808'
24
+ - '806'
25
25
  Cache-Control:
26
26
  - max-age=300
27
27
  Content-Security-Policy:
@@ -29,7 +29,7 @@ http_interactions:
29
29
  Content-Type:
30
30
  - text/plain; charset=utf-8
31
31
  Etag:
32
- - W/"42f97e576a1d21539abc97ce6e540bd9770e1147945f578ab143ed135434f90e"
32
+ - W/"f7764dde6847874d6e749a9c9cfafbd3e07e6721eb216ba0ae00a6d38261edb6"
33
33
  Strict-Transport-Security:
34
34
  - max-age=31536000
35
35
  X-Content-Type-Options:
@@ -39,35 +39,35 @@ http_interactions:
39
39
  X-Xss-Protection:
40
40
  - 1; mode=block
41
41
  X-Github-Request-Id:
42
- - CBD0:6FC0:13ABE79:153FB1B:6252BE50
42
+ - 7BE2:10CE8:2031701:21B91B4:6278ECDF
43
43
  Accept-Ranges:
44
44
  - bytes
45
45
  Date:
46
- - Sun, 10 Apr 2022 12:50:16 GMT
46
+ - Mon, 09 May 2022 10:28:47 GMT
47
47
  Via:
48
48
  - 1.1 varnish
49
49
  X-Served-By:
50
- - cache-sof1510064-SOF
50
+ - cache-vie6363-VIE
51
51
  X-Cache:
52
52
  - MISS
53
53
  X-Cache-Hits:
54
54
  - '0'
55
55
  X-Timer:
56
- - S1649595017.717071,VS0,VE173
56
+ - S1652092127.255100,VS0,VE238
57
57
  Vary:
58
58
  - Authorization,Accept-Encoding,Origin
59
59
  Access-Control-Allow-Origin:
60
60
  - "*"
61
61
  X-Fastly-Request-Id:
62
- - 8143fdb2c678e62eac58baa8c7a031654c0ce3ed
62
+ - 91930aa967d1005b71ae6c56badec26029cd7601
63
63
  Expires:
64
- - Sun, 10 Apr 2022 12:55:16 GMT
64
+ - Mon, 09 May 2022 10:33:47 GMT
65
65
  Source-Age:
66
66
  - '0'
67
67
  body:
68
68
  encoding: ASCII-8BIT
69
69
  string: !binary |-
70
- LS0tCmlkOiAxOS0wMjVyMQp0aXRsZToKLSB0eXBlOiB0aXRsZS1tYWluCiAgY29udGVudDogRGV2ZWxvcG1lbnQgb2YgU3BhdGlhbCBEYXRhIEluZnJhc3RydWN0dXJlcyBmb3IgTWFyaW5lIERhdGEgTWFuYWdlbWVudAogIGxhbmd1YWdlOgogIC0gZW4KICBzY3JpcHQ6CiAgLSBMYXRuCiAgZm9ybWF0OiB0ZXh0L3BsYWluCi0gdHlwZTogbWFpbgogIGNvbnRlbnQ6IERldmVsb3BtZW50IG9mIFNwYXRpYWwgRGF0YSBJbmZyYXN0cnVjdHVyZXMgZm9yIE1hcmluZSBEYXRhIE1hbmFnZW1lbnQKICBsYW5ndWFnZToKICAtIGVuCiAgc2NyaXB0OgogIC0gTGF0bgogIGZvcm1hdDogdGV4dC9wbGFpbgpsaW5rOgotIGNvbnRlbnQ6IGh0dHBzOi8vcG9ydGFsLm9nYy5vcmcvZmlsZXMvP2FydGlmYWN0X2lkPTg4MDM3CiAgdHlwZTogb2JwCnR5cGU6IHN0YW5kYXJkCmRvY2lkOgotIGlkOiAxOS0wMjVyMQogIHR5cGU6IE9HQwogIHByaW1hcnk6IHRydWUKZGF0ZToKLSB0eXBlOiBwdWJsaXNoZWQKICB2YWx1ZTogJzIwMTktMDgtMDUnCmNvbnRyaWJ1dG9yOgotIHBlcnNvbjoKICAgIG5hbWU6CiAgICAgIGNvbXBsZXRlbmFtZTogUm9iZXJ0IFRob21hcwogIHJvbGU6CiAgLSBhdXRob3IKLSBwZXJzb246CiAgICBuYW1lOgogICAgICBjb21wbGV0ZW5hbWU6IFRlcnJ5IElkb2wKICByb2xlOgogIC0gYXV0aG9yCi0gb3JnYW5pemF0aW9uOgogICAgbmFtZToKICAgIC0gT3BlbiBHZW9zcGF0aWFsIENvbnNvcnRpdW0KICByb2xlOgogIC0gcHVibGlzaGVyCmVkaXRpb246ICcxJwpyZXZkYXRlOiAnMjAxOS0wOC0wNScKbGFuZ3VhZ2U6Ci0gZW4Kc2NyaXB0OgotIExhdG4KYWJzdHJhY3Q6Ci0gY29udGVudDogIlRoaXMgZW5naW5lZXJpbmcgcmVwb3J0IHByZXNlbnRzIHRoZSByZXN1bHRzIG9mIGEgY29uY2VwdCBkZXZlbG9wbWVudAogICAgc3R1ZHkgb24gYVxyXG5NYXJpbmUgU3BhdGlhbCBEYXRhIEluZnJhc3RydWN0dXJlIChTREkpLCBzcG9uc29yZWQgYnkgdGhlIE5hdGlvbmFsCiAgICBHZW9zcGF0aWFsLVxyXG5JbnRlbGxpZ2VuY2UgQWdlbmN5IChOR0EpIC0gTWFyaXRpbWUgU2FmZXR5IE9mZmljZSAoTVNPKSwgb24gYmVoYWxmCiAgICBvZiB0aGVcclxuSW50ZXJuYXRpb25hbCBIeWRyb2dyYXBoaWMgT3JnYW5pemF0aW9uIChJSE8pIGFuZCB0aGUgSUhPIE1TREkgV29ya2luZwogICAgR3JvdXBcclxuKE1TRElXRyksIGFuZCBleGVjdXRlZCBieSB0aGUgT3BlbiBHZW9zcGF0aWFsIENvbnNvcnRpdW0gKE9HQykuIFRoZSBnb2FsCiAgICBvZlxyXG50aGlzIHN0dWR5IHdhcyB0byBkZW1vbnN0cmF0ZSB0byBzdGFrZWhvbGRlcnMgdGhlIGRpdmVyc2l0eSwgcmljaG5lc3MgYW5kCiAgICB2YWx1ZSBvZiBhXHJcbk1hcmluZSBTREkg4oCTIHNwZWNpZmljYWxseSBkYXRhLCBhbmFseXNpcywgaW50ZXJvcGVyYWJpbGl0eSBhbmQgYXNzb2NpYXRlZAogICAgSVQgc2VydmljZXNcclxuLSBpbmNsdWRpbmcgd2ViIHNlcnZpY2VzIC0gaW4gYWRkcmVzc2luZyBuZWVkcyBvZiB0aGUgbWFyaW5lIGRvbWFpbi4iCiAgbGFuZ3VhZ2U6CiAgLSBlbgogIHNjcmlwdDoKICAtIExhdG4KICBmb3JtYXQ6IHRleHQvcGxhaW4KZmV0Y2hlZDogJzIwMjItMDQtMDknCmRvY3R5cGU6IGVuZ2luZWVyaW5nLXJlcG9ydAplZGl0b3JpYWxncm91cDoKICBjb21taXR0ZWU6IHRlY2huaWNhbAo=
70
+ LS0tCmlkOiAxOS0wMjVyMQp0aXRsZToKLSB0eXBlOiB0aXRsZS1tYWluCiAgY29udGVudDogRGV2ZWxvcG1lbnQgb2YgU3BhdGlhbCBEYXRhIEluZnJhc3RydWN0dXJlcyBmb3IgTWFyaW5lIERhdGEgTWFuYWdlbWVudAogIGxhbmd1YWdlOgogIC0gZW4KICBzY3JpcHQ6CiAgLSBMYXRuCiAgZm9ybWF0OiB0ZXh0L3BsYWluCi0gdHlwZTogbWFpbgogIGNvbnRlbnQ6IERldmVsb3BtZW50IG9mIFNwYXRpYWwgRGF0YSBJbmZyYXN0cnVjdHVyZXMgZm9yIE1hcmluZSBEYXRhIE1hbmFnZW1lbnQKICBsYW5ndWFnZToKICAtIGVuCiAgc2NyaXB0OgogIC0gTGF0bgogIGZvcm1hdDogdGV4dC9wbGFpbgpsaW5rOgotIGNvbnRlbnQ6IGh0dHBzOi8vcG9ydGFsLm9nYy5vcmcvZmlsZXMvP2FydGlmYWN0X2lkPTg4MDM3CiAgdHlwZTogb2JwCnR5cGU6IHN0YW5kYXJkCmRvY2lkOgotIGlkOiAxOS0wMjVyMQogIHR5cGU6IE9HQwogIHByaW1hcnk6IHRydWUKZGF0ZToKLSB0eXBlOiBwdWJsaXNoZWQKICB2YWx1ZTogJzIwMTktMDgtMDUnCmNvbnRyaWJ1dG9yOgotIHBlcnNvbjoKICAgIG5hbWU6CiAgICAgIGNvbXBsZXRlbmFtZTogUm9iZXJ0IFRob21hcwogIHJvbGU6CiAgLSBhdXRob3IKLSBwZXJzb246CiAgICBuYW1lOgogICAgICBjb21wbGV0ZW5hbWU6IFRlcnJ5IElkb2wKICByb2xlOgogIC0gYXV0aG9yCi0gb3JnYW5pemF0aW9uOgogICAgbmFtZToKICAgIC0gT3BlbiBHZW9zcGF0aWFsIENvbnNvcnRpdW0KICByb2xlOgogIC0gcHVibGlzaGVyCmVkaXRpb246ICcxJwpyZXZkYXRlOiAnMjAxOS0wOC0wNScKbGFuZ3VhZ2U6Ci0gZW4Kc2NyaXB0OgotIExhdG4KYWJzdHJhY3Q6Ci0gY29udGVudDogIlRoaXMgZW5naW5lZXJpbmcgcmVwb3J0IHByZXNlbnRzIHRoZSByZXN1bHRzIG9mIGEgY29uY2VwdCBkZXZlbG9wbWVudAogICAgc3R1ZHkgb24gYVxyXG5NYXJpbmUgU3BhdGlhbCBEYXRhIEluZnJhc3RydWN0dXJlIChTREkpLCBzcG9uc29yZWQgYnkgdGhlIE5hdGlvbmFsCiAgICBHZW9zcGF0aWFsLVxyXG5JbnRlbGxpZ2VuY2UgQWdlbmN5IChOR0EpIC0gTWFyaXRpbWUgU2FmZXR5IE9mZmljZSAoTVNPKSwgb24gYmVoYWxmCiAgICBvZiB0aGVcclxuSW50ZXJuYXRpb25hbCBIeWRyb2dyYXBoaWMgT3JnYW5pemF0aW9uIChJSE8pIGFuZCB0aGUgSUhPIE1TREkgV29ya2luZwogICAgR3JvdXBcclxuKE1TRElXRyksIGFuZCBleGVjdXRlZCBieSB0aGUgT3BlbiBHZW9zcGF0aWFsIENvbnNvcnRpdW0gKE9HQykuIFRoZSBnb2FsCiAgICBvZlxyXG50aGlzIHN0dWR5IHdhcyB0byBkZW1vbnN0cmF0ZSB0byBzdGFrZWhvbGRlcnMgdGhlIGRpdmVyc2l0eSwgcmljaG5lc3MgYW5kCiAgICB2YWx1ZSBvZiBhXHJcbk1hcmluZSBTREkg4oCTIHNwZWNpZmljYWxseSBkYXRhLCBhbmFseXNpcywgaW50ZXJvcGVyYWJpbGl0eSBhbmQgYXNzb2NpYXRlZAogICAgSVQgc2VydmljZXNcclxuLSBpbmNsdWRpbmcgd2ViIHNlcnZpY2VzIC0gaW4gYWRkcmVzc2luZyBuZWVkcyBvZiB0aGUgbWFyaW5lIGRvbWFpbi4iCiAgbGFuZ3VhZ2U6CiAgLSBlbgogIHNjcmlwdDoKICAtIExhdG4KICBmb3JtYXQ6IHRleHQvcGxhaW4KZmV0Y2hlZDogJzIwMjItMDUtMDgnCmRvY3R5cGU6IGVuZ2luZWVyaW5nLXJlcG9ydAplZGl0b3JpYWxncm91cDoKICBjb21taXR0ZWU6IHRlY2huaWNhbAo=
71
71
  http_version:
72
- recorded_at: Sun, 10 Apr 2022 12:50:16 GMT
72
+ recorded_at: Mon, 09 May 2022 10:28:47 GMT
73
73
  recorded_with: VCR 5.1.0
@@ -19,13 +19,13 @@ http_interactions:
19
19
  message: ''
20
20
  headers:
21
21
  Date:
22
- - Sun, 10 Apr 2022 12:50:19 GMT
22
+ - Mon, 09 May 2022 10:28:50 GMT
23
23
  Server:
24
24
  - Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16 mod_perl/2.0.10 Perl/v5.16.3
25
25
  Cache-Control:
26
26
  - max-age=86400, public
27
27
  Etag:
28
- - W/"03b66e61ef9b6f5a00e63b293b698b4ae"
28
+ - W/"0c8d7e55710dba9102f37b1d4f92e1700"
29
29
  Vary:
30
30
  - accept-encoding
31
31
  Content-Type:
@@ -37,7 +37,7 @@ http_interactions:
37
37
  body:
38
38
  encoding: ASCII-8BIT
39
39
  string: !binary |-
40
- PCFET0NUWVBFIEhUTUw+CjxodG1sIGxhbmc9ImVuIiBjbGFzcz0ianMgbm8tdG91Y2ggY3NzdHJhbnNmb3JtczNkIGNzc3RyYW5zaXRpb25zIj4KCgoKCgoKCgoKCgo8aGVhZD4KICAgIDx0aXRsZT5BYm91dCB0aGUgQXN5bmNocm9ub3VzIE1ldGhvZCBJbnZvY2F0aW9uIGZvciBDQ00gU3BlY2lmaWNhdGlvbiBWZXJzaW9uIDEuMDwvdGl0bGU+CiAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgdHlwZT0iYXBwbGljYXRpb24vanNvbiIgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wL0Fib3V0LUFNSTRDQ00vIi8+CiAgICAKICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgogICAgPGxpbmsgcmVsPSJjYW5vbmljYWwiIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzEuMC9BYm91dC1BTUk0Q0NNLyIvPgogICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIHR5cGU9ImFwcGxpY2F0aW9uL3JkZit4bWwiIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzEuMC9BYm91dC1BTUk0Q0NNLyIvPgogICAgPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj5bIHsKICAiQGlkIiA6ICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL2NhdGVnb3J5IiwKICAiQHR5cGUiIDogWyAiaHR0cDovL3d3dy53My5vcmcvMjAwMi8wNy9vd2wjQW5ub3RhdGlvblByb3BlcnR5IiBdCn0sIHsKICAiQGlkIiA6ICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL2NyZWF0aW9uRGF0ZSIsCiAgIkB0eXBlIiA6IFsgImh0dHA6Ly93d3cudzMub3JnLzIwMDIvMDcvb3dsI0Fubm90YXRpb25Qcm9wZXJ0eSIgXQp9LCB7CiAgIkBpZCIgOiAiaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vIiwKICAiQHR5cGUiIDogWyAiaHR0cDovL3d3dy53My5vcmcvMjAwMi8wNy9vd2wjTmFtZWRJbmRpdmlkdWFsIiwgImh0dHA6Ly93d3cub21nLm9yZy90ZWNocHJvY2Vzcy9hYi9TcGVjaWZpY2F0aW9uTWV0YWRhdGEvU3BlY2lmaWNhdGlvbiIgXSwKICAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9jYXRlZ29yeSIgOiBbIHsKICAgICJAdmFsdWUiIDogImNvbXBvbmVudC1hcmNoaXRlY3R1cmUiCiAgfSwgewogICAgIkB2YWx1ZSIgOiAiY29yYmEtcGxhdGZvcm0iCiAgfSwgewogICAgIkB2YWx1ZSIgOiAiZG9tYWluIgogIH0gXSwKICAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9wdWJsaWNhdGlvbkRhdGUiIDogWyB7CiAgICAiQHR5cGUiIDogImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hI2RhdGVUaW1lIiwKICAgICJAdmFsdWUiIDogIjIwMTMtMDMtMzFUMDA6MDA6MDAtMDQwMCIKICB9IF0sCiAgImh0dHA6Ly93d3cub21nLm9yZy90ZWNocHJvY2Vzcy9hYi9TcGVjaWZpY2F0aW9uTWV0YWRhdGEvc3BlY2lmaWNhdGlvbkFiYnJldmlhdGlvbiIgOiBbIHsKICAgICJAdmFsdWUiIDogIkFNSTRDQ00iCiAgfSBdLAogICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL3NwZWNpZmljYXRpb25BYnN0cmFjdCIgOiBbIHsKICAgICJAdmFsdWUiIDogIlRoaXMgc3BlY2lmaWNhdGlvbiBkZWZpbmVzIGEgbWVjaGFuaXNtIHRvIHBlcmZvcm0gYXN5bmNocm9ub3VzIG1ldGhvZCBpbnZvY2F0aW9uIGZvciBDQ00gKEFNSTRDQ00pLiIKICB9IF0sCiAgImh0dHA6Ly93d3cub21nLm9yZy90ZWNocHJvY2Vzcy9hYi9TcGVjaWZpY2F0aW9uTWV0YWRhdGEvc3BlY2lmaWNhdGlvblRpdGxlIiA6IFsgewogICAgIkB2YWx1ZSIgOiAiQXN5bmNocm9ub3VzIE1ldGhvZCBJbnZvY2F0aW9uIGZvciBDQ00iCiAgfSBdLAogICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL3NwZWNpZmljYXRpb25VUkwiIDogWyB7CiAgICAiQGlkIiA6ICJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS9BYm91dC1BTUk0Q0NNLyIKICB9IF0KfSwgewogICJAaWQiIDogImh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNL0Fib3V0LUFNSTRDQ00vIiwKICAiQHR5cGUiIDogWyAiaHR0cDovL3d3dy53My5vcmcvMjAwMi8wNy9vd2wjT250b2xvZ3kiIF0sCiAgImh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy9saWNlbnNlIiA6IFsgewogICAgIkBpZCIgOiAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9NSVRMaWNlbnNlIgogIH0gXSwKICAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9jcmVhdGlvbkRhdGUiIDogWyB7CiAgICAiQHR5cGUiIDogImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hI2RhdGVUaW1lIiwKICAgICJAdmFsdWUiIDogIjIwMTMtMDMtMzFUMDA6MDA6MDAtMDQwMCIKICB9IF0sCiAgImh0dHA6Ly93d3cub21nLm9yZy90ZWNocHJvY2Vzcy9hYi9TcGVjaWZpY2F0aW9uTWV0YWRhdGEvZmlsZW5hbWUiIDogWyB7CiAgICAiQHZhbHVlIiA6ICJBYm91dC1BTUk0Q0NNIgogIH0gXSwKICAiaHR0cDovL3d3dy53My5vcmcvMjAwMC8wMS9yZGYtc2NoZW1hI2xhYmVsIiA6IFsgewogICAgIkB2YWx1ZSIgOiAiQWJvdXQgdGhlIEFzeW5jaHJvbm91cyBNZXRob2QgSW52b2NhdGlvbiBmb3IgQ0NNIFNwZWNpZmljYXRpb24gVmVyc2lvbiAxLjAiCiAgfSBdLAogICJodHRwOi8vd3d3LnczLm9yZy8yMDAyLzA3L293bCNpbXBvcnRzIiA6IFsgewogICAgIkBpZCIgOiAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS8iCiAgfSBdLAogICJodHRwOi8vd3d3LnczLm9yZy8yMDAyLzA3L293bCN2ZXJzaW9uSVJJIiA6IFsgewogICAgIkBpZCIgOiAiaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wL0Fib3V0LUFNSTRDQ00vIgogIH0gXSwKICAiaHR0cDovL3d3dy53My5vcmcvMjAwMi8wNy9vd2wjdmVyc2lvbkluZm8iIDogWyB7CiAgICAiQHZhbHVlIiA6ICJHZW5lcmF0ZWQgb24gMjAyMi0wMi0wNlQxOToxNjoyMS0wNTAwIgogIH0gXQp9IF08L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cub21nLm9yZy9qcy9wcml2YWN5LmpzIj48L3NjcmlwdD4KCiAgICA8IS0tIEhFQUQgSU5DTFVERSBCRUdJTiAtLT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CgogICAgPCEtLSBNb2JpbGUgU3BlY2lmaWMgTWV0YXMKICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTEuMCx1c2VyLXNjYWxhYmxlPTAiPgoKICAgIDwhLS0gR29vZ2xlIFdlYiBGb250cwogICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CiAgICA8bGluayBocmVmPSIvL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9QW50b258TXVsaTozMDAsNDAwLDQwMGl0YWxpYywzMDBpdGFsaWN8T3N3YWxkIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4KCiAgICA8IS0tIEdsb2JhbCBTaXRlIFRhZyAoZ3RhZy5qcykgLSBHb29nbGUgQW5hbHl0aWNzIC0tPgogICAgPHNjcmlwdCBhc3luYyBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL2d0YWcvanM/aWQ9VUEtMTA2OTQxNDg4LTEiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICB3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTsKCiAgICAgICAgZnVuY3Rpb24gZ3RhZygpIHsKICAgICAgICAgICAgZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKQogICAgICAgIH0KCiAgICAgICAgZ3RhZygnanMnLCBuZXcgRGF0ZSgpKTsKICAgICAgICBndGFnKCdjb25maWcnLCAnVUEtMTA2OTQxNDg4LTEnKTsKICAgIDwvc2NyaXB0PgogICAgPCEtLSBHb29nbGUgQW5hbHl0aWNzIC0tPgoKICAgIDwhLS0gQ1NTCiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KICAgIDwhLS0gQmFzZSArIFZlbmRvcnMgQ1NTIC0tPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2Nzcy9mb250cy9mb250LWF3ZXNvbWUvY3NzL2ZvbnQtYXdlc29tZS5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3ZlbmRvci9vd2wtY2Fyb3VzZWwvb3dsLmNhcm91c2VsLmNzcyIgbWVkaWE9InNjcmVlbiIgcmVsPSJzdHlsZXNoZWV0Ij4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvdmVuZG9yL293bC1jYXJvdXNlbC9vd2wudGhlbWUuY3NzIiBtZWRpYT0ic2NyZWVuIiByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy92ZW5kb3IvbWFnbmlmaWMtcG9wdXAvbWFnbmlmaWMtcG9wdXAuY3NzIiBtZWRpYT0ic2NyZWVuIiByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy92ZW5kb3IvbWVkaWFlbGVtZW50L21lZGlhZWxlbWVudHBsYXllci5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPgoKICAgIDwhLS0gVGhlbWUgQ1NTLS0+CiAgICA8bGluayBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2Nzcy90aGVtZS5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2Nzcy90aGVtZS1lbGVtZW50cy5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2Nzcy9hbmltYXRlLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CgogICAgPCEtLSBTa2luIENTUyAtLT4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvY3NzL3NraW5zL3RlYWwuY3NzIiByZWw9InN0eWxlc2hlZXQiPgoKICAgIDwhLS0gQ3VzdG9tIENTUy0tPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9jc3MvY3VzdG9tLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4KCiAgICA8IS0tIEhlYWQgTGlicyAtLT4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3d3dy5vbWcub3JnL3ZlbmRvci9tb2Rlcm5penIuanMiPjwvc2NyaXB0PgoKICAgIDwhLS1baWYgbHQgSUUgOV0+CiAgICA8c2NyaXB0IHNyYz0iaHR0cDovL2h0bWw1c2hpbS5nb29nbGVjb2RlLmNvbS9zdm4vdHJ1bmsvaHRtbDUuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9InZlbmRvci9yZXNwb25kLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IVtlbmRpZl0tLT4KCiAgICA8IS0tW2lmIElFXT4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iY3NzL2llLmNzcyI+CiAgICA8IVtlbmRpZl0tLT4KCiAgICA8IS0tIEZhdmljb25zCiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iLy93d3cub21nLm9yZy9pbWFnZXMvZmF2aWNvbi5pY28iPgogICAgPGxpbmsgcmVsPSJpY29uIiBocmVmPSIvL3d3dy5vbWcub3JnL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLnBuZyI+CiAgICA8bGluayByZWw9Imljb24iIHNpemVzPSI3Mng3MiIgaHJlZj0iLy93d3cub21nLm9yZy9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi03Mng3Mi5wbmciPgogICAgPGxpbmsgcmVsPSJpY29uIiBzaXplcz0iMTE0eDExNCIgaHJlZj0iLy93d3cub21nLm9yZy9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi0xMTR4MTE0LnBuZyI+CiAgICA8bGluayByZWw9Imljb24iIHNpemVzPSIxNDR4MTQ0IiBocmVmPSIvL3d3dy5vbWcub3JnL2ltYWdlcy9hcHBsZS10b3VjaC1pY29uLTE0NHgxNDQucG5nIj4KCiAgICA8IS0tIHNvcnRhYmxlIHRhYmxlcyAtLT4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vdW5wa2cuY29tL2Jvb3RzdHJhcC10YWJsZUAxLjE4LjMvZGlzdC9ib290c3RyYXAtdGFibGUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4KCiAgICA8IS0tIEluc3RhbmNlQmVnaW5FZGl0YWJsZSBuYW1lPSJoZWFkIiAtLT4KICAgIDwhLS0gSW5zdGFuY2VFbmRFZGl0YWJsZSAtLT4KICAgIDxzdHlsZSBpZD0iZml0LXZpZHMtc3R5bGUiPgogICAgICAgIC5mbHVpZC13aWR0aC12aWRlby13cmFwcGVye3dpZHRoOjEwMCU7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzowO30KICAgICAgICAuZmx1aWQtd2lkdGgtdmlkZW8td3JhcHBlciBpZnJhbWUsLmZsdWlkLXdpZHRoLXZpZGVvLXdyYXBwZXIgb2JqZWN0LC5mbHVpZC13aWR0aC12aWRlby13cmFwcGVyIGVtYmVkIHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt9CiAgICA8L3N0eWxlPgogICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAgICAgICAuc3QtaW5zdGFsbC1VSndrbVB6Z2pIQkN4SHl4ekNhaiAuc3QtdWktcmVzdWx0LAogICAgICAgIC5zdC11aS10eXBlLWhlYWRpbmcgeyBjb2xvcjojMDA4OWQ3ICFpbXBvcnRhbnQgfQogICAgICAgIC5zdC1pbnN0YWxsLVVKd2ttUHpnakhCQ3hIeXh6Q2FqIC5zdC11aS1yZXN1bHQgZW0ge2ZvbnQtc3R5bGU6bm9ybWFsOyBmb250LXdlaWdodDpib2xkOyBiYWNrZ3JvdW5kLWNvbG9yOiNmNmZjZmUgIWltcG9ydGFudH0KCiAgICAgICAgdWwuZGQtbGlzdCB7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii8vc2NyaXB0LmNyYXp5ZWdnLmNvbS9wYWdlcy9zY3JpcHRzLzAxMDQvODYxNy5qcyIgYXN5bmM9ImFzeW5jIj48L3NjcmlwdD4KICAgIDwhLS0gSEVBRCBJTkNMVURFIEVORCAtLT4KCjwvaGVhZD4KPGJvZHkgb25sb2FkPSJnZXRPTUdDb29raWUoJ29tZ3ByaXZhY3knKTsiPgoKICAgIDwhLS0gQk9EWSBIRUFERVIgSU5DTFVERSBCRUdJTiAtLT4KICAgIDxoZWFkZXIgY2xhc3M9ImhlYWRlciBoZWFkZXItZGVmYXVsdCI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXRvcCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItdG9wLWxlZnQiPgogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iaGVhZGVyLXRvcC1uYXYiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLy93d3cub21nLm9yZy9pbmRleC5odG0iPjxzcGFuIHN0eWxlPSJjb2xvcjp3aGl0ZSI+SG9tZTwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvc2l0ZS1tYXAuaHRtIj48c3BhbiBzdHlsZT0iY29sb3I6d2hpdGUiPlNpdGUgTWFwPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iLy93d3cub21nLm9yZy9sZWdhbC9pbmRleC5odG0iPjxzcGFuIHN0eWxlPSJjb2xvcjp3aGl0ZSI+TGVnYWw8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImhlYWRlci10b3AtbmF2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL09iamVjdC1NYW5hZ2VtZW50LUdyb3VwLTE3MTUzNDQxMDAyMi8iPjxpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJmYSBmYS1mYWNlYm9vayI+PC9pPjwvYT4mbmJzcDsmbmJzcDsmbmJzcDs8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vb2JqZWN0bWdtdGdyb3VwIj48aSBjbGFzcz0iZmEgZmEtdHdpdHRlciI+PC9pPjwvYT4mbmJzcDsmbmJzcDsmbmJzcDs8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9ncm91cHMvNjY3OTkiPjxpIGNsYXNzPSJmYSBmYS1saW5rZWRpbiI+PC9pPjwvYT4mbmJzcDsmbmJzcDsmbmJzcDs8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vYmxvZy5vbWcub3JnLyI+PGkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZmEgZmEtcGVuY2lsLXNxdWFyZS1vIj48L2k+PC9hPiZuYnNwOyZuYnNwOyZuYnNwOzxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ3R1VGoxd3R5d29qWU5ab3lQZVlBRnciPjxpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZhIGZhLXlvdXR1YmUiPjwvaT48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXRvcC1yaWdodCI+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBBZGRTZWFyY2ggLS0+CiAgICAgICAgICAgICAgICAgICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vYWRkc2VhcmNoLmNvbS9qcy8/a2V5PWE3N2ZiMWViMmMzYzhmYWZlMmIzMDE4MjQzNjllZDk3JmNhdGVnb3JpZXM9MHh3d3cub21nLm9yZyI+PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBBZGRTZWFyY2ggLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLW1haW4iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiID4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPCFET0NUWVBFIGh0bWw+PGh0bWw+PGhlYWQ+PHRpdGxlPk1lbnUgfCBPYmplY3QgTWFuYWdlbWVudCBHcm91cDwvdGl0bGU+PG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9Ik1lbnUgLSBPYmplY3QgTWFuYWdlbWVudCBHcm91cCIvPjwvaGVhZD48Ym9keT48bmF2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWRlZmF1bHQgZmhtbSI+ICAJCQkJCQk8ZGl2IGNsYXNzPSJuYXZiYXItaGVhZGVyIj4gIAkJCQkJCQk8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Im5hdmJhci10b2dnbGUiPiAgCQkJCQkJCQk8aSBjbGFzcz0iZmEgZmEtYmFycyI+PC9pPiAgCQkJCQkJCTwvYnV0dG9uPiAgCQkJCQkJCTwhLS0gTG9nbyAtLT4gIAkJCQkJCQk8ZGl2IGNsYXNzPSJsb2dvIj4gIAkJCQkJCQkJPGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9pbmRleC5odG0iPjxpbWcgc3JjPSJodHRwczovL3d3dy5vbWcub3JnL2ltYWdlcy9sb2dvcy9PTUctbG9nby13ZWItc20uc3ZnIiBhbHQ9Ik9NRyBsb2dvIj48L2E+CSAgCQkJCQkJCTwvZGl2PiAgCQkJCQkJCTwhLS0gTG9nbyAvIEVuZCAtLT4gIAkJCQkJCTwvZGl2PjwhLS0gZW5kIG5hdmJhci1oZWFkZXIgLS0+ICAgIAkJCQkJCTxkaXYgaWQ9Im1haW4tbmF2IiBjbGFzcz0ibmF2YmFyLWNvbGxhcHNlIGNvbGxhcHNlIj4gIAkJCQkJCQk8dWwgY2xhc3M9Im5hdiBuYXZiYXItbmF2Ij4gIAkJCQkJCQk8IS0tPGxpIGNsYXNzPSJkcm9wZG93biI+ICAJCQkJCQkJCQk8YSBocmVmPSJhYm91dC9pbmRleC5odG0iIGRhdGEtdG9nZ2xlPSIiIGNsYXNzPSIiPkFib3V0IHVzIDxiIGNsYXNzPSIiPjwvYj48L2E+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkJCQkJCSAgCQkJCQkJCQk8L2xpPi0tPiAgCQkJCQkJCQkgIAkJCQkJCQkJICAJCQkJCQkJCTwhLS0gQWJvdXQgLS0+ICAJCQkJCQkJCSA8bGkgY2xhc3M9ImRyb3Bkb3duIj4gIAkJCQkJCQkJCTxhIGhyZWY9IiMiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSI+QWJvdXQgPGIgY2xhc3M9ImNhcmV0Ij48L2I+PC9hPiAgCQkJCQkJCQkJPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IiByb2xlPSJtZW51Ij4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2Fib3V0L2luZGV4Lmh0bSI+TWlzc2lvbiAmYW1wOyBWaXNpb248L2E+PC9saT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2Fib3V0L3N0cnVjdHVyZS1hbmQtZ292ZXJuYW5jZS5odG0iPlN0cnVjdHVyZSAmYW1wOyBHb3Zlcm5hbmNlPC9hPjwvbGk+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3doeS1qb2luLmh0bSI+V2h5IEpvaW4gT01HPC9hPjwvbGk+ICAgICAgICAJCQkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQkJCQkgIAkJCQkJCQkJICAgPC91bD4gIAkJCQkJCQkJPC9saT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBBYm91dCAtLT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUmVzb3VyY2UgSHViIG1lbnUgLS0+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iPiAgCQkJCQkJCQkJPGEgaHJlZj0iIyIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIj5SZXNvdXJjZSBIdWIgPGIgY2xhc3M9ImNhcmV0Ij48L2I+PC9hPiAgCQkJCQkJCQkJPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IiByb2xlPSJtZW51Ij4gIAkJCQkJCQkJCQkgIAkJCQkJCQkJCSAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvZXZlbnRzL2luZGV4Lmh0bSI+RXZlbnRzPC9hPjwvbGk+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2hvdC10b3BpY3MvaW5kZXguaHRtIj5Ib3QgVG9waWNzPC9hPjwvbGk+ICAJCQkJCQkJCQkgIDxsaT48YSBocmVmPSJodHRwczovL3B1Yi5vbWcub3JnLyI+T01HIFN0YW5kYXJkaXplPC9hPjwvbGk+ICAJCQkJCQkJCQkgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL25ld3MvcHJlc3Nyb29tLmh0bSI+UHJlc3MgUm9vbTwvYT48L2xpPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy90cmFpbmluZy9pbmRleC5odG0iPlRyYWluaW5nIENvdXJzZXM8L2E+PC9saT4gIAkJCQkJCQkJICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvb21nLWRpcmVjdG9yaWVzLmh0bSI+VmVuZG9yIERpcmVjdG9yaWVzPC9hPjwvbGk+ICAJCQkJCQkJCSAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3dlYmluYXJzL2luZGV4Lmh0bSI+V2ViaW5hcnM8L2E+PC9saT4gIAkJCQkJCQkJCSAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvbmV3cy93aGl0ZXBhcGVycy9pbmRleC5odG0iPldoaXRlIFBhcGVyczwvYT48L2xpPiAgCQkJCQkJCQkJPC91bD4gIAkJCQkJCQkJPC9saT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUmVzb3VyY2UgSHViIG1lbnUgLS0+ICAgIAkJCQkJCQkgIAkJCQkJCQkJCTwhLS0gU3BlY3MgLS0+ICAJCQkJCQkJCTxsaSBjbGFzcz0iZHJvcGRvd24gZmhtbS1mdyI+ICAJCQkJCQkJCQk8YSBocmVmPSIjIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiPk9NRyBTcGVjaWZpY2F0aW9ucyA8YiBjbGFzcz0iY2FyZXQiPjwvYj48L2E+ICAJCQkJCQkJCQk8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUgZnVsbCI+ICAJCQkJCQkJCQkJPGxpIGNsYXNzPSJmaG1tLWNvbnRlbnQiPiAgCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJyb3ciPiAgCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTMiPiAgCQkJCQkJCQkJCQkJCTxoMyBjbGFzcz0idGl0bGUiPlNwZWNpZmljYXRpb25zPC9oMz4gIAkJCQkJCQkJCQkJCQk8dWw+ICAJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvIj5BZG9wdGVkIFNwZWNpZmljYXRpb25zPC9hPjwvbGk+ICAJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2ZheHZvdGVzLyIgdGFyZ2V0PSJfYmxhbmsiPkZheHZvdGVzIFN0YXR1czwvYT48L2xpPiAgCQkJCQkJCQkJCQkJCSAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vaXNzdWVzLm9tZy5vcmcvaXNzdWVzL2xpc3RzIj5Jc3N1ZXM8L2E+PC9saT4gIAkJCQkJCQkJCQkJCQkgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3B1YmxpY19zY2hlZHVsZS8iPlJGSSAmYW1wOyBSRlA8L2E+PC9saT4gIAkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvY2dpLWJpbi9kb2M/c21zYy8yMDE4LTA4LTAxIj5TcGVjaWZpY2F0aW9uIEd1aWRlbGluZXM8L2E+PC9saT4gIAkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvdGVjaG5vbG9neS9kb2N1bWVudHMvdmF1bHQuaHRtIj5TcGVjaWZpY2F0aW9uIFZhdWx0PC9hPjwvbGk+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQkJCQkJCQkJICA8L3VsPiAgCQkJCQkJCQkJCQkJPC9kaXY+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTMiPiAgCQkJCQkJCQkJCQkJCTxoMyBjbGFzcz0idGl0bGUiPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvaW5kdXN0cmllcy9pbmRleC5odG0iPkluZHVzdHJpZXM8L2E+PC9oMz4gIAkJCQkJCQkJCQkJCQk8dWw+ICAJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2luZHVzdHJpZXMvZmluYW5jZS5odG0iPkZpbmFuY2U8L2E+PC9saT4gIAkJCQkJCQkJCQkJCQkgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2luZHVzdHJpZXMvZ292ZXJubWVudC5odG0iPkdvdmVybm1lbnQ8L2E+PC9saT4gIAkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvaW5kdXN0cmllcy9oZWFsdGhjYXJlLmh0bSI+SGVhbHRoY2FyZTwvYT48L2xpPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9pbmR1c3RyaWVzL21hbnVmYWN0dXJpbmcuaHRtIj5NYW51ZmFjdHVyaW5nPC9hPjwvbGk+ICAJCQkJCQkJCQkJCQkJICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9pbmR1c3RyaWVzL21pbGl0YXJ5Lmh0bSI+TWlsaXRhcnk8L2E+PC9saT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvaW5kdXN0cmllcy9yZXRhaWwuaHRtIj5SZXRhaWw8L2E+PC9saT4gIAkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvaW5kdXN0cmllcy9zcGFjZS5odG0iPlNwYWNlIEV4cGxvcmF0aW9uPC9hPjwvbGk+ICAJCQkJCQkJCQkJCQkJCSAgCQkJCQkJCQkJCQkJCTwvdWw+ICAJCQkJCQkJCQkJCQk8L2Rpdj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tMyI+ICAJCQkJCQkJCQkJCQkJPGgzIGNsYXNzPSJ0aXRsZSI+RG9jdW1lbnQgSGVscDwvaDM+ICAJCQkJCQkJCQkJCQkJPHVsPiAgCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy90ZWNobm9sb2d5L2Rvd25sb2FkLmh0bSI+RG93bmxvYWQgSW5zdHJ1Y3Rpb25zPC9hPjwvbGk+ICAJCQkJCQkJCQkJCQkJICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9jZ2ktYmluL2RvYz9oaCI+SG93IHRvIEZpbmQgYSBEb2N1bWVudDwvYT48L2xpPiAgCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly9pc3N1ZXMub21nLm9yZy9pc3N1ZXMvY3JlYXRlLW5ldy1pc3N1ZSI+UmVwb3J0IGFuIElzc3VlPC9hPjwvbGk+ICAJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2NnaS1iaW4vYXBwcy9kb2NsaXN0LnBsIj5TZWFyY2ggRG9jdW1lbnRzPC9hPjwvbGk+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL21lbWJlcnNfZG9jc2VhcmNoLmh0bSI+U2VhcmNoIERvY3VtZW50cyAoRnVsbCk8L2E+PC9saT4gIAkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvZ2V0dGluZ3N0YXJ0ZWQvdGVybXNfYW5kX2Fjcm9ueW1zLmh0bSI+VGVybXMgJmFtcDsgQWNyb255bXM8L2E+PC9saT4gIAkJCQkJCQkJCQkJCQkJICAJCQkJCQkJCQkJCQkJPC91bD4gIAkJCQkJCQkJCQkJCTwvZGl2PiAgCQkJCQkJCQkJCQkJICAJCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tMyI+ICAJCQkJCQkJCQkJCQkJPGgzIGNsYXNzPSJ0aXRsZSI+T01HIGluIEFjdGlvbiE8L2gzPiAgCQkJCQkJCQkJCQkJCTx1bD4gIAkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvcHVibGljX3NjaGVkdWxlLyI+V29yayBpbiBQcm9ncmVzczwvYT48L2xpPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy90ZWNobm9sb2d5L3JmYy1mb3JtLmh0bSI+UkZDIENvbW1lbnRzIEZvcm08L2E+PC9saT4gIAkJCQkJCQkJCQkJCQkgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvaG9tZXBhZ2VzL2luZGV4Lmh0bSI+VGVjaG5vbG9neSBDb21taXR0ZWVzIERpcmVjdG9yeTwvYT48L2xpPiAgCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9hYm91dC9vbWctc3RhbmRhcmRzLWludHJvZHVjdGlvbi5odG0iPlBvcHVsYXIgT01HIFN0YW5kYXJkczwvYT48L2xpPiAgCQkJCQkJCQkJCQkJICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9ldmVudHMvc3R1ZGVudC1wb3N0ZXItc2Vzc2lvbi1wcm9ncmFtL2luZGV4Lmh0bSI+U3R1ZGVudCBSZXNlYXJjaDwvYT48L2xpPiAgCQkJCQkJCQkJCQkJICA8L3VsPiAgCQkJCQkJCQkJCQkJPC9kaXY+ICAJCQkJCQkJCQkJCTwvZGl2PiAgCQkJCQkJCQkJCTwvbGk+ICAJCQkJCQkJCQk8L3VsPiAgCQkJCQkJCQk8L2xpPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gU3BlY3MgLS0+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFByb2dyYW1zIC0tPiAgCQkJCQkJCQkgIAkJCQkJCQkJPGxpIGNsYXNzPSJkcm9wZG93biBkcm9wZG93bi1yaWdodCBmaG1tLWZ3Ij4gIAkJCQkJCQkJCTxhIGhyZWY9IiMiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSI+UHJvZ3JhbXMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+PC9hPiAgCQkJCQkJCQkJICAJCQkJCQkJCQk8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUgZnVsbCI+ICAJCQkJCQkJCQkJPGxpIGNsYXNzPSJmaG1tLWNvbnRlbnQgd2l0aG91dGRlc2MiPiAgCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJyb3ciPiAgCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTYiPiAgCQkJCQkJCQkJCQkJPGgzIGNsYXNzPSJ0aXRsZSI+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9vbWctY2VydGlmaWNhdGlvbnMvaW5kZXguaHRtIj5DZXJ0aWZpY2F0aW9uczwvYT48L2gzPiAgCQkJCQkJCQkJCQkJCTx1bD4gIAkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvb21nLWNlcnRpZmljYXRpb25zL2luZGV4Lmh0bSI+T01HIENlcnRpZmljYXRpb25zPC9hPjwvbGk+ICAJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL29jZWItMi9pbmRleC5odG0iPkJQTSBDZXJ0aWZpY2F0aW9uczwvYT48L2xpPiAgCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9vY3NtcC9pbmRleC5odG0iPlN5c01MIENlcnRpZmljYXRpb25zPC9hPjwvbGk+ICAJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL29jdXAtMi9pbmRleC5odG0iPlVNTCAyIENlcnRpZmljYXRpb25zPC9hPjwvbGk+ICAJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2NnaS1iaW4vc2VhcmNoY2VydC5jZ2kiIHRhcmdldD0iX2JsYW5rIj5DZXJ0aWZpZWQgUHJvZmVzc2lvbmFscyBEaXJlY3Rvcnk8L2E+PC9saT4gIAkJCQkJCQkJCQkJCQkJICAJCQkJCQkJCQkJCQkJPC91bD4gIAkJCQkJCQkJCQkJCTwvZGl2PiAgCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTYiPiAgCQkJCQkJCQkJCQkJCTxoMyBjbGFzcz0idGl0bGUiPk1hbmFnZWQgUHJvZ3JhbXM8L2gzPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmJwbS1wbHVzLm9yZy8iIG9uY2xpY2s9InRyYWNrT3V0Ym91bmRMaW5rKCdodHRwczovL3d3dy5icG0tcGx1cy5vcmcvJyk7IHJldHVybiBmYWxzZTsiPjxpIGNsYXNzPSJmYSBmYS1oZWFydGJlYXQiPjwvaT4gQlBNJiM0MzsgSGVhbHRoPC9hPjwvbGk+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2l0LWNpc3Eub3JnIiBvbmNsaWNrPSJ0cmFja091dGJvdW5kTGluaygnaHR0cHM6Ly9pdC1jaXNxLm9yZycpOyByZXR1cm4gZmFsc2U7Ij48aSBjbGFzcz0iZmEgZmEtY29kZSI+PC9pPiBDb25zb3J0aXVtIGZvciBJbmZvcm1hdGlvbiAmYW1wOyBTb2Z0d2FyZSBRdWFsaXR5JnRyYWRlOyAgLSBDSVNRJnRyYWRlOzwvYT48L2xpPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRkcy1mb3VuZGF0aW9uLm9yZy8iIG9uY2xpY2s9InRyYWNrT3V0Ym91bmRMaW5rKCdodHRwczovL3d3dy5kZHMtZm91bmRhdGlvbi5vcmcvJyk7IHJldHVybiBmYWxzZTsiPjxpIGNsYXNzPSJmYSBmYS1jb25uZWN0ZGV2ZWxvcCI+PC9pPiBERFMgRm91bmRhdGlvbiZ0cmFkZTs8L2E+PC9saT4gIAkJCQkJCQkJCSAgCQkJCQkJCQkJICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGlnaXRhbHR3aW5jb25zb3J0aXVtLm9yZy8iIG9uY2xpY2s9InRyYWNrT3V0Ym91bmRMaW5rKCdodHRwczovL3d3dy5kaWdpdGFsdHdpbmNvbnNvcnRpdW0ub3JnLycpOyByZXR1cm4gZmFsc2U7Ij48aSBjbGFzcz0iZmEgZmEtY29kZS1mb3JrIj48L2k+IERpZ2l0YWwgVHdpbiBDb25zb3J0aXVtJnJlZzs8L2E+PC9saT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5paWNvbnNvcnRpdW0ub3JnLyIgb25jbGljaz0idHJhY2tPdXRib3VuZExpbmsoJ2h0dHBzOi8vd3d3LmlpY29uc29ydGl1bS5vcmcvJyk7IHJldHVybiBmYWxzZTsiPjxpIGNsYXNzPSJmYSBmYS1nZWFyIj48L2k+IEluZHVzdHJ5IElvVCBDb25zb3J0aXVtJnJlZzsgLSBJSUMmdHJhZGU7PC9hPjwvbGk+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCQkJCQkgIAkJCQkJCQkJCSAgCQkJCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+ICAJCQkJCQkJCQkJCQk8L2Rpdj4gIAkJCQkJCQkJCQkJPC9kaXY+PCEtLSBlbmQgcm93IC0tPiAgCQkJCQkJCQkJCTwvbGk+PCEtLSBlbmQgZ3JpZCBkZW1vIC0tPiAgCQkJCQkJCQkJPC91bD48IS0tIGVuZCBkcm9wIGRvd24gbWVudSAtLT4gIAkJCQkJCQkJPC9saT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUHJvZ3JhbXMgLS0+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkJCQkJPCEtLSBNZW1iZXJzaGlwIC0tPiAgCQkJCQkJCQkgPGxpIGNsYXNzPSJkcm9wZG93biI+ICAJCQkJCQkJCQk8YSBocmVmPSIjIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiPk1lbWJlcnNoaXAgPGIgY2xhc3M9ImNhcmV0Ij48L2I+PC9hPiAgCQkJCQkJCQk8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiIHJvbGU9Im1lbnUiPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvYWJvdXQvbmV3LXRvLW9tZy5odG0iPk5ldyB0byBPTUc/PC9hPjwvbGk+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9iZS1hLW1lbWJlci5odG0iPkJlY29tZSBhIE1lbWJlcjwvYT48L2xpPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvY2dpLWJpbi9hcHBzL21lbWJlcnNlYXJjaC5wbCI+Q3VycmVudCBNZW1iZXJzPC9hPjwvbGk+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9hYm91dC9saWFpc29uLmh0bSI+UGFydG5lcnM8L2E+PC9saT4gICAgICAgICAJCQkJCQkJCSAgIDwvdWw+ICAJCQkJCQkJCTwvbGk+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTWVtYmVyc2hpcCAtLT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCQkJCTwhLS0gTWVtYmVyc2hpcCAtLT4gIAkJCQkJCQkJIDxsaSBjbGFzcz0iZHJvcGRvd24iPiAgCQkJCQkJCQkJPGEgaHJlZj0iIyIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIj5NZW1iZXJzIEFyZWEgPGIgY2xhc3M9ImNhcmV0Ij48L2I+PC9hPiAgCQkJCQkJCQkJPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IiByb2xlPSJtZW51Ij4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL21lbWJlcnMvIj48aSBjbGFzcz0iZmEgZmEtbG9jayI+PC9pPkxvZy1JbjwvYT48L2xpPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvbG9naW4vaW5kZXguaHRtIj48aSBjbGFzcz0iZmEgZmEtdW5sb2NrIj48L2k+TG9nLUluIEFzc2lzdGFuY2U8L2E+PC9saT4gIAkJCQkJCQkJCSAgCQkJCQkJCQkJICAJCQkJCQkJCQkJICAJCQkJCQkJCSAgIDwvdWw+ICAJCQkJCQkJCTwvbGk+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTWVtYmVyc2hpcCAtLT4gIAkJCQkJCQk8L3VsPjwhLS0gZW5kIG5hdiBuYXZiYXItbmF2IC0tPiAgCQkJCQkJPC9kaXY+PCEtLSBlbmQgI21haW4tbmF2IC0tPiAgICAJCQkJCTwvbmF2PjwvYm9keT48L2h0bWw+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9oZWFkZXI+CiAgICA8IS0tIEJPRFkgSEVBREVSIElOQ0xVREUgRU5EIC0tPgoKCjxkaXYgY2xhc3M9Im1haW4iIHJvbGU9Im1haW4iPiA8IS0tIE1haW4gLS0+CiAgICA8c2VjdGlvbiBjbGFzcz0icGFnZS1oZWFkaW5nIiByb2xlPSJuYXZpZ2F0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTkiPgogICAgICAgICAgICAgICAgICAgIDxoMT5BYm91dCB0aGUgQXN5bmNocm9ub3VzIE1ldGhvZCBJbnZvY2F0aW9uIGZvciBDQ00gU3BlY2lmaWNhdGlvbiBWZXJzaW9uIDEuMDwvaDE+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0zIj4KICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgY2xhc3M9ImJyZWFkY3J1bWIiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIGNsYXNzPSJhY3RpdmUiPjEuMDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vIj5BTUk0Q0NNPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIj48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMiPlNwZWNpZmljYXRpb25zPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxkaXYgY2xhc3M9InBhZ2UtY29udGVudCIgcm9sZT0iZGlyZWN0b3J5Ij4KICAgICAgICA8c2VjdGlvbiBpZD0iZG9jdW1lbnQtbWV0YWRhdGEiIHJvbGU9ImNvbXBsZW1lbnRhcnkiIGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgPGgxIGNsYXNzPSJzcGVjLWFjcm9ueW0gY29sLW1kLTMiPkFNSTRDQ03ihKI8L2gxPgogICAgICAgICAgICAgICAgPGgxIGNsYXNzPSJzcGVjLW5hbWUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogbm9uZSI+QXN5bmNocm9ub3VzIE1ldGhvZCBJbnZvY2F0aW9uIGZvciBDQ008L2gxPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMSI+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtanVzdGlmeSI+VGhpcyBzcGVjaWZpY2F0aW9uIGRlZmluZXMgYSBtZWNoYW5pc20gdG8gcGVyZm9ybSBhc3luY2hyb25vdXMgbWV0aG9kIGludm9jYXRpb24gZm9yIENDTSAoQU1JNENDTSkuPC9wPgogICAgICAgICAgICAgICAgICAgIDxkbCBjbGFzcz0iZGwtaG9yaXpvbnRhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gdGl0bGUgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkdD5UaXRsZTo8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGQ+QXN5bmNocm9ub3VzIE1ldGhvZCBJbnZvY2F0aW9uIGZvciBDQ008L2RkPgoKICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBhY3JvbnltIC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+QWNyb255bTo8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGQ+QU1JNENDTeKEojwvZGQ+CgogICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gdmVyc2lvbiAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGR0PlZlcnNpb246PC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbi1ib3R0b206IDA7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4xLjA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxici8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgdmVyc2lvbiB3YXMgc3VwZXJzZWRlZCBieSBhIG5ld2VyIGludmVudG9yeS4gVGhlIGxhdGVzdCB2ZXJzaW9uIGNhbiBiZSBmb3VuZCBoZXJlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vIj5BTUk0Q0NNPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2RkPgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGRvY3VtZW50IHN0YXR1cyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGR0PkRvY3VtZW50IFN0YXR1czo8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMDsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9InJpZ2h0IiBkYXRhLWNvbnRhaW5lcj0nYm9keScKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJGb3JtYWwgU3BlY2lmaWNhdGlvbnMgaGF2ZSBiZWVuIGFwcHJvdmVkIGJ5IE9NRyBCb2FyZCBvZiBEaXJlY3RvcnMgYW5kIGhhdmUgYmVlbiBlZGl0ZWQuIj5mb3JtYWwg4pOYPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2RkPgoKICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBwdWJsaWNhdGlvbiBkYXRlIC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+UHVibGljYXRpb24gRGF0ZTo8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGQ+TWFyY2ggMjAxMzwvZGQ+CgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gY2F0ZWdvcmllcyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdD5DYXRlZ29yaWVzOjwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Imdyb3VwIiBjbGFzcz0ibGlzdC1pbmxpbmUgZGQtbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJsaXN0aXRlbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0ZXh0LWNhcGl0YWxpemUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImJhZGdlIGJhZGdlLWluZm8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvY2F0ZWdvcnkvY29yYmEtcGxhdGZvcm0vIj48ZW0+Q29yYmEgUGxhdGZvcm08L2VtPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Imxpc3RpdGVtIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRleHQtY2FwaXRhbGl6ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYmFkZ2UgYmFkZ2UtaW5mbyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9jYXRlZ29yeS9jb21wb25lbnQtYXJjaGl0ZWN0dXJlLyI+PGVtPkNvbXBvbmVudCBBcmNoaXRlY3R1cmU8L2VtPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Imxpc3RpdGVtIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRleHQtY2FwaXRhbGl6ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYmFkZ2UgYmFkZ2UtaW5mbyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9jYXRlZ29yeS9kb21haW4vIj48ZW0+RG9tYWluPC9lbT48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGlwciBtb2RlIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJyaWdodCIgZGF0YS1jb250YWluZXI9J2JvZHknIGRhdGEtaHRtbD0idHJ1ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9Ik9NRyZhbXA7IzM5O3MgUG9saWN5IG9uIEludGVsbGVjdHVhbCBQcm9wZXJ0eSBSaWdodHMgaXMgZGVzaWduZWQgdG8gZW5hYmxlIHRoZSBvcGVuIGRldmVsb3BtZW50LCBkaXNzZW1pbmF0aW9uLCBhbmQgdXNlIG9mIGl0cyBzcGVjaWZpY2F0aW9ucywgYW5kIHRoZWlyIGJyb2FkIGltcGxlbWVudGF0aW9uIGFuZCB1cHRha2UuIFNwZWNpZmljYXRpb25zLCBpbmNsdWRpbmcgRmluYWxpemF0aW9uL1JldmlzaW9uIFRhc2sgRm9yY2UgUmVwb3J0cyBhcmUgcmVxdWlyZWQgdG8gaGF2ZSBhIGRlY2xhcmVkIEludGVsbGVjdHVhbCBQcm9wZXJ0eSBSaWdodHMgc3RhdGVtZW50IGJhc2VkIG9uIGVpdGhlciBSQU5ELCBSRiBvbiBMaW1pdGVkIFRlcm1zLCBvciBOb24tQXNzZXJ0LiZsdDtici8mZ3Q7U2VlIHRoZSBPTUcgUG9saWN5IFN0YXRlbWVudCwgSW50ZWxsZWN0dWFsIFByb3BlcnR5IFJpZ2h0cywgY2xpY2sgdGhlIGxpbmsgZm9yIGRldGFpbHMuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vZG9jLm9tZy5vcmcvaXByIj5JUFIgTW9kZSDik5g8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJyaWdodCIgZGF0YS1jb250YWluZXI9J2JvZHknCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJFYWNoIE9ibGlnYXRlZCBQYXJ0eSBpbiBhbiBSRiBvbiBMaW1pdGVkIFRlcm1zIElQUiBNb2RlIEFkb3B0aW9uIG9yIFJldmlzaW9uIFByb2Nlc3MgY292ZW5hbnRzIHRoYXQgaXQgd2lsbCBncmFudCB0byBhbiB1bnJlc3RyaWN0ZWQgbnVtYmVyIG9mIGFwcGxpY2FudHMgYSByb3lhbHR5IGFuZCBmZWUgZnJlZSwgbm9uZXhjbHVzaXZlLCB3b3JsZHdpZGUsIG5vbi1zdWJsaWNlbnNhYmxlLCBwZXJwZXR1YWwgcGF0ZW50IGxpY2Vuc2UgdG8gaXRzIEVzc2VudGlhbCBDbGFpbXMiPlJGLUxpbWl0ZWQg4pOYPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZD4KICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L2RsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8IS0tIFNwZWNpZmljYXRpb24gZG9jdW1lbnRzIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTEiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLWJvdHRvbTogNXB4OyI+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRvd25sb2FkLWRvY3VtZW50IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wL1BERiIgdGl0bGU9IkNsaWNrIHRvIERvd25sb2FkIFNwZWNpZmljYXRvbiBEb2N1bWVudCIgZGF0YS1zcGVjPSJBTUk0Q0NNLzEuMCIgZGF0YS1sYWJlbD0iQU1JNENDTS8xLjAvUERGIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtZmlsZS1wZGYtbyBmYS0zeCI+PC9pPjxici8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWNhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGhyIGNsYXNzPSJjb250YWluZXLigJ0vIj4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gVGFibGUgb2YgQ29udGVudHMgLS0+CiAgICAgICAgPHNlY3Rpb24gaWQ9InRvYyIgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxoMiByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIxIj5UYWJsZSBPZiBDb250ZW50czwvaDI+CiAgICAgICAgICAgIDx1bCByb2xlPSJkaXJlY3RvcnkiIGNsYXNzPSJ0b2MiPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lIj4KICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idGV4dC1pbmZvIiBocmVmPSIjZG9jdW1lbnQtbWV0YWRhdGEiPkFib3V0IHRoZSBTcGVjaWZpY2F0aW9uPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9jbGluZSI+CiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRleHQtaW5mbyIgaHJlZj0iI2NvbXBhbmllcyI+Q29tcGFuaWVzIHRoYXQgaGF2ZSBjb250cmlidXRlZCB0byB0aGUgZGV2ZWxvcG1lbnQgb2YgdGhpcyBTcGVjaWZpY2F0aW9uPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9jbGluZSI+CiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRleHQtaW5mbyIgaHJlZj0iI2lzc3VlcyI+SXNzdWVzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHNwZWNpZmljYXRpb248L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lIj48YSBjbGFzcz0idGV4dC1pbmZvIiBocmVmPSIjZG9jdW1lbnRzIj5TcGVjaWZpY2F0aW9uIERvY3VtZW50czwvYT4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InRvYyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9jbGluZSI+PGEgY2xhc3M9InRleHQtaW5mbyIgaHJlZj0iI2RvY3Mtbm9ybWF0aXZlLXN1cHBvcnRpbmciPk5vcm1hdGl2ZSBEb2N1bWVudHM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0ZXh0LWluZm8iIGhyZWY9IiNkb2NzLW5vcm1hdGl2ZS1tYWNoaW5lIj5Ob3JtYXRpdmUgTWFjaGluZSBSZWFkYWJsZSBEb2N1bWVudHM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9jbGluZSI+PGEgY2xhc3M9InRleHQtaW5mbyIgaHJlZj0iI3NwZWMtdmVyc2lvbnMiPkhpc3Rvcnk8L2E+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJ0b2MiPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0ZXh0LWluZm8iIGhyZWY9IiNzcGVjLXZlcnNpb25zLWZvcm1hbCI+Rm9ybWFsIFZlcnNpb25zPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lIj48YSBjbGFzcz0idGV4dC1pbmZvIiBocmVmPSIjaW52ZW50b3J5LWxpbmtzIj5MaW5rczwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDxociBjbGFzcz0iY29udGFpbmVy4oCdLyI+CiAgICAgICAgPC9zZWN0aW9uPgogICAgICAgIDxzZWN0aW9uIGlkPSJjb21wYW5pZXMiIGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8aDIgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMSI+Q29tcGFuaWVzIHRoYXQgaGF2ZSBjb250cmlidXRlZCB0byB0aGUgZGV2ZWxvcG1lbnQgb2YgdGhpcyBTcGVjaWZpY2F0aW9uPC9oMj4KICAgICAgICAgICAgPHVsIHJvbGU9ImRpcmVjdG9yeSIgY2xhc3M9InRvYyI+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvY2xpbmUiPgogICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCDCqSAyMDEzCiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRleHQtaW5mbyIgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL2NvbXBhbnkvb2JqZWN0LW1hbmFnZW1lbnQtZ3JvdXAvIj5PYmplY3QgTWFuYWdlbWVudCBHcm91cDwvYT4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvY2xpbmUiPgogICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCDCqSAyMDExLTIwMTIKICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idGV4dC1pbmZvIiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvY29tcGFueS9yZW1lZHktaXQvIj5SZW1lZHkgSVQ8L2E+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8aHIgY2xhc3M9ImNvbnRhaW5lcuKAnS8iPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBpZD0iaXNzdWVzIiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGgyIHJvbGU9ImhlYWRpbmciIGFyaWEtbGV2ZWw9IjEiPklzc3VlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBzcGVjaWZpY2F0aW9uPC9oMj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIGlzc3Vlcy1saW5rcyI+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0iY29sLW1kLTIiPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vaXNzdWVzLm9tZy5vcmcvaXNzdWVzL3NwZWMvQU1JNENDTS8xLjAiPgogICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtbGlzdCBmYS0zeCI+PC9pPjxici8+CiAgICAgICAgICAgICAgICAgICAgICAgIElzc3VlcyBSZXBvcnRlZCBpbiB0aGlzIFNwZWNpZmljYXRpb24KICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0iY29sLW1kLTIiPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vaXNzdWVzLm9tZy5vcmcvaXNzdWVzL3NwZWMvQU1JNENDTS8xLjAvZml4ZWQiPgogICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtZmxhZy1jaGVja2VyZWQgZmEtM3giPjwvaT48YnIvPgogICAgICAgICAgICAgICAgICAgICAgICBJc3N1ZXMgRml4ZWQgaW4gdGhpcyBTcGVjaWZpY2F0aW9uCiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImNvbC1tZC0yIj4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2lzc3Vlcy5vbWcub3JnL2lzc3Vlcy9jcmVhdGUtbmV3LWlzc3VlP3NwZWNpZmljYXRpb249QU1JNENDTSUyMzEuMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1jb21tZW50aW5nIGZhLTN4Ij48L2k+PGJyLz4KICAgICAgICAgICAgICAgICAgICAgICAgUmVwb3J0IGFuIGlzc3VlCiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImNvbC1tZC0yIj4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2lzc3Vlcy5vbWcub3JnL2Jyb3dzZS9BTUk0Q0NNMTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtdXNlcnMgZmEtM3giPjwvaT48YnIvPgogICAgICAgICAgICAgICAgICAgICAgICBJc3N1ZSBUcmFja2VyIChNZW1iZXJzIE9ubHkpCiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGhyIGNsYXNzPSJjb250YWluZXLigJ0vIj4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGlkPSJkb2N1bWVudHMiIGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8aDIgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMSI+U3BlY2lmaWNhdGlvbiBEb2N1bWVudHM8L2gyPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0iY29udGFpbmVyIiBpZD0iZG9jcy1ub3JtYXRpdmUtc3VwcG9ydGluZyI+CiAgICAgICAgICAgICAgICA8aDMgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMiI+Tm9ybWF0aXZlIERvY3VtZW50czwvaDM+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1yZXNwb25zaXZlIj4KICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtc3RyaXBlZCIgZGF0YS1zb3J0YWJsZT4KICAgICAgICA8dGhlYWQ+CiAgICAgICAgPHRyPgogICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy01Ij5EZXNjcmlwdGlvbjwvdGg+CiAgICAgICAgICAgIDx0aCBjbGFzcz0iY29sLXhzLTEiPkZvcm1hdDwvdGg+CiAgICAgICAgICAgIDx0aCBjbGFzcz0iY29sLXhzLTMiPlVSTDwvdGg+CiAgICAgICAgICAgIDx0aCBjbGFzcz0iY29sLXhzLTIiPk9NRyBGaWxlIElEPC90aD4KICAgICAgICA8L3RyPgogICAgICAgIDwvdGhlYWQ+CiAgICAgICAgPHRib2R5PgogICAgICAgIDx0cj4KICAgICAgICAgICAgCiAgICAgICAgICAgIDx0ZCBjbGFzcz0iZG9jdW1lbnQtZXhwbGFuYXRpb24iPlNwZWNpZmljYXRpb248L3RkPgogICAgICAgICAgICA8dGQgY2xhc3M9ImRvY3VtZW50LWZvcm1hdCI+UERGPC90ZD4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRvd25sb2FkLWRvY3VtZW50IgogICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzEuMC9QREYiIGRhdGEtc3BlYz0iQU1JNENDTS8xLjAiIGRhdGEtbGFiZWw9IkFNSTRDQ00vMS4wL1BERiI+QU1JNENDTS8xLjAvUERGPC9hPgogICAgICAgICAgICAgICAgICAgIDxici8+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPHRkIGNsYXNzPSJkb2N1bWVudC1udW1iZXIiCiAgICAgICAgICAgICAgICB0aXRsZT0iNDc0OTIwIj5mb3JtYWwvMTMtMDQtMDE8L3RkPgogICAgICAgIDwvdHI+CiAgICAgICAgPC90Ym9keT4KICAgIDwvdGFibGU+CjwvZGl2PgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJjb250YWluZXIiIGlkPSJkb2NzLW5vcm1hdGl2ZS1tYWNoaW5lIj4KICAgICAgICAgICAgICAgIDxoMyByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIyIj5Ob3JtYXRpdmUgTWFjaGluZSBSZWFkYWJsZSBEb2N1bWVudHM8L2gzPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtcmVzcG9uc2l2ZSI+CiAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLXN0cmlwZWQiIGRhdGEtc29ydGFibGU+CiAgICAgICAgPHRoZWFkPgogICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoIGNsYXNzPSJjb2wteHMtNSI+RGVzY3JpcHRpb248L3RoPgogICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy0xIj5Gb3JtYXQ8L3RoPgogICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy0zIj5VUkw8L3RoPgogICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy0yIj5PTUcgRmlsZSBJRDwvdGg+CiAgICAgICAgPC90cj4KICAgICAgICA8L3RoZWFkPgogICAgICAgIDx0Ym9keT4KICAgICAgICA8dHI+CiAgICAgICAgICAgIAogICAgICAgICAgICA8dGQgY2xhc3M9ImRvY3VtZW50LWV4cGxhbmF0aW9uIj5Bc3luY2hyb25vdXMgTWV0aG9kIEludm9jYXRpb24gZm9yIENDTSBGVEYgemlwcGVkIElETCBmaWxlPC90ZD4KICAgICAgICAgICAgPHRkIGNsYXNzPSJkb2N1bWVudC1mb3JtYXQiPklETDwvdGQ+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJkb3dubG9hZC1kb2N1bWVudCIKICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8yMDEyMDcwNy9hbWk0Y2NtLmlkbCIgZGF0YS1zcGVjPSJBTUk0Q0NNLzEuMCIgZGF0YS1sYWJlbD0iQU1JNENDTS8yMDEyMDcwNy9hbWk0Y2NtLmlkbCI+QU1JNENDTS8yMDEyMDcwNy9hbWk0Y2NtLmlkbDwvYT4KICAgICAgICAgICAgICAgICAgICA8YnIvPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgIDx0ZCBjbGFzcz0iZG9jdW1lbnQtbnVtYmVyIgogICAgICAgICAgICAgICAgdGl0bGU9IjQ3MzkxOCI+cHRjLzEyLTA3LTA3PC90ZD4KICAgICAgICA8L3RyPgogICAgICAgIDwvdGJvZHk+CiAgICA8L3RhYmxlPgo8L2Rpdj4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIDxociBjbGFzcz0iY29udGFpbmVy4oCdLyI+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBpZD0ic3BlYy12ZXJzaW9ucyIgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxoMiByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIxIj5IaXN0b3J5PC9oMj4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJjb250YWluZXIiIGlkPSJzcGVjLXZlcnNpb25zLWZvcm1hbCI+CiAgICAgICAgICAgICAgICA8aDMgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMiI+Rm9ybWFsIFZlcnNpb25zPC9oMz4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtc3RyaXBlZCIgZGF0YS1zb3J0YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy0yIj5WZXJzaW9uPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iY29sLXhzLTMiPkFkb3B0aW9uIERhdGU8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJjb2wteHMtNyI+VVJMPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PgogICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+MS4wPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5NYXJjaCAyMDEzPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8xLjAvIj5odHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8xLjAvPC9hPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDxociBjbGFzcz0iY29udGFpbmVy4oCdLyI+CiAgICAgICAgPC9zZWN0aW9uPgoKCiAgICAgICAgPHNlY3Rpb24gaWQ9ImludmVudG9yeS1saW5rcyIgcm9sZT0iY29tcGxlbWVudGFyeSIgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxoMiByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIxIj5MaW5rczwvaDI+CiAgICAgICAgICAgIDxkbCBjbGFzcz0iZGwtaG9yaXpvbnRhbCI+CiAgICAgICAgICAgICAgICA8ZHQ+VGhpcyBEb2N1bWVudDo8L2R0PgogICAgICAgICAgICAgICAgPGRkPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzEuMC9BYm91dC1BTUk0Q0NNLyI+aHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wL0Fib3V0LUFNSTRDQ00vPC9hPgogICAgICAgICAgICAgICAgPC9kZD4KCiAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9InNtYWxsIj5SREY8L2R0PgogICAgICAgICAgICAgICAgPGRkIGNsYXNzPSJzbWFsbCI+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wL0Fib3V0LUFNSTRDQ00ucmRmIj5odHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8xLjAvQWJvdXQtQU1JNENDTS5yZGY8L2E+CiAgICAgICAgICAgICAgICA8L2RkPgoKICAgICAgICAgICAgICAgIDxkdCBjbGFzcz0ic21hbGwiPkpTT04tTEQ8L2R0PgogICAgICAgICAgICAgICAgPGRkIGNsYXNzPSJzbWFsbCI+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wL0Fib3V0LUFNSTRDQ00uanNvbmxkIj5odHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8xLjAvQWJvdXQtQU1JNENDTS5qc29ubGQ8L2E+CiAgICAgICAgICAgICAgICA8L2RkPgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkdD5MYXRlc3QgRG9jdW1lbnQ6PC9kdD4KICAgICAgICAgICAgICAgICAgICA8ZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLyI+aHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGQ+CgogICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzcz0ic21hbGwiPlJERjwvZHQ+CiAgICAgICAgICAgICAgICAgICAgPGRkIGNsYXNzPSJzbWFsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNL0Fib3V0LUFNSTRDQ00ucmRmIj5odHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS9BYm91dC1BTUk0Q0NNLnJkZjwvYT4KICAgICAgICAgICAgICAgICAgICA8L2RkPgoKICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9InNtYWxsIj5KU09OLUxEPC9kdD4KICAgICAgICAgICAgICAgICAgICA8ZGQgY2xhc3M9InNtYWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vQWJvdXQtQU1JNENDTS5qc29ubGQiPmh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNL0Fib3V0LUFNSTRDQ00uanNvbmxkPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGQ+CiAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICA8ZHQ+TWVtYmVycyBPbmx5PC9kdD4KICAgICAgICAgICAgICAgIDxkZD4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL21lbWJlcnMvc3BlYy9BTUk0Q0NNLzEuMC8iPmh0dHBzOi8vd3d3Lm9tZy5vcmcvbWVtYmVycy9zcGVjL0FNSTRDQ00vMS4wLzwvYT4KICAgICAgICAgICAgICAgIDwvZGQ+CiAgICAgICAgICAgICAgICA8IS0tIGtleXdvcmRzIC0tPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8IS0tIGNvbnRhY3QgZm9ybSAtLT4KICAgICAgICAgICAgICAgIDxkdD5Db250YWN0OjwvZHQ+CiAgICAgICAgICAgICAgICA8ZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9InJpZ2h0IiBkYXRhLWNvbnRhaW5lcj0iYm9keSIgZGF0YS1odG1sPSJ0cnVlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iSnVzdCBzZW5kIGEgcXVlc3Rpb24gYWJvdXQgdGhpcyBzcGVjaWZpY2F0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvY29udGFjdD9pPUFNSTRDQ00vMS4wIj5TZW5kIGEgcXVlc3Rpb24g4pOYPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kZD4KICAgICAgICAgICAgPC9kbD4KICAgICAgICA8L3NlY3Rpb24+CiAgICA8L2Rpdj4gPCEtLSBQYWdlIENvbnRlbnQgLyBFbmQgLS0+CjwvZGl2PiA8IS0tIE1haW4gLyBFbmQgLS0+CgogICAgPCEtLSBCT0RZIEZPT1RFUiBJTkNMVURFIEJFR0lOIC0tPgogICAgPCEtLSBGb290ZXIgLS0+CiAgICA8Zm9vdGVyIGNsYXNzPSJmb290ZXIiIGlkPSJmb290ZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci13aWRnZXRzIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTQgY29sLW1kLTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFdpZGdldCA6OiBDdXN0b20gTWVudSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0X25hdl9tZW51IHdpZGdldCB3aWRnZXRfX2Zvb3RlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9IndpZGdldC10aXRsZSI+Q3VzdG9tIExpbmtzPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIvL3d3dy5vbWcub3JnL2dldHRpbmdzdGFydGVkL2JvZF9wdWJsaWMuaHRtIj5Cb2FyZCBvZiBEaXJlY3RvcnM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIvL3d3dy5vbWcub3JnL2xlZ2FsL2luZGV4Lmh0bSI+TGVnYWw8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvYWJvdXQvbGlhaXNvbi5odG0iPkxpYWlzb24gUmVsYXRpb25zPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIvL3d3dy5vbWcub3JnL2Fib3V0L3N0YWZmLmh0bSI+TWVldCBPdXIgU3RhZmY8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC9XaWRnZXQgOjogQ3VzdG9tIE1lbnUgLS0+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTQgY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFdpZGdldCA6OiBUZXh0IFdpZGdldCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0X3RleHQgd2lkZ2V0IHdpZGdldF9fZm9vdGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0id2lkZ2V0LXRpdGxlIj5BYm91dCBVczwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIE9iamVjdCBNYW5hZ2VtZW50IEdyb3VwJnJlZzsgKE9NRyZyZWc7KSBpcyBhbiBpbnRlcm5hdGlvbmFsLCBvcGVuIG1lbWJlcnNoaXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdC1mb3ItcHJvZml0IHRlY2hub2xvZ3kgc3RhbmRhcmRzIGNvbnNvcnRpdW0uPC9wPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5Gb3VuZGVkIGluIDE5ODksIE9NRyBzdGFuZGFyZHMgYXJlIGRyaXZlbiBieSB2ZW5kb3JzLCBlbmQtdXNlcnMsIGFjYWRlbWljCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RpdHV0aW9ucyBhbmQgZ292ZXJubWVudCBhZ2VuY2llcy4gT01HIFRhc2sgRm9yY2VzIGRldmVsb3AgZW50ZXJwcmlzZSBpbnRlZ3JhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFuZGFyZHMgZm9yIGEgd2lkZSByYW5nZSBvZiB0ZWNobm9sb2dpZXMgYW5kIGFuIGV2ZW4gd2lkZXIgcmFuZ2Ugb2YKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kdXN0cmllcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLy93d3cub21nLm9yZy9hYm91dC9pbmRleC5odG0iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gL1dpZGdldCA6OiBUZXh0IFdpZGdldCAtLT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNCBjb2wtbWQtMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gV2lkZ2V0IDo6IENvbnRhY3RzIEluZm8gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3RzLXdpZGdldCB3aWRnZXQgd2lkZ2V0X19mb290ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ3aWRnZXQtdGl0bGUiPkNvbnRhY3QgVXM8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iY29udGFjdHMtaW5mby1saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLW1hcC1tYXJrZXIiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8taXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOUMgTWVkd2F5IFJvYWQsIFBNQiAyNzQ8YnI+IE1pbGZvcmQsIE1BIDAxNzU3IFVTQQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1waG9uZSI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQaC4rMSA3ODEgNDQ0LTA0MDQ8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmF4ICsxIDc4MS00NDQtMDMyMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1lbnZlbG9wZSI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8taXRlbSI+CgkJCQkJCQkJCQkJCQk8YSBocmVmPSJtYWlsdG86aW5mb0BvbWcub3JnIj5pbmZvQG9tZy5vcmc8L2E+CgkJCQkJCQkJCQkJCTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC9XaWRnZXQgOjogQ29udGFjdHMgSW5mbyAtLT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItY29weXJpZ2h0Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTYgY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgJmNvcHk7IDIwMjIgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvaW5kZXguaHRtIj5PYmplY3QgTWFuYWdlbWVudCBHcm91cCZyZWc7LAogICAgICAgICAgICAgICAgICAgICAgICBPTUcmcmVnOzwvYT4gJm5ic3A7fCAmbmJzcDtBbGwgUmlnaHRzIFJlc2VydmVkCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTYgY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzb2NpYWwtbGlua3Mtd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic29jaWFsLWxpbmtzLXR4dCI+Q29ubmVjdCB3aXRoIHVzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJzb2NpYWwtbGlua3Mgc29jaWFsLWxpbmtzX19kYXJrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL09iamVjdC1NYW5hZ2VtZW50LUdyb3VwLTE3MTUzNDQxMDAyMi8iPjxpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZmEgZmEtZmFjZWJvb2siPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9vYmplY3RtZ210Z3JvdXAiPjxpIGNsYXNzPSJmYSBmYS10d2l0dGVyIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9ncm91cHMvNjY3OTkiPjxpIGNsYXNzPSJmYSBmYS1saW5rZWRpbiI+PC9pPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2Jsb2cub21nLm9yZy8iPjxpIGNsYXNzPSJmYSBmYS1wZW5jaWwtc3F1YXJlLW8iPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ3R1VGoxd3R5d29qWU5ab3lQZVlBRnciPjxpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZmEgZmEteW91dHViZSI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9wbHVzLmdvb2dsZS5jb20vYi8xMTIzMDM0NjE5OTU4NzAzMTUxNTYvMTEyMzAzNDYxOTk1ODcwMzE1MTU2L3Bvc3RzIj48aQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJmYSBmYS1nb29nbGUtcGx1cyI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIj48aSBjbGFzcz0iZmEgZmEtcnNzIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZm9vdGVyPgogICAgPCEtLSBGb290ZXIgLyBFbmQgLS0+CgogICAgPCEtLSBKYXZhc2NyaXB0IEZpbGVzCiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3d3dy5vbWcub3JnL3ZlbmRvci9qcXVlcnktMS4xMS4wLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cub21nLm9yZy92ZW5kb3IvanF1ZXJ5LW1pZ3JhdGUtMS4yLjEubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3d3dy5vbWcub3JnL3ZlbmRvci9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3d3dy5vbWcub3JnL3ZlbmRvci9oZWFkaGVzaXZlLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cub21nLm9yZy92ZW5kb3IvZmhtbS5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cub21nLm9yZy92ZW5kb3IvanF1ZXJ5LmZsaWNrcmZlZWQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvdmVuZG9yL2lzb3RvcGUvaXNvdG9wZS5wa2dkLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cub21nLm9yZy92ZW5kb3IvaXNvdG9wZS9qcXVlcnkuaW1hZ2VzbG9hZGVkLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cub21nLm9yZy92ZW5kb3IvbWFnbmlmaWMtcG9wdXAvanF1ZXJ5Lm1hZ25pZmljLXBvcHVwLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3d3dy5vbWcub3JnL3ZlbmRvci9vd2wtY2Fyb3VzZWwvb3dsLmNhcm91c2VsLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cub21nLm9yZy92ZW5kb3IvanF1ZXJ5LmZpdHZpZHMuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvdmVuZG9yL2pxdWVyeS5hcHBlYXIuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvdmVuZG9yL2pxdWVyeS5zdGVsbGFyLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cub21nLm9yZy92ZW5kb3Ivc25hcC5zdmctbWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3d3dy5vbWcub3JnL3ZlbmRvci9tZWRpYWVsZW1lbnQvbWVkaWFlbGVtZW50LWFuZC1wbGF5ZXIubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgYXN5bmM9IiIgc3JjPSJodHRwczovL3d3dy5nb29nbGUtYW5hbHl0aWNzLmNvbS9nYS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cub21nLm9yZy9qcy9jdXN0b20uanMiPjwvc2NyaXB0PgoKICAgIDwhLS0gc29ydGFibGUgdGFibGVzIC0tPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vdW5wa2cuY29tL2Jvb3RzdHJhcC10YWJsZUAxLjE4LjMvZGlzdC9ib290c3RyYXAtdGFibGUubWluLmpzIj48L3NjcmlwdD4KCiAgICA8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiCiAgICAgICAgICAgIGludGVncml0eT0ic2hhMjU2LSttV2QvRzY5UzRxdGdQb3dTRUxJZVZBdjcrRnVMODcxV1hhb2xnWG5yd1E9IgogICAgICAgICAgICBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3NlbGVjdDIvNC4wLjMvanMvc2VsZWN0Mi5taW4uanMiPjwvc2NyaXB0PgogICAgPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvc2VsZWN0Mi80LjAuMy9jc3Mvc2VsZWN0Mi5taW4uY3NzIgogICAgICAgICAgaW50ZWdyaXR5PSJzaGEyNTYteEpPWkhmcHhMUi91aGgxQndZRlM1ZmhtT0FkSVJRYWlPdWw1Ri9iN3Yzcz0iIHJlbD0ic3R5bGVzaGVldCIvPgogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgY29uc3Qgc2VhcmNoQm94ID0gJCgiI3NwZWNzLXNlYXJjaC1ib3giKTsKICAgICAgICAgICAgc2VhcmNoQm94LnNlbGVjdDIoewogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICJUeXBlIFNwZWNpZmljYXRpb25zLCBDYXRlZ29yaWVzLCBLZXl3b3JkcyBvciBDb21wYW5pZXMiLAogICAgICAgICAgICAgICAgYWxsb3dDbGVhcjogdHJ1ZSwKICAgICAgICAgICAgICAgIG1pbmltdW1SZXN1bHRzRm9yU2VhcmNoOiA1CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBzZWFyY2hCb3gub24oInNlbGVjdDI6c2VsZWN0IiwgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgIGxldCBwYXRoID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlOwogICAgICAgICAgICAgICAgc2VhcmNoQm94LnZhbChbXSkudHJpZ2dlcigiY2hhbmdlIik7CiAgICAgICAgICAgICAgICBpZiAoIXdpbmRvdy5sb2NhdGlvbi5ocmVmLmVuZHNXaXRoKCIvIikpCiAgICAgICAgICAgICAgICAgICAgcGF0aCA9ICIvIiArIHBhdGg7CiAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmICsgcGF0aDsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICQoIiNzcGVjcy1zZWFyY2gtYnV0dG9uIikuaGlkZSgpOwogICAgICAgICAgICAkKCJhLmRvd25sb2FkLWRvY3VtZW50IikuY2xpY2soZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgZ3RhZygnZXZlbnQnLCAnZG93bmxvYWQnLCB7CiAgICAgICAgICAgICAgICAgICAgJ2V2ZW50X2NhdGVnb3J5JzogJ2Rvd25sb2FkcycsCiAgICAgICAgICAgICAgICAgICAgJ2V2ZW50X2FjdGlvbic6ICQodGhpcykuZGF0YSgic3BlYyIpLAogICAgICAgICAgICAgICAgICAgICdldmVudF9sYWJlbCc6ICQodGhpcykuZGF0YSgibGFiZWwiKQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgICAgICQoJ1tkYXRhLXRvZ2dsZT0idG9vbHRpcCJdJykudG9vbHRpcCgpCiAgICA8L3NjcmlwdD4KCiAgICA8IS0tIEJPRFkgRk9PVEVSIElOQ0xVREUgRU5EIC0tPgoKPC9ib2R5Pgo8L2h0bWw+
40
+ PCFET0NUWVBFIEhUTUw+CjxodG1sIGxhbmc9ImVuIiBjbGFzcz0ianMgbm8tdG91Y2ggY3NzdHJhbnNmb3JtczNkIGNzc3RyYW5zaXRpb25zIj4KCgoKCgoKCgoKCgo8aGVhZD4KICAgIDx0aXRsZT5BYm91dCB0aGUgQXN5bmNocm9ub3VzIE1ldGhvZCBJbnZvY2F0aW9uIGZvciBDQ00gU3BlY2lmaWNhdGlvbiBWZXJzaW9uIDEuMDwvdGl0bGU+CiAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgdHlwZT0iYXBwbGljYXRpb24vanNvbiIgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wL0Fib3V0LUFNSTRDQ00vIi8+CiAgICAKICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgogICAgPGxpbmsgcmVsPSJjYW5vbmljYWwiIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzEuMC9BYm91dC1BTUk0Q0NNLyIvPgogICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIHR5cGU9ImFwcGxpY2F0aW9uL3JkZit4bWwiIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzEuMC9BYm91dC1BTUk0Q0NNLyIvPgogICAgPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj5bIHsKICAiQGlkIiA6ICJodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvbGljZW5zZSIsCiAgIkB0eXBlIiA6IFsgImh0dHA6Ly93d3cudzMub3JnLzIwMDIvMDcvb3dsI0Fubm90YXRpb25Qcm9wZXJ0eSIgXQp9LCB7CiAgIkBpZCIgOiAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9TcGVjaWZpY2F0aW9uIiwKICAiQHR5cGUiIDogWyAiaHR0cDovL3d3dy53My5vcmcvMjAwMi8wNy9vd2wjQ2xhc3MiIF0KfSwgewogICJAaWQiIDogImh0dHA6Ly93d3cub21nLm9yZy90ZWNocHJvY2Vzcy9hYi9TcGVjaWZpY2F0aW9uTWV0YWRhdGEvY2F0ZWdvcnkiLAogICJAdHlwZSIgOiBbICJodHRwOi8vd3d3LnczLm9yZy8yMDAyLzA3L293bCNBbm5vdGF0aW9uUHJvcGVydHkiIF0KfSwgewogICJAaWQiIDogImh0dHA6Ly93d3cub21nLm9yZy90ZWNocHJvY2Vzcy9hYi9TcGVjaWZpY2F0aW9uTWV0YWRhdGEvY3JlYXRpb25EYXRlIiwKICAiQHR5cGUiIDogWyAiaHR0cDovL3d3dy53My5vcmcvMjAwMi8wNy9vd2wjQW5ub3RhdGlvblByb3BlcnR5IiBdCn0sIHsKICAiQGlkIiA6ICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL2ZpbGVuYW1lIiwKICAiQHR5cGUiIDogWyAiaHR0cDovL3d3dy53My5vcmcvMjAwMi8wNy9vd2wjQW5ub3RhdGlvblByb3BlcnR5IiBdCn0sIHsKICAiQGlkIiA6ICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL3B1YmxpY2F0aW9uRGF0ZSIsCiAgIkB0eXBlIiA6IFsgImh0dHA6Ly93d3cudzMub3JnLzIwMDIvMDcvb3dsI0Fubm90YXRpb25Qcm9wZXJ0eSIgXQp9LCB7CiAgIkBpZCIgOiAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9zcGVjaWZpY2F0aW9uQWJicmV2aWF0aW9uIiwKICAiQHR5cGUiIDogWyAiaHR0cDovL3d3dy53My5vcmcvMjAwMi8wNy9vd2wjQW5ub3RhdGlvblByb3BlcnR5IiBdCn0sIHsKICAiQGlkIiA6ICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL3NwZWNpZmljYXRpb25BYnN0cmFjdCIsCiAgIkB0eXBlIiA6IFsgImh0dHA6Ly93d3cudzMub3JnLzIwMDIvMDcvb3dsI0Fubm90YXRpb25Qcm9wZXJ0eSIgXQp9LCB7CiAgIkBpZCIgOiAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9zcGVjaWZpY2F0aW9uVGl0bGUiLAogICJAdHlwZSIgOiBbICJodHRwOi8vd3d3LnczLm9yZy8yMDAyLzA3L293bCNBbm5vdGF0aW9uUHJvcGVydHkiIF0KfSwgewogICJAaWQiIDogImh0dHA6Ly93d3cub21nLm9yZy90ZWNocHJvY2Vzcy9hYi9TcGVjaWZpY2F0aW9uTWV0YWRhdGEvc3BlY2lmaWNhdGlvblVSTCIsCiAgIkB0eXBlIiA6IFsgImh0dHA6Ly93d3cudzMub3JnLzIwMDIvMDcvb3dsI0Fubm90YXRpb25Qcm9wZXJ0eSIgXQp9LCB7CiAgIkBpZCIgOiAiaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vIiwKICAiQHR5cGUiIDogWyAiaHR0cDovL3d3dy53My5vcmcvMjAwMi8wNy9vd2wjTmFtZWRJbmRpdmlkdWFsIiBdLAogICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL2NhdGVnb3J5IiA6IFsgewogICAgIkB2YWx1ZSIgOiAiY29tcG9uZW50LWFyY2hpdGVjdHVyZSIKICB9LCB7CiAgICAiQHZhbHVlIiA6ICJjb3JiYS1wbGF0Zm9ybSIKICB9LCB7CiAgICAiQHZhbHVlIiA6ICJkb21haW4iCiAgfSBdLAogICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL3B1YmxpY2F0aW9uRGF0ZSIgOiBbIHsKICAgICJAdHlwZSIgOiAiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjZGF0ZVRpbWUiLAogICAgIkB2YWx1ZSIgOiAiMjAxMy0wMy0zMVQwMDowMDowMC0wNDAwIgogIH0gXSwKICAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9zcGVjaWZpY2F0aW9uQWJicmV2aWF0aW9uIiA6IFsgewogICAgIkB2YWx1ZSIgOiAiQU1JNENDTSIKICB9IF0sCiAgImh0dHA6Ly93d3cub21nLm9yZy90ZWNocHJvY2Vzcy9hYi9TcGVjaWZpY2F0aW9uTWV0YWRhdGEvc3BlY2lmaWNhdGlvbkFic3RyYWN0IiA6IFsgewogICAgIkB2YWx1ZSIgOiAiVGhpcyBzcGVjaWZpY2F0aW9uIGRlZmluZXMgYSBtZWNoYW5pc20gdG8gcGVyZm9ybSBhc3luY2hyb25vdXMgbWV0aG9kIGludm9jYXRpb24gZm9yIENDTSAoQU1JNENDTSkuIgogIH0gXSwKICAiaHR0cDovL3d3dy5vbWcub3JnL3RlY2hwcm9jZXNzL2FiL1NwZWNpZmljYXRpb25NZXRhZGF0YS9zcGVjaWZpY2F0aW9uVGl0bGUiIDogWyB7CiAgICAiQHZhbHVlIiA6ICJBc3luY2hyb25vdXMgTWV0aG9kIEludm9jYXRpb24gZm9yIENDTSIKICB9IF0sCiAgImh0dHA6Ly93d3cub21nLm9yZy90ZWNocHJvY2Vzcy9hYi9TcGVjaWZpY2F0aW9uTWV0YWRhdGEvc3BlY2lmaWNhdGlvblVSTCIgOiBbIHsKICAgICJAaWQiIDogImh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNL0Fib3V0LUFNSTRDQ00vIgogIH0gXSwKICAiaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zI3R5cGUiIDogWyB7CiAgICAiQGlkIiA6ICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL1NwZWNpZmljYXRpb24iCiAgfSBdCn0sIHsKICAiQGlkIiA6ICJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS9BYm91dC1BTUk0Q0NNLyIsCiAgIkB0eXBlIiA6IFsgImh0dHA6Ly93d3cudzMub3JnLzIwMDIvMDcvb3dsI09udG9sb2d5IiBdLAogICJodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvbGljZW5zZSIgOiBbIHsKICAgICJAaWQiIDogImh0dHA6Ly93d3cub21nLm9yZy90ZWNocHJvY2Vzcy9hYi9TcGVjaWZpY2F0aW9uTWV0YWRhdGEvTUlUTGljZW5zZSIKICB9IF0sCiAgImh0dHA6Ly93d3cub21nLm9yZy90ZWNocHJvY2Vzcy9hYi9TcGVjaWZpY2F0aW9uTWV0YWRhdGEvY3JlYXRpb25EYXRlIiA6IFsgewogICAgIkB0eXBlIiA6ICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSNkYXRlVGltZSIsCiAgICAiQHZhbHVlIiA6ICIyMDEzLTAzLTMxVDAwOjAwOjAwLTA0MDAiCiAgfSBdLAogICJodHRwOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvYWIvU3BlY2lmaWNhdGlvbk1ldGFkYXRhL2ZpbGVuYW1lIiA6IFsgewogICAgIkB2YWx1ZSIgOiAiQWJvdXQtQU1JNENDTSIKICB9IF0sCiAgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDEvcmRmLXNjaGVtYSNsYWJlbCIgOiBbIHsKICAgICJAdmFsdWUiIDogIkFib3V0IHRoZSBBc3luY2hyb25vdXMgTWV0aG9kIEludm9jYXRpb24gZm9yIENDTSBTcGVjaWZpY2F0aW9uIFZlcnNpb24gMS4wIgogIH0gXSwKICAiaHR0cDovL3d3dy53My5vcmcvMjAwMi8wNy9vd2wjaW1wb3J0cyIgOiBbIHsKICAgICJAaWQiIDogImh0dHA6Ly93d3cub21nLm9yZy90ZWNocHJvY2Vzcy9hYi9TcGVjaWZpY2F0aW9uTWV0YWRhdGEvIgogIH0gXSwKICAiaHR0cDovL3d3dy53My5vcmcvMjAwMi8wNy9vd2wjdmVyc2lvbklSSSIgOiBbIHsKICAgICJAaWQiIDogImh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzEuMC9BYm91dC1BTUk0Q0NNLyIKICB9IF0sCiAgImh0dHA6Ly93d3cudzMub3JnLzIwMDIvMDcvb3dsI3ZlcnNpb25JbmZvIiA6IFsgewogICAgIkB2YWx1ZSIgOiAiR2VuZXJhdGVkIG9uIDIwMjItMDQtMjZUMTg6MjI6MjctMDQwMCIKICB9IF0KfSBdPC9zY3JpcHQ+CgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvanMvcHJpdmFjeS5qcyI+PC9zY3JpcHQ+CgogICAgPCEtLSBIRUFEIElOQ0xVREUgQkVHSU4gLS0+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiPgoKICAgIDwhLS0gTW9iaWxlIFNwZWNpZmljIE1ldGFzCiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsaW5pdGlhbC1zY2FsZT0xLjAsbWF4aW11bS1zY2FsZT0xLjAsdXNlci1zY2FsYWJsZT0wIj4KCiAgICA8IS0tIEdvb2dsZSBXZWIgRm9udHMKICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgogICAgPGxpbmsgaHJlZj0iLy9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUFudG9ufE11bGk6MzAwLDQwMCw0MDBpdGFsaWMsMzAwaXRhbGljfE9zd2FsZCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+CgogICAgPCEtLSBHbG9iYWwgU2l0ZSBUYWcgKGd0YWcuanMpIC0gR29vZ2xlIEFuYWx5dGljcyAtLT4KICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzP2lkPVVBLTEwNjk0MTQ4OC0xIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgd2luZG93LmRhdGFMYXllciA9IHdpbmRvdy5kYXRhTGF5ZXIgfHwgW107CgogICAgICAgIGZ1bmN0aW9uIGd0YWcoKSB7CiAgICAgICAgICAgIGRhdGFMYXllci5wdXNoKGFyZ3VtZW50cykKICAgICAgICB9CgogICAgICAgIGd0YWcoJ2pzJywgbmV3IERhdGUoKSk7CiAgICAgICAgZ3RhZygnY29uZmlnJywgJ1VBLTEwNjk0MTQ4OC0xJyk7CiAgICA8L3NjcmlwdD4KICAgIDwhLS0gR29vZ2xlIEFuYWx5dGljcyAtLT4KCiAgICA8IS0tIENTUwogICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CiAgICA8IS0tIEJhc2UgKyBWZW5kb3JzIENTUyAtLT4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvY3NzL2Jvb3RzdHJhcC5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9jc3MvZm9udHMvZm9udC1hd2Vzb21lL2Nzcy9mb250LWF3ZXNvbWUuY3NzIiByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy92ZW5kb3Ivb3dsLWNhcm91c2VsL293bC5jYXJvdXNlbC5jc3MiIG1lZGlhPSJzY3JlZW4iIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8bGluayBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3ZlbmRvci9vd2wtY2Fyb3VzZWwvb3dsLnRoZW1lLmNzcyIgbWVkaWE9InNjcmVlbiIgcmVsPSJzdHlsZXNoZWV0Ij4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvdmVuZG9yL21hZ25pZmljLXBvcHVwL21hZ25pZmljLXBvcHVwLmNzcyIgbWVkaWE9InNjcmVlbiIgcmVsPSJzdHlsZXNoZWV0Ij4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvdmVuZG9yL21lZGlhZWxlbWVudC9tZWRpYWVsZW1lbnRwbGF5ZXIuY3NzIiByZWw9InN0eWxlc2hlZXQiLz4KCiAgICA8IS0tIFRoZW1lIENTUy0tPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9jc3MvdGhlbWUuY3NzIiByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9jc3MvdGhlbWUtZWxlbWVudHMuY3NzIiByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9jc3MvYW5pbWF0ZS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiPgoKICAgIDwhLS0gU2tpbiBDU1MgLS0+CiAgICA8bGluayBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2Nzcy9za2lucy90ZWFsLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4KCiAgICA8IS0tIEN1c3RvbSBDU1MtLT4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvY3NzL2N1c3RvbS5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CgogICAgPCEtLSBIZWFkIExpYnMgLS0+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cub21nLm9yZy92ZW5kb3IvbW9kZXJuaXpyLmpzIj48L3NjcmlwdD4KCiAgICA8IS0tW2lmIGx0IElFIDldPgogICAgPHNjcmlwdCBzcmM9Imh0dHA6Ly9odG1sNXNoaW0uZ29vZ2xlY29kZS5jb20vc3ZuL3RydW5rL2h0bWw1LmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJ2ZW5kb3IvcmVzcG9uZC5taW4uanMiPjwvc2NyaXB0PgogICAgPCFbZW5kaWZdLS0+CgogICAgPCEtLVtpZiBJRV0+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9pZS5jc3MiPgogICAgPCFbZW5kaWZdLS0+CgogICAgPCEtLSBGYXZpY29ucwogICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CiAgICA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvaW1hZ2VzL2Zhdmljb24uaWNvIj4KICAgIDxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iLy93d3cub21nLm9yZy9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi5wbmciPgogICAgPGxpbmsgcmVsPSJpY29uIiBzaXplcz0iNzJ4NzIiIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24tNzJ4NzIucG5nIj4KICAgIDxsaW5rIHJlbD0iaWNvbiIgc2l6ZXM9IjExNHgxMTQiIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvaW1hZ2VzL2FwcGxlLXRvdWNoLWljb24tMTE0eDExNC5wbmciPgogICAgPGxpbmsgcmVsPSJpY29uIiBzaXplcz0iMTQ0eDE0NCIgaHJlZj0iLy93d3cub21nLm9yZy9pbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi0xNDR4MTQ0LnBuZyI+CgogICAgPCEtLSBzb3J0YWJsZSB0YWJsZXMgLS0+CiAgICA8bGluayBocmVmPSJodHRwczovL3VucGtnLmNvbS9ib290c3RyYXAtdGFibGVAMS4xOC4zL2Rpc3QvYm9vdHN0cmFwLXRhYmxlLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CgogICAgPCEtLSBJbnN0YW5jZUJlZ2luRWRpdGFibGUgbmFtZT0iaGVhZCIgLS0+CiAgICA8IS0tIEluc3RhbmNlRW5kRWRpdGFibGUgLS0+CiAgICA8c3R5bGUgaWQ9ImZpdC12aWRzLXN0eWxlIj4KICAgICAgICAuZmx1aWQtd2lkdGgtdmlkZW8td3JhcHBlcnt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MDt9CiAgICAgICAgLmZsdWlkLXdpZHRoLXZpZGVvLXdyYXBwZXIgaWZyYW1lLC5mbHVpZC13aWR0aC12aWRlby13cmFwcGVyIG9iamVjdCwuZmx1aWQtd2lkdGgtdmlkZW8td3JhcHBlciBlbWJlZCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7fQogICAgPC9zdHlsZT4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgLnN0LWluc3RhbGwtVUp3a21QemdqSEJDeEh5eHpDYWogLnN0LXVpLXJlc3VsdCwKICAgICAgICAuc3QtdWktdHlwZS1oZWFkaW5nIHsgY29sb3I6IzAwODlkNyAhaW1wb3J0YW50IH0KICAgICAgICAuc3QtaW5zdGFsbC1VSndrbVB6Z2pIQkN4SHl4ekNhaiAuc3QtdWktcmVzdWx0IGVtIHtmb250LXN0eWxlOm5vcm1hbDsgZm9udC13ZWlnaHQ6Ym9sZDsgYmFja2dyb3VuZC1jb2xvcjojZjZmY2ZlICFpbXBvcnRhbnR9CgogICAgICAgIHVsLmRkLWxpc3QgewogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvL3NjcmlwdC5jcmF6eWVnZy5jb20vcGFnZXMvc2NyaXB0cy8wMTA0Lzg2MTcuanMiIGFzeW5jPSJhc3luYyI+PC9zY3JpcHQ+CiAgICA8IS0tIEhFQUQgSU5DTFVERSBFTkQgLS0+Cgo8L2hlYWQ+Cjxib2R5IG9ubG9hZD0iZ2V0T01HQ29va2llKCdvbWdwcml2YWN5Jyk7Ij4KCiAgICA8IS0tIEJPRFkgSEVBREVSIElOQ0xVREUgQkVHSU4gLS0+CiAgICA8aGVhZGVyIGNsYXNzPSJoZWFkZXIgaGVhZGVyLWRlZmF1bHQiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci10b3AiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXRvcC1sZWZ0Ij4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImhlYWRlci10b3AtbmF2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvaW5kZXguaHRtIj48c3BhbiBzdHlsZT0iY29sb3I6d2hpdGUiPkhvbWU8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIvL3d3dy5vbWcub3JnL3NpdGUtbWFwLmh0bSI+PHNwYW4gc3R5bGU9ImNvbG9yOndoaXRlIj5TaXRlIE1hcDwvc3Bhbj48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvbGVnYWwvaW5kZXguaHRtIj48c3BhbiBzdHlsZT0iY29sb3I6d2hpdGUiPkxlZ2FsPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJoZWFkZXItdG9wLW5hdiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9PYmplY3QtTWFuYWdlbWVudC1Hcm91cC0xNzE1MzQ0MTAwMjIvIj48aQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZmEgZmEtZmFjZWJvb2siPjwvaT48L2E+Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tL29iamVjdG1nbXRncm91cCI+PGkgY2xhc3M9ImZhIGZhLXR3aXR0ZXIiPjwvaT48L2E+Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy5saW5rZWRpbi5jb20vZ3JvdXBzLzY2Nzk5Ij48aSBjbGFzcz0iZmEgZmEtbGlua2VkaW4iPjwvaT48L2E+Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2Jsb2cub21nLm9yZy8iPjxpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZhIGZhLXBlbmNpbC1zcXVhcmUtbyI+PC9pPjwvYT4mbmJzcDsmbmJzcDsmbmJzcDs8YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2NoYW5uZWwvVUN0dVRqMXd0eXdvallOWm95UGVZQUZ3Ij48aQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJmYSBmYS15b3V0dWJlIj48L2k+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci10b3AtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgIDwhLS0gQWRkU2VhcmNoIC0tPgogICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2FkZHNlYXJjaC5jb20vanMvP2tleT1hNzdmYjFlYjJjM2M4ZmFmZTJiMzAxODI0MzY5ZWQ5NyZjYXRlZ29yaWVzPTB4d3d3Lm9tZy5vcmciPjwvc2NyaXB0PgogICAgICAgICAgICAgICAgICAgIDwhLS0gQWRkU2VhcmNoIC0tPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1tYWluIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIiA+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwhRE9DVFlQRSBodG1sPjxodG1sPjxoZWFkPjx0aXRsZT5NZW51IHwgT2JqZWN0IE1hbmFnZW1lbnQgR3JvdXA8L3RpdGxlPjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJNZW51IC0gT2JqZWN0IE1hbmFnZW1lbnQgR3JvdXAiLz48L2hlYWQ+PGJvZHk+PG5hdiBjbGFzcz0ibmF2YmFyIG5hdmJhci1kZWZhdWx0IGZobW0iPiAgCQkJCQkJPGRpdiBjbGFzcz0ibmF2YmFyLWhlYWRlciI+ICAJCQkJCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJuYXZiYXItdG9nZ2xlIj4gIAkJCQkJCQkJPGkgY2xhc3M9ImZhIGZhLWJhcnMiPjwvaT4gIAkJCQkJCQk8L2J1dHRvbj4gIAkJCQkJCQk8IS0tIExvZ28gLS0+ICAJCQkJCQkJPGRpdiBjbGFzcz0ibG9nbyI+ICAJCQkJCQkJCTxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvaW5kZXguaHRtIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cub21nLm9yZy9pbWFnZXMvbG9nb3MvT01HLWxvZ28td2ViLXNtLnN2ZyIgYWx0PSJPTUcgbG9nbyI+PC9hPgkgIAkJCQkJCQk8L2Rpdj4gIAkJCQkJCQk8IS0tIExvZ28gLyBFbmQgLS0+ICAJCQkJCQk8L2Rpdj48IS0tIGVuZCBuYXZiYXItaGVhZGVyIC0tPiAgICAJCQkJCQk8ZGl2IGlkPSJtYWluLW5hdiIgY2xhc3M9Im5hdmJhci1jb2xsYXBzZSBjb2xsYXBzZSI+ICAJCQkJCQkJCQkJCQk8dWwgY2xhc3M9Im5hdiBuYXZiYXItbmF2Ij4gIAkJCQkJCSAgCQkJCQkJCQkgIAkJCQkJCQkJICAJCQkJCQkJCTwhLS0gTWVtYmVyc2hpcCAtLT4gIAkJCQkJCQkJIDxsaSBjbGFzcz0iZHJvcGRvd24iPiAgCQkJCQkJCQkJPGEgaHJlZj0iIyIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIj5BYm91dCA8YiBjbGFzcz0iY2FyZXQiPjwvYj48L2E+ICAJCQkJCQkJCQk8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiIHJvbGU9Im1lbnUiPiAgCQkJCQkJCQkJIDxsaT48YSBvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdjbGljaycsICdNRU5VIEFib3V0Jyk7IiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2luZHVzdHJpZXMvaW5kZXguaHRtIj5JbmR1c3RyaWVzPC9hPjwvbGk+CSAgCQkJCQkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ2NsaWNrJywgJ01FTlUgQWJvdXQnKTsiIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvYWJvdXQvaW5kZXguaHRtIj5NaXNzaW9uICZhbXA7IFZpc2lvbjwvYT48L2xpPiAgCQkJCQkJCQkJPGxpPjxhIG9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ2NsaWNrJywgJ01FTlUgT01HIFByb2Nlc3NlcycpOyIgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9nZXR0aW5nc3RhcnRlZC9wcm9jZXNzaW50cm8uaHRtIj5PTUcgUHJvY2Vzc2VzPC9hPjwvbGk+ICAJCQkJCQkJCQkJPGxpPjxhIG9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ2NsaWNrJywgJ01FTlUgUG9wdWxhciBPTUcgU3RhbmRhcmRzJyk7IiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2Fib3V0L29tZy1zdGFuZGFyZHMtaW50cm9kdWN0aW9uLmh0bSI+UG9wdWxhciBPTUcgU3RhbmRhcmRzPC9hPjwvbGk+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgb25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnY2xpY2snLCAnTUVOVSBTdHJ1Y3R1cmUgYW5kIEdvdmVybmFuY2UnKTsiIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvYWJvdXQvc3RydWN0dXJlLWFuZC1nb3Zlcm5hbmNlLmh0bSI+U3RydWN0dXJlICZhbXA7IEdvdmVybmFuY2UgPC9hPjwvbGk+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCQkJCSAgCQkJCQkJCQkgICA8L3VsPiAgCQkJCQkJCQk8L2xpPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIE1lbWJlcnNoaXAgLS0+ICAJCQkJCQkJCSAgCQkJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUmVzb3VyY2UgSHViIG1lbnUgLS0+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iPiAgCQkJCQkJCQkJPGEgaHJlZj0iIyIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIj5SZXNvdXJjZXMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+PC9hPiAgCQkJCQkJCQkJPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IiByb2xlPSJtZW51Ij4gIAkJCQkJCQkJCQkgIAkJCQkJCQkJCQk8bGk+PGEgb25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnY2xpY2snLCAnTUVOVSBFdmVudHMnKTsiIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvZXZlbnRzL2luZGV4Lmh0bSI+RXZlbnRzPC9hPjwvbGk+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ2NsaWNrJywgJ01FTlUgSG90IFRvcGljcycpOyIgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9ob3QtdG9waWNzL2luZGV4Lmh0bSI+SG90IFRvcGljczwvYT48L2xpPiAgCQkJCQkJCQkJCTxsaT48YSBvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdjbGljaycsICdNRU5VIE9NRyBCcm9jaHVyZScpOyIgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9tZW1iZXJzZXJ2aWNlcy9PTUctYnJvY2h1cmUucGRmIj5PTUcgQ29uc29ydGlhIEJyb2NodXJlPC9hPjwvbGk+ICAJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vcHViLm9tZy5vcmcvIj5PTUcgU3RhbmRhcmRpemU8L2E+PC9saT4gIAkJCQkJCQkJCQk8bGk+PGEgb25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnY2xpY2snLCAnTUVOVSBUZXJtc0Fjcm9ueW1zJyk7IiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2dldHRpbmdzdGFydGVkL3Rlcm1zX2FuZF9hY3Jvbnltcy5odG0iPk9NRyBUZXJtcyAmYW1wOyBBY3JvbnltcyA8L2E+PC9saT4gIAkJCQkJCQkJCQk8bGk+PGEgb25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnY2xpY2snLCAnTUVOVSBQcmVzcyBSb29tJyk7IiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL25ld3MvcHJlc3Nyb29tLmh0bSI+UHJlc3MgUm9vbTwvYT48L2xpPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08bGk+PGEgb25DbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnY2xpY2snLCAnTUVOVSBUcmFpbmluZyBDb3Vyc2VzJyk7IiBocmVmPSJ0cmFpbmluZy9pbmRleC5odG0iPlRyYWluaW5nIENvdXJzZXM8L2E+PC9saT4tLT4gIAkJCQkJCQkJCQkgIAkJCQkJCQkJCQk8bGk+PGEgb25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnY2xpY2snLCAnTUVOVSBXZWJpbmFycycpOyIgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy93ZWJpbmFycy9pbmRleC5odG0iPldlYmluYXJzPC9hPjwvbGk+ICAJCQkJCQkJCQkgIDxsaT48YSBvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdjbGljaycsICdNRU5VIFdoaXRlIFBhcGVycycpOyIgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9uZXdzL3doaXRlcGFwZXJzL2luZGV4Lmh0bSI+V2hpdGUgUGFwZXJzPC9hPjwvbGk+ICAJCQkJCQkJCQk8L3VsPiAgCQkJCQkJCQk8L2xpPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBSZXNvdXJjZSBIdWIgbWVudSAtLT4gICAgCQkJCQkJCQkJPCEtLSBTcGVjcyAtLT4gIAkJCQkJCQkJPGxpIGNsYXNzPSJkcm9wZG93biBmaG1tLWZ3Ij4gIAkJCQkJCQkJCTxhIGhyZWY9IiMiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSI+U3BlY2lmaWNhdGlvbnMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+PC9hPiAgCQkJCQkJCQkJPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IGZ1bGwiPiAgCQkJCQkJCQkJCTxsaSBjbGFzcz0iZmhtbS1jb250ZW50Ij4gIAkJCQkJCQkJCQkJPGRpdiBjbGFzcz0icm93Ij4gIAkJCQkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbC1zbS00Ij4gIAkJCQkJCQkJCQkJCQk8aDMgY2xhc3M9InRpdGxlIj5TcGVjaWZpY2F0aW9uczwvaDM+ICAJCQkJCQkJCQkJCQkJPHVsPiAgCQkJCQkJCQkJCQkJICAgICA8bGk+PGEgb25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnY2xpY2snLCAnTUVOVSBBZG9wdGVkIFNwZWMnKTsiIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy8iPkFkb3B0ZWQgU3BlY2lmaWNhdGlvbnM8L2E+PC9saT4gIAkJCQkJCQkJCQkJCSAgICAgPGxpPjxhIG9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ2NsaWNrJywgJ01FTlUgRmF4dm90ZXMnKTsiIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvdGVjaHByb2Nlc3MvZmF4dm90ZXMvIiB0YXJnZXQ9Il9ibGFuayI+RmF4dm90ZXMgU3RhdHVzPC9hPjwvbGk+ICAJCQkJCQkJCQkJCQkgICAgIDxsaT48YSBvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdjbGljaycsICdNRU5VIElzc3VlcycpOyIgaHJlZj0iaHR0cHM6Ly9pc3N1ZXMub21nLm9yZy9pc3N1ZXMvbGlzdHMiPklzc3VlczwvYT48L2xpPiAgCQkJCQkJCQkJCQkJICAgICA8bGk+PGEgb25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnY2xpY2snLCAnTUVOVSBQdWJsaWMgU2NoZWR1bGUnKTsiIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvcHVibGljX3NjaGVkdWxlLyI+UkZJICZhbXA7IFJGUDwvYT48L2xpPiAgCQkJCQkJCQkJCQkJICAgICA8bGk+PGEgIG9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ2NsaWNrJywgJ01FTlUgU3BlYyBHdWlkZWxpbmVzJyk7IiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2NnaS1iaW4vZG9jP3Ntc2MvMjAxOC0wOC0wMSI+U3BlY2lmaWNhdGlvbiBHdWlkZWxpbmVzPC9hPjwvbGk+ICAJCQkJCQkJCQkJCQkgICAgIDxsaT48YSBvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdjbGljaycsICdNRU5VIFNwZWMgVmF1bHQnKTsiIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvdGVjaG5vbG9neS9kb2N1bWVudHMvdmF1bHQuaHRtIj5TcGVjaWZpY2F0aW9uIFZhdWx0PC9hPjwvbGk+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQkJCQkJCQkJICA8L3VsPiAgCQkJCQkJCQkJCQkJPC9kaXY+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tNCI+ICAJCQkJCQkJCQkJCQkJPGgzIGNsYXNzPSJ0aXRsZSI+RG9jdW1lbnQgSGVscDwvaDM+ICAJCQkJCQkJCQkJCQkJPHVsPiAgCQkJCQkJCQkJCQkJICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy90ZWNobm9sb2d5L2Rvd25sb2FkLmh0bSI+RG93bmxvYWQgSW5zdHJ1Y3Rpb25zPC9hPjwvbGk+ICAJCQkJCQkJCQkJCQkJICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvY2dpLWJpbi9kb2M/aGgiPkhvdyB0byBGaW5kIGEgRG9jdW1lbnQ8L2E+PC9saT4gIAkJCQkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Imh0dHBzOi8vaXNzdWVzLm9tZy5vcmcvaXNzdWVzL2NyZWF0ZS1uZXctaXNzdWUiPlJlcG9ydCBhbiBJc3N1ZTwvYT48L2xpPiAgCQkJCQkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9jZ2ktYmluL2FwcHMvZG9jbGlzdC5wbCI+U2VhcmNoIERvY3VtZW50czwvYT48L2xpPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9tZW1iZXJzX2RvY3NlYXJjaC5odG0iPlNlYXJjaCBEb2N1bWVudHMgKEZ1bGwpPC9hPjwvbGk+ICAJCQkJCQkJCQkJCQkJCTxsaT48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2dldHRpbmdzdGFydGVkL3Rlcm1zX2FuZF9hY3Jvbnltcy5odG0iPlRlcm1zICZhbXA7IEFjcm9ueW1zPC9hPjwvbGk+ICAJCQkJCQkJCQkJCQkJCSAgCQkJCQkJCQkJCQkJCTwvdWw+ICAJCQkJCQkJCQkJCQk8L2Rpdj4gIAkJCQkJCQkJCQkJCSAgCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTQiPiAgCQkJCQkJCQkJCQkJCTxoMyBjbGFzcz0idGl0bGUiPk9NRyBpbiBBY3Rpb24hPC9oMz4gIAkJCQkJCQkJCQkJCQk8dWw+ICAJCQkJCQkJCQkJCQkJCTxsaT48YSBvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdjbGljaycsICdNRU5VIFB1YmxpYyBTY2hlZHVsZScpOyIgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9wdWJsaWNfc2NoZWR1bGUvIj5Xb3JrIGluIFByb2dyZXNzPC9hPjwvbGk+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdjbGljaycsICdNRU5VIFJGQyBGb3JtJyk7IiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3RlY2hub2xvZ3kvcmZjLWZvcm0uaHRtIj5SRkMgQ29tbWVudHMgRm9ybTwvYT48L2xpPiAgCQkJCQkJCQkJCQkJCSAgPGxpPjxhIG9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ2NsaWNrJywgJ0hvbWVwYWdlcycpOyIgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9ob21lcGFnZXMvaW5kZXguaHRtIj5UZWNobm9sb2d5IENvbW1pdHRlZXMgRGlyZWN0b3J5PC9hPjwvbGk+ICAJCQkJCQkJCQkJCQkJCTxsaT48YSBvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdjbGljaycsICdNRU5VIFBvcHVsYXIgU3RhbmRhcmRzJyk7IiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2Fib3V0L29tZy1zdGFuZGFyZHMtaW50cm9kdWN0aW9uLmh0bSI+UG9wdWxhciBPTUcgU3RhbmRhcmRzPC9hPjwvbGk+ICAJCQkJCQkJCQkJCQkJCTxsaT48YSBvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdjbGljaycsICdNRU5VIFN0dWRlbnRzIFBvc3RlciBQcm9ncmFtJyk7IiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2V2ZW50cy9zdHVkZW50LXBvc3Rlci1zZXNzaW9uLXByb2dyYW0vaW5kZXguaHRtIj5TdHVkZW50IFJlc2VhcmNoPC9hPjwvbGk+ICAJCQkJCQkJCQkJCQkJCSAgCQkJCQkJCQkJCQkJCSAgCQkJCQkJCQkJCQkJICA8L3VsPiAgCQkJCQkJCQkJCQkJPC9kaXY+ICAJCQkJCQkJCQkJCTwvZGl2PiAgCQkJCQkJCQkJCTwvbGk+ICAJCQkJCQkJCQk8L3VsPiAgCQkJCQkJCQk8L2xpPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gU3BlY3MgLS0+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFByb2dyYW1zIC0tPiAgCQkJCQkJCQkgIAkJCQkJCQkJPGxpIGNsYXNzPSJkcm9wZG93biBkcm9wZG93bi1yaWdodCBmaG1tLWZ3Ij4gIAkJCQkJCQkJCTxhIGhyZWY9IiMiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSI+UHJvZ3JhbXMgPGIgY2xhc3M9ImNhcmV0Ij48L2I+PC9hPiAgCQkJCQkJCQkJICAJCQkJCQkJCQk8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUgZnVsbCI+ICAJCQkJCQkJCQkJPGxpIGNsYXNzPSJmaG1tLWNvbnRlbnQgd2l0aG91dGRlc2MiPiAgCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJyb3ciPiAgCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTYiPiAgCQkJCQkJCQkJCQkJCTxoMyBjbGFzcz0idGl0bGUiPjxhIG9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ2NsaWNrJywgJ01FTlUgQ0VSVCBNQUlOJyk7IiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL29tZy1jZXJ0aWZpY2F0aW9ucy9pbmRleC5odG0iPkNlcnRpZmljYXRpb25zPC9hPjwvaDM+ICAJCQkJCQkJCQkJCQkJPHVsPiAgCQkJCQkJCQkJCQkJCQk8bGk+PGEgb25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnY2xpY2snLCAnTUVOVSBDRVJUIE1BSU4nKTsiIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvb21nLWNlcnRpZmljYXRpb25zL2luZGV4Lmh0bSI+T01HIENlcnRpZmljYXRpb25zPC9hPjwvbGk+ICAJCQkJCQkJCQkJCQkJCSAgCQkJCQkJCQkJCQkJCQk8bGk+PGEgb25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnY2xpY2snLCAnTUVOVSBPQ0VCIDInKTsiIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvb2NlYi0yL2luZGV4Lmh0bSI+QlBNIENlcnRpZmljYXRpb25zPC9hPjwvbGk+ICAJCQkJCQkJCQkJCQkJCTxsaT48YSBvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdjbGljaycsICdNRU5VIE9DU01QJyk7IiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL29jc21wL2luZGV4Lmh0bSI+U3lzTUwgQ2VydGlmaWNhdGlvbnM8L2E+PC9saT4gIAkJCQkJCQkJCQkJCQkJPGxpPjxhIG9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ2NsaWNrJywgJ01FTlUgT0NVUCAyJyk7IiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL29jdXAtMi9pbmRleC5odG0iPlVNTCAyIENlcnRpZmljYXRpb25zPC9hPjwvbGk+ICAJCQkJCQkJCQkJCQkJCTxsaT48YSBvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdjbGljaycsICdNRU5VIENlcnRpZmllZCBQcm9mZXNzaW9uYWxzIERpcmVjdG9yeScpOyIgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9jZ2ktYmluL3NlYXJjaGNlcnQuY2dpIiB0YXJnZXQ9Il9ibGFuayI+Q2VydGlmaWVkIFByb2Zlc3Npb25hbHMgRGlyZWN0b3J5PC9hPjwvbGk+ICAJCQkJCQkJCQkJCQkJPC91bD4gIAkJCQkJCQkJCQkJCTwvZGl2PiAgCQkJCQkJCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTYiPiAgCQkJCQkJCQkJCQkJCTxoMyBjbGFzcz0idGl0bGUiPk1hbmFnZWQgUHJvZ3JhbXM8L2gzPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly90aGVhcmVhLm9yZy8iIG9uY2xpY2s9InRyYWNrT3V0Ym91bmRMaW5rKCdodHRwczovL3RoZWFyZWEub3JnLycpOyByZXR1cm4gZmFsc2U7Ij48aSBjbGFzcz0iZmEgZmEtbGFuZ3VhZ2UiPjwvaT4gQVIgZm9yIEVudGVycHJpc2UgQWxsaWFuY2U8L2E+PC9saT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmJwbS1wbHVzLm9yZy8iIG9uY2xpY2s9InRyYWNrT3V0Ym91bmRMaW5rKCdodHRwczovL3d3dy5icG0tcGx1cy5vcmcvJyk7IHJldHVybiBmYWxzZTsiPjxpIGNsYXNzPSJmYSBmYS1oZWFydGJlYXQiPjwvaT4gQlBNJiM0MzsgSGVhbHRoPC9hPjwvbGk+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2l0LWNpc3Eub3JnIiBvbmNsaWNrPSJ0cmFja091dGJvdW5kTGluaygnaHR0cHM6Ly9pdC1jaXNxLm9yZycpOyByZXR1cm4gZmFsc2U7Ij48aSBjbGFzcz0iZmEgZmEtY29kZSI+PC9pPiBDb25zb3J0aXVtIGZvciBJbmZvcm1hdGlvbiAmYW1wOyBTb2Z0d2FyZSBRdWFsaXR5JnRyYWRlOyAgLSBDSVNRJnRyYWRlOzwvYT48L2xpPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRkcy1mb3VuZGF0aW9uLm9yZy8iIG9uY2xpY2s9InRyYWNrT3V0Ym91bmRMaW5rKCdodHRwczovL3d3dy5kZHMtZm91bmRhdGlvbi5vcmcvJyk7IHJldHVybiBmYWxzZTsiPjxpIGNsYXNzPSJmYSBmYS1jb25uZWN0ZGV2ZWxvcCI+PC9pPiBERFMgRm91bmRhdGlvbiZ0cmFkZTs8L2E+PC9saT4gIAkJCQkJCQkJCSAgCQkJCQkJCQkJICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGlnaXRhbHR3aW5jb25zb3J0aXVtLm9yZy8iIG9uY2xpY2s9InRyYWNrT3V0Ym91bmRMaW5rKCdodHRwczovL3d3dy5kaWdpdGFsdHdpbmNvbnNvcnRpdW0ub3JnLycpOyByZXR1cm4gZmFsc2U7Ij48aSBjbGFzcz0iZmEgZmEtY29kZS1mb3JrIj48L2k+IERpZ2l0YWwgVHdpbiBDb25zb3J0aXVtJnJlZzs8L2E+PC9saT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5paWNvbnNvcnRpdW0ub3JnLyIgb25jbGljaz0idHJhY2tPdXRib3VuZExpbmsoJ2h0dHBzOi8vd3d3LmlpY29uc29ydGl1bS5vcmcvJyk7IHJldHVybiBmYWxzZTsiPjxpIGNsYXNzPSJmYSBmYS1nZWFyIj48L2k+IEluZHVzdHJ5IElvVCBDb25zb3J0aXVtJnJlZzsgLSBJSUMmdHJhZGU7PC9hPjwvbGk+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCQkJCQkgIAkJCQkJCQkJCSAgCQkJCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+ICAJCQkJCQkJCQkJCQk8L2Rpdj4gIAkJCQkJCQkJCQkJPC9kaXY+PCEtLSBlbmQgcm93IC0tPiAgCQkJCQkJCQkJCTwvbGk+PCEtLSBlbmQgZ3JpZCBkZW1vIC0tPiAgCQkJCQkJCQkJPC91bD48IS0tIGVuZCBkcm9wIGRvd24gbWVudSAtLT4gIAkJCQkJCQkJPC9saT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUHJvZ3JhbXMgLS0+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkJCQkJPCEtLSBNZW1iZXJzaGlwIC0tPiAgCQkJCQkJCQkgPGxpIGNsYXNzPSJkcm9wZG93biI+ICAJCQkJCQkJCQk8YSBocmVmPSIjIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiPk1lbWJlcnNoaXAgPGIgY2xhc3M9ImNhcmV0Ij48L2I+PC9hPiAgCQkJCQkJCQkJPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IiByb2xlPSJtZW51Ij4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCQkJCQk8bGk+PGEgb25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnY2xpY2snLCAnTUVOVSBXaHkgSm9pbiBPTUcnKTsiIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvd2h5LWpvaW4uaHRtIj5XaHkgSm9pbiBPTUc8L2E+PC9saT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdjbGljaycsICdNRU5VIEJlY29tZSBhIE1lbWJlcicpOyIgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9iZS1hLW1lbWJlci5odG0iPkJlY29tZSBhIE1lbWJlcjwvYT48L2xpPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ2NsaWNrJywgJ01FTlUgQ3VycmVudCBNZW1iZXJzJyk7IiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2NnaS1iaW4vYXBwcy9tZW1iZXJzZWFyY2gucGwiPkN1cnJlbnQgTWVtYmVyczwvYT48L2xpPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ2NsaWNrJywgJ01FTlUgTWVtYmVyIFBhcnRuZXJzJyk7IiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL2Fib3V0L2xpYWlzb24uaHRtIj5QYXJ0bmVyczwvYT48L2xpPiAgICAgICAgCQkJCQkJCQk8bGk+PGEgb25jbGljaz0iZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnY2xpY2snLCAnTUVOVSBNZW1iZXIgU3BvbnNvcnNoaXAnKTsiIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvbWVtYmVyc2VydmljZXMvYW5udWFsLXNwb25zb3JzaGlwLmh0bSI+U3BvbnNvcnNoaXA8L2E+PC9saT4gIAkJCQkJCQkJCTxsaT48YSBvbmNsaWNrPSJnYSgnc2VuZCcsICdldmVudCcsICdjbGljaycsICdNRU5VIFZlbmRvciBEaXJlY3RvcmllcycpOyIgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9vbWctZGlyZWN0b3JpZXMuaHRtIj5WZW5kb3IgRGlyZWN0b3JpZXM8L2E+PC9saT4gIAkJCQkJCQkJICAgPC91bD4gIAkJCQkJCQkJPC9saT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBNZW1iZXJzaGlwIC0tPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkJCQkJPCEtLSBNZW1iZXJzaGlwIC0tPiAgCQkJCQkJCQkgPGxpIGNsYXNzPSJkcm9wZG93biI+ICAJCQkJCQkJCQk8YSBocmVmPSIjIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiPk1lbWJlcnMgQXJlYSA8YiBjbGFzcz0iY2FyZXQiPjwvYj48L2E+ICAJCQkJCQkJCQk8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiIHJvbGU9Im1lbnUiPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ2NsaWNrJywgJ01FTlUgTG9nIEluJyk7IiBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL21lbWJlcnMvIj48aSBjbGFzcz0iZmEgZmEtbG9jayI+PC9pPkxvZy1JbjwvYT48L2xpPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uY2xpY2s9ImdhKCdzZW5kJywgJ2V2ZW50JywgJ2NsaWNrJywgJ01FTlUgTG9nIEluIEFzc2lzdGFuY2UnKTsiIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvbG9naW4vaW5kZXguaHRtIj48aSBjbGFzcz0iZmEgZmEtdW5sb2NrIj48L2k+TG9nLUluIEFzc2lzdGFuY2U8L2E+PC9saT4gIAkJCQkJCQkJCSAgCQkJCQkJCQkJICAJCQkJCQkJCQkJICAJCQkJCQkJCSAgIDwvdWw+ICAJCQkJCQkJCTwvbGk+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTWVtYmVyc2hpcCAtLT4gIAkJCQkJCQk8L3VsPjwhLS0gZW5kIG5hdiBuYXZiYXItbmF2IC0tPiAgCQkJCQkJPC9kaXY+PCEtLSBlbmQgI21haW4tbmF2IC0tPiAgICAJCQkJCTwvbmF2PjwvYm9keT48L2h0bWw+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9oZWFkZXI+CiAgICA8IS0tIEJPRFkgSEVBREVSIElOQ0xVREUgRU5EIC0tPgoKCjxkaXYgY2xhc3M9Im1haW4iIHJvbGU9Im1haW4iPiA8IS0tIE1haW4gLS0+CiAgICA8c2VjdGlvbiBjbGFzcz0icGFnZS1oZWFkaW5nIiByb2xlPSJuYXZpZ2F0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTkiPgogICAgICAgICAgICAgICAgICAgIDxoMT5BYm91dCB0aGUgQXN5bmNocm9ub3VzIE1ldGhvZCBJbnZvY2F0aW9uIGZvciBDQ00gU3BlY2lmaWNhdGlvbiBWZXJzaW9uIDEuMDwvaDE+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0zIj4KICAgICAgICAgICAgICAgICAgICA8dWwgcm9sZT0ibWVudSIgY2xhc3M9ImJyZWFkY3J1bWIiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iIGNsYXNzPSJhY3RpdmUiPjEuMDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8bGkgcm9sZT0ibWVudWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vIj5BTUk0Q0NNPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Im1lbnVpdGVtIj48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMiPlNwZWNpZmljYXRpb25zPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDxkaXYgY2xhc3M9InBhZ2UtY29udGVudCIgcm9sZT0iZGlyZWN0b3J5Ij4KICAgICAgICA8c2VjdGlvbiBpZD0iZG9jdW1lbnQtbWV0YWRhdGEiIHJvbGU9ImNvbXBsZW1lbnRhcnkiIGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgPGgxIGNsYXNzPSJzcGVjLWFjcm9ueW0gY29sLW1kLTMiPkFNSTRDQ03ihKI8L2gxPgogICAgICAgICAgICAgICAgPGgxIGNsYXNzPSJzcGVjLW5hbWUiIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogbm9uZSI+QXN5bmNocm9ub3VzIE1ldGhvZCBJbnZvY2F0aW9uIGZvciBDQ008L2gxPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMSI+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtanVzdGlmeSI+VGhpcyBzcGVjaWZpY2F0aW9uIGRlZmluZXMgYSBtZWNoYW5pc20gdG8gcGVyZm9ybSBhc3luY2hyb25vdXMgbWV0aG9kIGludm9jYXRpb24gZm9yIENDTSAoQU1JNENDTSkuPC9wPgogICAgICAgICAgICAgICAgICAgIDxkbCBjbGFzcz0iZGwtaG9yaXpvbnRhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gdGl0bGUgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkdD5UaXRsZTo8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGQ+QXN5bmNocm9ub3VzIE1ldGhvZCBJbnZvY2F0aW9uIGZvciBDQ008L2RkPgoKICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBhY3JvbnltIC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+QWNyb255bTo8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGQ+QU1JNENDTeKEojwvZGQ+CgogICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gdmVyc2lvbiAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGR0PlZlcnNpb246PC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbi1ib3R0b206IDA7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4xLjA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxici8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgdmVyc2lvbiB3YXMgc3VwZXJzZWRlZCBieSBhIG5ld2VyIGludmVudG9yeS4gVGhlIGxhdGVzdCB2ZXJzaW9uIGNhbiBiZSBmb3VuZCBoZXJlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vIj5BTUk0Q0NNPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2RkPgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGRvY3VtZW50IHN0YXR1cyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGR0PkRvY3VtZW50IFN0YXR1czo8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMDsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9InJpZ2h0IiBkYXRhLWNvbnRhaW5lcj0nYm9keScKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJGb3JtYWwgU3BlY2lmaWNhdGlvbnMgaGF2ZSBiZWVuIGFwcHJvdmVkIGJ5IE9NRyBCb2FyZCBvZiBEaXJlY3RvcnMgYW5kIGhhdmUgYmVlbiBlZGl0ZWQuIj5mb3JtYWwg4pOYPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2RkPgoKICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBwdWJsaWNhdGlvbiBkYXRlIC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8ZHQ+UHVibGljYXRpb24gRGF0ZTo8L2R0PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGQ+TWFyY2ggMjAxMzwvZGQ+CgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gY2F0ZWdvcmllcyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdD5DYXRlZ29yaWVzOjwvZHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHJvbGU9Imdyb3VwIiBjbGFzcz0ibGlzdC1pbmxpbmUgZGQtbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPSJsaXN0aXRlbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0ZXh0LWNhcGl0YWxpemUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImJhZGdlIGJhZGdlLWluZm8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvY2F0ZWdvcnkvY29yYmEtcGxhdGZvcm0vIj48ZW0+Q29yYmEgUGxhdGZvcm08L2VtPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Imxpc3RpdGVtIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRleHQtY2FwaXRhbGl6ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYmFkZ2UgYmFkZ2UtaW5mbyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9jYXRlZ29yeS9jb21wb25lbnQtYXJjaGl0ZWN0dXJlLyI+PGVtPkNvbXBvbmVudCBBcmNoaXRlY3R1cmU8L2VtPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIHJvbGU9Imxpc3RpdGVtIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRleHQtY2FwaXRhbGl6ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYmFkZ2UgYmFkZ2UtaW5mbyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9jYXRlZ29yeS9kb21haW4vIj48ZW0+RG9tYWluPC9lbT48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGlwciBtb2RlIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10b2dnbGU9InRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PSJyaWdodCIgZGF0YS1jb250YWluZXI9J2JvZHknIGRhdGEtaHRtbD0idHJ1ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9Ik9NRyZhbXA7IzM5O3MgUG9saWN5IG9uIEludGVsbGVjdHVhbCBQcm9wZXJ0eSBSaWdodHMgaXMgZGVzaWduZWQgdG8gZW5hYmxlIHRoZSBvcGVuIGRldmVsb3BtZW50LCBkaXNzZW1pbmF0aW9uLCBhbmQgdXNlIG9mIGl0cyBzcGVjaWZpY2F0aW9ucywgYW5kIHRoZWlyIGJyb2FkIGltcGxlbWVudGF0aW9uIGFuZCB1cHRha2UuIFNwZWNpZmljYXRpb25zLCBpbmNsdWRpbmcgRmluYWxpemF0aW9uL1JldmlzaW9uIFRhc2sgRm9yY2UgUmVwb3J0cyBhcmUgcmVxdWlyZWQgdG8gaGF2ZSBhIGRlY2xhcmVkIEludGVsbGVjdHVhbCBQcm9wZXJ0eSBSaWdodHMgc3RhdGVtZW50IGJhc2VkIG9uIGVpdGhlciBSQU5ELCBSRiBvbiBMaW1pdGVkIFRlcm1zLCBvciBOb24tQXNzZXJ0LiZsdDtici8mZ3Q7U2VlIHRoZSBPTUcgUG9saWN5IFN0YXRlbWVudCwgSW50ZWxsZWN0dWFsIFByb3BlcnR5IFJpZ2h0cywgY2xpY2sgdGhlIGxpbmsgZm9yIGRldGFpbHMuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2RvYy5vbWcub3JnL2lwciI+SVBSIE1vZGUg4pOYPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdG9nZ2xlPSJ0b29sdGlwIiBkYXRhLXBsYWNlbWVudD0icmlnaHQiIGRhdGEtY29udGFpbmVyPSdib2R5JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iRWFjaCBPYmxpZ2F0ZWQgUGFydHkgaW4gYW4gUkYgb24gTGltaXRlZCBUZXJtcyBJUFIgTW9kZSBBZG9wdGlvbiBvciBSZXZpc2lvbiBQcm9jZXNzIGNvdmVuYW50cyB0aGF0IGl0IHdpbGwgZ3JhbnQgdG8gYW4gdW5yZXN0cmljdGVkIG51bWJlciBvZiBhcHBsaWNhbnRzIGEgcm95YWx0eSBhbmQgZmVlIGZyZWUsIG5vbmV4Y2x1c2l2ZSwgd29ybGR3aWRlLCBub24tc3VibGljZW5zYWJsZSwgcGVycGV0dWFsIHBhdGVudCBsaWNlbnNlIHRvIGl0cyBFc3NlbnRpYWwgQ2xhaW1zIj5SRi1MaW1pdGVkIOKTmDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kbD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPCEtLSBTcGVjaWZpY2F0aW9uIGRvY3VtZW50cyAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IDVweDsiPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJkb3dubG9hZC1kb2N1bWVudCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzEuMC9QREYiIHRpdGxlPSJDbGljayB0byBEb3dubG9hZCBTcGVjaWZpY2F0b24gRG9jdW1lbnQiIGRhdGEtc3BlYz0iQU1JNENDTS8xLjAiIGRhdGEtbGFiZWw9IkFNSTRDQ00vMS4wL1BERiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWZpbGUtcGRmLW8gZmEtM3giPjwvaT48YnIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmljYXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxociBjbGFzcz0iY29udGFpbmVy4oCdLyI+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8IS0tIFRhYmxlIG9mIENvbnRlbnRzIC0tPgogICAgICAgIDxzZWN0aW9uIGlkPSJ0b2MiIGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8aDIgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMSI+VGFibGUgT2YgQ29udGVudHM8L2gyPgogICAgICAgICAgICA8dWwgcm9sZT0iZGlyZWN0b3J5IiBjbGFzcz0idG9jIj4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9jbGluZSI+CiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRleHQtaW5mbyIgaHJlZj0iI2RvY3VtZW50LW1ldGFkYXRhIj5BYm91dCB0aGUgU3BlY2lmaWNhdGlvbjwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvY2xpbmUiPgogICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0ZXh0LWluZm8iIGhyZWY9IiNjb21wYW5pZXMiPkNvbXBhbmllcyB0aGF0IGhhdmUgY29udHJpYnV0ZWQgdG8gdGhlIGRldmVsb3BtZW50IG9mIHRoaXMgU3BlY2lmaWNhdGlvbjwvYT4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvY2xpbmUiPgogICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0ZXh0LWluZm8iIGhyZWY9IiNpc3N1ZXMiPklzc3VlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBzcGVjaWZpY2F0aW9uPC9hPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9jbGluZSI+PGEgY2xhc3M9InRleHQtaW5mbyIgaHJlZj0iI2RvY3VtZW50cyI+U3BlY2lmaWNhdGlvbiBEb2N1bWVudHM8L2E+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJ0b2MiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvY2xpbmUiPjxhIGNsYXNzPSJ0ZXh0LWluZm8iIGhyZWY9IiNkb2NzLW5vcm1hdGl2ZS1zdXBwb3J0aW5nIj5Ob3JtYXRpdmUgRG9jdW1lbnRzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9jbGluZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idGV4dC1pbmZvIiBocmVmPSIjZG9jcy1ub3JtYXRpdmUtbWFjaGluZSI+Tm9ybWF0aXZlIE1hY2hpbmUgUmVhZGFibGUgRG9jdW1lbnRzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InRvY2xpbmUiPjxhIGNsYXNzPSJ0ZXh0LWluZm8iIGhyZWY9IiNzcGVjLXZlcnNpb25zIj5IaXN0b3J5PC9hPgogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0idG9jIj4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9jbGluZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0idGV4dC1pbmZvIiBocmVmPSIjc3BlYy12ZXJzaW9ucy1mb3JtYWwiPkZvcm1hbCBWZXJzaW9uczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0idG9jbGluZSI+PGEgY2xhc3M9InRleHQtaW5mbyIgaHJlZj0iI2ludmVudG9yeS1saW5rcyI+TGlua3M8L2E+CiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8aHIgY2xhc3M9ImNvbnRhaW5lcuKAnS8iPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8c2VjdGlvbiBpZD0iY29tcGFuaWVzIiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGgyIHJvbGU9ImhlYWRpbmciIGFyaWEtbGV2ZWw9IjEiPkNvbXBhbmllcyB0aGF0IGhhdmUgY29udHJpYnV0ZWQgdG8gdGhlIGRldmVsb3BtZW50IG9mIHRoaXMgU3BlY2lmaWNhdGlvbjwvaDI+CiAgICAgICAgICAgIDx1bCByb2xlPSJkaXJlY3RvcnkiIGNsYXNzPSJ0b2MiPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lIj4KICAgICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgwqkgMjAxMwogICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJ0ZXh0LWluZm8iIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9jb21wYW55L29iamVjdC1tYW5hZ2VtZW50LWdyb3VwLyI+T2JqZWN0IE1hbmFnZW1lbnQgR3JvdXA8L2E+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lIj4KICAgICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgwqkgMjAxMS0yMDEyCiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRleHQtaW5mbyIgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL2NvbXBhbnkvcmVtZWR5LWl0LyI+UmVtZWR5IElUPC9hPgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPGhyIGNsYXNzPSJjb250YWluZXLigJ0vIj4KICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgPHNlY3Rpb24gaWQ9Imlzc3VlcyIgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxoMiByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIxIj5Jc3N1ZXMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgc3BlY2lmaWNhdGlvbjwvaDI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciBpc3N1ZXMtbGlua3MiPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImNvbC1tZC0yIj4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2lzc3Vlcy5vbWcub3JnL2lzc3Vlcy9zcGVjL0FNSTRDQ00iPgogICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtbGlzdCBmYS0zeCI+PC9pPjxici8+CiAgICAgICAgICAgICAgICAgICAgICAgIElzc3VlcyBSZXBvcnRlZCBpbiB0aGlzIFNwZWNpZmljYXRpb24KICAgICAgICAgICAgICAgICAgICA8L2E+Jm5ic3A7JmRhc2g7CiAgICAgICAgICAgICAgICAgICAgPGJyLz4KICAgICAgICAgICAgICAgICAgICA8ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vaXNzdWVzLm9tZy5vcmcvaXNzdWVzL3NwZWMvQU1JNENDTS8xLjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbiAxLjAgb25seQogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9lbT4KICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjb2wtbWQtMiI+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9pc3N1ZXMub21nLm9yZy9pc3N1ZXMvc3BlYy9BTUk0Q0NNL2ZpeGVkIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWZsYWctY2hlY2tlcmVkIGZhLTN4Ij48L2k+PGJyLz4KICAgICAgICAgICAgICAgICAgICAgICAgSXNzdWVzIEZpeGVkIGluIHRoaXMgU3BlY2lmaWNhdGlvbgogICAgICAgICAgICAgICAgICAgIDwvYT4mbmJzcDsmZGFzaDsKICAgICAgICAgICAgICAgICAgICA8YnIvPgogICAgICAgICAgICAgICAgICAgIDxlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9pc3N1ZXMub21nLm9yZy9pc3N1ZXMvc3BlYy9BTUk0Q0NNLzEuMC9maXhlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uIDEuMCBvbmx5CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2VtPgogICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImNvbC1tZC0yIj4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2lzc3Vlcy5vbWcub3JnL2lzc3Vlcy9jcmVhdGUtbmV3LWlzc3VlP3NwZWNpZmljYXRpb249QU1JNENDTSUyMzEuMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1jb21tZW50aW5nIGZhLTN4Ij48L2k+PGJyLz4KICAgICAgICAgICAgICAgICAgICAgICAgUmVwb3J0IGFuIGlzc3VlCiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImNvbC1tZC0yIj4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2lzc3Vlcy5vbWcub3JnL2Jyb3dzZS9BTUk0Q0NNMTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtdXNlcnMgZmEtM3giPjwvaT48YnIvPgogICAgICAgICAgICAgICAgICAgICAgICBJc3N1ZSBUcmFja2VyIChNZW1iZXJzIE9ubHkpCiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGhyIGNsYXNzPSJjb250YWluZXLigJ0vIj4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGlkPSJkb2N1bWVudHMiIGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8aDIgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMSI+U3BlY2lmaWNhdGlvbiBEb2N1bWVudHM8L2gyPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0iY29udGFpbmVyIiBpZD0iZG9jcy1ub3JtYXRpdmUtc3VwcG9ydGluZyI+CiAgICAgICAgICAgICAgICA8aDMgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMiI+Tm9ybWF0aXZlIERvY3VtZW50czwvaDM+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1yZXNwb25zaXZlIj4KICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtc3RyaXBlZCIgZGF0YS1zb3J0YWJsZT4KICAgICAgICA8dGhlYWQ+CiAgICAgICAgPHRyPgogICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy01Ij5EZXNjcmlwdGlvbjwvdGg+CiAgICAgICAgICAgIDx0aCBjbGFzcz0iY29sLXhzLTEiPkZvcm1hdDwvdGg+CiAgICAgICAgICAgIDx0aCBjbGFzcz0iY29sLXhzLTMiPlVSTDwvdGg+CiAgICAgICAgICAgIDx0aCBjbGFzcz0iY29sLXhzLTIiPk9NRyBGaWxlIElEPC90aD4KICAgICAgICA8L3RyPgogICAgICAgIDwvdGhlYWQ+CiAgICAgICAgPHRib2R5PgogICAgICAgIDx0cj4KICAgICAgICAgICAgCiAgICAgICAgICAgIDx0ZCBjbGFzcz0iZG9jdW1lbnQtZXhwbGFuYXRpb24iPlNwZWNpZmljYXRpb248L3RkPgogICAgICAgICAgICA8dGQgY2xhc3M9ImRvY3VtZW50LWZvcm1hdCI+UERGPC90ZD4KICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImRvd25sb2FkLWRvY3VtZW50IgogICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzEuMC9QREYiIGRhdGEtc3BlYz0iQU1JNENDTS8xLjAiIGRhdGEtbGFiZWw9IkFNSTRDQ00vMS4wL1BERiI+QU1JNENDTS8xLjAvUERGPC9hPgogICAgICAgICAgICAgICAgICAgIDxici8+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgPHRkIGNsYXNzPSJkb2N1bWVudC1udW1iZXIiCiAgICAgICAgICAgICAgICB0aXRsZT0iNDc0OTIwIj5mb3JtYWwvMTMtMDQtMDE8L3RkPgogICAgICAgIDwvdHI+CiAgICAgICAgPC90Ym9keT4KICAgIDwvdGFibGU+CjwvZGl2PgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJjb250YWluZXIiIGlkPSJkb2NzLW5vcm1hdGl2ZS1tYWNoaW5lIj4KICAgICAgICAgICAgICAgIDxoMyByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIyIj5Ob3JtYXRpdmUgTWFjaGluZSBSZWFkYWJsZSBEb2N1bWVudHM8L2gzPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtcmVzcG9uc2l2ZSI+CiAgICA8dGFibGUgY2xhc3M9InRhYmxlIHRhYmxlLXN0cmlwZWQiIGRhdGEtc29ydGFibGU+CiAgICAgICAgPHRoZWFkPgogICAgICAgIDx0cj4KICAgICAgICAgICAgPHRoIGNsYXNzPSJjb2wteHMtNSI+RGVzY3JpcHRpb248L3RoPgogICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy0xIj5Gb3JtYXQ8L3RoPgogICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy0zIj5VUkw8L3RoPgogICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy0yIj5PTUcgRmlsZSBJRDwvdGg+CiAgICAgICAgPC90cj4KICAgICAgICA8L3RoZWFkPgogICAgICAgIDx0Ym9keT4KICAgICAgICA8dHI+CiAgICAgICAgICAgIAogICAgICAgICAgICA8dGQgY2xhc3M9ImRvY3VtZW50LWV4cGxhbmF0aW9uIj5Bc3luY2hyb25vdXMgTWV0aG9kIEludm9jYXRpb24gZm9yIENDTSBGVEYgemlwcGVkIElETCBmaWxlPC90ZD4KICAgICAgICAgICAgPHRkIGNsYXNzPSJkb2N1bWVudC1mb3JtYXQiPklETDwvdGQ+CiAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJkb3dubG9hZC1kb2N1bWVudCIKICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8yMDEyMDcwNy9hbWk0Y2NtLmlkbCIgZGF0YS1zcGVjPSJBTUk0Q0NNLzEuMCIgZGF0YS1sYWJlbD0iQU1JNENDTS8yMDEyMDcwNy9hbWk0Y2NtLmlkbCI+QU1JNENDTS8yMDEyMDcwNy9hbWk0Y2NtLmlkbDwvYT4KICAgICAgICAgICAgICAgICAgICA8YnIvPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgIDx0ZCBjbGFzcz0iZG9jdW1lbnQtbnVtYmVyIgogICAgICAgICAgICAgICAgdGl0bGU9IjQ3MzkxOCI+cHRjLzEyLTA3LTA3PC90ZD4KICAgICAgICA8L3RyPgogICAgICAgIDwvdGJvZHk+CiAgICA8L3RhYmxlPgo8L2Rpdj4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIDxociBjbGFzcz0iY29udGFpbmVy4oCdLyI+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBpZD0ic3BlYy12ZXJzaW9ucyIgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxoMiByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIxIj5IaXN0b3J5PC9oMj4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJjb250YWluZXIiIGlkPSJzcGVjLXZlcnNpb25zLWZvcm1hbCI+CiAgICAgICAgICAgICAgICA8aDMgcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMiI+Rm9ybWFsIFZlcnNpb25zPC9oMz4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLXJlc3BvbnNpdmUiPgogICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtc3RyaXBlZCIgZGF0YS1zb3J0YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9ImNvbC14cy0yIj5WZXJzaW9uPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0iY29sLXhzLTMiPkFkb3B0aW9uIERhdGU8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPSJjb2wteHMtNyI+VVJMPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PgogICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+MS4wPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5NYXJjaCAyMDEzPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8xLjAvIj5odHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8xLjAvPC9hPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICAgIDxociBjbGFzcz0iY29udGFpbmVy4oCdLyI+CiAgICAgICAgPC9zZWN0aW9uPgoKCiAgICAgICAgPHNlY3Rpb24gaWQ9ImludmVudG9yeS1saW5rcyIgcm9sZT0iY29tcGxlbWVudGFyeSIgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxoMiByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIxIj5MaW5rczwvaDI+CiAgICAgICAgICAgIDxkbCBjbGFzcz0iZGwtaG9yaXpvbnRhbCI+CiAgICAgICAgICAgICAgICA8ZHQ+VGhpcyBEb2N1bWVudDo8L2R0PgogICAgICAgICAgICAgICAgPGRkPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLzEuMC9BYm91dC1BTUk0Q0NNLyI+aHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wL0Fib3V0LUFNSTRDQ00vPC9hPgogICAgICAgICAgICAgICAgPC9kZD4KCiAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9InNtYWxsIj5SREY8L2R0PgogICAgICAgICAgICAgICAgPGRkIGNsYXNzPSJzbWFsbCI+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wL0Fib3V0LUFNSTRDQ00ucmRmIj5odHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8xLjAvQWJvdXQtQU1JNENDTS5yZGY8L2E+CiAgICAgICAgICAgICAgICA8L2RkPgoKICAgICAgICAgICAgICAgIDxkdCBjbGFzcz0ic21hbGwiPkpTT04tTEQ8L2R0PgogICAgICAgICAgICAgICAgPGRkIGNsYXNzPSJzbWFsbCI+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vMS4wL0Fib3V0LUFNSTRDQ00uanNvbmxkIj5odHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS8xLjAvQWJvdXQtQU1JNENDTS5qc29ubGQ8L2E+CiAgICAgICAgICAgICAgICA8L2RkPgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkdD5MYXRlc3QgRG9jdW1lbnQ6PC9kdD4KICAgICAgICAgICAgICAgICAgICA8ZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNLyI+aHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGQ+CgogICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzcz0ic21hbGwiPlJERjwvZHQ+CiAgICAgICAgICAgICAgICAgICAgPGRkIGNsYXNzPSJzbWFsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNL0Fib3V0LUFNSTRDQ00ucmRmIj5odHRwczovL3d3dy5vbWcub3JnL3NwZWMvQU1JNENDTS9BYm91dC1BTUk0Q0NNLnJkZjwvYT4KICAgICAgICAgICAgICAgICAgICA8L2RkPgoKICAgICAgICAgICAgICAgICAgICA8ZHQgY2xhc3M9InNtYWxsIj5KU09OLUxEPC9kdD4KICAgICAgICAgICAgICAgICAgICA8ZGQgY2xhc3M9InNtYWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cub21nLm9yZy9zcGVjL0FNSTRDQ00vQWJvdXQtQU1JNENDTS5qc29ubGQiPmh0dHBzOi8vd3d3Lm9tZy5vcmcvc3BlYy9BTUk0Q0NNL0Fib3V0LUFNSTRDQ00uanNvbmxkPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGQ+CiAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICA8ZHQ+TWVtYmVycyBPbmx5PC9kdD4KICAgICAgICAgICAgICAgIDxkZD4KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL21lbWJlcnMvc3BlYy9BTUk0Q0NNLzEuMC8iPmh0dHBzOi8vd3d3Lm9tZy5vcmcvbWVtYmVycy9zcGVjL0FNSTRDQ00vMS4wLzwvYT4KICAgICAgICAgICAgICAgIDwvZGQ+CiAgICAgICAgICAgICAgICA8IS0tIGtleXdvcmRzIC0tPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8IS0tIGNvbnRhY3QgZm9ybSAtLT4KICAgICAgICAgICAgICAgIDxkdD5Db250YWN0OjwvZHQ+CiAgICAgICAgICAgICAgICA8ZGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRvZ2dsZT0idG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9InJpZ2h0IiBkYXRhLWNvbnRhaW5lcj0iYm9keSIgZGF0YS1odG1sPSJ0cnVlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0iSnVzdCBzZW5kIGEgcXVlc3Rpb24gYWJvdXQgdGhpcyBzcGVjaWZpY2F0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5vbWcub3JnL3NwZWMvY29udGFjdD9pPUFNSTRDQ00vMS4wIj5TZW5kIGEgcXVlc3Rpb24g4pOYPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kZD4KICAgICAgICAgICAgPC9kbD4KICAgICAgICA8L3NlY3Rpb24+CiAgICA8L2Rpdj4gPCEtLSBQYWdlIENvbnRlbnQgLyBFbmQgLS0+CjwvZGl2PiA8IS0tIE1haW4gLyBFbmQgLS0+CgogICAgPCEtLSBCT0RZIEZPT1RFUiBJTkNMVURFIEJFR0lOIC0tPgogICAgPCEtLSBGb290ZXIgLS0+CiAgICA8Zm9vdGVyIGNsYXNzPSJmb290ZXIiIGlkPSJmb290ZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci13aWRnZXRzIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTQgY29sLW1kLTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFdpZGdldCA6OiBDdXN0b20gTWVudSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0X25hdl9tZW51IHdpZGdldCB3aWRnZXRfX2Zvb3RlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9IndpZGdldC10aXRsZSI+Q3VzdG9tIExpbmtzPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndpZGdldC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIvL3d3dy5vbWcub3JnL2dldHRpbmdzdGFydGVkL2JvZF9wdWJsaWMuaHRtIj5Cb2FyZCBvZiBEaXJlY3RvcnM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIvL3d3dy5vbWcub3JnL2xlZ2FsL2luZGV4Lmh0bSI+TGVnYWw8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvYWJvdXQvbGlhaXNvbi5odG0iPkxpYWlzb24gUmVsYXRpb25zPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIvL3d3dy5vbWcub3JnL2Fib3V0L3N0YWZmLmh0bSI+TWVldCBPdXIgU3RhZmY8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC9XaWRnZXQgOjogQ3VzdG9tIE1lbnUgLS0+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTQgY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFdpZGdldCA6OiBUZXh0IFdpZGdldCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0X3RleHQgd2lkZ2V0IHdpZGdldF9fZm9vdGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0id2lkZ2V0LXRpdGxlIj5BYm91dCBVczwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXQtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIE9iamVjdCBNYW5hZ2VtZW50IEdyb3VwJnJlZzsgKE9NRyZyZWc7KSBpcyBhbiBpbnRlcm5hdGlvbmFsLCBvcGVuIG1lbWJlcnNoaXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdC1mb3ItcHJvZml0IHRlY2hub2xvZ3kgc3RhbmRhcmRzIGNvbnNvcnRpdW0uPC9wPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5Gb3VuZGVkIGluIDE5ODksIE9NRyBzdGFuZGFyZHMgYXJlIGRyaXZlbiBieSB2ZW5kb3JzLCBlbmQtdXNlcnMsIGFjYWRlbWljCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RpdHV0aW9ucyBhbmQgZ292ZXJubWVudCBhZ2VuY2llcy4gT01HIFRhc2sgRm9yY2VzIGRldmVsb3AgZW50ZXJwcmlzZSBpbnRlZ3JhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFuZGFyZHMgZm9yIGEgd2lkZSByYW5nZSBvZiB0ZWNobm9sb2dpZXMgYW5kIGFuIGV2ZW4gd2lkZXIgcmFuZ2Ugb2YKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kdXN0cmllcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLy93d3cub21nLm9yZy9hYm91dC9pbmRleC5odG0iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiPkxlYXJuIE1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gL1dpZGdldCA6OiBUZXh0IFdpZGdldCAtLT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNCBjb2wtbWQtMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gV2lkZ2V0IDo6IENvbnRhY3RzIEluZm8gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3RzLXdpZGdldCB3aWRnZXQgd2lkZ2V0X19mb290ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ3aWRnZXQtdGl0bGUiPkNvbnRhY3QgVXM8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iY29udGFjdHMtaW5mby1saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLW1hcC1tYXJrZXIiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8taXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOUMgTWVkd2F5IFJvYWQsIFBNQiAyNzQ8YnI+IE1pbGZvcmQsIE1BIDAxNzU3IFVTQQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1waG9uZSI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQaC4rMSA3ODEgNDQ0LTA0MDQ8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmF4ICsxIDc4MS00NDQtMDMyMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1lbnZlbG9wZSI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8taXRlbSI+CgkJCQkJCQkJCQkJCQk8YSBocmVmPSJtYWlsdG86aW5mb0BvbWcub3JnIj5pbmZvQG9tZy5vcmc8L2E+CgkJCQkJCQkJCQkJCTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIC9XaWRnZXQgOjogQ29udGFjdHMgSW5mbyAtLT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItY29weXJpZ2h0Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTYgY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgJmNvcHk7IDIwMjIgPGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9Ii8vd3d3Lm9tZy5vcmcvaW5kZXguaHRtIj5PYmplY3QgTWFuYWdlbWVudCBHcm91cCZyZWc7LAogICAgICAgICAgICAgICAgICAgICAgICBPTUcmcmVnOzwvYT4gJm5ic3A7fCAmbmJzcDtBbGwgUmlnaHRzIFJlc2VydmVkCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTYgY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzb2NpYWwtbGlua3Mtd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic29jaWFsLWxpbmtzLXR4dCI+Q29ubmVjdCB3aXRoIHVzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJzb2NpYWwtbGlua3Mgc29jaWFsLWxpbmtzX19kYXJrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL09iamVjdC1NYW5hZ2VtZW50LUdyb3VwLTE3MTUzNDQxMDAyMi8iPjxpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZmEgZmEtZmFjZWJvb2siPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9vYmplY3RtZ210Z3JvdXAiPjxpIGNsYXNzPSJmYSBmYS10d2l0dGVyIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9ncm91cHMvNjY3OTkiPjxpIGNsYXNzPSJmYSBmYS1saW5rZWRpbiI+PC9pPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2Jsb2cub21nLm9yZy8iPjxpIGNsYXNzPSJmYSBmYS1wZW5jaWwtc3F1YXJlLW8iPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ3R1VGoxd3R5d29qWU5ab3lQZVlBRnciPjxpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZmEgZmEteW91dHViZSI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9wbHVzLmdvb2dsZS5jb20vYi8xMTIzMDM0NjE5OTU4NzAzMTUxNTYvMTEyMzAzNDYxOTk1ODcwMzE1MTU2L3Bvc3RzIj48aQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJmYSBmYS1nb29nbGUtcGx1cyI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIj48aSBjbGFzcz0iZmEgZmEtcnNzIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZm9vdGVyPgogICAgPCEtLSBGb290ZXIgLyBFbmQgLS0+CgogICAgPCEtLSBKYXZhc2NyaXB0IEZpbGVzCiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3d3dy5vbWcub3JnL3ZlbmRvci9qcXVlcnktMS4xMS4wLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cub21nLm9yZy92ZW5kb3IvanF1ZXJ5LW1pZ3JhdGUtMS4yLjEubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3d3dy5vbWcub3JnL3ZlbmRvci9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3d3dy5vbWcub3JnL3ZlbmRvci9oZWFkaGVzaXZlLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cub21nLm9yZy92ZW5kb3IvZmhtbS5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cub21nLm9yZy92ZW5kb3IvanF1ZXJ5LmZsaWNrcmZlZWQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvdmVuZG9yL2lzb3RvcGUvaXNvdG9wZS5wa2dkLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cub21nLm9yZy92ZW5kb3IvaXNvdG9wZS9qcXVlcnkuaW1hZ2VzbG9hZGVkLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cub21nLm9yZy92ZW5kb3IvbWFnbmlmaWMtcG9wdXAvanF1ZXJ5Lm1hZ25pZmljLXBvcHVwLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3d3dy5vbWcub3JnL3ZlbmRvci9vd2wtY2Fyb3VzZWwvb3dsLmNhcm91c2VsLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cub21nLm9yZy92ZW5kb3IvanF1ZXJ5LmZpdHZpZHMuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvdmVuZG9yL2pxdWVyeS5hcHBlYXIuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vd3d3Lm9tZy5vcmcvdmVuZG9yL2pxdWVyeS5zdGVsbGFyLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cub21nLm9yZy92ZW5kb3Ivc25hcC5zdmctbWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3d3dy5vbWcub3JnL3ZlbmRvci9tZWRpYWVsZW1lbnQvbWVkaWFlbGVtZW50LWFuZC1wbGF5ZXIubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgYXN5bmM9IiIgc3JjPSJodHRwczovL3d3dy5nb29nbGUtYW5hbHl0aWNzLmNvbS9nYS5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KCiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cub21nLm9yZy9qcy9jdXN0b20uanMiPjwvc2NyaXB0PgoKICAgIDwhLS0gc29ydGFibGUgdGFibGVzIC0tPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vdW5wa2cuY29tL2Jvb3RzdHJhcC10YWJsZUAxLjE4LjMvZGlzdC9ib290c3RyYXAtdGFibGUubWluLmpzIj48L3NjcmlwdD4KCiAgICA8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiCiAgICAgICAgICAgIGludGVncml0eT0ic2hhMjU2LSttV2QvRzY5UzRxdGdQb3dTRUxJZVZBdjcrRnVMODcxV1hhb2xnWG5yd1E9IgogICAgICAgICAgICBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3NlbGVjdDIvNC4wLjMvanMvc2VsZWN0Mi5taW4uanMiPjwvc2NyaXB0PgogICAgPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvc2VsZWN0Mi80LjAuMy9jc3Mvc2VsZWN0Mi5taW4uY3NzIgogICAgICAgICAgaW50ZWdyaXR5PSJzaGEyNTYteEpPWkhmcHhMUi91aGgxQndZRlM1ZmhtT0FkSVJRYWlPdWw1Ri9iN3Yzcz0iIHJlbD0ic3R5bGVzaGVldCIvPgogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgY29uc3Qgc2VhcmNoQm94ID0gJCgiI3NwZWNzLXNlYXJjaC1ib3giKTsKICAgICAgICAgICAgc2VhcmNoQm94LnNlbGVjdDIoewogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICJUeXBlIFNwZWNpZmljYXRpb25zLCBDYXRlZ29yaWVzLCBLZXl3b3JkcyBvciBDb21wYW5pZXMiLAogICAgICAgICAgICAgICAgYWxsb3dDbGVhcjogdHJ1ZSwKICAgICAgICAgICAgICAgIG1pbmltdW1SZXN1bHRzRm9yU2VhcmNoOiA1CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBzZWFyY2hCb3gub24oInNlbGVjdDI6c2VsZWN0IiwgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgIGxldCBwYXRoID0gZS5jdXJyZW50VGFyZ2V0LnZhbHVlOwogICAgICAgICAgICAgICAgc2VhcmNoQm94LnZhbChbXSkudHJpZ2dlcigiY2hhbmdlIik7CiAgICAgICAgICAgICAgICBpZiAoIXdpbmRvdy5sb2NhdGlvbi5ocmVmLmVuZHNXaXRoKCIvIikpCiAgICAgICAgICAgICAgICAgICAgcGF0aCA9ICIvIiArIHBhdGg7CiAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmICsgcGF0aDsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICQoIiNzcGVjcy1zZWFyY2gtYnV0dG9uIikuaGlkZSgpOwogICAgICAgICAgICAkKCJhLmRvd25sb2FkLWRvY3VtZW50IikuY2xpY2soZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgZ3RhZygnZXZlbnQnLCAnZG93bmxvYWQnLCB7CiAgICAgICAgICAgICAgICAgICAgJ2V2ZW50X2NhdGVnb3J5JzogJ2Rvd25sb2FkcycsCiAgICAgICAgICAgICAgICAgICAgJ2V2ZW50X2FjdGlvbic6ICQodGhpcykuZGF0YSgic3BlYyIpLAogICAgICAgICAgICAgICAgICAgICdldmVudF9sYWJlbCc6ICQodGhpcykuZGF0YSgibGFiZWwiKQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgICAgICQoJ1tkYXRhLXRvZ2dsZT0idG9vbHRpcCJdJykudG9vbHRpcCgpCiAgICA8L3NjcmlwdD4KCiAgICA8IS0tIEJPRFkgRk9PVEVSIElOQ0xVREUgRU5EIC0tPgoKPC9ib2R5Pgo8L2h0bWw+
41
41
  http_version:
42
- recorded_at: Sun, 10 Apr 2022 12:50:19 GMT
42
+ recorded_at: Mon, 09 May 2022 10:28:50 GMT
43
43
  recorded_with: VCR 5.1.0
@@ -41,29 +41,29 @@ http_interactions:
41
41
  X-Xss-Protection:
42
42
  - 1; mode=block
43
43
  X-Github-Request-Id:
44
- - 7B06:2F65:BB8B18:C511C9:6252D288
44
+ - E2A8:43C3:B13BA4:C169AD:6278ECDE
45
45
  Accept-Ranges:
46
46
  - bytes
47
47
  Date:
48
- - Sun, 10 Apr 2022 12:50:16 GMT
48
+ - Mon, 09 May 2022 10:28:47 GMT
49
49
  Via:
50
50
  - 1.1 varnish
51
51
  X-Served-By:
52
- - cache-sof1510032-SOF
52
+ - cache-vie6356-VIE
53
53
  X-Cache:
54
54
  - MISS
55
55
  X-Cache-Hits:
56
56
  - '0'
57
57
  X-Timer:
58
- - S1649595016.113451,VS0,VE361
58
+ - S1652092127.825412,VS0,VE261
59
59
  Vary:
60
60
  - Authorization,Accept-Encoding,Origin
61
61
  Access-Control-Allow-Origin:
62
62
  - "*"
63
63
  X-Fastly-Request-Id:
64
- - 1e742c48770ab8296d09b30fc9ac0dfca0c666e3
64
+ - ef405b9b55c1d0704527d6ce671494ee54a74a67
65
65
  Expires:
66
- - Sun, 10 Apr 2022 12:55:16 GMT
66
+ - Mon, 09 May 2022 10:33:47 GMT
67
67
  Source-Age:
68
68
  - '0'
69
69
  body:
@@ -84,5 +84,5 @@ http_interactions:
84
84
  <seriesInfo name='DOI' value='10.17487/RFC8341'/>
85
85
  </reference>
86
86
  http_version:
87
- recorded_at: Sun, 10 Apr 2022 12:50:16 GMT
87
+ recorded_at: Mon, 09 May 2022 10:28:46 GMT
88
88
  recorded_with: VCR 5.1.0