rest-man 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/multi-matrix-test.yml +35 -0
  3. data/.github/workflows/single-matrix-test.yml +27 -0
  4. data/.gitignore +13 -0
  5. data/.mailmap +10 -0
  6. data/.rspec +2 -0
  7. data/.rubocop +2 -0
  8. data/.rubocop-disables.yml +386 -0
  9. data/.rubocop.yml +8 -0
  10. data/AUTHORS +106 -0
  11. data/CHANGELOG.md +7 -0
  12. data/Gemfile +11 -0
  13. data/LICENSE +21 -0
  14. data/README.md +843 -0
  15. data/Rakefile +140 -0
  16. data/exe/restman +92 -0
  17. data/lib/rest-man.rb +2 -0
  18. data/lib/rest_man.rb +2 -0
  19. data/lib/restman/abstract_response.rb +252 -0
  20. data/lib/restman/exceptions.rb +238 -0
  21. data/lib/restman/params_array.rb +72 -0
  22. data/lib/restman/payload.rb +234 -0
  23. data/lib/restman/platform.rb +49 -0
  24. data/lib/restman/raw_response.rb +49 -0
  25. data/lib/restman/request.rb +859 -0
  26. data/lib/restman/resource.rb +178 -0
  27. data/lib/restman/response.rb +90 -0
  28. data/lib/restman/utils.rb +274 -0
  29. data/lib/restman/version.rb +8 -0
  30. data/lib/restman/windows/root_certs.rb +105 -0
  31. data/lib/restman/windows.rb +8 -0
  32. data/lib/restman.rb +183 -0
  33. data/matrixeval.yml +73 -0
  34. data/rest-man.gemspec +41 -0
  35. data/spec/ISS.jpg +0 -0
  36. data/spec/cassettes/request_httpbin_with_basic_auth.yml +83 -0
  37. data/spec/cassettes/request_httpbin_with_cookies.yml +49 -0
  38. data/spec/cassettes/request_httpbin_with_cookies_2.yml +94 -0
  39. data/spec/cassettes/request_httpbin_with_cookies_3.yml +49 -0
  40. data/spec/cassettes/request_httpbin_with_encoding_deflate.yml +45 -0
  41. data/spec/cassettes/request_httpbin_with_encoding_deflate_and_accept_headers.yml +44 -0
  42. data/spec/cassettes/request_httpbin_with_encoding_gzip.yml +45 -0
  43. data/spec/cassettes/request_httpbin_with_encoding_gzip_and_accept_headers.yml +44 -0
  44. data/spec/cassettes/request_httpbin_with_user_agent.yml +44 -0
  45. data/spec/cassettes/request_mozilla_org.yml +151 -0
  46. data/spec/cassettes/request_mozilla_org_callback_returns_true.yml +178 -0
  47. data/spec/cassettes/request_mozilla_org_with_system_cert.yml +152 -0
  48. data/spec/cassettes/request_mozilla_org_with_system_cert_and_callback.yml +151 -0
  49. data/spec/helpers.rb +54 -0
  50. data/spec/integration/_lib.rb +1 -0
  51. data/spec/integration/capath_digicert/README +8 -0
  52. data/spec/integration/capath_digicert/ce5e74ef.0 +1 -0
  53. data/spec/integration/capath_digicert/digicert.crt +20 -0
  54. data/spec/integration/capath_digicert/update +1 -0
  55. data/spec/integration/capath_verisign/415660c1.0 +14 -0
  56. data/spec/integration/capath_verisign/7651b327.0 +14 -0
  57. data/spec/integration/capath_verisign/README +8 -0
  58. data/spec/integration/capath_verisign/verisign.crt +14 -0
  59. data/spec/integration/certs/digicert.crt +20 -0
  60. data/spec/integration/certs/verisign.crt +14 -0
  61. data/spec/integration/httpbin_spec.rb +137 -0
  62. data/spec/integration/integration_spec.rb +118 -0
  63. data/spec/integration/request_spec.rb +134 -0
  64. data/spec/spec_helper.rb +40 -0
  65. data/spec/unit/_lib.rb +1 -0
  66. data/spec/unit/abstract_response_spec.rb +145 -0
  67. data/spec/unit/exceptions_spec.rb +108 -0
  68. data/spec/unit/params_array_spec.rb +36 -0
  69. data/spec/unit/payload_spec.rb +295 -0
  70. data/spec/unit/raw_response_spec.rb +22 -0
  71. data/spec/unit/request2_spec.rb +54 -0
  72. data/spec/unit/request_spec.rb +1205 -0
  73. data/spec/unit/resource_spec.rb +134 -0
  74. data/spec/unit/response_spec.rb +252 -0
  75. data/spec/unit/restclient_spec.rb +80 -0
  76. data/spec/unit/utils_spec.rb +147 -0
  77. data/spec/unit/windows/root_certs_spec.rb +22 -0
  78. metadata +336 -0
@@ -0,0 +1,151 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.mozilla.org/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ User-Agent:
13
+ - rest-man/1.0.0 (darwin21 arm64) ruby/2.7.6p219
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Host:
17
+ - www.mozilla.org
18
+ response:
19
+ status:
20
+ code: 301
21
+ message: Moved Permanently
22
+ headers:
23
+ Content-Type:
24
+ - text/html; charset=utf-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Connection:
28
+ - keep-alive
29
+ Server:
30
+ - meinheld/1.0.2
31
+ Date:
32
+ - Fri, 27 May 2022 11:08:33 GMT
33
+ Location:
34
+ - "/en-US/"
35
+ X-Backend-Server:
36
+ - bedrock-prod-web-68fb448779-5f2ww.iowa-a
37
+ Strict-Transport-Security:
38
+ - max-age=31536000
39
+ X-Content-Type-Options:
40
+ - nosniff
41
+ X-Xss-Protection:
42
+ - 1; mode=block
43
+ Referrer-Policy:
44
+ - strict-origin-when-cross-origin
45
+ Via:
46
+ - 1.1 google, 1.1 3c22982dfb94f708939a6ef528c5e55c.cloudfront.net (CloudFront)
47
+ Vary:
48
+ - Accept-Language
49
+ X-Cache:
50
+ - Hit from cloudfront
51
+ X-Amz-Cf-Pop:
52
+ - SFO5-P2
53
+ X-Amz-Cf-Id:
54
+ - H5_xUdE3GfaAl5bE5SgInM-IfADaQvD56dIDdA4mUNDu9qqgB6lTBQ==
55
+ Age:
56
+ - '17729'
57
+ body:
58
+ encoding: UTF-8
59
+ string: ''
60
+ recorded_at: Fri, 27 May 2022 16:04:02 GMT
61
+ - request:
62
+ method: get
63
+ uri: https://www.mozilla.org/en-US/
64
+ body:
65
+ encoding: US-ASCII
66
+ string: ''
67
+ headers:
68
+ Accept:
69
+ - "*/*"
70
+ User-Agent:
71
+ - rest-man/1.0.0 (darwin21 arm64) ruby/2.7.6p219
72
+ Accept-Encoding:
73
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
74
+ Host:
75
+ - www.mozilla.org
76
+ response:
77
+ status:
78
+ code: 200
79
+ message: OK
80
+ headers:
81
+ Content-Type:
82
+ - text/html; charset=utf-8
83
+ Transfer-Encoding:
84
+ - chunked
85
+ Connection:
86
+ - keep-alive
87
+ Server:
88
+ - meinheld/1.0.2
89
+ Date:
90
+ - Fri, 27 May 2022 15:58:40 GMT
91
+ X-Frame-Options:
92
+ - DENY
93
+ Content-Security-Policy:
94
+ - 'font-src ''self'' assets.getpocket.com; connect-src ''self'' *.mozilla.net
95
+ *.mozilla.org *.mozilla.com www.googletagmanager.com www.google-analytics.com
96
+ logs.convertexperiments.com 1003350.metrics.convertexperiments.com 1003343.metrics.convertexperiments.com
97
+ sentry.prod.mozaws.net o1069899.sentry.io cdn.cookielaw.org privacyportal.onetrust.com
98
+ https://accounts.firefox.com/ getpocket.com stage.cjms.nonprod.cloudops.mozgcp.net
99
+ cjms.services.mozilla.com; child-src ''self'' *.mozilla.net *.mozilla.org
100
+ *.mozilla.com www.googletagmanager.com www.google-analytics.com www.youtube-nocookie.com
101
+ trackertest.org www.surveygizmo.com accounts.firefox.com accounts.firefox.com.cn
102
+ www.youtube.com; frame-src ''self'' *.mozilla.net *.mozilla.org *.mozilla.com
103
+ www.googletagmanager.com www.google-analytics.com www.youtube-nocookie.com
104
+ trackertest.org www.surveygizmo.com accounts.firefox.com accounts.firefox.com.cn
105
+ www.youtube.com; img-src ''self'' *.mozilla.net *.mozilla.org *.mozilla.com
106
+ data: mozilla.org www.googletagmanager.com www.google-analytics.com adservice.google.com
107
+ adservice.google.de adservice.google.dk creativecommons.org cdn-3.convertexperiments.com
108
+ logs.convertexperiments.com images.ctfassets.net cdn.cookielaw.org ad.doubleclick.net;
109
+ script-src ''self'' *.mozilla.net *.mozilla.org *.mozilla.com ''unsafe-inline''
110
+ ''unsafe-eval'' www.googletagmanager.com www.google-analytics.com tagmanager.google.com
111
+ www.youtube.com s.ytimg.com cdn-3.convertexperiments.com app.convert.com data.track.convertexperiments.com
112
+ 1003350.track.convertexperiments.com 1003343.track.convertexperiments.com
113
+ cdn.cookielaw.org assets.getpocket.com; default-src ''self'' *.mozilla.net
114
+ *.mozilla.org *.mozilla.com; style-src ''self'' *.mozilla.net *.mozilla.org
115
+ *.mozilla.com ''unsafe-inline'' app.convert.com'
116
+ Cache-Control:
117
+ - max-age=600
118
+ Expires:
119
+ - Fri, 27 May 2022 16:08:41 GMT
120
+ X-Clacks-Overhead:
121
+ - GNU Terry Pratchett
122
+ X-Backend-Server:
123
+ - bedrock-prod-web-68fb448779-dz8xk.iowa-a
124
+ Strict-Transport-Security:
125
+ - max-age=31536000
126
+ X-Content-Type-Options:
127
+ - nosniff
128
+ X-Xss-Protection:
129
+ - 1; mode=block
130
+ Referrer-Policy:
131
+ - strict-origin-when-cross-origin
132
+ Via:
133
+ - 1.1 google, 1.1 0c04e836dfe22246a870a0f54a2d4746.cloudfront.net (CloudFront)
134
+ Etag:
135
+ - W/"97d9eeb8fce93b657d7b6f55a228c276"
136
+ Vary:
137
+ - Accept-Encoding
138
+ X-Cache:
139
+ - Hit from cloudfront
140
+ X-Amz-Cf-Pop:
141
+ - SFO5-P2
142
+ X-Amz-Cf-Id:
143
+ - Obmt84ZxqAS3Z8RnHbwNVzVqpRzDMAcbuxUVHBfrPHZlQeF5Bt8_ag==
144
+ Age:
145
+ - '325'
146
+ body:
147
+ encoding: ASCII-8BIT
148
+ string: !binary |-
149
+ CgoKCgoKCgoKCgoKPCFkb2N0eXBlIGh0bWw+Cgo8aHRtbCBjbGFzcz0id2luZG93cyB4ODYgbm8tanMiIGxhbmc9ImVuIiBkaXI9Imx0ciIgZGF0YS1jb3VudHJ5LWNvZGU9IlVTIiBkYXRhLWxhdGVzdC1maXJlZm94PSIxMDAuMC4yIiBkYXRhLWVzci12ZXJzaW9ucz0iOTEuOS4xIiBkYXRhLWd0bS1jb250YWluZXItaWQ9IkdUTS1NVzNSOFYiIGRhdGEtZ3RtLXBhZ2UtaWQ9IkhvbWVwYWdlIiBkYXRhLXN0dWItYXR0cmlidXRpb24tcmF0ZT0iMS4wIiAgZGF0YS1zZW50cnktZHNuPSJodHRwczovL2MzYWI4NTE0ODczNTQ5ZDViMzc4NWViYzdmYjgzYzgwQG8xMDY5ODk5LmluZ2VzdC5zZW50cnkuaW8vNjI2MDMzMSI+CiAgPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CgogICAgPCEtLVtpZiAhSUVdPjwhLS0+CiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9qcy9zaXRlLmVhZWEzYzZjZTdlNC5qcyIgY2hhcnNldD0idXRmLTgiPjwvc2NyaXB0PgoKICAgIAogICAgPCEtLTwhW2VuZGlmXS0tPgoKPCEtLQoKCiAgICAgICAgICAgICBfLi1+LS4KICAgICAgICAgICA3JycgIFEuLlwKICAgICAgICBfNyAgICAgICAgIChfCiAgICAgIF83ICBfLyAgICBfcS4gIC8KICAgIF83IC4gX19fICAvVlZ2di0nXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLgogICA3LyAvIC9+LSBcX1xcICAgICAgJy0uXyAgICAgLi0nICAgICAgICAgICAgICAgICAgICAgIC8gICAgICAgLy8KICAuLyAoIC8tfi0vfHwnPS5fXyAgJzo6LiAnLX4nJyB7ICAgICAgICAgICAgIF9fXyAgIC8gIC8vICAgICAuL3sKIFYgICBWLX4tfnwgfHwgICBfXycnXyAgICc6OjouICAgJyd+LX4uX19fLi0nJyBfLyAgLy8gLyB7XyAgIC8gIHsgIC8KICBWVi8tfi1+LXwvIFwgLidfXycuICcuICAgICc6OiAgICAgICAgICAgICAgICAgICAgIF8gXyBfICAgICAgICAnJy4KICAvIC9+fn5+fHxWVlYvIC8gIFwgKSAgXCAgICAgICAgXyBfXyBfX18gICBfX18gX19fKF8pIHwgfCBfXyBfICAgLjo6JwogLyAofi1+LX5cXC4tJyAvICAgIFwnICAgXDo6OjouIHwgJ18gYCBfIFwgLyBfIFxfICAvIHwgfCB8LyBfYCB8IDo6OicKLy4uXCAgICAvLi5cX18vICAgICAgJyAgICAgJzo6OiB8IHwgfCB8IHwgfCAoXykgLyAvfCB8IHwgfCAoX3wgfCA6OicKdlZWdiAgICB2VlZ2ICAgICAgICAgICAgICAgICAnOiB8X3wgfF98IHxffFxfX18vX19ffF98X3xffFxfXyxffCAnJwoKSGkgdGhlcmUsIG5pY2UgdG8gbWVldCB5b3UhCgpJbnRlcmVzdGVkIGluIGhhdmluZyBhIGRpcmVjdCBpbXBhY3Qgb24gaHVuZHJlZHMgb2YgbWlsbGlvbnMgb2YgdXNlcnM/IEpvaW4KTW96aWxsYSwgYW5kIGJlY29tZSBwYXJ0IG9mIGEgZ2xvYmFsIGNvbW11bml0eSB0aGF04oCZcyBoZWxwaW5nIHRvIGJ1aWxkIGEKYnJpZ2h0ZXIgZnV0dXJlIGZvciB0aGUgV2ViLgoKVmlzaXQgaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvY2FyZWVycyB0byBsZWFybiBhYm91dCBvdXIgY3VycmVudCBqb2Igb3BlbmluZ3MuClZpc2l0IGh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2NvbnRyaWJ1dGUgZm9yIG1vcmUgd2F5cyB0byBnZXQgaW52b2x2ZWQgYW5kCmhlbHAgc3VwcG9ydCBNb3ppbGxhLgotLT4KCiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgCjwhLS0gdmFsaWRhdGVzIGJpbmcgd2VibWFzdGVyIHRvb2xzIC0tPgo8bWV0YSBuYW1lPSJtc3ZhbGlkYXRlLjAxIiBjb250ZW50PSJCN0IxNzcxMTVBNjM0OTI3RDYwODUxNERBMTdCMjU3NCI+CjwhLS0gWW91VHViZSBWZXJpZmljYXRpb24gLS0+CjxtZXRhIG5hbWU9Imdvb2dsZS1zaXRlLXZlcmlmaWNhdGlvbiIgY29udGVudD0iVTlhNmdIMzJ2TEl5a3ZudGFEVG9qLXl0WWhsWjFBZkFnVkVLc3RpeFFJRSI+CgoKICAgIAogICAgPHRpdGxlPkludGVybmV0IGZvciBwZW9wbGUsIG5vdCBwcm9maXQKICAgIOKAlCBNb3ppbGxhCiAgPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJNb3ppbGxhIGlzIHRoZSBub3QtZm9yLXByb2ZpdCBiZWhpbmQgdGhlIGxpZ2h0bmluZyBmYXN0IEZpcmVmb3ggYnJvd3Nlci4gV2UgcHV0IHBlb3BsZSBvdmVyIHByb2ZpdCB0byBnaXZlIGV2ZXJ5b25lIG1vcmUgcG93ZXIgb25saW5lLiI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0id2Vic2l0ZSI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6c2l0ZV9uYW1lIiBjb250ZW50PSJNb3ppbGxhIj4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzpsb2NhbGUiIGNvbnRlbnQ9ImVuX1VTIj4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2VuLVVTLyI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9tb3pvcmcvbW96aWxsYS0yNTYuNDcyMDc0MWQ0MTA4LmpwZyI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9IkludGVybmV0IGZvciBwZW9wbGUsIG5vdCBwcm9maXQiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSJNb3ppbGxhIGlzIHRoZSBub3QtZm9yLXByb2ZpdCBiZWhpbmQgdGhlIGxpZ2h0bmluZyBmYXN0IEZpcmVmb3ggYnJvd3Nlci4gV2UgcHV0IHBlb3BsZSBvdmVyIHByb2ZpdCB0byBnaXZlIGV2ZXJ5b25lIG1vcmUgcG93ZXIgb25saW5lLiI+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZmI6cGFnZV9pZCIgY29udGVudD0iMjYyMTM0OTUyMzgwIj4KICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6Y2FyZCIgY29udGVudD0ic3VtbWFyeSI+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOnNpdGUiIGNvbnRlbnQ9IkBtb3ppbGxhIj4KICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6ZG9tYWluIiBjb250ZW50PSJtb3ppbGxhLm9yZyI+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmFwcDpuYW1lOmdvb2dsZXBsYXkiIGNvbnRlbnQ9IkZpcmVmb3giPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjphcHA6aWQ6Z29vZ2xlcGxheSIgY29udGVudD0ib3JnLm1vemlsbGEuZmlyZWZveCI+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmFwcDpuYW1lOmlwaG9uZSIgY29udGVudD0iRmlyZWZveCI+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmFwcDppZDppcGhvbmUiIGNvbnRlbnQ9Ijk4OTgwNDkyNiI+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmFwcDpuYW1lOmlwYWQiIGNvbnRlbnQ9IkZpcmVmb3giPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjphcHA6aWQ6aXBhZCIgY29udGVudD0iOTg5ODA0OTI2Ij4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBzaXplcz0iMTgweDE4MCIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvaW1nL2Zhdmljb25zL21vemlsbGEvYXBwbGUtdG91Y2gtaWNvbi44Y2JlOWM4MzVjMDAucG5nIj4KICAgIDxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBzaXplcz0iMTk2eDE5NiIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvaW1nL2Zhdmljb25zL21vemlsbGEvZmF2aWNvbi0xOTZ4MTk2LjJhZjA1NGZlYTIxMS5wbmciPgogICAgPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvZmF2aWNvbnMvbW96aWxsYS9mYXZpY29uLmQyNWQ4MWQzOTA2NS5pY28iPgogICAgCgogICAgPGxpbmsgcmVsPSJjYW5vbmljYWwiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2VuLVVTLyI+CiAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9IngtZGVmYXVsdCIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvIj4KICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iYW4iIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2FuLyIgdGl0bGU9ImFyYWdvbsOpcyI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJhciIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvYXIvIiB0aXRsZT0i2LnYsdio2YoiPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iYXoiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2F6LyIgdGl0bGU9IkF6yZlyYmF5Y2FuY2EiPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iYmUiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2JlLyIgdGl0bGU9ItCR0LXQu9Cw0YDRg9GB0LrQsNGPIj4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9ImJnIiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9iZy8iIHRpdGxlPSLQkdGK0LvQs9Cw0YDRgdC60LgiPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iYm4iIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2JuLyIgdGl0bGU9IuCmrOCmvuCmguCmsuCmviI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJicyIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvYnMvIiB0aXRsZT0iQm9zYW5za2kiPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iY2EiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2NhLyIgdGl0bGU9IkNhdGFsw6AiPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iY3MiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2NzLyIgdGl0bGU9IsSMZcWhdGluYSI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJjeSIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvY3kvIiB0aXRsZT0iQ3ltcmFlZyI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJkYSIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvZGEvIiB0aXRsZT0iRGFuc2siPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iZGUiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2RlLyIgdGl0bGU9IkRldXRzY2giPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iZWwiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2VsLyIgdGl0bGU9Is6VzrvOu863zr3Ouc66zqwiPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iZW4tQ0EiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2VuLUNBLyIgdGl0bGU9IkVuZ2xpc2ggKENhbmFkaWFuKSI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJlbi1HQiIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvZW4tR0IvIiB0aXRsZT0iRW5nbGlzaCAoQnJpdGlzaCkiPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iZW4iIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2VuLVVTLyIgdGl0bGU9IkVuZ2xpc2giPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iZW4tVVMiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2VuLVVTLyIgdGl0bGU9IkVuZ2xpc2ggKFVTQSkiPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iZW8iIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2VvLyIgdGl0bGU9IkVzcGVyYW50byI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJlcy1BUiIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvZXMtQVIvIiB0aXRsZT0iRXNwYcOxb2wgKGRlIEFyZ2VudGluYSkiPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iZXMtQ0wiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2VzLUNMLyIgdGl0bGU9IkVzcGHDsW9sIChkZSBDaGlsZSkiPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iZXMiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2VzLUVTLyIgdGl0bGU9IkVzcGHDsW9sIj4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9ImVzLUVTIiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9lcy1FUy8iIHRpdGxlPSJFc3Bhw7FvbCAoZGUgRXNwYcOxYSkiPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iZXMtTVgiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2VzLU1YLyIgdGl0bGU9IkVzcGHDsW9sIChkZSBNw6l4aWNvKSI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJldCIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvZXQvIiB0aXRsZT0iRWVzdGkga2VlbCI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJldSIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvZXUvIiB0aXRsZT0iRXVza2FyYSI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJmYSIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvZmEvIiB0aXRsZT0i2YHYp9ix2LPbjCI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJmaSIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvZmkvIiB0aXRsZT0ic3VvbWkiPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iZnIiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2ZyLyIgdGl0bGU9IkZyYW7Dp2FpcyI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJmeSIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvZnktTkwvIiB0aXRsZT0iRnJ5c2siPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iZnktTkwiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2Z5LU5MLyIgdGl0bGU9IkZyeXNrIj4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9ImdkIiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9nZC8iIHRpdGxlPSJHw6BpZGhsaWciPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iZ2wiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2dsLyIgdGl0bGU9IkdhbGVnbyI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJnbiIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvZ24vIiB0aXRsZT0iQXZhw7FlJ+G6vSI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJndSIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvZ3UtSU4vIiB0aXRsZT0i4KqX4KuB4Kqc4Kqw4Kq+4Kqk4KuAIj4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9Imd1LUlOIiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9ndS1JTi8iIHRpdGxlPSLgqpfgq4HgqpzgqrDgqr7gqqTgq4AgKOCqreCqvuCqsOCqpCkiPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iaGkiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2hpLUlOLyIgdGl0bGU9IuCkueCkv+CkqOCljeCkpuClgCI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJoaS1JTiIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvaGktSU4vIiB0aXRsZT0i4KS54KS/4KSo4KWN4KSm4KWAICjgpK3gpL7gpLDgpKQpIj4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9ImhyIiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9oci8iIHRpdGxlPSJIcnZhdHNraSI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJodSIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvaHUvIiB0aXRsZT0ibWFneWFyIj4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9Imh5IiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9oeS1BTS8iIHRpdGxlPSLVgNWh1bXVpdaA1aXVtiI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJoeS1BTSIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvaHktQU0vIiB0aXRsZT0i1YDVodW11aXWgNWl1bYiPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iaWEiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2lhLyIgdGl0bGU9IkludGVybGluZ3VhIj4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9ImlkIiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9pZC8iIHRpdGxlPSJCYWhhc2EgSW5kb25lc2lhIj4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9Iml0IiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9pdC8iIHRpdGxlPSJJdGFsaWFubyI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJqYSIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvamEvIiB0aXRsZT0i5pel5pys6KqeIj4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9ImthIiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9rYS8iIHRpdGxlPSLhg6Xhg5Dhg6Dhg5fhg6Phg5rhg5giPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0ia28iIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2tvLyIgdGl0bGU9Iu2VnOq1reyWtCI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJsdCIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbHQvIiB0aXRsZT0iTGlldHV2acWzIj4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9Im1sIiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tbC8iIHRpdGxlPSLgtK7gtLLgtK/gtL7gtLPgtIIiPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0ibXIiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21yLyIgdGl0bGU9IuCkruCksOCkvuCkoOClgCI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJtcyIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbXMvIiB0aXRsZT0iTWVsYXl1Ij4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9Im15IiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9teS8iIHRpdGxlPSLhgJnhgLzhgJThgLrhgJnhgKzhgJjhgKzhgJ7hgKwiPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0ibmItTk8iIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL25iLU5PLyIgdGl0bGU9Ik5vcnNrIGJva23DpWwiPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0ibmwiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL25sLyIgdGl0bGU9Ik5lZGVybGFuZHMiPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0ibm4tTk8iIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL25uLU5PLyIgdGl0bGU9Ik5vcnNrIG55bm9yc2siPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0icGEiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL3BhLUlOLyIgdGl0bGU9IuCoquCpsOConOCovuCorOCpgCI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJwYS1JTiIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvcGEtSU4vIiB0aXRsZT0i4Kiq4Kmw4Kic4Ki+4Kis4KmAICjgqK3gqL7gqLDgqKQpIj4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9InBsIiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9wbC8iIHRpdGxlPSJQb2xza2kiPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0icHQtQlIiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL3B0LUJSLyIgdGl0bGU9IlBvcnR1Z3XDqnMgKGRvwqBCcmFzaWwpIj4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9InB0IiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9wdC1QVC8iIHRpdGxlPSJQb3J0dWd1w6pzIj4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9InB0LVBUIiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9wdC1QVC8iIHRpdGxlPSJQb3J0dWd1w6pzIChFdXJvcGV1KSI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJybSIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvcm0vIiB0aXRsZT0icnVtYW50c2NoIj4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9InJvIiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9yby8iIHRpdGxlPSJSb23Dom7EgyI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJydSIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvcnUvIiB0aXRsZT0i0KDRg9GB0YHQutC40LkiPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0ic2siIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL3NrLyIgdGl0bGU9InNsb3ZlbsSNaW5hIj4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9InNsIiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9zbC8iIHRpdGxlPSJTbG92ZW7FocSNaW5hIj4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9InNxIiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9zcS8iIHRpdGxlPSJTaHFpcCI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJzciIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvc3IvIiB0aXRsZT0i0KHRgNC/0YHQutC4Ij4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9InN2IiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9zdi1TRS8iIHRpdGxlPSJTdmVuc2thIj4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9InN2LVNFIiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9zdi1TRS8iIHRpdGxlPSJTdmVuc2thIj4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9InRhIiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy90YS8iIHRpdGxlPSLgrqTgrq7grr/grrTgr40iPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0idGgiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL3RoLyIgdGl0bGU9IuC5hOC4l+C4oiI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJ0ciIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvdHIvIiB0aXRsZT0iVMO8cmvDp2UiPgogICAgICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0idWsiIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL3VrLyIgdGl0bGU9ItCj0LrRgNCw0ZfQvdGB0YzQutCwIj4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9InVyIiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy91ci8iIHRpdGxlPSLYp9mP2LHYr9mIIj4KICAgICAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9InZpIiBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy92aS8iIHRpdGxlPSJUaeG6v25nIFZp4buHdCI+CiAgICAgICAgPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWZsYW5nPSJ6aC1UVyIgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvemgtVFcvIiB0aXRsZT0i5q2j6auU5Lit5paHICjnuYHpq5QpIj4KICAgICAgICAKICAgIAoKICAgIAoKICAgIDwhLS1baWYgbHQgSUUgOV0+CiAgICAgIAogICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9qcy9pZS9saWJzL2h0bWw1c2hpdi45MzA5NzFjNWQ0YjMuanMiPjwvc2NyaXB0PgogICAgPCFbZW5kaWZdLS0+CgogICAgPCEtLVtpZiBJRV0+CiAgICAgIAogICAgICAKICAgICAgICA8bGluayBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9jc3MvY29tbW9uLW9sZC1pZS5hMTRhNDI5Yjk1M2YuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPgogICAgICAKICAgIDwhW2VuZGlmXS0tPgoKICAgIDwhLS1baWYgIUlFXT48IS0tPgogICAgCiAgICAKICA8bGluayBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9jc3MvcHJvdG9jb2wtbW96aWxsYS42ZmFjMDMxMDNiODEuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPgoKCiAgICAKICAgIAogIAoKCjxsaW5rIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2Nzcy9tb3ppbGxhLWMtc3BsaXQuNzU1NmU3YTk5YTMyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4KCjxsaW5rIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2Nzcy9tb3ppbGxhLWMtc2VjdGlvbi1oZWFkaW5nLmNmMjI2YWI5Yjg2ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+Cgo8bGluayBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9jc3MvbW96aWxsYS1jLWhlcm8uMWQ4Mzg5YTUzMmJjLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4KCgoKPGxpbmsgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvY3NzL2MtbG9nby4zYzk4ZGMzNDBkOTIuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPgogIDxsaW5rIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2Nzcy9wcm90b2NvbC1jYWxsLW91dC5jYWIxY2JkODZmMTguY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPgogIDxsaW5rIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2Nzcy9wcm90b2NvbC1uZXdzbGV0dGVyLjhhODdjNWJmMGE0Yy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+CiAgPGxpbmsgaHJlZj0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvY3NzL2hvbWUtY29udGVudGZ1bC40YTQ1Nzc4NDJhN2QuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPgoKICAKICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2Nzcy9maXJlZm94LWFwcC1zdG9yZS1iYW5uZXIuYTBkN2NiNGNjOTUzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4KICAKCiAgCiAgICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2Nzcy9ob21lLWZ4MTAwLXByb21vLmY1ZmMzMGFhM2QxOS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIC8+CiAgICAKICAKICAgIDwhLS08IVtlbmRpZl0tLT4KCiAgICAKICAgICAgCiAgICAKCiAgICAKICAgIAogICAgICAKCjwhLS0KUmVhZCBtb3JlIGFib3V0IG91ciBjdXN0b20gY29uZmlndXJhdGlvbiBhbmQgdXNlIG9mIEdvb2dsZSBBbmFseXRpY3MgaGVyZToKaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyMjMwNSNjOAotLT4KCjwhLS0gR29vZ2xlIFRhZyBNYW5hZ2VyIC0tPgo8IS0tIEN1c3RvbWl6ZWQgZm9yIE1vemlsbGEub3JnLS0+CjwhLS0gUmVnaW9uIENvbnRhaW5lcjogTk9ORSAtLT4KPCEtLSBSb2xsdXAgQ29udGFpbmVyOiBTeXN0ZW0gRmlsdGVyZWQgLS0+CjwhLS0gU2l0ZSBDb250YWluZXI6IE5PTkUgLS0+CgoKICA8IS0tW2lmICFJRV0+PCEtLT4KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2pzL2d0bS1zbmlwcGV0LjlmOWNmMjAyNmM1Zi5qcyIgY2hhcnNldD0idXRmLTgiPjwvc2NyaXB0PgogIDwhLS08IVtlbmRpZl0tLT4KCiAgPCEtLVtpZiBJRV0+CiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9qcy9pZS9ndG0tc25pcHBldC5iZGRhZGVlNWU1N2QuanMiPjwvc2NyaXB0PgogIDwhW2VuZGlmXS0tPgoKPCEtLSBFbmQgR29vZ2xlIFRhZyBNYW5hZ2VyIC0tPgogICAgCiAgPC9oZWFkPgoKICA8Ym9keSBpZD0iaG9tZSIgY2xhc3M9Imh0bWwtbHRyIGxhbmctZW4tVVMiID4KICAgIDxkaXYgaWQ9InN0cmluZ3MiCiAgICAgIGRhdGEtZ2xvYmFsLWNsb3NlPSJDbG9zZSIKICAgICAgZGF0YS1nbG9iYWwtbmV4dD0iTmV4dCIKICAgICAgZGF0YS1nbG9iYWwtcHJldmlvdXM9IlByZXZpb3VzIgogICAgICA+PC9kaXY+CgogICAgCiAgICAgIAoKCgogIAoKCjxkaXYgY2xhc3M9ImMtbmF2aWdhdGlvbiB0b3AtaGVhZGVyLW5hdmlnYXRpb24gbXpwLWlzLXN0aWNreSI+CiAgPGRpdiBjbGFzcz0iYy1uYXZpZ2F0aW9uLWwtY29udGVudCI+CiAgICA8ZGl2IGNsYXNzPSJjLW5hdmlnYXRpb24tY29udGFpbmVyIj4KICAgICAgPGJ1dHRvbiBjbGFzcz0iYy1uYXZpZ2F0aW9uLW1lbnUtYnV0dG9uIiB0eXBlPSJidXR0b24iIGFyaWEtY29udHJvbHM9ImMtbmF2aWdhdGlvbi1pdGVtcyI+TWVudTwvYnV0dG9uPgogICAgICA8ZGl2IGNsYXNzPSJjLW5hdmlnYXRpb24tbG9nbyI+CiAgICAgICAgPGEgaHJlZj0iL2VuLVVTLyIgZGF0YS1saW5rLW5hbWU9Im1vemlsbGEgaG9tZSBpY29uIiBkYXRhLWxpbmstdHlwZT0ibmF2Ij4KICAgICAgICAgIDxpbWcgY2xhc3M9ImMtbmF2aWdhdGlvbi1sb2dvLWltYWdlIiBzcmM9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL3Byb3RvY29sL2ltZy9sb2dvcy9tb3ppbGxhL2xvZ28td29yZC1ob3IuZTIwNzkxYmI0ZGQ0LnN2ZyIgYWx0PSJNb3ppbGxhIiB3aWR0aD0iMTEyIiBoZWlnaHQ9IjMyIj4KICAgICAgICA8L2E+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iYy1uYXZpZ2F0aW9uLWl0ZW1zIiBpZD0iYy1uYXZpZ2F0aW9uLWl0ZW1zIj4KICAgICAgICAKCgogIDxkaXYgY2xhc3M9ImMtbmF2aWdhdGlvbi1zaG91bGRlciI+CiAgICAKICAgICAgCiAgICAgICAgCgo8ZGl2IGlkPSJwcm90b2NvbC1uYXYtZG93bmxvYWQtZmlyZWZveCIgY2xhc3M9Im16cC1jLWJ1dHRvbi1kb3dubG9hZC1jb250YWluZXIgYy1idXR0b24tZG93bmxvYWQtdGhhbmtzIj4KICA8IS0tW2lmICFJRV0+PCEtLT4KICA8YSBocmVmPSIvZmlyZWZveC9kb3dubG9hZC90aGFua3MvIgogICAgIGNsYXNzPSJkb3dubG9hZC1saW5rIG16cC1jLWJ1dHRvbiBtenAtdC1wcm9kdWN0IG16cC10LXNlY29uZGFyeSBtenAtdC1tZCIKICAgICBkYXRhLWRpcmVjdC1saW5rPSJodHRwczovL2Rvd25sb2FkLm1vemlsbGEub3JnLz9wcm9kdWN0PWZpcmVmb3gtc3R1YiZhbXA7b3M9d2luJmFtcDtsYW5nPWVuLVVTIgogICAgIGRhdGEtbGluay10eXBlPSJkb3dubG9hZCIKICAgICBkYXRhLWRvd25sb2FkLWxvY2F0aW9uPSJuYXYiPgogICAgCiAgICAgIERvd25sb2FkIEZpcmVmb3gKICAgIAogIDwvYT4KICA8IS0tPCFbZW5kaWZdLS0+CgogIAogIDwhLS1baWYgSUVdPgogICAgPGEgaHJlZj0iaHR0cHM6Ly9kb3dubG9hZC5tb3ppbGxhLm9yZy8/cHJvZHVjdD1maXJlZm94LXN0dWImb3M9d2luJmxhbmc9ZW4tVVMiCiAgICAgIGNsYXNzPSJkb3dubG9hZC1saW5rIG16cC1jLWJ1dHRvbiBtenAtdC1wcm9kdWN0IG16cC10LXNlY29uZGFyeSBtenAtdC1tZCIKICAgICAgZGF0YS1saW5rLXR5cGU9ImRvd25sb2FkIiBkYXRhLWRvd25sb2FkLW9zPSJEZXNrdG9wIiBkYXRhLWRpc3BsYXktbmFtZT0iV2luZG93cyAzMi1iaXQiIGRhdGEtZG93bmxvYWQtdmVyc2lvbj0id2luIgogICAgICBkYXRhLWRvd25sb2FkLWxvY2F0aW9uPSJuYXYiPgogICAgICAKICAgICAgICBEb3dubG9hZCBGaXJlZm94CiAgICAgIAogICAgPC9hPgogIDwhW2VuZGlmXS0tPgoKICA8c21hbGwgY2xhc3M9Im16cC1jLWJ1dHRvbi1kb3dubG9hZC1wcml2YWN5LWxpbmsiPgogICAgPGEgaHJlZj0iL2VuLVVTL3ByaXZhY3kvZmlyZWZveC8iPgogICAgICBGaXJlZm94IFByaXZhY3kgTm90aWNlCiAgICA8L2E+CiAgPC9zbWFsbD4KPC9kaXY+CiAgICAgIAogICAgICAKICAgICAgPGRpdiBjbGFzcz0iYy1uYXZpZ2F0aW9uLXZwbi1jdGEtY29udGFpbmVyIj4KICAgICAgICA8YSBocmVmPSIvZW4tVVMvcHJvZHVjdHMvdnBuLyNwcmljaW5nIiBjbGFzcz0ibXpwLWMtYnV0dG9uIGpzLWZ4YS1wcm9kdWN0LXJlZmVycmFsLWxpbmsgbXpwLXQtcHJvZHVjdCBtenAtdC1zZWNvbmRhcnkgbXpwLXQtbWQiIGRhdGEtcmVmZXJyYWwtaWQ9Im5hdmlnYXRpb24iIGRhdGEtY3RhLXRleHQ9IkdldCBNb3ppbGxhIFZQTiIgZGF0YS1jdGEtdHlwZT0iYnV0dG9uIiBkYXRhLWN0YS1wb3NpdGlvbj0ibmF2aWdhdGlvbiI+R2V0IE1vemlsbGEgVlBOPC9hPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAKICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iYy1uYXZpZ2F0aW9uLW1lbnUiPgogICAgICAgICAgPG5hdiBjbGFzcz0iYy1tZW51IG16cC1pcy1iYXNpYyI+CiAgICAgICAgICAgIDx1bCBjbGFzcz0iYy1tZW51LWNhdGVnb3J5LWxpc3QiPgogICAgICAgICAgICAgIAoKCgo8bGkgY2xhc3M9ImMtbWVudS1jYXRlZ29yeSBtenAtaGFzLWRyb3AtZG93biBtenAtanMtZXhwYW5kYWJsZSI+CiAgPGEgY2xhc3M9ImMtbWVudS10aXRsZSIgaHJlZj0iL2VuLVVTL2ZpcmVmb3gvYnJvd3NlcnMvIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWNvbnRyb2xzPSJjLW1lbnUtcGFuZWwtZmlyZWZveCI+RmlyZWZveCBCcm93c2VyczwvYT4KICA8ZGl2IGNsYXNzPSJjLW1lbnUtcGFuZWwiIGlkPSJjLW1lbnUtcGFuZWwtZmlyZWZveCI+CiAgICA8ZGl2IGNsYXNzPSJjLW1lbnUtcGFuZWwtY29udGFpbmVyIj4KICAgICAgPGJ1dHRvbiBjbGFzcz0iYy1tZW51LWJ1dHRvbi1jbG9zZSIgdHlwZT0iYnV0dG9uIiBhcmlhLWNvbnRyb2xzPSJjLW1lbnUtcGFuZWwtZmlyZWZveCI+Q2xvc2UgRmlyZWZveCBCcm93c2VycyBtZW51PC9idXR0b24+CiAgICAgIDxkaXYgY2xhc3M9ImMtbWVudS1wYW5lbC1jb250ZW50Ij4KICAgICAgICA8dWwgY2xhc3M9Im16cC1sLXJvd3MtZm91ciI+CiAgICAgICAgICA8bGk+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJjLW1lbnUtaXRlbSBtenAtaGFzLWljb24iPgogICAgICAgICAgICAgIDxhIGNsYXNzPSJjLW1lbnUtaXRlbS1saW5rIiBocmVmPSIvZW4tVVMvZmlyZWZveC9uZXcvIiBkYXRhLWxpbmstbmFtZT0iRmlyZWZveCBEZXNrdG9wIEJyb3dzZXIiIGRhdGEtbGluay10eXBlPSJuYXYiIGRhdGEtbGluay1wb3NpdGlvbj0idG9wbmF2IiBkYXRhLWxpbmstZ3JvdXA9ImZpcmVmb3giPgogICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL3Byb3RvY29sL2ltZy9sb2dvcy9maXJlZm94L2Jyb3dzZXIvbG9nby5lYjEzMjRlNDQ0NDIuc3ZnIiBjbGFzcz0iYy1tZW51LWl0ZW0taWNvbiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImMtbWVudS1pdGVtLXRpdGxlIj5GaXJlZm94IGZvciBEZXNrdG9wPC9oND4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjLW1lbnUtaXRlbS1kZXNjIj5HZXQgdGhlIG5vdC1mb3ItcHJvZml0LWJhY2tlZCBicm93c2VyIG9uIFdpbmRvd3MsIE1hYyBvciBMaW51eC48L3A+CiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICA8L2xpPgogICAgICAgIAogICAgICAgICAgPGxpPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0iYy1tZW51LWl0ZW0gbXpwLWhhcy1pY29uIj4KICAgICAgICAgICAgICA8YSBjbGFzcz0iYy1tZW51LWl0ZW0tbGluayIgaHJlZj0iL2VuLVVTL2ZpcmVmb3gvYnJvd3NlcnMvbW9iaWxlL2FuZHJvaWQvIiBkYXRhLWxpbmstbmFtZT0iRmlyZWZveCBmb3IgQW5kcm9pZCIgZGF0YS1saW5rLXR5cGU9Im5hdiIgZGF0YS1saW5rLXBvc2l0aW9uPSJ0b3BuYXYiIGRhdGEtbGluay1ncm91cD0iZmlyZWZveCI+CiAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvcHJvdG9jb2wvaW1nL2xvZ29zL2ZpcmVmb3gvYnJvd3Nlci9sb2dvLmViMTMyNGU0NDQ0Mi5zdmciIGNsYXNzPSJjLW1lbnUtaXRlbS1pY29uIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGFsdD0iIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iYy1tZW51LWl0ZW0tdGl0bGUiPkZpcmVmb3ggZm9yIEFuZHJvaWQ8L2g0PgogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImMtbWVudS1pdGVtLWRlc2MiPkdldCB0aGUgY3VzdG9taXphYmxlIG1vYmlsZSBicm93c2VyIGZvciBBbmRyb2lkIHNtYXJ0cGhvbmVzLjwvcD4KICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgIDwvbGk+CiAgICAgICAgICA8bGk+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJjLW1lbnUtaXRlbSBtenAtaGFzLWljb24iPgogICAgICAgICAgICAgIDxhIGNsYXNzPSJjLW1lbnUtaXRlbS1saW5rIiBocmVmPSIvZW4tVVMvZmlyZWZveC9icm93c2Vycy9tb2JpbGUvaW9zLyIgZGF0YS1saW5rLW5hbWU9IkZpcmVmb3ggZm9yIGlPUyIgZGF0YS1saW5rLXR5cGU9Im5hdiIgZGF0YS1saW5rLXBvc2l0aW9uPSJ0b3BuYXYiIGRhdGEtbGluay1ncm91cD0iZmlyZWZveCI+CiAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvcHJvdG9jb2wvaW1nL2xvZ29zL2ZpcmVmb3gvYnJvd3Nlci9sb2dvLmViMTMyNGU0NDQ0Mi5zdmciIGNsYXNzPSJjLW1lbnUtaXRlbS1pY29uIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGFsdD0iIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iYy1tZW51LWl0ZW0tdGl0bGUiPkZpcmVmb3ggZm9yIGlPUzwvaDQ+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0iYy1tZW51LWl0ZW0tZGVzYyI+R2V0IHRoZSBtb2JpbGUgYnJvd3NlciBmb3IgeW91ciBpUGhvbmUgb3IgaVBhZC48L3A+CiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICA8L2xpPgogICAgICAgIAogICAgICAgICAgPGxpPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0iYy1tZW51LWl0ZW0gbXpwLWhhcy1pY29uIj4KICAgICAgICAgICAgICA8YSBjbGFzcz0iYy1tZW51LWl0ZW0tbGluayIgaHJlZj0iL2VuLVVTL2ZpcmVmb3gvYnJvd3NlcnMvbW9iaWxlL2ZvY3VzLyIgZGF0YS1saW5rLW5hbWU9IkZpcmVmb3ggRm9jdXMiIGRhdGEtbGluay10eXBlPSJuYXYiIGRhdGEtbGluay1wb3NpdGlvbj0idG9wbmF2IiBkYXRhLWxpbmstZ3JvdXA9ImZpcmVmb3giPgogICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL3Byb3RvY29sL2ltZy9sb2dvcy9maXJlZm94L2Jyb3dzZXIvZm9jdXMvbG9nby5hYWMzZTMzMTc1Y2Iuc3ZnIiBjbGFzcz0iYy1tZW51LWl0ZW0taWNvbiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImMtbWVudS1pdGVtLXRpdGxlIj5GaXJlZm94IEZvY3VzPC9oND4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjLW1lbnUtaXRlbS1kZXNjIj5TaW1wbHkgcHJpdmF0ZSBtb2JpbGUgYnJvd3NpbmcuPC9wPgogICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgPC9saT4KICAgICAgICAgIDxsaT4KICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImMtbWVudS1pdGVtIG16cC1oYXMtaWNvbiI+CiAgICAgICAgICAgICAgPGEgY2xhc3M9ImMtbWVudS1pdGVtLWxpbmsiIGhyZWY9Ii9lbi1VUy9maXJlZm94L3ByaXZhY3kvIiBkYXRhLWxpbmstbmFtZT0iUHJpdmFjeSBQcm9taXNlIiBkYXRhLWxpbmstdHlwZT0ibmF2IiBkYXRhLWxpbmstcG9zaXRpb249InRvcG5hdiIgZGF0YS1saW5rLWdyb3VwPSJmaXJlZm94Ij4KICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvbmF2L2ljb25zL2ljb24tcHJpdmFjeS1wcm9taXNlLmVlZTE2NjJhY2IwMy5zdmciIGNsYXNzPSJjLW1lbnUtaXRlbS1pY29uIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGFsdD0iIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iYy1tZW51LWl0ZW0tdGl0bGUiPlByaXZhY3kgUHJvbWlzZTwvaDQ+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0iYy1tZW51LWl0ZW0tZGVzYyI+TGVhcm4gaG93IEZpcmVmb3ggdHJlYXRzIHlvdXIgZGF0YSB3aXRoIHJlc3BlY3QuPC9wPgogICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgPC9saT4KICAgICAgICAgIDxsaT4KICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImMtbWVudS1pdGVtIG16cC1oYXMtaWNvbiI+CiAgICAgICAgICAgICAgPGEgY2xhc3M9ImMtbWVudS1pdGVtLWxpbmsiIGhyZWY9Imh0dHBzOi8vYmxvZy5tb3ppbGxhLm9yZy9maXJlZm94Lz91dG1fc291cmNlPXd3dy5tb3ppbGxhLm9yZyZhbXA7dXRtX21lZGl1bT1yZWZlcnJhbCZhbXA7dXRtX2NhbXBhaWduPW5hdiZhbXA7dXRtX2NvbnRlbnQ9ZmlyZWZveCIgZGF0YS1saW5rLW5hbWU9IkZpcmVmb3ggQmxvZyIgZGF0YS1saW5rLXR5cGU9Im5hdiIgZGF0YS1saW5rLXBvc2l0aW9uPSJ0b3BuYXYiIGRhdGEtbGluay1ncm91cD0iZmlyZWZveCI+CiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJjLW1lbnUtaXRlbS1pY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIj48cGF0aCBmaWxsPSIjNDI0MzVhIiBkPSJNMjEuMSA3LjVjLS4yLS4yLS4yLS41IDAtLjdsLjUtLjVjLjgtLjggMi4xLS44IDIuOSAwbDEuMiAxLjJjLjguOC44IDIuMSAwIDIuOWwtLjUuNWMtLjIuMi0uNS4yLS43IDBsLTMuNC0zLjR6bTIuMyA0LjVjLjIuMi4yLjUgMCAuN0wxMi43IDIzLjRjLS4yLjItLjQuMy0uNi40bC01LjcgMi40Yy0uMy4xLS42IDAtLjctLjMtLjEtLjEtLjEtLjMgMC0uNEw4LjEgMjBjLjEtLjIuMy0uNS40LS42TDE5LjIgOC42Yy4yLS4yLjUtLjIuNyAwbDMuNSAzLjR6TTExLjUgMjIuN2wtMy45IDEuNyAxLjctMy45YzAtLjEuMS0uMi4yLS4ybDIuMyAyLjNjLS4xIDAtLjIuMS0uMy4xeiI+PC9wYXRoPjwvc3ZnPgogICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJjLW1lbnUtaXRlbS10aXRsZSI+RmlyZWZveCBCbG9nPC9oND4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjLW1lbnUtaXRlbS1kZXNjIj5SZWFkIGFib3V0IG5ldyBGaXJlZm94IGZlYXR1cmVzIGFuZCB3YXlzIHRvIHN0YXkgc2FmZSBvbmxpbmUuPC9wPgogICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgPC9saT4KICAgICAgICAgIDxsaT4KICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImMtbWVudS1pdGVtIG16cC1oYXMtaWNvbiI+CiAgICAgICAgICAgICAgPGEgY2xhc3M9ImMtbWVudS1pdGVtLWxpbmsiIGhyZWY9Ii9maXJlZm94LzEwMC4wLjIvcmVsZWFzZW5vdGVzLyIgZGF0YS1saW5rLW5hbWU9IlJlbGVhc2UgTm90ZXMiIGRhdGEtbGluay10eXBlPSJuYXYiIGRhdGEtbGluay1wb3NpdGlvbj0idG9wbmF2IiBkYXRhLWxpbmstZ3JvdXA9ImZpcmVmb3giPgogICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iYy1tZW51LWl0ZW0taWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZmlsbD0iIzQyNDM1YSIgZD0iTTIuNyAyMy42YzAgMi40IDIgNC40IDQuNCA0LjRoNS42YzEuNCAwIDIuMy41IDMuMyAxLjUgMS0xIDItMS41IDMuMy0xLjVoNS42YzIuNCAwIDQuNC0yIDQuNC00LjRWOC40YzAtMi40LTItNC40LTQuNC00LjRoLTUuNkMxOCA0IDE3IDQuMiAxNiA1LjJjLTEtMS0yLTEuMi0zLjMtMS4ySDcuMUM0LjYgNCAyLjcgNiAyLjcgOC40djE1LjJ6bTI0IDBjMCAxLS44IDEuNy0xLjcgMS43aC01LjZjLTEuMyAwLTIuMy4yLTMuMyAxLjItMS0xLTItMS4yLTMuMy0xLjJINy4xYy0xIDAtMS43LS44LTEuNy0xLjdWOC40YzAtMSAuOC0xLjcgMS43LTEuN2g1LjZjMS4zIDAgMi4zLjUgMy4zIDEuNSAxLTEgMi0xLjUgMy4zLTEuNWg1LjZjMSAwIDEuNy44IDEuNyAxLjd2MTUuMnpNMTMuMyAxMC43SDhjLS40IDAtLjctLjMtLjctLjcgMC0uNC4zLS43LjctLjdoNS4zYy40IDAgLjcuMy43LjcgMCAuNC0uMy43LS43Ljd6bS01LjMgNGg1LjNjLjQgMCAuNy0uMy43LS43cy0uMy0uNy0uNy0uN0g4Yy0uNCAwLS43LjMtLjcuN3MuMy43LjcuN3ptNS4zIDRIOGMtLjQgMC0uNy0uMy0uNy0uN3MuMy0uNy43LS43aDUuM2MuNCAwIC43LjMuNy43cy0uMy43LS43Ljd6bS01LjMgNGgzLjRjLjQgMCAuNy0uMy43LS43cy0uMy0uNy0uNy0uN0g4Yy0uNCAwLS43LjMtLjcuN3MuMy43LjcuN3oiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iYy1tZW51LWl0ZW0tdGl0bGUiPlJlbGVhc2UgTm90ZXM8L2g0PgogICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImMtbWVudS1pdGVtLWRlc2MiPkdldCB0aGUgZGV0YWlscyBvbiB0aGUgbGF0ZXN0IEZpcmVmb3ggdXBkYXRlcy48L3A+CiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICA8L2xpPgogICAgICAgIDwvdWw+CiAgICAgICAgPHAgY2xhc3M9ImMtbWVudS1jYXRlZ29yeS1saW5rIj48YSBocmVmPSIvZW4tVVMvZmlyZWZveC9icm93c2Vycy8iIGRhdGEtbGluay1uYW1lPSJWaWV3IGFsbCBGaXJlZm94IEJyb3dzZXJzIiBkYXRhLWxpbmstdHlwZT0ibmF2IiBkYXRhLWxpbmstcG9zaXRpb249InRvcG5hdiIgZGF0YS1saW5rLWdyb3VwPSJmaXJlZm94Ij5WaWV3IGFsbCBGaXJlZm94IEJyb3dzZXJzPC9hPjwvcD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj48IS0tIGNsb3NlIC5jLW1lbnUtcGFuZWwtY29udGFpbmVyIC0tPgogIDwvZGl2PjwhLS0gY2xvc2UgLmMtbWVudS1wYW5lbCAtLT4KPC9saT48IS0tIGNsb3NlIGZpcmVmb3ggLS0+CiAgICAgICAgICAgICAgCgoKCjxsaSBjbGFzcz0iYy1tZW51LWNhdGVnb3J5IG16cC1oYXMtZHJvcC1kb3duIG16cC1qcy1leHBhbmRhYmxlIj4KICA8YSBjbGFzcz0iYy1tZW51LXRpdGxlIiBocmVmPSIvZW4tVVMvZmlyZWZveC9wcm9kdWN0cy8iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtY29udHJvbHM9ImMtbWVudS1wYW5lbC1wcm9kdWN0cyI+UHJvZHVjdHM8L2E+CiAgPGRpdiBjbGFzcz0iYy1tZW51LXBhbmVsIiBpZD0iYy1tZW51LXBhbmVsLXByb2R1Y3RzIj4KICAgIDxkaXYgY2xhc3M9ImMtbWVudS1wYW5lbC1jb250YWluZXIiPgogICAgICA8YnV0dG9uIGNsYXNzPSJjLW1lbnUtYnV0dG9uLWNsb3NlIiB0eXBlPSJidXR0b24iIGFyaWEtY29udHJvbHM9ImMtbWVudS1wYW5lbC1wcm9kdWN0cyI+Q2xvc2UgUHJvZHVjdHMgbWVudTwvYnV0dG9uPgogICAgICA8ZGl2IGNsYXNzPSJjLW1lbnUtcGFuZWwtY29udGVudCI+CiAgICAgICAgPHVsIGNsYXNzPSJtenAtbC1yb3dzLWZvdXIiPgogICAgICAgICAgPGxpPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0iYy1tZW51LWl0ZW0gbXpwLWhhcy1pY29uIj4KICAgICAgICAgICAgICA8YSBjbGFzcz0iYy1tZW51LWl0ZW0tbGluayIgaHJlZj0iaHR0cHM6Ly9tb25pdG9yLmZpcmVmb3guY29tLz91dG1fc291cmNlPXd3dy5tb3ppbGxhLm9yZyZhbXA7dXRtX21lZGl1bT1yZWZlcnJhbCZhbXA7dXRtX2NhbXBhaWduPW5hdiZhbXA7dXRtX2NvbnRlbnQ9cHJvZHVjdHMiIGRhdGEtbGluay1uYW1lPSJGaXJlZm94IE1vbml0b3IiIGRhdGEtbGluay10eXBlPSJuYXYiIGRhdGEtbGluay1wb3NpdGlvbj0idG9wbmF2IiBkYXRhLWxpbmstZ3JvdXA9InByb2R1Y3RzIj4KICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9wcm90b2NvbC9pbWcvbG9nb3MvZmlyZWZveC9tb25pdG9yL2xvZ28uZDk3ZTU1MTZmOWU2LnN2ZyIgY2xhc3M9ImMtbWVudS1pdGVtLWljb24iIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgYWx0PSIiIGxvYWRpbmc9ImxhenkiPgogICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJjLW1lbnUtaXRlbS10aXRsZSI+RmlyZWZveCBNb25pdG9yPC9oND4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjLW1lbnUtaXRlbS1kZXNjIj5TZWUgaWYgeW91ciBlbWFpbCBoYXMgYXBwZWFyZWQgaW4gYSBjb21wYW554oCZcyBkYXRhIGJyZWFjaC48L3A+CiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICA8L2xpPgogICAgICAgICAgPGxpPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0iYy1tZW51LWl0ZW0gbXpwLWhhcy1pY29uIj4KICAgICAgICAgICAgICA8YSBjbGFzcz0iYy1tZW51LWl0ZW0tbGluayIgaHJlZj0iL2VuLVVTL2ZpcmVmb3gvZmFjZWJvb2tjb250YWluZXIvIiBkYXRhLWxpbmstbmFtZT0iRmFjZWJvb2sgQ29udGFpbmVyIiBkYXRhLWxpbmstdHlwZT0ibmF2IiBkYXRhLWxpbmstcG9zaXRpb249InRvcG5hdiIgZGF0YS1saW5rLWdyb3VwPSJwcm9kdWN0cyI+CiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJjLW1lbnUtaXRlbS1pY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIj48cGF0aCBmaWxsPSIjZjgwMDczIiBkPSJNMjcgMUg1QzIuOCAxIDEgMi44IDEgNXYyMmMwIDIuMiAxLjggNCA0IDRoMjJjMi4yIDAgNC0xLjggNC00VjVjMC0yLjItMS44LTQtNC00eiI+PC9wYXRoPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0yNiA4LjhsLTEuNC0xLjRjLS4xLS4xLS4yLS4xLS4zIDBsLTEuNCAxLjQtLjEuMXYyLjhoLTIuM1Y4LjlMMTkgNy40Yy0uMS0uMS0uMi0uMS0uMyAwbC0xLjQgMS40LS4xLjF2Mi44aC0yLjNWOC45bC0xLjQtMS40Yy0uMS0uMS0uMi0uMS0uMyAwbC0xLjQgMS40LS4xLjF2Mi44SDkuMlY4LjlMNy44IDcuNGMtLjEtLjEtLjItLjEtLjMgMEw2IDguOGwtLjEuMXYxNWMwIC4xLjEuMi4yLjJIOWMuMSAwIC4yLS4xLjItLjJ2LTIuOGgyLjNWMjRjMCAuMS4xLjIuMi4yaDIuOGMuMSAwIC4yLS4xLjItLjJ2LTIuOEgxN1YyNGMwIC4xLjEuMi4yLjJIMjBjLjEgMCAuMi0uMS4yLS4ydi0yLjhoMi4zVjI0YzAgLjEuMS4yLjIuMmgyLjhjLjEgMCAuMi0uMS4yLS4yVjljLjQtLjEuMy0uMi4zLS4yem0tMTQuNyAxMUg5LjJ2LTYuNmgyLjN2Ni42aC0uMnptNS42IDBoLTIuMXYtNi42aDIuM3Y2LjZoLS4yem01LjcgMGgtMi4xdi02LjZoMi4zdjYuNmgtLjJ6Ij48L3BhdGg+PC9zdmc+CiAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImMtbWVudS1pdGVtLXRpdGxlIj5GYWNlYm9vayBDb250YWluZXI8L2g0PgogICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImMtbWVudS1pdGVtLWRlc2MiPkhlbHAgcHJldmVudCBGYWNlYm9vayBmcm9tIGNvbGxlY3RpbmcgeW91ciBkYXRhIG91dHNpZGUgdGhlaXIgc2l0ZS48L3A+CiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICA8L2xpPgogICAgICAgICAgPGxpPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0iYy1tZW51LWl0ZW0gbXpwLWhhcy1pY29uIj4KICAgICAgICAgICAgICA8YSBjbGFzcz0iYy1tZW51LWl0ZW0tbGluayIgaHJlZj0iaHR0cHM6Ly9nZXRwb2NrZXQuY29tL2ZpcmVmb3hfbGVhcm5tb3JlLz91dG1fc291cmNlPXd3dy5tb3ppbGxhLm9yZyZhbXA7dXRtX21lZGl1bT1yZWZlcnJhbCZhbXA7dXRtX2NhbXBhaWduPW5hdiZhbXA7dXRtX2NvbnRlbnQ9cHJvZHVjdHMiIGRhdGEtbGluay1uYW1lPSJQb2NrZXQiIGRhdGEtbGluay10eXBlPSJuYXYiIGRhdGEtbGluay1wb3NpdGlvbj0idG9wbmF2IiBkYXRhLWxpbmstZ3JvdXA9InByb2R1Y3RzIj4KICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9wcm90b2NvbC9pbWcvbG9nb3MvcG9ja2V0L2xvZ28uMTc0NDZiYzMzYTVkLnN2ZyIgY2xhc3M9ImMtbWVudS1pdGVtLWljb24iIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgYWx0PSIiIGxvYWRpbmc9ImxhenkiPgogICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJjLW1lbnUtaXRlbS10aXRsZSI+UG9ja2V0PC9oND4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjLW1lbnUtaXRlbS1kZXNjIj5TYXZlIGFuZCBkaXNjb3ZlciB0aGUgYmVzdCBzdG9yaWVzIGZyb20gYWNyb3NzIHRoZSB3ZWIuPC9wPgogICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgPC9saT4KICAgICAgICAgIDxsaT4KICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImMtbWVudS1pdGVtIG16cC1oYXMtaWNvbiI+CiAgICAgICAgICAgICAgPGEgY2xhc3M9ImMtbWVudS1pdGVtLWxpbmsiIGhyZWY9Ii9lbi1VUy9wcm9kdWN0cy92cG4vIiBkYXRhLWxpbmstbmFtZT0iTW96aWxsYSBWUE4iIGRhdGEtbGluay10eXBlPSJuYXYiIGRhdGEtbGluay1wb3NpdGlvbj0idG9wbmF2IiBkYXRhLWxpbmstZ3JvdXA9InByb2R1Y3RzIj4KICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImMtbWVudS1pdGVtLWljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMzIgMzIiPjxwYXRoIGZpbGw9IiM0MjQzNWEiIGQ9Ik0yNiAxMC40Yy0yLjUgMC00LjcgMS43LTUuNCA0aC05LjNjLS4xLS40LS4zLS43LS40LTEuMWwyLjQtMi40Yy44LjQgMS43LjcgMi43LjcgMy4xIDAgNS42LTIuNSA1LjYtNS42UzE5LjEuNCAxNiAuNCAxMC40IDIuOSAxMC40IDZjMCAxIC4yIDEuOS43IDIuN2wtMi40IDIuNGMtLjgtLjUtMS43LS43LTIuNy0uN0MyLjkgMTAuNC40IDEyLjkuNCAxNnMyLjUgNS42IDUuNiA1LjZjMi41IDAgNC43LTEuNyA1LjQtNGg5LjNjLjEuNC4zLjcuNCAxLjFsLTIuNCAyLjRjLS44LS40LTEuNy0uNy0yLjctLjctMy4xIDAtNS42IDIuNS01LjYgNS42czIuNSA1LjYgNS42IDUuNiA1LjYtMi41IDUuNi01LjZjMC0xLS4yLTEuOS0uNy0yLjdsMi40LTIuNGMuOC40IDEuNy43IDIuNy43IDMuMSAwIDUuNi0yLjUgNS42LTUuNnMtMi41LTUuNi01LjYtNS42ek0xNiAzLjZjMS4zIDAgMi40IDEuMSAyLjQgMi40UzE3LjMgOC40IDE2IDguNCAxMy42IDcuMyAxMy42IDZzMS4xLTIuNCAyLjQtMi40ek02IDE4LjRjLTEuMyAwLTIuNC0xLjEtMi40LTIuNHMxLjEtMi40IDIuNC0yLjRjMS4zIDAgMi40IDEuMSAyLjQgMi40UzcuMyAxOC40IDYgMTguNHptMTAgMTBjLS41IDAtMS0uMi0xLjMtLjQtLjMtLjItLjUtLjQtLjYtLjYtLjMtLjQtLjQtLjgtLjQtMS4zcy4yLTEgLjQtMS4zYy4yLS4zLjQtLjUuNi0uNi40LS4zLjgtLjQgMS4zLS40IDEuMyAwIDIuNCAxLjEgMi40IDIuNHMtMS4xIDIuMi0yLjQgMi4yem0xMC0xMGMtMS4zIDAtMi40LTEuMS0yLjQtMi40czEuMS0yLjQgMi40LTIuNCAyLjQgMS4xIDIuNCAyLjQtMS4xIDIuNC0yLjQgMi40eiI+PC9wYXRoPjwvc3ZnPgogICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJjLW1lbnUtaXRlbS10aXRsZSI+TW96aWxsYSBWUE48L2g0PgogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImMtbWVudS1pdGVtLWRlc2MiPkdldCBwcm90ZWN0aW9uIGJleW9uZCB5b3VyIGJyb3dzZXIsIG9uIGFsbCB5b3VyIGRldmljZXMuPC9wPgogICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgPC9saT4KICAgICAgICAgIDxsaT4KICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImMtbWVudS1pdGVtIG16cC1oYXMtaWNvbiI+CiAgICAgICAgICAgICAgPGEgY2xhc3M9ImMtbWVudS1pdGVtLWxpbmsiIGhyZWY9Ii9lbi1VUy9maXJlZm94L3ByaXZhY3kvcHJvZHVjdHMvIiBkYXRhLWxpbmstbmFtZT0iSHVicyIgZGF0YS1saW5rLXR5cGU9Im5hdiIgZGF0YS1saW5rLXBvc2l0aW9uPSJ0b3BuYXYiIGRhdGEtbGluay1ncm91cD0icHJvamVjdHMiPgogICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iYy1tZW51LWl0ZW0taWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZmlsbD0iIzQyNDM1YSIgZD0iTTI3LjMgNy42YzAtMS41LTEuMS0yLjgtMi42LTNMMTYgMy4xIDcuMiA0LjZjLTEuNS4yLTIuNiAxLjUtMi42IDMgMCAyLjQgMCA1LjUuMiA3IC40IDQuNSAxLjMgNyAzLjUgOS44IDEuOSAyLjQgNC42IDQgNy42IDQuNGguNGMzLS41IDUuNy0yIDcuNi00LjQgMi4yLTIuOCAzLTUuMyAzLjUtOS44LS4xLTEuNi0uMS01LjEtLjEtN3ptLTIuOSA2LjdjLS40IDQtMS4xIDYtMi45IDguNC0xLjQgMS43LTMuMyAyLjktNS41IDMuMy0yLjItLjQtNC4xLTEuNi01LjUtMy4zLTEuOC0yLjQtMi41LTQuNC0yLjktOC40LS4xLTEuMS0uMS0zLjUtLjEtNi43IDAtLjEuMS0uMi4yLS4yTDE2IDZsOC4zIDEuNGMuMSAwIC4yLjEuMi4yIDAgMy4yIDAgNS43LS4xIDYuN3ptLTEzLjktLjJjMC0uNC0uMS0xLjUtLjEtNC4zbDUuNi0uOXYxNC4yYy0xLjMtLjMtMi40LTEuMS0zLjItMi4xLTEuNC0xLjgtMi0zLjEtMi4zLTYuOXoiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iYy1tZW51LWl0ZW0tdGl0bGUiPlByb2R1Y3QgUHJvbWlzZTwvaDQ+CiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0iYy1tZW51LWl0ZW0tZGVzYyI+TGVhcm4gaG93IGVhY2ggRmlyZWZveCBwcm9kdWN0IHByb3RlY3RzIGFuZCByZXNwZWN0cyB5b3VyIGRhdGEuPC9wPgogICAgICAgICAgICAgIAogICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgPC9saT4KICAgICAgICAgIDxsaT4KICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImMtbWVudS1pdGVtIG16cC1oYXMtaWNvbiI+CiAgICAgICAgICAgICAgPGEgY2xhc3M9ImMtbWVudS1pdGVtLWxpbmsiIGhyZWY9Imh0dHBzOi8vcmVsYXkuZmlyZWZveC5jb20vP3V0bV9zb3VyY2U9d3d3Lm1vemlsbGEub3JnJmFtcDt1dG1fbWVkaXVtPXJlZmVycmFsJmFtcDt1dG1fY2FtcGFpZ249bmF2JmFtcDt1dG1fY29udGVudD1wcm9kdWN0cyIgZGF0YS1saW5rLW5hbWU9IkZpcmVmb3ggUmVsYXkiIGRhdGEtbGluay10eXBlPSJuYXYiIGRhdGEtbGluay1wb3NpdGlvbj0idG9wbmF2IiBkYXRhLWxpbmstZ3JvdXA9InByb2plY3RzIj4KICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9wcm90b2NvbC9pbWcvbG9nb3MvZmlyZWZveC9yZWxheS9sb2dvLjY4MzA4M2M1M2I5My5zdmciIGNsYXNzPSJjLW1lbnUtaXRlbS1pY29uIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGFsdD0iIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iYy1tZW51LWl0ZW0tdGl0bGUiPkZpcmVmb3ggUmVsYXk8L2g0PgogICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImMtbWVudS1pdGVtLWRlc2MiPlNpZ24gdXAgZm9yIG5ldyBhY2NvdW50cyB3aXRob3V0IGhhbmRpbmcgb3ZlciB5b3VyIGVtYWlsIGFkZHJlc3MuPC9wPgogICAgICAgICAgICAgIAogICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgPC9saT4KICAgICAgICAgIDxsaT4KICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImMtbWVudS1pdGVtIG16cC1oYXMtaWNvbiI+CiAgICAgICAgICAgICAgPGEgY2xhc3M9ImMtbWVudS1pdGVtLWxpbmsiIGhyZWY9Imh0dHBzOi8vZnBuLmZpcmVmb3guY29tLz91dG1fc291cmNlPXd3dy5tb3ppbGxhLm9yZyZhbXA7dXRtX21lZGl1bT1yZWZlcnJhbCZhbXA7dXRtX2NhbXBhaWduPW5hdiZhbXA7dXRtX2NvbnRlbnQ9cHJvZHVjdHMiIGRhdGEtbGluay1uYW1lPSJIdWJzIiBkYXRhLWxpbmstdHlwZT0ibmF2IiBkYXRhLWxpbmstcG9zaXRpb249InRvcG5hdiIgZGF0YS1saW5rLWdyb3VwPSJwcm9qZWN0cyI+CiAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvaW1nL25hdi9pY29ucy9pY29uLWZwbi1iZXRhLjllN2JjM2EyOWY2ZS5zdmciIGNsYXNzPSJjLW1lbnUtaXRlbS1pY29uIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGFsdD0iIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iYy1tZW51LWl0ZW0tdGl0bGUiPkZpcmVmb3ggUHJpdmF0ZSBOZXR3b3JrIChiZXRhKTwvaDQ+CiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0iYy1tZW51LWl0ZW0tZGVzYyI+UHJvdGVjdCB5b3VyIGJyb3dzZXLigJlzIGNvbm5lY3Rpb24gdG8gdGhlIGludGVybmV0LjwvcD4KICAgICAgICAgICAgICAKICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgIDwvbGk+CiAgICAgICAgICA8bGk+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJjLW1lbnUtaXRlbSBtenAtaGFzLWljb24iPgogICAgICAgICAgICAgIDxhIGNsYXNzPSJjLW1lbnUtaXRlbS1saW5rIiBocmVmPSJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9wbHVzP3V0bV9zb3VyY2U9d3d3Lm1vemlsbGEub3JnJmFtcDt1dG1fbWVkaXVtPXJlZmVycmFsJmFtcDt1dG1fY2FtcGFpZ249bmF2JmFtcDt1dG1fY29udGVudD1wcm9kdWN0cyIgZGF0YS1saW5rLW5hbWU9Ik1ETiBQbHVzIiBkYXRhLWxpbmstdHlwZT0ibmF2IiBkYXRhLWxpbmstcG9zaXRpb249InRvcG5hdiIgZGF0YS1saW5rLWdyb3VwPSJwcm9qZWN0cyI+CiAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvaW1nL25hdi9pY29ucy9pY29uLW1kbi1wbHVzLmYxZDg3ZGFlNzBkMC5zdmciIGNsYXNzPSJjLW1lbnUtaXRlbS1pY29uIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGFsdD0iIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iYy1tZW51LWl0ZW0tdGl0bGUiPk1ETiBQbHVzPC9oND4KICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjLW1lbnUtaXRlbS1kZXNjIj5OZXcgZmVhdHVyZXMgYW5kIHRvb2xzIGZvciBhIGN1c3RvbWl6ZWQgTUROIGV4cGVyaWVuY2U8L3A+CiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICA8L2xpPgogICAgICAgIDwvdWw+CiAgICAgICAgPHAgY2xhc3M9ImMtbWVudS1jYXRlZ29yeS1saW5rIj48YSBocmVmPSIvZW4tVVMvZmlyZWZveC9wcm9kdWN0cy8iIGRhdGEtbGluay1uYW1lPSJWaWV3IGFsbCBQcm9kdWN0cyIgZGF0YS1saW5rLXR5cGU9Im5hdiIgZGF0YS1saW5rLXBvc2l0aW9uPSJ0b3BuYXYiIGRhdGEtbGluay1ncm91cD0icHJvZHVjdHMiPlZpZXcgYWxsIFByb2R1Y3RzPC9hPjwvcD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj48IS0tIGNsb3NlIC5jLW1lbnUtcGFuZWwtY29udGFpbmVyIC0tPgogIDwvZGl2PjwhLS0gY2xvc2UgLmMtbWVudS1wYW5lbCAtLT4KPC9saT48IS0tIGNsb3NlIHByb2R1Y3RzIC0tPgogICAgICAgICAgICAgIAoKCgo8bGkgY2xhc3M9ImMtbWVudS1jYXRlZ29yeSBtenAtaGFzLWRyb3AtZG93biBtenAtanMtZXhwYW5kYWJsZSI+CiAgPGEgY2xhc3M9ImMtbWVudS10aXRsZSIgaHJlZj0iL2VuLVVTL2Fib3V0LyIgYXJpYS1oYXNwb3B1cD0idHJ1ZSIgYXJpYS1jb250cm9scz0iYy1tZW51LXBhbmVsLWFib3V0Ij5XaG8gV2UgQXJlPC9hPgogIDxkaXYgY2xhc3M9ImMtbWVudS1wYW5lbCIgaWQ9ImMtbWVudS1wYW5lbC1hYm91dCI+CiAgICA8ZGl2IGNsYXNzPSJjLW1lbnUtcGFuZWwtY29udGFpbmVyIj4KICAgICAgPGJ1dHRvbiBjbGFzcz0iYy1tZW51LWJ1dHRvbi1jbG9zZSIgdHlwZT0iYnV0dG9uIiBhcmlhLWNvbnRyb2xzPSJjLW1lbnUtcGFuZWwtYWJvdXQiPkNsb3NlIFdobyBXZSBBcmUgbWVudTwvYnV0dG9uPgogICAgICA8ZGl2IGNsYXNzPSJjLW1lbnUtcGFuZWwtY29udGVudCI+CiAgICAgICAgPHVsIGNsYXNzPSJtenAtbC1yb3dzLXRocmVlIj4KICAgICAgICAgIDxsaT4KICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImMtbWVudS1pdGVtIG16cC1oYXMtaWNvbiI+CiAgICAgICAgICAgICAgPGEgY2xhc3M9ImMtbWVudS1pdGVtLWxpbmsiIGhyZWY9Ii9lbi1VUy9hYm91dC9tYW5pZmVzdG8vIiBkYXRhLWxpbmstbmFtZT0iTW96aWxsYSBNYW5pZmVzdG8iIGRhdGEtbGluay10eXBlPSJuYXYiIGRhdGEtbGluay1wb3NpdGlvbj0idG9wbmF2IiBkYXRhLWxpbmstZ3JvdXA9Indoby13ZS1hcmUiPgogICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iYy1tZW51LWl0ZW0taWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZmlsbD0iIzQyNDM1YSIgZD0iTTkuNSAyOC42aDEzLjFjMi42IDAgNC42LTIuMSA0LjYtNC42VjguMWMwLTIuNi0yLjEtNC42LTQuNi00LjZIOS41Yy0yLjYgMC00LjYgMi4xLTQuNiA0LjZWMjRjLS4xIDIuNSAyIDQuNiA0LjYgNC42ek03LjYgOC4xYzAtMSAuOC0xLjggMS44LTEuOGgxMy4xYzEgMCAxLjguOCAxLjggMS44VjI0YzAgMS0uOCAxLjgtMS44IDEuOGgtMTNjLTEgMC0xLjgtLjgtMS44LTEuOFY4LjF6bTEyLjYgMi4zaC04LjRjLS40IDAtLjctLjMtLjctLjcgMC0uNC4zLS43LjctLjdoOC40Yy40IDAgLjcuMy43LjcgMCAuNC0uMy43LS43Ljd6bS04LjQgNC4yaDguNGMuNCAwIC43LS4zLjctLjdzLS4zLS43LS43LS43aC04LjRjLS40IDAtLjcuMy0uNy43cy4zLjcuNy43em04LjQgNC4yaC04LjRjLS40IDAtLjctLjMtLjctLjdzLjMtLjcuNy0uN2g4LjRjLjQgMCAuNy4zLjcuN3MtLjMuNy0uNy43ek0xMS44IDIzaDMuNmMuNCAwIC43LS4zLjctLjdzLS4zLS43LS43LS43aC0zLjZjLS40IDAtLjcuMy0uNy43cy4zLjcuNy43eiI+PC9wYXRoPjwvc3ZnPgogICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJjLW1lbnUtaXRlbS10aXRsZSI+TW96aWxsYSBNYW5pZmVzdG88L2g0PgogICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImMtbWVudS1pdGVtLWRlc2MiPkxlYXJuIGFib3V0IHRoZSB2YWx1ZXMgYW5kIHByaW5jaXBsZXMgdGhhdCBndWlkZSBvdXIgbWlzc2lvbi48L3A+CiAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICA8L2xpPgogICAgICAgICAgPGxpPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0iYy1tZW51LWl0ZW0gbXpwLWhhcy1pY29uIj4KICAgICAgICAgICAgICA8YSBjbGFzcz0iYy1tZW51LWl0ZW0tbGluayIgaHJlZj0iaHR0cHM6Ly9mb3VuZGF0aW9uLm1vemlsbGEub3JnLz91dG1fc291cmNlPXd3dy5tb3ppbGxhLm9yZyZhbXA7dXRtX21lZGl1bT1yZWZlcnJhbCZhbXA7dXRtX2NhbXBhaWduPW5hdiZhbXA7dXRtX2NvbnRlbnQ9d2hvLXdlLWFyZSIgZGF0YS1saW5rLW5hbWU9Ik1vemlsbGEgRm91bmRhdGlvbiIgZGF0YS1saW5rLXR5cGU9Im5hdiIgZGF0YS1saW5rLXBvc2l0aW9uPSJ0b3BuYXYiIGRhdGEtbGluay1ncm91cD0id2hvLXdlLWFyZSI+CiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJjLW1lbnUtaXRlbS1pY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIj48cGF0aCBmaWxsPSIjNDI0MzVhIiBkPSJNMTYgOS4zVjRIMi43djI0aDI2LjdWOS4zSDE2em0tOCAxNkg1LjN2LTIuN0g4djIuN3pNOCAyMEg1LjN2LTIuN0g4VjIwem0wLTUuM0g1LjNWMTJIOHYyLjd6bTAtNS40SDUuM1Y2LjdIOHYyLjZ6bTUuMyAxNmgtMi43di0yLjdoMi43djIuN3ptMC01LjNoLTIuN3YtMi43aDIuN1YyMHptMC01LjNoLTIuN1YxMmgyLjd2Mi43em0wLTUuNGgtMi43VjYuN2gyLjd2Mi42em0xMy40IDE2SDE2di0yLjdoMi43VjIwSDE2di0yLjdoMi43di0yLjdIMTZWMTJoMTAuN3YxMy4zek0yNCAxNC43aC0yLjd2Mi43SDI0di0yLjd6bTAgNS4zaC0yLjd2Mi43SDI0VjIweiI+PC9wYXRoPjwvc3ZnPgogICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJjLW1lbnUtaXRlbS10aXRsZSI+TW96aWxsYSBGb3VuZGF0aW9uPC9oND4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjLW1lbnUtaXRlbS1kZXNjIj5NZWV0IHRoZSBub3QtZm9yLXByb2ZpdCBiZWhpbmQgRmlyZWZveCB0aGF0IHN0YW5kcyBmb3IgYSBiZXR0ZXIgd2ViLjwvcD4KICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgIDwvbGk+CiAgICAgICAgICA8bGk+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJjLW1lbnUtaXRlbSBtenAtaGFzLWljb24iPgogICAgICAgICAgICAgIDxhIGNsYXNzPSJjLW1lbnUtaXRlbS1saW5rIiBocmVmPSIvZW4tVVMvY29udHJpYnV0ZS8iIGRhdGEtbGluay1uYW1lPSJHZXQgSW52b2x2ZWQiIGRhdGEtbGluay10eXBlPSJuYXYiIGRhdGEtbGluay1wb3NpdGlvbj0idG9wbmF2IiBkYXRhLWxpbmstZ3JvdXA9Indoby13ZS1hcmUiPgogICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iYy1tZW51LWl0ZW0taWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZmlsbD0iIzQyNDM1YSIgZD0iTTEyIDIyLjdsNC0zLjljLS41LS4xLS45LS4xLTEuMy0uMUMxMS4xIDE4LjcgNCAyMC41IDQgMjR2Mi43aDEybC00LTR6bTIuNy02LjdjMi45IDAgNS4zLTIuNCA1LjMtNS4zcy0yLjQtNS4zLTUuMy01LjMtNS4zIDIuNC01LjMgNS4zYy0uMSAyLjkgMi4zIDUuMyA1LjMgNS4zeiI+PC9wYXRoPjxwYXRoIGZpbGw9IiM0MjQzNWEiIGQ9Ik0yMC42IDI3LjNMMTYgMjIuN2wxLjktMS45IDIuOCAyLjggNi44LTYuOSAxLjkgMS45LTguOCA4Ljd6Ij48L3BhdGg+PC9zdmc+CiAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImMtbWVudS1pdGVtLXRpdGxlIj5HZXQgaW52b2x2ZWQ8L2g0PgogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImMtbWVudS1pdGVtLWRlc2MiPkpvaW4gdGhlIGZpZ2h0IGZvciBhIGhlYWx0aHkgaW50ZXJuZXQuPC9wPgogICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgPC9saT4KICAgICAgICAgIDxsaT4KICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImMtbWVudS1pdGVtIG16cC1oYXMtaWNvbiI+CiAgICAgICAgICAgICAgPGEgY2xhc3M9ImMtbWVudS1pdGVtLWxpbmsiIGhyZWY9Ii9lbi1VUy9hYm91dC9sZWFkZXJzaGlwLyIgZGF0YS1saW5rLW5hbWU9IkxlYWRlcnNoaXAiIGRhdGEtbGluay10eXBlPSJuYXYiIGRhdGEtbGluay1wb3NpdGlvbj0idG9wbmF2IiBkYXRhLWxpbmstZ3JvdXA9Indoby13ZS1hcmUiPgogICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iYy1tZW51LWl0ZW0taWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZmlsbD0iIzQyNDM1YSIgZD0iTTIyLjcgMTMuOVYyLjdIOS4zdjExLjJjMCAuNS4yLjkuNyAxLjFsNS42IDMuMy0xLjMgMy4xLTQuNS40IDMuNSAzLTEuMSA0LjRMMTYgMjdsMy45IDIuNC0xLTQuNCAzLjUtMy00LjUtLjQtMS4zLTMuMSA1LjYtMy4zYy4yLS40LjUtLjguNS0xLjN6bS01LjQgMi40bC0xLjMuOC0xLjMtLjhWNGgyLjd2MTIuM3oiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iYy1tZW51LWl0ZW0tdGl0bGUiPkxlYWRlcnNoaXA8L2g0PgogICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImMtbWVudS1pdGVtLWRlc2MiPk1lZXQgdGhlIHRlYW0gdGhhdOKAmXMgYnVpbGRpbmcgdGVjaG5vbG9neSBmb3IgYSBiZXR0ZXIgaW50ZXJuZXQuPC9wPgogICAgICAgICAgICAgIAogICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICAgPC9saT4KICAgICAgICAgIDxsaT4KICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImMtbWVudS1pdGVtIG16cC1oYXMtaWNvbiI+CiAgICAgICAgICAgICAgPGEgY2xhc3M9ImMtbWVudS1pdGVtLWxpbmsiIGhyZWY9Ii9lbi1VUy9jYXJlZXJzLyIgZGF0YS1saW5rLW5hbWU9IkNhcmVlcnMiIGRhdGEtbGluay10eXBlPSJuYXYiIGRhdGEtbGluay1wb3NpdGlvbj0idG9wbmF2IiBkYXRhLWxpbmstZ3JvdXA9Indoby13ZS1hcmUiPgogICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iYy1tZW51LWl0ZW0taWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PHBhdGggZmlsbD0iIzQyNDM1YSIgZD0iTTEzLjMgMjEuM1YyMEg0djUuM0M0IDI2LjggNS4yIDI4IDYuNyAyOGgxOC43YzEuNSAwIDIuNy0xLjIgMi43LTIuN1YyMGgtOS4zdjEuM2gtNS41em0xMy40LTEyaC01LjNWNi43TDE4LjcgNGgtNS4zbC0yLjcgMi43djIuN0g1LjNjLTEuNSAwLTIuNyAxLjItMi43IDIuN3Y0YzAgMS41IDEuMiAyLjcgMi43IDIuN2g4VjE2aDUuM3YyLjdoOGMxLjUgMCAyLjctMS4yIDIuNy0yLjd2LTRjMC0xLjUtMS4yLTIuNy0yLjYtMi43em0tOCAwaC01LjNWNi43aDUuM3YyLjZ6Ij48L3BhdGg+PC9zdmc+CiAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImMtbWVudS1pdGVtLXRpdGxlIj5DYXJlZXJzPC9oND4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjLW1lbnUtaXRlbS1kZXNjIj5Xb3JrIGZvciBhIG1pc3Npb24tZHJpdmVuIG9yZ2FuaXphdGlvbiB0aGF0IG1ha2VzIHBlb3BsZS1maXJzdCBwcm9kdWN0cy48L3A+CiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICA8L2xpPgogICAgICAgICAgPGxpPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0iYy1tZW51LWl0ZW0gbXpwLWhhcy1pY29uIj4KICAgICAgICAgICAgICA8YSBjbGFzcz0iYy1tZW51LWl0ZW0tbGluayIgaHJlZj0iaHR0cHM6Ly9ibG9nLm1vemlsbGEub3JnLz91dG1fc291cmNlPXd3dy5tb3ppbGxhLm9yZyZhbXA7dXRtX21lZGl1bT1yZWZlcnJhbCZhbXA7dXRtX2NhbXBhaWduPW5hdiZhbXA7dXRtX2NvbnRlbnQ9d2hvLXdlLWFyZSIgZGF0YS1saW5rLW5hbWU9Ik1vemlsbGEgQmxvZyIgZGF0YS1saW5rLXR5cGU9Im5hdiIgZGF0YS1saW5rLXBvc2l0aW9uPSJ0b3BuYXYiIGRhdGEtbGluay1ncm91cD0id2hvLXdlLWFyZSI+CiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJjLW1lbnUtaXRlbS1pY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIj48cGF0aCBmaWxsPSIjNDI0MzVhIiBkPSJNMjEuMSA3LjVjLS4yLS4yLS4yLS41IDAtLjdsLjUtLjVjLjgtLjggMi4xLS44IDIuOSAwbDEuMiAxLjJjLjguOC44IDIuMSAwIDIuOWwtLjUuNWMtLjIuMi0uNS4yLS43IDBsLTMuNC0zLjR6bTIuMyA0LjVjLjIuMi4yLjUgMCAuN0wxMi43IDIzLjRjLS4yLjItLjQuMy0uNi40bC01LjcgMi40Yy0uMy4xLS42IDAtLjctLjMtLjEtLjEtLjEtLjMgMC0uNEw4LjEgMjBjLjEtLjIuMy0uNS40LS42TDE5LjIgOC42Yy4yLS4yLjUtLjIuNyAwbDMuNSAzLjR6TTExLjUgMjIuN2wtMy45IDEuNyAxLjctMy45YzAtLjEuMS0uMi4yLS4ybDIuMyAyLjNjLS4xIDAtLjIuMS0uMy4xeiI+PC9wYXRoPjwvc3ZnPgogICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJjLW1lbnUtaXRlbS10aXRsZSI+TW96aWxsYSBCbG9nPC9oND4KICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjLW1lbnUtaXRlbS1kZXNjIj5MZWFybiBhYm91dCBNb3ppbGxhIGFuZCB0aGUgaXNzdWVzIHRoYXQgbWF0dGVyIHRvIHVzLjwvcD4KICAgICAgICAgICAgICAKICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgICAgICA8cCBjbGFzcz0iYy1tZW51LWNhdGVnb3J5LWxpbmsiPgogICAgICAgICAgPGEgaHJlZj0iL2VuLVVTL2Fib3V0LyIgZGF0YS1saW5rLW5hbWU9Ik1vcmUgQWJvdXQgTW96aWxsYSIgZGF0YS1saW5rLXR5cGU9Im5hdiIgZGF0YS1saW5rLXBvc2l0aW9uPSJ0b3BuYXYiIGRhdGEtbGluay1ncm91cD0id2hvLXdlLWFyZSI+TW9yZSBBYm91dCBNb3ppbGxhPC9hPgogICAgICAgIDwvcD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj48IS0tIGNsb3NlIC5jLW1lbnUtcGFuZWwtY29udGFpbmVyIC0tPgogIDwvZGl2PjwhLS0gY2xvc2UgLmMtbWVudS1wYW5lbCAtLT4KPC9saT48IS0tIGNsb3NlIHdobyB3ZSBhcmUgLS0+CiAgICAgICAgICAgICAgCgoKCjxsaSBjbGFzcz0iYy1tZW51LWNhdGVnb3J5IG16cC1oYXMtZHJvcC1kb3duIG16cC1qcy1leHBhbmRhYmxlIj4KICA8YSBjbGFzcz0iYy1tZW51LXRpdGxlIiBocmVmPSJodHRwczovL2xhYnMubW96aWxsYS5vcmcvP3V0bV9zb3VyY2U9d3d3Lm1vemlsbGEub3JnJmFtcDt1dG1fbWVkaXVtPXJlZmVycmFsJmFtcDt1dG1fY2FtcGFpZ249bmF2JmFtcDt1dG1fY29udGVudD1pbm5vdmF0aW9uIiBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWNvbnRyb2xzPSJjLW1lbnUtcGFuZWwtaW5ub3ZhdGlvbiI+SW5ub3ZhdGlvbjwvYT4KICA8ZGl2IGNsYXNzPSJjLW1lbnUtcGFuZWwiIGlkPSJjLW1lbnUtcGFuZWwtaW5ub3ZhdGlvbiI+CiAgICA8ZGl2IGNsYXNzPSJjLW1lbnUtcGFuZWwtY29udGFpbmVyIj4KICAgICAgPGJ1dHRvbiBjbGFzcz0iYy1tZW51LWJ1dHRvbi1jbG9zZSIgdHlwZT0iYnV0dG9uIiBhcmlhLWNvbnRyb2xzPSJjLW1lbnUtcGFuZWwtaW5ub3ZhdGlvbiI+Q2xvc2UgSW5ub3ZhdGlvbiBtZW51PC9idXR0b24+CiAgICAgIDxkaXYgY2xhc3M9ImMtbWVudS1wYW5lbC1jb250ZW50Ij4KICAgICAgICA8dWwgY2xhc3M9Im16cC1sLXJvd3MtdHdvIj4KICAgICAgICAgIDxsaT4KICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImMtbWVudS1pdGVtIG16cC1oYXMtaWNvbiI+CiAgICAgICAgICAgICAgPGEgY2xhc3M9ImMtbWVudS1pdGVtLWxpbmsiIGhyZWY9Imh0dHBzOi8vaHVicy5tb3ppbGxhLmNvbS8/dXRtX3NvdXJjZT13d3cubW96aWxsYS5vcmcmYW1wO3V0bV9tZWRpdW09cmVmZXJyYWwmYW1wO3V0bV9jYW1wYWlnbj1uYXYmYW1wO3V0bV9jb250ZW50PWlubm92YXRpb24iIGRhdGEtbGluay1uYW1lPSJNb3ppbGxhIEh1YnMiIGRhdGEtbGluay10eXBlPSJuYXYiIGRhdGEtbGluay1wb3NpdGlvbj0idG9wbmF2IiBkYXRhLWxpbmstZ3JvdXA9Imlubm92YXRpb24iPgogICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iYy1tZW51LWl0ZW0taWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iMTcuMjQ3MSIgeDI9IjE3LjI0NzEiIHkxPSIzMCIgeTI9IjMuMTk4OSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDM0KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2ZmYzAwMCI+PC9zdG9wPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2ZmZDYwMCI+PC9zdG9wPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggZmlsbD0idXJsKCNhKSIgZD0iTTcuNSAyNC43Yy0uMy44LTEgMS41LTEuOSAyLS45LTEuMy0xLjQtMi44LTEuNC00LjUgMC0zLjQgMi02LjQgNC45LTcuNy0yLjgtMS4xLTUuNC0yLjgtNS40LTQuNiAwLTEuOSAxLjctMS41IDMuOS0xLjFoLjFjLjYtMi44IDMuMS00LjkgNi00LjkgMy40IDAgNi4yIDIuOCA2LjIgNi4yIDAgMi4yLTEuMSA0LjEtMi44IDUuMiAxLjUuNSAzLjMuOSA1LjUuNyAzLS40IDQtMiA0LjYtMi45LjMtLjUuNS0uOC44LS42IDIuOSAyLjIgMy44IDcuNSAxLjcgMTEuNy0uNS45LTEgMS43LTEuNyAyLjQtLjggMC0yLTItMi0yLS4yLjYtMi4zIDIuNy00LjYgMi43LTIuMSAwLTQtMS4xLTQuNi0yLjctLjcgMS42LTIuNSAyLjctNC42IDIuNy0yLjIuMS00LjEtMS00LjctMi42Ij48L3BhdGg+PGNpcmNsZSBjeD0iMTEuMyIgY3k9IjkuNiIgcj0iMS43IiB0cmFuc2Zvcm09Im1hdHJpeCguOTk5NyAtLjAyNTg1IC4wMjU4NSAuOTk5NyAtLjI0NTQgLjI5NDEpIj48L2NpcmNsZT48cGF0aCBmaWxsPSIjZmY4YTAwIiBkPSJNNy45IDguM2MtLjEuMi0uMS40LS4yLjYtMi4yLS41LTQtLjktNCAxIDAgMS44IDIuNiAzLjUgNS40IDQuNi4yLTMuMi4zLTQuNi0xLjItNi4yeiI+PC9wYXRoPjxjaXJjbGUgY3g9IjExLjgiIGN5PSI5LjIiIHI9Ii41IiBmaWxsPSIjZmZmIj48L2NpcmNsZT48L3N2Zz4KICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iYy1tZW51LWl0ZW0tdGl0bGUiPk1vemlsbGEgSHViczwvaDQ+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0iYy1tZW51LWl0ZW0tZGVzYyI+R2F0aGVyIGluIHRoaXMgaW50ZXJhY3RpdmUsIG9ubGluZSwgbXVsdGktZGltZW5zaW9uYWwgc29jaWFsIHNwYWNlLjwvcD4KICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgIDwvbGk+CiAgICAgICAgICA8bGk+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJjLW1lbnUtaXRlbSBtenAtaGFzLWljb24iPgogICAgICAgICAgICAgIDxhIGNsYXNzPSJjLW1lbnUtaXRlbS1saW5rIiBocmVmPSIvZW4tVVMvZmlyZWZveC9kZXZlbG9wZXIvIiBkYXRhLWxpbmstbmFtZT0iRmlyZWZveCBEZXZlbG9wZXIgRWRpdGlvbiIgZGF0YS1saW5rLXR5cGU9Im5hdiIgZGF0YS1saW5rLXBvc2l0aW9uPSJ0b3BuYXYiIGRhdGEtbGluay1ncm91cD0iaW5ub3ZhdGlvbiI+CiAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvcHJvdG9jb2wvaW1nL2xvZ29zL2ZpcmVmb3gvYnJvd3Nlci9kZXZlbG9wZXIvbG9nby40MWQ0MjgyMmM4ZmIuc3ZnIiBjbGFzcz0iYy1tZW51LWl0ZW0taWNvbiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImMtbWVudS1pdGVtLXRpdGxlIj5GaXJlZm94IERldmVsb3BlciBFZGl0aW9uPC9oND4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjLW1lbnUtaXRlbS1kZXNjIj5HZXQgdGhlIEZpcmVmb3ggYnJvd3NlciBidWlsdCBqdXN0IGZvciBkZXZlbG9wZXJzLjwvcD4KICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgIDwvbGk+CiAgICAgICAgICA8bGk+CiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJjLW1lbnUtaXRlbSBtenAtaGFzLWljb24iPgogICAgICAgICAgICAgIDxhIGNsYXNzPSJjLW1lbnUtaXRlbS1saW5rIiBocmVmPSJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy8/dXRtX3NvdXJjZT13d3cubW96aWxsYS5vcmcmYW1wO3V0bV9tZWRpdW09cmVmZXJyYWwmYW1wO3V0bV9jYW1wYWlnbj1uYXYmYW1wO3V0bV9jb250ZW50PWlubm92YXRpb24iIGRhdGEtbGluay1uYW1lPSJNRE4gV2ViIERvY3MiIGRhdGEtbGluay10eXBlPSJuYXYiIGRhdGEtbGluay1wb3NpdGlvbj0idG9wbmF2IiBkYXRhLWxpbmstZ3JvdXA9Imlubm92YXRpb24iPgogICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iYy1tZW51LWl0ZW0taWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZmlsbD0iIzQyNDM1YSIgZD0iTTQgMjYuN2MwIC43LjYgMS4zIDEuMyAxLjNzMS4zLS42IDEuMy0xLjNWNS4zQzYuNyA0LjYgNi4xIDQgNS4zIDRTNCA0LjYgNCA1LjN2MjEuNHptMTAuNyAwYzAgLjcuNiAxLjMgMS4zIDEuMy43IDAgMS4zLS42IDEuMy0xLjNWOGMwLS43LS42LTEuMy0xLjMtMS4zLS43IDAtMS4zLjYtMS4zIDEuM3YxOC43em0tNS40IDBjMCAuNy42IDEuMyAxLjMgMS4zLjcgMCAxLjMtLjYgMS4zLTEuM1Y5LjNjLjEtLjctLjUtMS4zLTEuMi0xLjMtLjggMC0xLjQuNi0xLjQgMS4zdjE3LjR6TTI2LjcgMjhjLS42IDAtMS4xLS40LTEuMy0uOWwtNi0xOC43Yy0uMi0uNy4yLTEuNC45LTEuNnMxLjQuMSAxLjcuOGw2IDE4LjdjLjIuNy0uMiAxLjUtLjkgMS43aC0uNHoiPjwvcGF0aD48L3N2Zz4KICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iYy1tZW51LWl0ZW0tdGl0bGUiPk1ETiBXZWIgRG9jczwvaDQ+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0iYy1tZW51LWl0ZW0tZGVzYyI+Q2hlY2sgb3V0IHRoZSBob21lIGZvciB3ZWIgZGV2ZWxvcGVyIHJlc291cmNlcy48L3A+CiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgICA8L2xpPgogICAgICAgICAgPGxpPgogICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0iYy1tZW51LWl0ZW0gbXpwLWhhcy1pY29uIj4KICAgICAgICAgICAgICA8YSBjbGFzcz0iYy1tZW51LWl0ZW0tbGluayIgaHJlZj0iaHR0cHM6Ly9jb21tb252b2ljZS5tb3ppbGxhLm9yZy8/dXRtX3NvdXJjZT13d3cubW96aWxsYS5vcmcmYW1wO3V0bV9tZWRpdW09cmVmZXJyYWwmYW1wO3V0bV9jYW1wYWlnbj1uYXYmYW1wO3V0bV9jb250ZW50PWlubm92YXRpb24iIGRhdGEtbGluay1uYW1lPSJDb21tb24gVm9pY2UiIGRhdGEtbGluay10eXBlPSJuYXYiIGRhdGEtbGluay1wb3NpdGlvbj0idG9wbmF2IiBkYXRhLWxpbmstZ3JvdXA9Imlubm92YXRpb24iPgogICAgICAgICAgICAgICAgPGltZyBjbGFzcz0iYy1tZW51LWl0ZW0taWNvbiIgc3JjPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvbmF2L2ljb25zL2ljb24tY29tbW9uLXZvaWNlLjEyN2ZhM2Y1ZGNiMC5zdmciIGFsdD0iIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iYy1tZW51LWl0ZW0tdGl0bGUiPkNvbW1vbiBWb2ljZTwvaDQ+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0iYy1tZW51LWl0ZW0tZGVzYyI+RG9uYXRlIHlvdXIgdm9pY2Ugc28gdGhlIGZ1dHVyZSBvZiB0aGUgd2ViIGNhbiBoZWFyIGV2ZXJ5b25lLjwvcD4KICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvc2VjdGlvbj4KICAgICAgICAgIDwvbGk+CiAgICAgICAgPC91bD4KICAgICAgICA8cCBjbGFzcz0iYy1tZW51LWNhdGVnb3J5LWxpbmsiPjxhIGhyZWY9Imh0dHBzOi8vbGFicy5tb3ppbGxhLm9yZy8/dXRtX3NvdXJjZT13d3cubW96aWxsYS5vcmcmYW1wO3V0bV9tZWRpdW09cmVmZXJyYWwmYW1wO3V0bV9jYW1wYWlnbj1uYXYmYW1wO3V0bV9jb250ZW50PWlubm92YXRpb24iIGRhdGEtbGluay1uYW1lPSJNb3JlIE1vemlsbGEgSW5ub3ZhdGlvbiIgZGF0YS1saW5rLXR5cGU9Im5hdiIgZGF0YS1saW5rLXBvc2l0aW9uPSJ0b3BuYXYiIGRhdGEtbGluay1ncm91cD0iaW5ub3ZhdGlvbiI+TW9yZSBNb3ppbGxhIElubm92YXRpb248L2E+PC9wPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PjwhLS0gY2xvc2UgLmMtbWVudS1wYW5lbC1jb250YWluZXIgLS0+CiAgPC9kaXY+PCEtLSBjbG9zZSAuYy1tZW51LXBhbmVsIC0tPgo8L2xpPjwhLS0gY2xvc2UgaW5ub3ZhdGlvbiAtLT4KICAgICAgICAgICAgPC91bD4KICAgICAgICAgIDwvbmF2PgogICAgICAgIDwvZGl2PjwhLS0gY2xvc2UgLmMtbmF2aWdhdGlvbi1tZW51IC0tPgogICAgICA8L2Rpdj48IS0tIGNsb3NlIC5jLW5hdmlnYXRpb24taXRlbXMgLS0+CiAgICA8L2Rpdj48IS0tIGNsb3NlIC5jLW5hdmlnYXRpb24tY29udGFpbmVyIC0tPgogIDwvZGl2PjwhLS0gY2xvc2UgLmMtbmF2aWdhdGlvbi1sLWNvbnRlbnQgLS0+CjwvZGl2PjwhLS0gY2xvc2UgLmMtbmF2aWdhdGlvbiAtLT4KICAgIAoKICAgIAoKICAgIDxkaXYgaWQ9Im91dGVyLXdyYXBwZXIiPgogICAgICAKPG1haW4gcm9sZT0ibWFpbiI+CiAgPGhlYWRlciBjbGFzcz0ibWFpbi1wYWdlLWhlYWRpbmcgdmlzdWFsbHktaGlkZGVuIj4KICAgIAogICAgPGgxPkludGVybmV0IGZvciBwZW9wbGUsIG5vdCBwcm9maXQ8L2gxPgogIDwvaGVhZGVyPgoKCiAgCiAgICAgIAo8c2VjdGlvbiBjbGFzcz0iZngxMDAtaGVybyI+CiAgPGRpdiBjbGFzcz0ibXpwLWwtY29udGVudCBtenAtdC1jb250ZW50LW1kIj4KICA8ZGl2IGNsYXNzPSJmeDEwMC1oZXJvLXRpdGxlLWNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJmeDEwMC1oZXJvLXdvcmRtYXJrIj5GaXJlZm94IDEwMDwvZGl2PgogICAgPGgyIGNsYXNzPSJmeDEwMC1oZXJvLXRpdGxlIj5CdWlsZGluZyBhIDxicj5iZXR0ZXIgaW50ZXJuZXQgPGJyPnNpbmNlIDIwMDQ8L2gyPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImZ4MTAwLWhlcm8tY3RhLWNvbnRhaW5lciI+CiAgICA8YSBjbGFzcz0ibXpwLWMtYnV0dG9uIG16cC10LXByb2R1Y3QiIGhyZWY9Ii9lbi1VUy9maXJlZm94L25ldy8iIGRhdGEtY3RhLXR5cGU9ImJ1dHRvbiIgZGF0YS1jdGEtdGV4dD0iR2V0IHRoZSBuZXcgRmlyZWZveCI+CiAgICAgIEdldCB0aGUgbmV3IEZpcmVmb3gKICAgIDwvYT4KICAgIDxhIGNsYXNzPSJmeDEwMC1zdG9yeS1saW5rIiBocmVmPSJodHRwczovL2Jsb2cubW96aWxsYS5vcmcvZW4vbW96aWxsYS9jZWxlYnJhdGluZy1maXJlZm94LTEwMC8/dXRtX3NvdXJjZT13d3cubW96aWxsYS5vcmcmdXRtX21lZGl1bT1yZWZlcnJhbCZ1dG1fY2FtcGFpZ249aG9tZXBhZ2UmdXRtX2NvbnRlbnQ9MTAwcHJvbW8iIGRhdGEtY3RhLXR5cGU9ImxpbmsiIGRhdGEtY3RhLXRleHQ9IlJlYWQgb3VyIHN0b3J5Ij4KICAgICAgUmVhZCB0aGUgc3Rvcnkgb2Ygb3VyIDEwMHRoIHJlbGVhc2UKICAgIDwvYT4KICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgogICAgCgoKCiAgCgoKCgoKCiAgICAgIAogICAgICAgIAogICAgICAKCiAgICAgIDxzZWN0aW9uIGNsYXNzPSJtenAtYy1zcGxpdCBtenAtbC1zcGxpdC1yZXZlcnNlZCAgbXpwLWwtc3BsaXQtcG9wIj4KICAKICA8ZGl2IGNsYXNzPSJtenAtYy1zcGxpdC1iZyBtenAtdC1iYWNrZ3JvdW5kLXNlY29uZGFyeSI+CiAgCiAgPGRpdiBjbGFzcz0ibXpwLWMtc3BsaXQtY29udGFpbmVyIj4KICAgIAogICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJtenAtYy1zcGxpdC1tZWRpYSBtenAtbC1zcGxpdC1tZWRpYS1jb25zdHJhaW4taGVpZ2h0ICAiPgogICAgICAgICAgCiAgICAKICAgICAgCiAgICAKICAgIDxpbWcgc3JjPSJodHRwczovL2ltYWdlcy5jdGZhc3NldHMubmV0L3c1ZXIzYzd6ZGdtZC8zdnVreXBvUFRUcFJZY3ROaldvVWtjLzAzZGZiYTM0YjlhYWIyODhmN2MyNWQyNTdhNjIxY2YwL2JpbGxib2FyZC1tb3JlLXBvd2VyLWhpZ2gtcmVzLjVlOWUwN2UxMDI0Yy5wbmc/dz04MDAiIGFsdD0iIiBjbGFzcz0ibXpwLWMtc3BsaXQtbWVkaWEtYXNzZXQiIGxvYWRpbmc9ImVhZ2VyIiAvPgogIAogICAgICAgIDwvZGl2PgogICAgICAKICAgIAogICAgPGRpdiBjbGFzcz0ibXpwLWMtc3BsaXQtYm9keSBtenAtbC1zcGxpdC12LWNlbnRlciBtenAtbC1zcGxpdC1oLWNlbnRlciI+CiAgICAgIAoKICAgICAgICA8aDI+TW9yZSBwb3dlciB0byB5b3UuPC9oMj4KPHA+TW96aWxsYSBwdXRzIHBlb3BsZSBiZWZvcmUgcHJvZml0LCBjcmVhdGluZyBwcm9kdWN0cywgdGVjaG5vbG9naWVzIGFuZCBwcm9ncmFtcyB0aGF0IG1ha2UgdGhlIGludGVybmV0IGhlYWx0aGllciBmb3IgZXZlcnlvbmUuPC9wPgo8cD48YSBocmVmPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9lbi1VUy9hYm91dC8iPkxlYXJuIG1vcmUgYWJvdXQgdXM8L2E+CiAgICAgIAogICAgCiAgPC9wPgoKICAgICAgCiAgICA8L2Rpdj4KICAgIAogIDwvZGl2PgogIAogIDwvZGl2PgogIAo8L3NlY3Rpb24+CgogICAgCgoKCiAgICAgIDxoMiBjbGFzcz0ibXpwLWMtc2VjdGlvbi1oZWFkaW5nIj5GZWF0dXJlZCBNb3ppbGxhIFByb2R1Y3RzPC9oMj4KICAgIAoKCgoKICAgIAogICAgICAKICAgICAgCiAgICAKCiAgICAgIDxzZWN0aW9uIGNsYXNzPSJtenAtYy1oZXJvICBtenAtbC1yZXZlcnNlIG16cC1oYXMtaW1hZ2UiPgogIDxkaXYgY2xhc3M9Im16cC1sLWNvbnRlbnQiPgogICAgPGRpdiBjbGFzcz0ibXpwLWMtaGVyby1ib2R5Ij4KICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0ibXpwLWMtd29yZG1hcmsgbXpwLXQtd29yZG1hcmstbWQgbXpwLXQtcHJvZHVjdC12cG4iPjwvZGl2PgogICAgICAKICAgICAgPGgyIGNsYXNzPSJtenAtYy1oZXJvLXRpdGxlIj5Qcm90ZWN0aW9uIGZvciB5b3VyIHdob2xlIGRldmljZSwgb24gZXZlcnkgZGV2aWNlPC9oMj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9Im16cC1jLWhlcm8tZGVzYyI+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICA8cD48cD5TdXJmLCBzdHJlYW0sIGdhbWUsIGFuZCBnZXQgd29yayBkb25lIHdoaWxlIG1haW50YWluaW5nIHlvdXIgcHJpdmFjeSBvbmxpbmUuPC9wPjwvcD4KICAgICAgICAKICAgICAgPC9kaXY+CiAgICAgIAogICAgICAKICAgICAgICAKCiAgICAgICAgCgoKCgoKCgoKICA8YSBocmVmPSIvcHJvZHVjdHMvdnBuLyIgY2xhc3M9Im16cC1jLWJ1dHRvbiAiIGRhdGEtY3RhLXRleHQ9IkdldCBNb3ppbGxhIFZQTiIgZGF0YS1jdGEtdHlwZT0ibGluayI+R2V0IE1vemlsbGEgVlBOPC9hPgoKCgoKICAgICAgCiAgICAgIAogICAgPC9kaXY+CiAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJtenAtYy1oZXJvLWltYWdlIj4KICAgICAgCiAgICAKICAgICAgCiAgICAKICAgIDxpbWcgc3JjPSJodHRwczovL2ltYWdlcy5jdGZhc3NldHMubmV0L3c1ZXIzYzd6ZGdtZC80ZnMwRmZ4ZkZaVFFpcHpsdUw5VkRWL2VlNzFlODRmN2ZhODAzOTg4NzJmMGVmZTdjY2RmMjMyL3Zwbi1sYXB0b3AucG5nP3c9ODAwIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSIgLz4KICAKICAgIDwvZGl2PgogIAo8L3NlY3Rpb24+CgogICAgCgoKCgogICAgCiAgICAgIAogICAgICAKICAgIAoKICAgICAgPHNlY3Rpb24gY2xhc3M9Im16cC1jLWhlcm8gIG16cC1sLXJldmVyc2UgbXpwLWhhcy1pbWFnZSI+CiAgPGRpdiBjbGFzcz0ibXpwLWwtY29udGVudCI+CiAgICA8ZGl2IGNsYXNzPSJtenAtYy1oZXJvLWJvZHkiPgogICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJtenAtYy13b3JkbWFyayBtenAtdC13b3JkbWFyay1tZCBtenAtdC1wcm9kdWN0LWZpcmVmb3giPjwvZGl2PgogICAgICAKICAgICAgPGgyIGNsYXNzPSJtenAtYy1oZXJvLXRpdGxlIj5GaXJlZm94IGlzIGZvciAoaW50ZXJuZXQpIGxvdmVyczwvaDI+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJtenAtYy1oZXJvLWRlc2MiPgogICAgICAgIAogICAgICAgIAogICAgICAgICAgPHA+PHA+U3VwZXIgZmFzdCBhbmQgZmllcmNlbHkgaW5kZXBlbmRlbnQuIEdldCB0aGUgb25seSBicm93c2VyIHRoYXQgd29ya3MgdG8gbWFrZSB0aGUgaW50ZXJuZXQgYmV0dGVyIGZvciBldmVyeW9uZS48L3A+PC9wPgogICAgICAgIAogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIAogICAgICAgIAoKICAgICAgICAKCgoKCgoKCgogIDxhIGhyZWY9Ii9maXJlZm94L2Jyb3dzZXJzLyIgY2xhc3M9Im16cC1jLWJ1dHRvbiBtenAtdC1wcm9kdWN0IG16cC10LWxnIiBkYXRhLWN0YS10ZXh0PSJFeHBsb3JlIEZpcmVmb3giIGRhdGEtY3RhLXR5cGU9ImxpbmsiPkV4cGxvcmUgRmlyZWZveDwvYT4KCgoKCiAgICAgIAogICAgICAKICAgIDwvZGl2PgogIDwvZGl2PgogIAogICAgPGRpdiBjbGFzcz0ibXpwLWMtaGVyby1pbWFnZSI+CiAgICAgIAogICAgCiAgICAgIAogICAgCiAgICA8aW1nIHNyYz0iaHR0cHM6Ly9pbWFnZXMuY3RmYXNzZXRzLm5ldC93NWVyM2M3emRnbWQvNjJKM293S3JCNUlsZjcydFBuS2dhbS81NGJiMWY2MmY0YjUyMjhhZTc5YWRmOTM3YzdiZmJiYi9GaXJlZm94X0Fzc2V0XzIucG5nP3c9ODAwIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSIgLz4KICAKICAgIDwvZGl2PgogIAo8L3NlY3Rpb24+CgogICAgCgoKCgogICAgCiAgICAgIAogICAgICAKICAgIAoKICAgICAgPHNlY3Rpb24gY2xhc3M9Im16cC1jLWhlcm8gIG16cC1sLXJldmVyc2UgbXpwLWhhcy1pbWFnZSI+CiAgPGRpdiBjbGFzcz0ibXpwLWwtY29udGVudCI+CiAgICA8ZGl2IGNsYXNzPSJtenAtYy1oZXJvLWJvZHkiPgogICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJtenAtYy13b3JkbWFyayBtenAtdC13b3JkbWFyay1tZCBtenAtdC1wcm9kdWN0LXBvY2tldCI+PC9kaXY+CiAgICAgIAogICAgICA8aDIgY2xhc3M9Im16cC1jLWhlcm8tdGl0bGUiPldlbGNvbWUgdG8gdGhlIHdlYiwgc3Vubnkgc2lkZSB1cDwvaDI+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJtenAtYy1oZXJvLWRlc2MiPgogICAgICAgIAogICAgICAgIAogICAgICAgICAgPHA+PHA+TWlsbGlvbnMgb2YgcGVvcGxlIHJlbHkgb24gUG9ja2V0IHRvIHNhdmUgYW5kIGRpc2NvdmVyIHRoZSBiZXN0IGFydGljbGVzLCBzdG9yaWVzIGFuZCB2aWRlb3Mgb24gdGhlIHdlYi4gQXMgcGFydCBvZiB0aGUgRmlyZWZveCBmYW1pbHksIFBvY2tldCBoYXMgdGhlIHNhbWUgZGVkaWNhdGlvbiB0byBwcml2YWN5PC9wPjwvcD4KICAgICAgICAKICAgICAgPC9kaXY+CiAgICAgIAogICAgICAKICAgICAgICAKCiAgICAgICAgCgoKCgoKCgoKICA8YSBocmVmPSJodHRwczovL2dldHBvY2tldC5jb20vP3V0bV9zb3VyY2U9d3d3Lm1vemlsbGEub3JnLWhvbWUmYW1wO3V0bV9tZWRpdW09cmVmZXJyYWwmYW1wO3V0bV9jYW1wYWlnbj1ob21lIiBjbGFzcz0ibXpwLWMtYnV0dG9uIG16cC10LXByb2R1Y3QiIHJlbD0iZXh0ZXJuYWwgbm9vcGVuZXIiIGRhdGEtY3RhLXR5cGU9ImxpbmsiIGRhdGEtY3RhLXRleHQ9IlRyeSBQb2NrZXQiPlRyeSBQb2NrZXQ8L2E+CgoKCgogICAgICAKICAgICAgCiAgICA8L2Rpdj4KICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9Im16cC1jLWhlcm8taW1hZ2UiPgogICAgICAKICAgIAogICAgICAKICAgIAogICAgPGltZyBzcmM9Imh0dHBzOi8vaW1hZ2VzLmN0ZmFzc2V0cy5uZXQvdzVlcjNjN3pkZ21kLzJ5U0QwdXdSM0syVHRZSXRUREZGbTgvNjU1MzY0NTgwZmM3YTdmMDc4OWQ3Mjk5NzEwZDU4ZDMvcG9ja2V0LXJhaW5ib3cuanBnP3c9ODAwIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSIgLz4KICAKICAgIDwvZGl2PgogIAo8L3NlY3Rpb24+CgogICAgCgoKCgogICAgCiAgICAgIAogICAgICAKICAgIAoKICAgICAgPHNlY3Rpb24gY2xhc3M9Im16cC1jLWhlcm8gIG16cC1sLXJldmVyc2UgbXpwLWhhcy1pbWFnZSI+CiAgPGRpdiBjbGFzcz0ibXpwLWwtY29udGVudCI+CiAgICA8ZGl2IGNsYXNzPSJtenAtYy1oZXJvLWJvZHkiPgogICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJtenAtYy13b3JkbWFyayBtenAtdC13b3JkbWFyay1tZCBtenAtdC1wcm9kdWN0LXJlbGF5Ij48L2Rpdj4KICAgICAgCiAgICAgIDxoMiBjbGFzcz0ibXpwLWMtaGVyby10aXRsZSI+VW4tc3BhbSB5b3VyIGxpZmUgd2l0aCBGaXJlZm94IFJlbGF5IDwvaDI+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJtenAtYy1oZXJvLWRlc2MiPgogICAgICAgIAogICAgICAgIAogICAgICAgICAgPHA+PHA+R2VuZXJhdGUgcmVhbCwgd29ya2luZyBlbWFpbCBhbGlhc2VzIHNvIHlvdSBkb24ndCBoYXZlIHRvIGNvbXByb21pc2UgeW91ciByZWFsIGFkZHJlc3MgYW5kIGNsdXR0ZXIgdXAgeW91ciBpbmJveCB0aWxsIHRoZSBlbmQgb2YgdGltZS48L3A+PC9wPgogICAgICAgIAogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIAogICAgICAgIAoKICAgICAgICAKCgoKCgoKCgogIDxhIGhyZWY9Imh0dHBzOi8vcmVsYXkuZmlyZWZveC5jb20vP3V0bV9zb3VyY2U9d3d3Lm1vemlsbGEub3JnLWhvbWUmYW1wO3V0bV9tZWRpdW09cmVmZXJyYWwmYW1wO3V0bV9jYW1wYWlnbj1ob21lIiBjbGFzcz0ibXpwLWMtYnV0dG9uIG16cC10LXByb2R1Y3QgbXpwLXQtbGciIHJlbD0iZXh0ZXJuYWwgbm9vcGVuZXIiIGRhdGEtY3RhLXRleHQ9IlRyeSBSZWxheSIgZGF0YS1jdGEtdHlwZT0ibGluayI+VHJ5IFJlbGF5PC9hPgoKCgoKICAgICAgCiAgICAgIAogICAgPC9kaXY+CiAgPC9kaXY+CiAgCiAgICA8ZGl2IGNsYXNzPSJtenAtYy1oZXJvLWltYWdlIj4KICAgICAgCiAgICAKICAgICAgCiAgICAKICAgIDxpbWcgc3JjPSJodHRwczovL2ltYWdlcy5jdGZhc3NldHMubmV0L3c1ZXIzYzd6ZGdtZC81dklOV3BUY1FUOTdmOHUyYkJVWUY2LzBjZTAxNGUwYjU5ZDdkYzMzMTk4M2Q1NmU5YjlkZWYxL1JlbGF5Xy1fQXNzZXRfMV8ucG5nP3c9ODAwIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSIgLz4KICAKICAgIDwvZGl2PgogIAo8L3NlY3Rpb24+CgogICAgCgoKCgogICAgICAKICAgICAgICAKICAgICAgCgogICAgICA8c2VjdGlvbiBjbGFzcz0ibXpwLWMtc3BsaXQgICBtenAtbC1zcGxpdC1wb3AiPgogIAogIDxkaXYgY2xhc3M9Im16cC1jLXNwbGl0LWJnIG16cC10LWJhY2tncm91bmQtc2Vjb25kYXJ5Ij4KICAKICA8ZGl2IGNsYXNzPSJtenAtYy1zcGxpdC1jb250YWluZXIiPgogICAgCiAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9Im16cC1jLXNwbGl0LW1lZGlhIG16cC1sLXNwbGl0LW1lZGlhLWNvbnN0cmFpbi1oZWlnaHQgICI+CiAgICAgICAgICAKICAgIAogICAgICAKICAgIAogICAgPGltZyBzcmM9Imh0dHBzOi8vaW1hZ2VzLmN0ZmFzc2V0cy5uZXQvdzVlcjNjN3pkZ21kL1lxSmdyUXFpcnZwV0NJR3luZkQ1Wi8zZmM2NTljNzZhY2Y2NTJiODQ2N2ZjMTg0NWJkYmViZC9iaWxsYm9hcmQtaGVhbHRoeS1pbnRlcm5ldC1oaWdoLXJlcy41NmZjMmM2NGM5NjgucG5nP3c9ODAwIiBhbHQ9IiIgY2xhc3M9Im16cC1jLXNwbGl0LW1lZGlhLWFzc2V0IiBsb2FkaW5nPSJsYXp5IiAvPgogIAogICAgICAgIDwvZGl2PgogICAgICAKICAgIAogICAgPGRpdiBjbGFzcz0ibXpwLWMtc3BsaXQtYm9keSBtenAtbC1zcGxpdC12LWNlbnRlciBtenAtbC1zcGxpdC1oLWNlbnRlciI+CiAgICAgIAoKICAgICAgICA8aDI+U3VwcG9ydCBhIGhlYWx0aHkgaW50ZXJuZXQuPC9oMj4KPHA+VGhlIG5vbi1wcm9maXQgTW96aWxsYSBGb3VuZGF0aW9uIHN1cHBvcnRzIG9ubGluZSBwcml2YWN5ICZhbXA7IHNlY3VyaXR5LCB0cnVzdHdvcnRoeSAKYXJ0aWZpY2lhbCBpbnRlbGxpZ2VuY2UgKEFJKSwgYWNjb3VudGFiaWxpdHkgZm9yIGJpZyB0ZWNoIGNvcnBvcmF0aW9ucywgYW5kIG1vcmUuPC9wPgo8cD48YSBocmVmPSJodHRwczovL2ZvdW5kYXRpb24ubW96aWxsYS5vcmcvP3V0bV9zb3VyY2U9d3d3Lm1vemlsbGEub3JnJmFtcDt1dG1fbWVkaXVtPXJlZmVycmFsJmFtcDt1dG1fY2FtcGFpZ249aG9tZSIgZGF0YS1jdGEtdHlwZT0ibGluayIgZGF0YS1jdGEtdGV4dD0iVmlzaXQgdGhlIE1vemlsbGEgRm91bmRhdGlvbiIgcmVsPSJleHRlcm5hbCBub29wZW5lciI+VmlzaXQgdGhlIE1vemlsbGEgRm91bmRhdGlvbjwvYT4KICAgICAgCiAgICAKICA8L3A+CgogICAgICAKICAgIDwvZGl2PgogICAgCiAgPC9kaXY+CiAgCiAgPC9kaXY+CiAgCjwvc2VjdGlvbj4KCiAgICAKCgoKCiAgPGRpdiBjbGFzcz0ibXpwLWwtY29udGVudCI+CiAgICA8YXNpZGUgY2xhc3M9Im16cC1jLW5ld3NsZXR0ZXIiPgogICAgICA8ZGl2IGNsYXNzPSJtenAtYy1uZXdzbGV0dGVyLWltYWdlIj4KICAgICAgICA8aW1nIGNsYXNzPSIiIHNyYz0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvaW1nL2hvbWUvMjAxOC9uZXdzbGV0dGVyLWdyYXBoaWMuM2RlYmIyNGZiYWNjLnBuZyIgc3Jjc2V0PSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvaG9tZS8yMDE4L25ld3NsZXR0ZXItZ3JhcGhpYy1oaWdoLXJlcy5kZmRkOGEwYThiNjgucG5nIDEuNXgiIGFsdD0iIj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJuZXdzbGV0dGVyLWNvbnRlbnQiPgogICAgICAgIAoKCgoKICA8Zm9ybSBpZD0ibmV3c2xldHRlci1mb3JtIiBjbGFzcz0ibXpwLWMtbmV3c2xldHRlci1mb3JtIiBhY3Rpb249Ii9lbi1VUy9uZXdzbGV0dGVyLyIgbWV0aG9kPSJwb3N0Ij4KICAgIAogICAgICA8ZGl2IGlkPSJuZXdzbGV0dGVyLWVycm9yLXN0cmluZ3MiIGRhdGEtZm9ybS1jaGVja2JveGVzLWVycm9yPSJQbGVhc2UgY2hlY2sgYXQgbGVhc3Qgb25lIG9mIHRoZSBuZXdzbGV0dGVyIG9wdGlvbnMuIj48L2Rpdj4KICAgIAogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic291cmNlX3VybCIgdmFsdWU9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2VuLVVTLyI+CgogICAgCiAgICA8aGVhZGVyIGNsYXNzPSJtenAtYy1uZXdzbGV0dGVyLWhlYWRlciI+CiAgICAgIDxoMyBjbGFzcz0ibXpwLWMtbmV3c2xldHRlci10aXRsZSI+TG92ZSB0aGUgV2ViPC9oMz4KICAgICAgPHAgY2xhc3M9Im16cC1jLW5ld3NsZXR0ZXItZGVzYyI+R2V0IHRoZSBNb3ppbGxhIG5ld3NsZXR0ZXJzIGFuZCBoZWxwIHVzIGtlZXAgdGhlIHdlYiBvcGVuIGFuZCBmcmVlLjwvcD4KICAgIDwvaGVhZGVyPgogICAgCgogICAgPGZpZWxkc2V0IGNsYXNzPSJtenAtYy1uZXdzbGV0dGVyLWNvbnRlbnQiPgogICAgICAKCiAgICAgIDxsYWJlbCBmb3I9ImlkX2VtYWlsIj4KICAgICAgCiAgICAgICAgWW91ciBlbWFpbCBhZGRyZXNzCiAgICAgIAogICAgICA8L2xhYmVsPgogICAgICAKICAgICAgICAKICAgICAgCiAgICAgIDxpbnB1dCB0eXBlPSJlbWFpbCIgbmFtZT0iZW1haWwiIHJlcXVpcmVkIHBsYWNlaG9sZGVyPSJ5b3VybmFtZUBleGFtcGxlLmNvbSIgY2xhc3M9Im16cC1qcy1lbWFpbC1maWVsZCIgaWQ9ImlkX2VtYWlsIj4KCiAgICAgIDxkaXYgaWQ9Im5ld3NsZXR0ZXItZGV0YWlscyIgY2xhc3M9Im16cC1jLW5ld3NsZXR0ZXItZGV0YWlscyI+CiAgICAgICAgCiAgICAgICAgICA8cD48c2VsZWN0IG5hbWU9ImNvdW50cnkiIHJlcXVpcmVkPSJyZXF1aXJlZCIgYXJpYS1yZXF1aXJlZD0idHJ1ZSIgaWQ9ImlkX2NvdW50cnkiPgogIDxvcHRpb24gdmFsdWU9ImFmIj5BZmdoYW5pc3Rhbjwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJxeiI+QWtyb3Rpcmk8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iYWwiPkFsYmFuaWE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iZHoiPkFsZ2VyaWE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iYXMiPkFtZXJpY2FuIFNhbW9hPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImFkIj5BbmRvcnJhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImFvIj5BbmdvbGE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iYWkiPkFuZ3VpbGxhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImFxIj5BbnRhcmN0aWNhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImFnIj5BbnRpZ3VhIGFuZCBCYXJidWRhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImFyIj5BcmdlbnRpbmE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iYW0iPkFybWVuaWE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iYXciPkFydWJhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InhhIj5Bc2htb3JlIGFuZCBDYXJ0aWVyIElzbGFuZHM8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iYXUiPkF1c3RyYWxpYTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJhdCI+QXVzdHJpYTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJheiI+QXplcmJhaWphbjwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJicyI+QmFoYW1hcywgVGhlPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImJoIj5CYWhyYWluPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InhiIj5CYWtlciBJc2xhbmQ8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iYmQiPkJhbmdsYWRlc2g8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iYmIiPkJhcmJhZG9zPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InFzIj5CYXNzYXMgZGEgSW5kaWE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iYnkiPkJlbGFydXM8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iYmUiPkJlbGdpdW08L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iYnoiPkJlbGl6ZTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJiaiI+QmVuaW48L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iYm0iPkJlcm11ZGE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iYnQiPkJodXRhbjwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJibyI+Qm9saXZpYTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJicSI+Qm9uYWlyZSwgU2ludCBFdXN0YXRpdXMsIGFuZCBTYWJhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImJhIj5Cb3NuaWEgYW5kIEhlcnplZ292aW5hPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImJ3Ij5Cb3Rzd2FuYTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJidiI+Qm91dmV0IElzbGFuZDwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJiciI+QnJhemlsPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImlvIj5Ccml0aXNoIEluZGlhbiBPY2VhbiBUZXJyaXRvcnk8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iYm4iPkJydW5laTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJiZyI+QnVsZ2FyaWE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iYmYiPkJ1cmtpbmEgRmFzbzwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJtbSI+QnVybWE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iYmkiPkJ1cnVuZGk8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iY3YiPkNhYm8gVmVyZGU8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ia2giPkNhbWJvZGlhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImNtIj5DYW1lcm9vbjwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJjYSI+Q2FuYWRhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Imt5Ij5DYXltYW4gSXNsYW5kczwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJjZiI+Q2VudHJhbCBBZnJpY2FuIFJlcHVibGljPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InRkIj5DaGFkPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImNsIj5DaGlsZTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJjbiI+Q2hpbmE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iY3giPkNocmlzdG1hcyBJc2xhbmQ8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iY3AiPkNsaXBwZXJ0b24gSXNsYW5kPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImNjIj5Db2NvcyAoS2VlbGluZykgSXNsYW5kczwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJjbyI+Q29sb21iaWE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ia20iPkNvbW9yb3M8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iY2ciPkNvbmdvIChCcmF6emF2aWxsZSk8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iY2QiPkNvbmdvIChLaW5zaGFzYSk8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iY2siPkNvb2sgSXNsYW5kczwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJ4YyI+Q29yYWwgU2VhIElzbGFuZHM8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iY3IiPkNvc3RhIFJpY2E8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iaHIiPkNyb2F0aWE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iY3UiPkN1YmE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iY3ciPkN1cmHDp2FvPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImN5Ij5DeXBydXM8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iY3oiPkN6ZWNoIFJlcHVibGljPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImNpIj5Dw7R0ZSBk4oCZSXZvaXJlPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImRrIj5EZW5tYXJrPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InhkIj5EaGVrZWxpYTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJkZyI+RGllZ28gR2FyY2lhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImRqIj5Eamlib3V0aTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJkbSI+RG9taW5pY2E8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iZG8iPkRvbWluaWNhbiBSZXB1YmxpYzwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJlYyI+RWN1YWRvcjwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJlZyI+RWd5cHQ8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ic3YiPkVsIFNhbHZhZG9yPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImdxIj5FcXVhdG9yaWFsIEd1aW5lYTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJlciI+RXJpdHJlYTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJlZSI+RXN0b25pYTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJldCI+RXRoaW9waWE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ieGUiPkV1cm9wYSBJc2xhbmQ8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iZmsiPkZhbGtsYW5kIElzbGFuZHMgKElzbGFzIE1hbHZpbmFzKTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJmbyI+RmFyb2UgSXNsYW5kczwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJmaiI+RmlqaTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJmaSI+RmlubGFuZDwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJmciI+RnJhbmNlPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImdmIj5GcmVuY2ggR3VpYW5hPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InBmIj5GcmVuY2ggUG9seW5lc2lhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InRmIj5GcmVuY2ggU291dGhlcm4gYW5kIEFudGFyY3RpYyBMYW5kczwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJnYSI+R2Fib248L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iZ20iPkdhbWJpYSwgVGhlPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InhnIj5HYXphIFN0cmlwPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImdlIj5HZW9yZ2lhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImRlIj5HZXJtYW55PC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImdoIj5HaGFuYTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJnaSI+R2licmFsdGFyPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InF4Ij5HbG9yaW9zbyBJc2xhbmRzPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImdyIj5HcmVlY2U8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iZ2wiPkdyZWVubGFuZDwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJnZCI+R3JlbmFkYTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJncCI+R3VhZGVsb3VwZTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJndSI+R3VhbTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJndCI+R3VhdGVtYWxhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImdnIj5HdWVybnNleTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJnbiI+R3VpbmVhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Imd3Ij5HdWluZWEtQmlzc2F1PC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Imd5Ij5HdXlhbmE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iaHQiPkhhaXRpPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImhtIj5IZWFyZCBJc2xhbmQgYW5kIE1jRG9uYWxkIElzbGFuZHM8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iaG4iPkhvbmR1cmFzPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImhrIj5Ib25nIEtvbmc8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ieGgiPkhvd2xhbmQgSXNsYW5kPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Imh1Ij5IdW5nYXJ5PC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImlzIj5JY2VsYW5kPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImluIj5JbmRpYTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJpZCI+SW5kb25lc2lhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImlyIj5JcmFuPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImlxIj5JcmFxPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImllIj5JcmVsYW5kPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImltIj5Jc2xlIG9mIE1hbjwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJpbCI+SXNyYWVsPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Iml0Ij5JdGFseTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJqbSI+SmFtYWljYTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJ4aiI+SmFuIE1heWVuPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImpwIj5KYXBhbjwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJ4cSI+SmFydmlzIElzbGFuZDwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJqZSI+SmVyc2V5PC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Inh1Ij5Kb2huc3RvbiBBdG9sbDwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJqbyI+Sm9yZGFuPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InF1Ij5KdWFuIGRlIE5vdmEgSXNsYW5kPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Imt6Ij5LYXpha2hzdGFuPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImtlIj5LZW55YTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJ4bSI+S2luZ21hbiBSZWVmPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImtpIj5LaXJpYmF0aTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJrcCI+S29yZWEsIE5vcnRoPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImtyIj5Lb3JlYSwgU291dGg8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ieGsiPktvc292bzwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJrdyI+S3V3YWl0PC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImtnIj5LeXJneXpzdGFuPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImxhIj5MYW9zPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Imx2Ij5MYXR2aWE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ibGIiPkxlYmFub248L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ibHMiPkxlc290aG88L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ibHIiPkxpYmVyaWE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ibHkiPkxpYnlhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImxpIj5MaWVjaHRlbnN0ZWluPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Imx0Ij5MaXRodWFuaWE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ibHUiPkx1eGVtYm91cmc8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ibW8iPk1hY2F1PC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Im1rIj5NYWNlZG9uaWE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ibWciPk1hZGFnYXNjYXI8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ibXciPk1hbGF3aTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJteSI+TWFsYXlzaWE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ibXYiPk1hbGRpdmVzPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Im1sIj5NYWxpPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Im10Ij5NYWx0YTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJtaCI+TWFyc2hhbGwgSXNsYW5kczwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJtcSI+TWFydGluaXF1ZTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJtciI+TWF1cml0YW5pYTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJtdSI+TWF1cml0aXVzPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Inl0Ij5NYXlvdHRlPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Im14Ij5NZXhpY288L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iZm0iPk1pY3JvbmVzaWEsIEZlZGVyYXRlZCBTdGF0ZXMgb2Y8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0icW0iPk1pZHdheSBJc2xhbmRzPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Im1kIj5Nb2xkb3ZhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Im1jIj5Nb25hY288L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ibW4iPk1vbmdvbGlhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Im1lIj5Nb250ZW5lZ3JvPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Im1zIj5Nb250c2VycmF0PC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Im1hIj5Nb3JvY2NvPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Im16Ij5Nb3phbWJpcXVlPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Im5hIj5OYW1pYmlhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Im5yIj5OYXVydTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJ4diI+TmF2YXNzYSBJc2xhbmQ8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ibnAiPk5lcGFsPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Im5sIj5OZXRoZXJsYW5kczwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJuYyI+TmV3IENhbGVkb25pYTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJueiI+TmV3IFplYWxhbmQ8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ibmkiPk5pY2FyYWd1YTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJuZSI+TmlnZXI8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ibmciPk5pZ2VyaWE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ibnUiPk5pdWU8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ibmYiPk5vcmZvbGsgSXNsYW5kPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Im1wIj5Ob3J0aGVybiBNYXJpYW5hIElzbGFuZHM8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ibm8iPk5vcndheTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJvbSI+T21hbjwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJwayI+UGFraXN0YW48L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0icHciPlBhbGF1PC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InhsIj5QYWxteXJhIEF0b2xsPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InBhIj5QYW5hbWE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0icGciPlBhcHVhIE5ldyBHdWluZWE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ieHAiPlBhcmFjZWwgSXNsYW5kczwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJweSI+UGFyYWd1YXk8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0icGUiPlBlcnU8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0icGgiPlBoaWxpcHBpbmVzPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InBuIj5QaXRjYWlybiBJc2xhbmRzPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InBsIj5Qb2xhbmQ8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0icHQiPlBvcnR1Z2FsPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InByIj5QdWVydG8gUmljbzwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJxYSI+UWF0YXI8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0icmUiPlJldW5pb248L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0icm8iPlJvbWFuaWE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0icnUiPlJ1c3NpYTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJydyI+UndhbmRhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImJsIj5TYWludCBCYXJ0aGVsZW15PC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InNoIj5TYWludCBIZWxlbmEsIEFzY2Vuc2lvbiwgYW5kIFRyaXN0YW4gZGEgQ3VuaGE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ia24iPlNhaW50IEtpdHRzIGFuZCBOZXZpczwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJsYyI+U2FpbnQgTHVjaWE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ibWYiPlNhaW50IE1hcnRpbjwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJwbSI+U2FpbnQgUGllcnJlIGFuZCBNaXF1ZWxvbjwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJ2YyI+U2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXM8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0id3MiPlNhbW9hPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InNtIj5TYW4gTWFyaW5vPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InN0Ij5TYW8gVG9tZSBhbmQgUHJpbmNpcGU8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ic2EiPlNhdWRpIEFyYWJpYTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJzbiI+U2VuZWdhbDwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJycyI+U2VyYmlhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InNjIj5TZXljaGVsbGVzPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InNsIj5TaWVycmEgTGVvbmU8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ic2ciPlNpbmdhcG9yZTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJzeCI+U2ludCBNYWFydGVuPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InNrIj5TbG92YWtpYTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJzaSI+U2xvdmVuaWE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ic2IiPlNvbG9tb24gSXNsYW5kczwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJzbyI+U29tYWxpYTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJ6YSI+U291dGggQWZyaWNhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImdzIj5Tb3V0aCBHZW9yZ2lhIGFuZCBTb3V0aCBTYW5kd2ljaCBJc2xhbmRzPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InNzIj5Tb3V0aCBTdWRhbjwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJlcyI+U3BhaW48L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ieHMiPlNwcmF0bHkgSXNsYW5kczwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJsayI+U3JpIExhbmthPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InNkIj5TdWRhbjwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJzciI+U3VyaW5hbWU8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ieHIiPlN2YWxiYXJkPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InN6Ij5Td2F6aWxhbmQ8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ic2UiPlN3ZWRlbjwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJjaCI+U3dpdHplcmxhbmQ8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0ic3kiPlN5cmlhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InR3Ij5UYWl3YW48L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0idGoiPlRhamlraXN0YW48L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0idHoiPlRhbnphbmlhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InRoIj5UaGFpbGFuZDwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJ0bCI+VGltb3ItTGVzdGU8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0idGciPlRvZ288L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0idGsiPlRva2VsYXU8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0idG8iPlRvbmdhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InR0Ij5UcmluaWRhZCBhbmQgVG9iYWdvPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9Inh0Ij5Ucm9tZWxpbiBJc2xhbmQ8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0idG4iPlR1bmlzaWE8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0idHIiPlR1cmtleTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJ0bSI+VHVya21lbmlzdGFuPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InRjIj5UdXJrcyBhbmQgQ2FpY29zIElzbGFuZHM8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0idHYiPlR1dmFsdTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJ1ZyI+VWdhbmRhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InVhIj5Va3JhaW5lPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImFlIj5Vbml0ZWQgQXJhYiBFbWlyYXRlczwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJnYiI+VW5pdGVkIEtpbmdkb208L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0idXMiIHNlbGVjdGVkPlVuaXRlZCBTdGF0ZXM8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0idXkiPlVydWd1YXk8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0idXoiPlV6YmVraXN0YW48L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0idnUiPlZhbnVhdHU8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0idmEiPlZhdGljYW4gQ2l0eTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJ2ZSI+VmVuZXp1ZWxhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InZuIj5WaWV0bmFtPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InZnIj5WaXJnaW4gSXNsYW5kcywgQnJpdGlzaDwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJ2aSI+VmlyZ2luIElzbGFuZHMsIFUuUy48L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0icXciPldha2UgSXNsYW5kPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9IndmIj5XYWxsaXMgYW5kIEZ1dHVuYTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJ4dyI+V2VzdCBCYW5rPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImVoIj5XZXN0ZXJuIFNhaGFyYTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJ5ZSI+WWVtZW48L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0iem0iPlphbWJpYTwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJ6dyI+WmltYmFid2U8L29wdGlvbj4KCjwvc2VsZWN0PjwvcD4KICAgICAgICAKCiAgICAgICAgCiAgICAgICAgICA8cD48c2VsZWN0IG5hbWU9ImxhbmciIHJlcXVpcmVkPSJyZXF1aXJlZCIgYXJpYS1yZXF1aXJlZD0idHJ1ZSIgaWQ9ImlkX2xhbmciPgogIDxvcHRpb24gdmFsdWU9ImlkIj5CYWhhc2EgSW5kb25lc2lhPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImRlIj5EZXV0c2NoPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImVuIiBzZWxlY3RlZD5FbmdsaXNoPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9ImVzIj5Fc3Bhw7FvbDwvb3B0aW9uPgoKICA8b3B0aW9uIHZhbHVlPSJmciI+RnJhbsOnYWlzPC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InBsIj5Qb2xza2k8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0icHQiPlBvcnR1Z3XDqnM8L29wdGlvbj4KCiAgPG9wdGlvbiB2YWx1ZT0icnUiPtCg0YPRgdGB0LrQuNC5PC9vcHRpb24+CgogIDxvcHRpb24gdmFsdWU9InpoLVRXIj7mraPpq5TkuK3mloc8L29wdGlvbj4KCjwvc2VsZWN0PjwvcD4KICAgICAgICAKCiAgICAgICAgCiAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9Im16cC11LWlubGluZSI+CiAgICAgICAgICAgIDxsZWdlbmQ+SSB3YW50IGluZm9ybWF0aW9uIGFib3V0OjwvbGVnZW5kPgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9ImlkX25ld3NsZXR0ZXJzXzAiIGNsYXNzPSJtenAtdS1pbmxpbmUiPgogICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9Im5ld3NsZXR0ZXJzIiB2YWx1ZT0ibW96aWxsYS1mb3VuZGF0aW9uIiBpZD0iaWRfbmV3c2xldHRlcnNfMCIgY2hlY2tlZD4gTW96aWxsYSBGb3VuZGF0aW9uCiAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iaWRfbmV3c2xldHRlcnNfMSIgY2xhc3M9Im16cC11LWlubGluZSI+CiAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ibmV3c2xldHRlcnMiIHZhbHVlPSJtb3ppbGxhLWFuZC15b3UiIGlkPSJpZF9uZXdzbGV0dGVyc18xIiBjaGVja2VkPiBGaXJlZm94CiAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgIAogICAgICAgICAgICA8L3A+CiAgICAgICAgICA8L2ZpZWxkc2V0PgogICAgICAgIAoKICAgICAgICA8ZmllbGRzZXQgY2xhc3M9Im16cC11LWlubGluZSI+CiAgICAgICAgICA8bGVnZW5kPkZvcm1hdDwvbGVnZW5kPgogICAgICAgICAgPHA+CiAgICAgICAgICAgIDxsYWJlbCBmb3I9ImZvcm1hdC1odG1sIiBjbGFzcz0ibXpwLXUtaW5saW5lIj4KICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJmb3JtYXQtaHRtbCIgbmFtZT0iZm10IiB2YWx1ZT0iSCIgY2hlY2tlZD4gSFRNTAogICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICA8bGFiZWwgZm9yPSJmb3JtYXQtdGV4dCIgY2xhc3M9Im16cC11LWlubGluZSI+CiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBpZD0iZm9ybWF0LXRleHQiIG5hbWU9ImZtdCIgdmFsdWU9IlQiPiBUZXh0CiAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICA8L3A+CiAgICAgICAgPC9maWVsZHNldD4KCiAgICAgICAgPHA+CiAgICAgICAgICA8bGFiZWwgZm9yPSJwcml2YWN5IiBjbGFzcz0ibXpwLXUtaW5saW5lIj4KICAgICAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0icHJpdmFjeSIgbmFtZT0icHJpdmFjeSIgcmVxdWlyZWQgYXJpYS1yZXF1aXJlZD0idHJ1ZSI+IEnigJltIG9rYXkgd2l0aCBNb3ppbGxhIGhhbmRsaW5nIG15IGluZm8gYXMgZXhwbGFpbmVkIGluIDxhIGhyZWY9Ii9lbi1VUy9wcml2YWN5L3dlYnNpdGVzLyI+dGhpcyBQcml2YWN5IE5vdGljZTwvYT4KICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgPC9wPgogICAgICA8L2Rpdj4KCiAgICAgIDxwIGNsYXNzPSJtenAtYy1mb3JtLXN1Ym1pdCI+CiAgICAgICAgPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIGlkPSJuZXdzbGV0dGVyLXN1Ym1pdCIgY2xhc3M9Im16cC1jLWJ1dHRvbiBidXR0b24tZGFyayIgZGF0YS1jdGEtdHlwZT0iTmV3c2xldHRlci1tb3ppbGxhLWZpcmVmb3gtbXVsdGkiIGRhdGEtY3RhLXRleHQ9Ik5ld3NsZXR0ZXIgU2lnbiBVcCI+CiAgICAgICAgICAKICAgICAgICAgICAgU2lnbiBVcCBOb3cKICAgICAgICAgIAogICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAKICAgICAgPC9wPgogICAgPC9maWVsZHNldD4KICA8L2Zvcm0+CgogIDxkaXYgaWQ9Im5ld3NsZXR0ZXItdGhhbmtzIiBjbGFzcz0ibXpwLWMtbmV3c2xldHRlci10aGFua3MiPgogICAgCiAgICAgIAogIDxoMz5UaGFua3MhPC9oMz4KICA8cD5JZiB5b3UgaGF2ZW7igJl0IHByZXZpb3VzbHkgY29uZmlybWVkIGEgc3Vic2NyaXB0aW9uIHRvIGEgTW96aWxsYS1yZWxhdGVkIG5ld3NsZXR0ZXIsIHlvdSBtYXkgaGF2ZSB0byBkbyBzby4gUGxlYXNlIGNoZWNrIHlvdXIgaW5ib3ggb3IgeW91ciBzcGFtIGZpbHRlciBmb3IgYW4gZW1haWwgZnJvbSB1cy48L3A+CgogICAgCiAgPC9kaXY+CgoKICAgICAgPC9kaXY+CiAgICA8L2FzaWRlPgogIDwvZGl2PgoKPGRpdiBpZD0iZG93bmxvYWQtZmlyZWZveC1zZWNvbmRhcnktY3RhIiBjbGFzcz0iYy1zZWNvbmRhcnktY3RhIGRvd25sb2FkLWZpcmVmb3gtc2Vjb25kYXJ5LWN0YSBtenAtdC1maXJlZm94IG16cC10LWRhcmsiPgogIDxkaXYgY2xhc3M9Im16cC1sLWNvbnRlbnQiPgogICAgPGRpdiBjbGFzcz0iYy1zZWNvbmRhcnktY3RhLWNvbnRlbnQiPgogICAgICA8aDIgY2xhc3M9ImMtc2Vjb25kYXJ5LWN0YS10aXRsZSI+UHJpdmFjeSBvdmVyIHByb2ZpdDwvaDI+CiAgICAgIDxwIGNsYXNzPSJjLXNlY29uZGFyeS1jdGEtdGFnbGluZSI+Tm8gc2hhcmVob2xkZXJzLiBObyBkYXRhIGZvciBzYWxlLjwvcD4KICAgICAgPGRpdiBjbGFzcz0iYy1zZWNvbmRhcnktY3RhLWJ1dHRvbiI+CiAgICAgICAgCiAgCgo8ZGl2IGlkPSJkb3dubG9hZC1zZWNvbmRhcnkiIGNsYXNzPSJtenAtYy1idXR0b24tZG93bmxvYWQtY29udGFpbmVyIGMtYnV0dG9uLWRvd25sb2FkLXRoYW5rcyI+CiAgPCEtLVtpZiAhSUVdPjwhLS0+CiAgPGEgaHJlZj0iL2ZpcmVmb3gvZG93bmxvYWQvdGhhbmtzLyIKICAgICBjbGFzcz0iZG93bmxvYWQtbGluayBtenAtYy1idXR0b24gbXpwLXQtcHJvZHVjdCBtenAtdC14bCIKICAgICBkYXRhLWRpcmVjdC1saW5rPSJodHRwczovL2Rvd25sb2FkLm1vemlsbGEub3JnLz9wcm9kdWN0PWZpcmVmb3gtc3R1YiZhbXA7b3M9d2luJmFtcDtsYW5nPWVuLVVTIgogICAgIGRhdGEtbGluay10eXBlPSJkb3dubG9hZCIKICAgICBkYXRhLWRvd25sb2FkLWxvY2F0aW9uPSJzZWNvbmRhcnkgY3RhIj4KICAgIAogICAgICBEb3dubG9hZCBGaXJlZm94CiAgICAKICA8L2E+CiAgPCEtLTwhW2VuZGlmXS0tPgoKICAKICA8IS0tW2lmIElFXT4KICAgIDxhIGhyZWY9Imh0dHBzOi8vZG93bmxvYWQubW96aWxsYS5vcmcvP3Byb2R1Y3Q9ZmlyZWZveC1zdHViJm9zPXdpbiZsYW5nPWVuLVVTIgogICAgICBjbGFzcz0iZG93bmxvYWQtbGluayBtenAtYy1idXR0b24gbXpwLXQtcHJvZHVjdCBtenAtdC14bCIKICAgICAgZGF0YS1saW5rLXR5cGU9ImRvd25sb2FkIiBkYXRhLWRvd25sb2FkLW9zPSJEZXNrdG9wIiBkYXRhLWRpc3BsYXktbmFtZT0iV2luZG93cyAzMi1iaXQiIGRhdGEtZG93bmxvYWQtdmVyc2lvbj0id2luIgogICAgICBkYXRhLWRvd25sb2FkLWxvY2F0aW9uPSJzZWNvbmRhcnkgY3RhIj4KICAgICAgCiAgICAgICAgRG93bmxvYWQgRmlyZWZveAogICAgICAKICAgIDwvYT4KICA8IVtlbmRpZl0tLT4KCiAgPHNtYWxsIGNsYXNzPSJtenAtYy1idXR0b24tZG93bmxvYWQtcHJpdmFjeS1saW5rIj4KICAgIDxhIGhyZWY9Ii9lbi1VUy9wcml2YWN5L2ZpcmVmb3gvIj4KICAgICAgRmlyZWZveCBQcml2YWN5IE5vdGljZQogICAgPC9hPgogIDwvc21hbGw+CjwvZGl2PgoKICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+Cgo8c2VjdGlvbiBjbGFzcz0ibXpwLWMtY2FsbC1vdXQtY29tcGFjdCBmeGFjY291bnQtc2Vjb25kYXJ5LWN0YSBtenAtdC1wcm9kdWN0LWZpcmVmb3ggbXpwLXQtZmlyZWZveCBtenAtdC1kYXJrIGhpZGUtZnJvbS1sZWdhY3ktaWUiPgogIDxkaXYgY2xhc3M9Im16cC1sLWNvbnRlbnQiPgogICAgPGRpdiBjbGFzcz0ibXpwLWMtY2FsbC1vdXQtY29udGVudCI+CiAgICAgIDxkaXYgY2xhc3M9Im16cC1jLWNhbGwtb3V0LWNvbnRhaW5lciI+CiAgICAgICAgPGgyIGNsYXNzPSJtenAtYy1jYWxsLW91dC10aXRsZSI+QSBGaXJlZm94IEFjY291bnQgcHJvdGVjdHMgeW91IHJhdGhlciB0aGFuIHByb2ZpdHMgb2ZmIHlvdS48L2gyPgogICAgICAgIAogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibXpwLWMtY2FsbC1vdXQtY3RhIj4KICAgICAgPGRpdiBjbGFzcz0ibXpwLWMtY2FsbC1vdXQtY3RhLWNvbnRhaW5lciI+CiAgICAgICAgCiAgPGEgaHJlZj0iL2VuLVVTL2ZpcmVmb3gvYWNjb3VudHMvIiBjbGFzcz0ibXpwLWMtYnV0dG9uIG16cC10LXByb2R1Y3QgbXpwLXQtZGFyayIgaWQ9ImZ4YS1sZWFybi1zZWNvbmRhcnkiPkxlYXJuIG1vcmU8L2E+CgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8L21haW4+CgoKICAgICAgCiAgCgoKCjxmb290ZXIgY2xhc3M9Im16cC1jLWZvb3RlciAiIGlkPSJjb2xvcGhvbiI+CiAgPGRpdiBjbGFzcz0ibXpwLWwtY29udGVudCI+CiAgICA8bmF2IGNsYXNzPSJtenAtYy1mb290ZXItcHJpbWFyeSI+CiAgICAgIDxkaXYgY2xhc3M9Im16cC1jLWZvb3Rlci1wcmltYXJ5LWxvZ28iPgogICAgICAgIDxhIGhyZWY9Ii9lbi1VUy8iIGRhdGEtbGluay10eXBlPSJmb290ZXIiIGRhdGEtbGluay1uYW1lPSJNb3ppbGxhIj5Nb3ppbGxhPC9hPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibXpwLWMtZm9vdGVyLXNlY3Rpb25zIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ibXpwLWMtZm9vdGVyLXNlY3Rpb24iPgogICAgICAgICAgPGg1IGNsYXNzPSJtenAtYy1mb290ZXItaGVhZGluZyI+CiAgICAgICAgICAgIENvbXBhbnkKICAgICAgICAgIDwvaDU+CiAgICAgICAgICA8dWwgY2xhc3M9Im16cC1jLWZvb3Rlci1saXN0Ij4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9lbi1VUy9hYm91dC9tYW5pZmVzdG8vIiBkYXRhLWxpbmstdHlwZT0iZm9vdGVyIiBkYXRhLWxpbmstbmFtZT0iTW96aWxsYSBNYW5pZmVzdG8iPk1vemlsbGEgTWFuaWZlc3RvPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2Jsb2cubW96aWxsYS5vcmcvcHJlc3MvP3V0bV9zb3VyY2U9d3d3Lm1vemlsbGEub3JnJmFtcDt1dG1fbWVkaXVtPXJlZmVycmFsJmFtcDt1dG1fY2FtcGFpZ249Zm9vdGVyJnV0bV9jb250ZW50PWNvbXBhbnkiIGRhdGEtbGluay10eXBlPSJmb290ZXIiIGRhdGEtbGluay1uYW1lPSJQcmVzcyBDZW50ZXIiPlByZXNzIENlbnRlcjwvYT48L2xpPgogICAgICAgICAgCiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2Jsb2cubW96aWxsYS5vcmcvP3V0bV9zb3VyY2U9d3d3Lm1vemlsbGEub3JnJmFtcDt1dG1fbWVkaXVtPXJlZmVycmFsJmFtcDt1dG1fY2FtcGFpZ249Zm9vdGVyJnV0bV9jb250ZW50PWNvbXBhbnkiIGRhdGEtbGluay10eXBlPSJmb290ZXIiIGRhdGEtbGluay1uYW1lPSJDb3Jwb3JhdGUgQmxvZyI+Q29ycG9yYXRlIEJsb2c8L2E+PC9saT4KICAgICAgICAgIAogICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2VuLVVTL2NhcmVlcnMvIiBkYXRhLWxpbmstdHlwZT0iZm9vdGVyIiBkYXRhLWxpbmstbmFtZT0iQ2FyZWVycyI+Q2FyZWVyczwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2VuLVVTL2NvbnRhY3QvIiBkYXRhLWxpbmstdHlwZT0iZm9vdGVyIiBkYXRhLWxpbmstbmFtZT0iQ29udGFjdCI+Q29udGFjdDwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kb25hdGUubW96aWxsYS5vcmcvZW4tVVMvP3ByZXNldHM9NTAsMzAsMjAsMTAmYW1wO2Ftb3VudD0zMCZhbXA7dXRtX3NvdXJjZT1tb3ppbGxhLm9yZyZhbXA7dXRtX21lZGl1bT1yZWZlcnJhbCZhbXA7dXRtX2NvbnRlbnQ9Y29tcGFueSZhbXA7Y3VycmVuY3k9dXNkJnV0bV9jYW1wYWlnbj1mb290ZXIiIGRhdGEtbGluay10eXBlPSJmb290ZXIiIGRhdGEtbGluay1uYW1lPSJEb25hdGUiPkRvbmF0ZTwvYT48L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJtenAtYy1mb290ZXItc2VjdGlvbiI+CiAgICAgICAgICA8aDUgY2xhc3M9Im16cC1jLWZvb3Rlci1oZWFkaW5nIj4KICAgICAgICAgICAgUmVzb3VyY2VzCiAgICAgICAgICA8L2g1PgogICAgICAgICAgPHVsIGNsYXNzPSJtenAtYy1mb290ZXItbGlzdCI+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSIvZW4tVVMvcHJpdmFjeS8iIGRhdGEtbGluay10eXBlPSJmb290ZXIiIGRhdGEtbGluay1uYW1lPSJQcml2YWN5IEh1YiI+UHJpdmFjeSBIdWI8L2E+PC9saT4KICAgICAgICAgIAogICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2VuLVVTL2ZpcmVmb3gvYnJvd3NlcnMvY29tcGFyZS8iIGRhdGEtbGluay10eXBlPSJmb290ZXIiIGRhdGEtbGluay1uYW1lPSJCcm93c2VyIENvbXBhcmlzb24iPkJyb3dzZXIgQ29tcGFyaXNvbjwvYT48L2xpPgogICAgICAgICAgCiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL21vemlsbGEuZGVzaWduLz91dG1fc291cmNlPXd3dy5tb3ppbGxhLm9yZyZhbXA7dXRtX21lZGl1bT1yZWZlcnJhbCZhbXA7dXRtX2NhbXBhaWduPWZvb3RlciZ1dG1fY29udGVudD1yZXNvdXJjZXMiIGRhdGEtbGluay10eXBlPSJmb290ZXIiIGRhdGEtbGluay1uYW1lPSJCcmFuZCBTdGFuZGFyZHMiPkJyYW5kIFN0YW5kYXJkczwvYT48L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJtenAtYy1mb290ZXItc2VjdGlvbiI+CiAgICAgICAgICA8aDUgY2xhc3M9Im16cC1jLWZvb3Rlci1oZWFkaW5nIj4KICAgICAgICAgICAgU3VwcG9ydAogICAgICAgICAgPC9oNT4KICAgICAgICAgIDx1bCBjbGFzcz0ibXpwLWMtZm9vdGVyLWxpc3QiPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9zdXBwb3J0Lm1vemlsbGEub3JnLz91dG1fc291cmNlPXd3dy5tb3ppbGxhLm9yZyZhbXA7dXRtX21lZGl1bT1yZWZlcnJhbCZhbXA7dXRtX2NhbXBhaWduPWZvb3RlciZ1dG1fY29udGVudD1zdXBwb3J0IiBkYXRhLWxpbmstdHlwZT0iZm9vdGVyIiBkYXRhLWxpbmstbmFtZT0iUHJvZHVjdCBIZWxwIj5Qcm9kdWN0IEhlbHA8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvP3V0bV9zb3VyY2U9d3d3Lm1vemlsbGEub3JnJmFtcDt1dG1fbWVkaXVtPXJlZmVycmFsJmFtcDt1dG1fY2FtcGFpZ249Zm9vdGVyJnV0bV9jb250ZW50PXN1cHBvcnQiIGRhdGEtbGluay10eXBlPSJmb290ZXIiIGRhdGEtbGluay1uYW1lPSJGaWxlIGEgQnVnIj5GaWxlIGEgQnVnPC9hPjwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9Im16cC1jLWZvb3Rlci1zZWN0aW9uIj4KICAgICAgICAgIDxoNSBjbGFzcz0ibXpwLWMtZm9vdGVyLWhlYWRpbmciPgogICAgICAgICAgICBEZXZlbG9wZXJzCiAgICAgICAgICA8L2g1PgogICAgICAgICAgPHVsIGNsYXNzPSJtenAtYy1mb290ZXItbGlzdCI+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSIvZW4tVVMvZmlyZWZveC9kZXZlbG9wZXIvIiBkYXRhLWxpbmstdHlwZT0iZm9vdGVyIiBkYXRhLWxpbmstbmFtZT0iRmlyZWZveCBEZXZlbG9wZXIgRWRpdGlvbiI+RGV2ZWxvcGVyIEVkaXRpb248L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9lbi1VUy9maXJlZm94L2NoYW5uZWwvZGVza3RvcC8jYmV0YSIgZGF0YS1saW5rLXR5cGU9ImZvb3RlciIgZGF0YS1saW5rLW5hbWU9IkZpcmVmb3ggQmV0YSI+QmV0YTwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2VuLVVTL2ZpcmVmb3gvY2hhbm5lbC9hbmRyb2lkLyNiZXRhIiBkYXRhLWxpbmstdHlwZT0iZm9vdGVyIiBkYXRhLWxpbmstbmFtZT0iRmlyZWZveCBCZXRhIGZvciBBbmRyb2lkIj5CZXRhIGZvciBBbmRyb2lkPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSIvZW4tVVMvZmlyZWZveC9jaGFubmVsL2Rlc2t0b3AvI25pZ2h0bHkiIGRhdGEtbGluay10eXBlPSJmb290ZXIiIGRhdGEtbGluay1uYW1lPSJGaXJlZm94IE5pZ2h0bHkiPk5pZ2h0bHk8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9lbi1VUy9maXJlZm94L2NoYW5uZWwvYW5kcm9pZC8jbmlnaHRseSIgZGF0YS1saW5rLXR5cGU9ImZvb3RlciIgZGF0YS1saW5rLW5hbWU9IkZpcmVmb3ggTmlnaHRseSBmb3IgQW5kcm9pZCI+TmlnaHRseSBmb3IgQW5kcm9pZDwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iL2VuLVVTL2ZpcmVmb3gvZW50ZXJwcmlzZS8iIGRhdGEtbGluay10eXBlPSJmb290ZXIiIGRhdGEtbGluay1uYW1lPSJGaXJlZm94IGZvciBFbnRlcnByaXNlIj5FbnRlcnByaXNlPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2ZpcmVmb3gtc291cmNlLWRvY3MubW96aWxsYS5vcmcvZGV2dG9vbHMtdXNlci8/dXRtX3NvdXJjZT13d3cubW96aWxsYS5vcmcmYW1wO3V0bV9tZWRpdW09cmVmZXJyYWwmYW1wO3V0bV9jYW1wYWlnbj1mb290ZXImdXRtX2NvbnRlbnQ9ZGV2ZWxvcGVycyIgcmVsPSJleHRlcm5hbCIgZGF0YS1saW5rLXR5cGU9ImZvb3RlciIgZGF0YS1saW5rLW5hbWU9IlRvb2xzIj5Ub29sczwvYT48L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJtenAtYy1mb290ZXItc2VjdGlvbiI+CiAgICAgICAgICA8aDUgY2xhc3M9Im16cC1jLWZvb3Rlci1oZWFkaW5nLXNvY2lhbCI+Rm9sbG93IEBNb3ppbGxhPC9oNT4KICAgICAgICAgIDx1bCBjbGFzcz0ibXpwLWMtZm9vdGVyLWxpbmtzLXNvY2lhbCI+CiAgICAgICAgICAgIDxsaT48YSBjbGFzcz0idHdpdHRlciIgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9tb3ppbGxhIiBkYXRhLWxpbmstdHlwZT0iZm9vdGVyIiBkYXRhLWxpbmstbmFtZT0iVHdpdHRlciAoQG1vemlsbGEpIj5Ud2l0dGVyPHNwYW4+IChAbW96aWxsYSk8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBjbGFzcz0iaW5zdGFncmFtIiBocmVmPSJodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL21vemlsbGEvIiBkYXRhLWxpbmstdHlwZT0iZm9vdGVyIiBkYXRhLWxpbmstbmFtZT0iSW5zdGFncmFtIChAbW96aWxsYSkiPkluc3RhZ3JhbTxzcGFuPiAoQG1vemlsbGEpPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgY2xhc3M9ImxpbmtlZGluIiBocmVmPSJodHRwczovL3d3dy5saW5rZWRpbi5jb20vY29tcGFueS9tb3ppbGxhLWNvcnBvcmF0aW9uLyIgZGF0YS1saW5rLXR5cGU9ImZvb3RlciIgZGF0YS1saW5rLW5hbWU9IkxpbmtlZEluIChAbW96aWxsYSkiPkxpbmtlZEluPHNwYW4+IChAbW96aWxsYSk8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBjbGFzcz0idGlrdG9rIiBocmVmPSJodHRwczovL3d3dy50aWt0b2suY29tL0Btb3ppbGxhIiBkYXRhLWxpbmstdHlwZT0iZm9vdGVyIiBkYXRhLWxpbmstbmFtZT0iVGlrVG9rIChAbW96aWxsYSkiPlRpa1RvazxzcGFuPiAoQG1vemlsbGEpPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgY2xhc3M9InNwb3RpZnkiIGhyZWY9Imh0dHBzOi8vb3Blbi5zcG90aWZ5LmNvbS9zaG93LzB2VDdMSk1lVkR4eVEyWmFtSEt1MDg/c2k9X3VEUkQ2YlJSXzZNNVlaeUlTR1hnQSIgZGF0YS1saW5rLXR5cGU9ImZvb3RlciIgZGF0YS1saW5rLW5hbWU9IlNwb3RpZnkgKEBtb3ppbGxhKSI+U3BvdGlmeTxzcGFuPiAoQG1vemlsbGEpPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgPC91bD4KCiAgICAgICAgICA8aDUgY2xhc3M9Im16cC1jLWZvb3Rlci1oZWFkaW5nLXNvY2lhbCI+Rm9sbG93IEBGaXJlZm94PC9oNT4KICAgICAgICAgIDx1bCBjbGFzcz0ibXpwLWMtZm9vdGVyLWxpbmtzLXNvY2lhbCI+CiAgICAgICAgICAgIDxsaT48YSBjbGFzcz0idHdpdHRlciIgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9maXJlZm94IiBkYXRhLWxpbmstdHlwZT0iZm9vdGVyIiBkYXRhLWxpbmstbmFtZT0iVHdpdHRlciAoQGZpcmVmb3gpIj5Ud2l0dGVyPHNwYW4+IChAZmlyZWZveCk8L3NwYW4+PC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBjbGFzcz0iaW5zdGFncmFtIiBocmVmPSJodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL2ZpcmVmb3gvIiBkYXRhLWxpbmstdHlwZT0iZm9vdGVyIiBkYXRhLWxpbmstbmFtZT0iSW5zdGFncmFtIChAZmlyZWZveCkiPkluc3RhZ3JhbTxzcGFuPiAoQGZpcmVmb3gpPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgY2xhc3M9InlvdXR1YmUiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3VzZXIvZmlyZWZveGNoYW5uZWwiIGRhdGEtbGluay10eXBlPSJmb290ZXIiIGRhdGEtbGluay1uYW1lPSJZb3VUdWJlIChAZmlyZWZveGNoYW5uZWwpIj5Zb3VUdWJlPHNwYW4+IChAZmlyZWZveGNoYW5uZWwpPC9zcGFuPjwvYT48L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L3NlY3Rpb24+CiAgICAgIDwvZGl2PgogICAgPC9uYXY+CiAgICA8bmF2IGNsYXNzPSJtenAtYy1mb290ZXItc2Vjb25kYXJ5Ij4KICAgICAgPGRpdiBjbGFzcz0ibXpwLWMtZm9vdGVyLWxhbmd1YWdlIj4KICAgICAgIAoKCiAgPGZvcm0gaWQ9ImxhbmdfZm9ybSIgY2xhc3M9Im16cC1jLWxhbmd1YWdlLXN3aXRjaGVyIiBtZXRob2Q9ImdldCIgYWN0aW9uPSIjIj4KICAgIDxhIGNsYXNzPSJtenAtYy1sYW5ndWFnZS1zd2l0Y2hlci1saW5rIiBocmVmPSIvbG9jYWxlcy8iPkxhbmd1YWdlPC9hPgogICAgPGxhYmVsIGZvcj0icGFnZS1sYW5ndWFnZS1zZWxlY3QiPkxhbmd1YWdlPC9sYWJlbD4KICAgIDxzZWxlY3QgaWQ9InBhZ2UtbGFuZ3VhZ2Utc2VsZWN0IiBjbGFzcz0ibXpwLWpzLWxhbmd1YWdlLXN3aXRjaGVyLXNlbGVjdCIgbmFtZT0ibGFuZyIgZGlyPSJsdHIiPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9ImFuIiB2YWx1ZT0iYW4iPmFyYWdvbsOpczwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9ImFyIiB2YWx1ZT0iYXIiPti52LHYqNmKPC9vcHRpb24+CiAgICAgIAogICAgICAgIDxvcHRpb24gbGFuZz0iYXN0IiB2YWx1ZT0iYXN0Ij5Bc3R1cmlhbnU8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJheiIgdmFsdWU9ImF6Ij5BesmZcmJheWNhbmNhPC9vcHRpb24+CiAgICAgIAogICAgICAgIDxvcHRpb24gbGFuZz0iYmUiIHZhbHVlPSJiZSI+0JHQtdC70LDRgNGD0YHQutCw0Y88L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJiZyIgdmFsdWU9ImJnIj7QkdGK0LvQs9Cw0YDRgdC60Lg8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJibiIgdmFsdWU9ImJuIj7gpqzgpr7gpoLgprLgpr48L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJicyIgdmFsdWU9ImJzIj5Cb3NhbnNraTwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9ImNhIiB2YWx1ZT0iY2EiPkNhdGFsw6A8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJjYWsiIHZhbHVlPSJjYWsiPk1heWEgS2FxY2hpa2VsPC9vcHRpb24+CiAgICAgIAogICAgICAgIDxvcHRpb24gbGFuZz0iY3MiIHZhbHVlPSJjcyI+xIxlxaF0aW5hPC9vcHRpb24+CiAgICAgIAogICAgICAgIDxvcHRpb24gbGFuZz0iY3kiIHZhbHVlPSJjeSI+Q3ltcmFlZzwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9ImRhIiB2YWx1ZT0iZGEiPkRhbnNrPC9vcHRpb24+CiAgICAgIAogICAgICAgIDxvcHRpb24gbGFuZz0iZGUiIHZhbHVlPSJkZSI+RGV1dHNjaDwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9ImRzYiIgdmFsdWU9ImRzYiI+RG9sbm9zZXJixaHEh2luYTwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9ImVsIiB2YWx1ZT0iZWwiPs6VzrvOu863zr3Ouc66zqw8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJlbi1DQSIgdmFsdWU9ImVuLUNBIj5FbmdsaXNoIChDYW5hZGlhbik8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJlbi1HQiIgdmFsdWU9ImVuLUdCIj5FbmdsaXNoIChCcml0aXNoKTwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9ImVuLVVTIiB2YWx1ZT0iZW4tVVMiIHNlbGVjdGVkPkVuZ2xpc2g8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJlbyIgdmFsdWU9ImVvIj5Fc3BlcmFudG88L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJlcy1BUiIgdmFsdWU9ImVzLUFSIj5Fc3Bhw7FvbCAoZGUgQXJnZW50aW5hKTwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9ImVzLUNMIiB2YWx1ZT0iZXMtQ0wiPkVzcGHDsW9sIChkZSBDaGlsZSk8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJlcy1FUyIgdmFsdWU9ImVzLUVTIj5Fc3Bhw7FvbCAoZGUgRXNwYcOxYSk8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJlcy1NWCIgdmFsdWU9ImVzLU1YIj5Fc3Bhw7FvbCAoZGUgTcOpeGljbyk8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJldCIgdmFsdWU9ImV0Ij5FZXN0aSBrZWVsPC9vcHRpb24+CiAgICAgIAogICAgICAgIDxvcHRpb24gbGFuZz0iZXUiIHZhbHVlPSJldSI+RXVza2FyYTwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9ImZhIiB2YWx1ZT0iZmEiPtmB2KfYsdiz24w8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJmaSIgdmFsdWU9ImZpIj5zdW9taTwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9ImZyIiB2YWx1ZT0iZnIiPkZyYW7Dp2Fpczwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9ImZ5LU5MIiB2YWx1ZT0iZnktTkwiPkZyeXNrPC9vcHRpb24+CiAgICAgIAogICAgICAgIDxvcHRpb24gbGFuZz0iZ2QiIHZhbHVlPSJnZCI+R8OgaWRobGlnPC9vcHRpb24+CiAgICAgIAogICAgICAgIDxvcHRpb24gbGFuZz0iZ2wiIHZhbHVlPSJnbCI+R2FsZWdvPC9vcHRpb24+CiAgICAgIAogICAgICAgIDxvcHRpb24gbGFuZz0iZ24iIHZhbHVlPSJnbiI+QXZhw7FlJ+G6vTwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9Imd1LUlOIiB2YWx1ZT0iZ3UtSU4iPuCql+CrgeCqnOCqsOCqvuCqpOCrgCAo4Kqt4Kq+4Kqw4KqkKTwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9ImhpLUlOIiB2YWx1ZT0iaGktSU4iPuCkueCkv+CkqOCljeCkpuClgCAo4KSt4KS+4KSw4KSkKTwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9ImhyIiB2YWx1ZT0iaHIiPkhydmF0c2tpPC9vcHRpb24+CiAgICAgIAogICAgICAgIDxvcHRpb24gbGFuZz0iaHNiIiB2YWx1ZT0iaHNiIj5Ib3Juam9zZXJic2NlPC9vcHRpb24+CiAgICAgIAogICAgICAgIDxvcHRpb24gbGFuZz0iaHUiIHZhbHVlPSJodSI+bWFneWFyPC9vcHRpb24+CiAgICAgIAogICAgICAgIDxvcHRpb24gbGFuZz0iaHktQU0iIHZhbHVlPSJoeS1BTSI+1YDVodW11aXWgNWl1bY8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJpYSIgdmFsdWU9ImlhIj5JbnRlcmxpbmd1YTwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9ImlkIiB2YWx1ZT0iaWQiPkJhaGFzYSBJbmRvbmVzaWE8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJpdCIgdmFsdWU9Iml0Ij5JdGFsaWFubzwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9ImphIiB2YWx1ZT0iamEiPuaXpeacrOiqnjwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9ImthIiB2YWx1ZT0ia2EiPuGDpeGDkOGDoOGDl+GDo+GDmuGDmDwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9ImthYiIgdmFsdWU9ImthYiI+VGFxYmF5bGl0PC9vcHRpb24+CiAgICAgIAogICAgICAgIDxvcHRpb24gbGFuZz0ia28iIHZhbHVlPSJrbyI+7ZWc6rWt7Ja0PC9vcHRpb24+CiAgICAgIAogICAgICAgIDxvcHRpb24gbGFuZz0ibGlqIiB2YWx1ZT0ibGlqIj5MaWd1cmU8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJsdCIgdmFsdWU9Imx0Ij5MaWV0dXZpxbM8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJtbCIgdmFsdWU9Im1sIj7gtK7gtLLgtK/gtL7gtLPgtII8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJtciIgdmFsdWU9Im1yIj7gpK7gpLDgpL7gpKDgpYA8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJtcyIgdmFsdWU9Im1zIj5NZWxheXU8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJteSIgdmFsdWU9Im15Ij7hgJnhgLzhgJThgLrhgJnhgKzhgJjhgKzhgJ7hgKw8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJuYi1OTyIgdmFsdWU9Im5iLU5PIj5Ob3JzayBib2ttw6VsPC9vcHRpb24+CiAgICAgIAogICAgICAgIDxvcHRpb24gbGFuZz0ibmwiIHZhbHVlPSJubCI+TmVkZXJsYW5kczwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9Im5uLU5PIiB2YWx1ZT0ibm4tTk8iPk5vcnNrIG55bm9yc2s8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJwYS1JTiIgdmFsdWU9InBhLUlOIj7gqKrgqbDgqJzgqL7gqKzgqYAgKOCoreCovuCosOCopCk8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJwbCIgdmFsdWU9InBsIj5Qb2xza2k8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJwdC1CUiIgdmFsdWU9InB0LUJSIj5Qb3J0dWd1w6pzIChkb8KgQnJhc2lsKTwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9InB0LVBUIiB2YWx1ZT0icHQtUFQiPlBvcnR1Z3XDqnMgKEV1cm9wZXUpPC9vcHRpb24+CiAgICAgIAogICAgICAgIDxvcHRpb24gbGFuZz0icm0iIHZhbHVlPSJybSI+cnVtYW50c2NoPC9vcHRpb24+CiAgICAgIAogICAgICAgIDxvcHRpb24gbGFuZz0icm8iIHZhbHVlPSJybyI+Um9tw6JuxIM8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJydSIgdmFsdWU9InJ1Ij7QoNGD0YHRgdC60LjQuTwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9InNjbyIgdmFsdWU9InNjbyI+U2NvdHM8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJzayIgdmFsdWU9InNrIj5zbG92ZW7EjWluYTwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9InNsIiB2YWx1ZT0ic2wiPlNsb3ZlbsWhxI1pbmE8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJzcSIgdmFsdWU9InNxIj5TaHFpcDwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9InNyIiB2YWx1ZT0ic3IiPtCh0YDQv9GB0LrQuDwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9InN2LVNFIiB2YWx1ZT0ic3YtU0UiPlN2ZW5za2E8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJ0YSIgdmFsdWU9InRhIj7grqTgrq7grr/grrTgr408L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJ0aCIgdmFsdWU9InRoIj7guYTguJfguKI8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJ0ciIgdmFsdWU9InRyIj5Uw7xya8OnZTwvb3B0aW9uPgogICAgICAKICAgICAgICA8b3B0aW9uIGxhbmc9InRycyIgdmFsdWU9InRycyI+VHJpcXVpPC9vcHRpb24+CiAgICAgIAogICAgICAgIDxvcHRpb24gbGFuZz0idWsiIHZhbHVlPSJ1ayI+0KPQutGA0LDRl9C90YHRjNC60LA8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJ1ciIgdmFsdWU9InVyIj7Yp9mP2LHYr9mIPC9vcHRpb24+CiAgICAgIAogICAgICAgIDxvcHRpb24gbGFuZz0idmkiIHZhbHVlPSJ2aSI+VGnhur9uZyBWaeG7h3Q8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJ6aC1DTiIgdmFsdWU9InpoLUNOIj7kuK3mlocgKOeugOS9kyk8L29wdGlvbj4KICAgICAgCiAgICAgICAgPG9wdGlvbiBsYW5nPSJ6aC1UVyIgdmFsdWU9InpoLVRXIj7mraPpq5TkuK3mlocgKOe5gemrlCk8L29wdGlvbj4KICAgICAgCiAgICA8L3NlbGVjdD4KICAgIDxidXR0b24gdHlwZT0ic3VibWl0Ij5HbzwvYnV0dG9uPgogIDwvZm9ybT4KCiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJtenAtYy1mb290ZXItbGVnYWwiPgogICAgICAgIDx1bCBjbGFzcz0ibXpwLWMtZm9vdGVyLXRlcm1zIj4KICAgICAgICAgIDxsaT48YSBocmVmPSIvZW4tVVMvcHJpdmFjeS93ZWJzaXRlcy8iIGRhdGEtbGluay10eXBlPSJmb290ZXIiIGRhdGEtbGluay1uYW1lPSJQcml2YWN5Ij5XZWJzaXRlIFByaXZhY3kgTm90aWNlPC9hPjwvbGk+CiAgICAgICAgICA8bGk+PGEgaHJlZj0iL2VuLVVTL3ByaXZhY3kvd2Vic2l0ZXMvI3VzZXItY2hvaWNlcyIgZGF0YS1saW5rLXR5cGU9ImZvb3RlciIgZGF0YS1saW5rLW5hbWU9IkNvb2tpZXMiPkNvb2tpZXM8L2E+PC9saT4KICAgICAgICAgIDxsaT48YSBocmVmPSIvZW4tVVMvYWJvdXQvbGVnYWwvIiBkYXRhLWxpbmstdHlwZT0iZm9vdGVyIiBkYXRhLWxpbmstbmFtZT0iTGVnYWwiPkxlZ2FsPC9hPjwvbGk+CiAgICAgICAgICA8bGk+PGEgaHJlZj0iL2VuLVVTL2Fib3V0L2dvdmVybmFuY2UvcG9saWNpZXMvcGFydGljaXBhdGlvbi8iIGRhdGEtbGluay10eXBlPSJmb290ZXIiIGRhdGEtbGluay1uYW1lPSJDb21tdW5pdHkgUGFydGljaXBhdGlvbiBHdWlkZWxpbmVzIj5Db21tdW5pdHkgUGFydGljaXBhdGlvbiBHdWlkZWxpbmVzPC9hPjwvbGk+CiAgICAgICAgPC91bD4KICAgICAgICA8cCBjbGFzcz0ibXpwLWMtZm9vdGVyLWxpY2Vuc2UiIHJlbD0ibGljZW5zZSI+CiAgICAgICAgICAKICAgICAgICAgIAogICAgICAgICAgVmlzaXQgPGEgaHJlZj0iL2VuLVVTLyIgZGF0YS1saW5rLXR5cGU9ImZvb3RlciIgZGF0YS1saW5rLW5hbWU9Ik1vemlsbGEgQ29ycG9yYXRpb24iPk1vemlsbGEgQ29ycG9yYXRpb27igJlzPC9hPiBub3QtZm9yLXByb2ZpdCBwYXJlbnQsIHRoZSA8YSBocmVmPSJodHRwczovL2ZvdW5kYXRpb24ubW96aWxsYS5vcmcvP3V0bV9zb3VyY2U9d3d3Lm1vemlsbGEub3JnJnV0bV9tZWRpdW09cmVmZXJyYWwmdXRtX2NhbXBhaWduPWZvb3RlciIgcmVsPSJleHRlcm5hbCBub29wZW5lciIgZGF0YS1saW5rLXR5cGU9ImZvb3RlciIgZGF0YS1saW5rLW5hbWU9Ik1vemlsbGEgRm91bmRhdGlvbiI+TW96aWxsYSBGb3VuZGF0aW9uPC9hPi48YnI+CiAgICAgICAgICBQb3J0aW9ucyBvZiB0aGlzIGNvbnRlbnQgYXJlIMKpMTk5OOKAkzIwMjIgYnkgaW5kaXZpZHVhbCBtb3ppbGxhLm9yZyBjb250cmlidXRvcnMuIENvbnRlbnQgYXZhaWxhYmxlIHVuZGVyIGEgPGEgcmVsPSJsaWNlbnNlIiBocmVmPSIvZW4tVVMvZm91bmRhdGlvbi9saWNlbnNpbmcvd2Vic2l0ZS1jb250ZW50LyI+Q3JlYXRpdmUgQ29tbW9ucyBsaWNlbnNlPC9hPi4KICAgICAgICA8L3A+CiAgICAgIDwvZGl2PgogICAgPC9uYXY+CiAgPC9kaXY+CjwvZm9vdGVyPgoKCiAgICAgIAoKICAgICAgCiAgICAgIAogIAogICAgCgoKCgoKPGFzaWRlIGNsYXNzPSJjLWJhbm5lciBoaWRlLWZyb20tbGVnYWN5LWllIG16cC10LWZpcmVmb3ggdC1uYXRpdmUiIGlkPSJmaXJlZm94LWFwcC1zdG9yZS1iYW5uZXIiPgogIAogIDxkaXYgY2xhc3M9ImMtYmFubmVyLWlubmVyIiBkYXRhLW5vc25pcHBldD0idHJ1ZSI+CiAgICA8ZGl2IGNsYXNzPSJtenAtbC1jb250ZW50Ij4KICAgICAgPGRpdiBjbGFzcz0iYy1iYW5uZXItbWFpbiI+CiAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImMtYmFubmVyLWNsb3NlIj48c3Bhbj5DbG9zZTwvc3Bhbj48L2J1dHRvbj4KICAgICAgICAgICAgPGltZyBjbGFzcz0iYy1iYW5uZXItaWNvbiIgc3JjPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvYmFubmVycy9tb2JpbGUvYXBwLWljb24tNTEyLjc4MmJmNGFhNzdmZC5qcGciIHdpZHRoPSI1NyIgaGVpZ2h0PSI1NyIgYWx0PSIiIC8+CiAgICAgICAgICA8ZGl2IGNsYXNzPWMtYmFubmVyLWNvcHk+CiAgICAgICAgICAgIDxoMiBjbGFzcz0iYy1iYW5uZXItdGl0bGUiPkZpcmVmb3g6IFByaXZhdGUsIFNhZmUgQnJvd3NlcjwvaDI+CiAgICAgICAgICAgIDxwPk1vemlsbGE8L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJzaG93LWFuZHJvaWQiPkZyZWUg4oCTIEluIEdvb2dsZSBQbGF5PC9wPgogICAgICAgICAgICA8cCBjbGFzcz0ic2hvdy1pb3MiPkZyZWUg4oCTIEluIHRoZSBBcHAgU3RvcmU8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxhIGNsYXNzPSJjLWJhbm5lci1idXR0b24gc2hvdy1hbmRyb2lkIiBocmVmPSJodHRwczovL2FwcC5hZGp1c3QuY29tLzJ1bzFxYz9yZWRpcmVjdD1odHRwcyUzQSUyRiUyRnBsYXkuZ29vZ2xlLmNvbSUyRnN0b3JlJTJGYXBwcyUyRmRldGFpbHMlM0ZpZCUzRG9yZy5tb3ppbGxhLmZpcmVmb3gmYW1wO2NhbXBhaWduPXd3dy5tb3ppbGxhLm9yZyZhbXA7YWRncm91cD1hcHAtc3RvcmUtYmFubmVyIiBkYXRhLWxpbmstdHlwZT0iZG93bmxvYWQiIGRhdGEtZG93bmxvYWQtb3M9IkFuZHJvaWQiIGRhdGEtZG93bmxvYWQtbG9jYXRpb249IkJhbm5lciI+VmlldzwvYT4KICAgICAgICAgIDxhIGNsYXNzPSJjLWJhbm5lci1saW5rIHNob3ctaW9zIiBocmVmPSJodHRwczovL2FwcC5hZGp1c3QuY29tLzJ1bzFxYz9yZWRpcmVjdD1odHRwcyUzQSUyRiUyRml0dW5lcy5hcHBsZS5jb20lMkZ1cyUyRmFwcCUyRmZpcmVmb3gtcHJpdmF0ZS1zYWZlLWJyb3dzZXIlMkZpZDk4OTgwNDkyNiZhbXA7Y2FtcGFpZ249d3d3Lm1vemlsbGEub3JnJmFtcDthZGdyb3VwPWFwcC1zdG9yZS1iYW5uZXIiIGRhdGEtbGluay10eXBlPSJkb3dubG9hZCIgZGF0YS1kb3dubG9hZC1vcz0iaU9TIiBkYXRhLWRvd25sb2FkLWxvY2F0aW9uPSJCYW5uZXIiPlZpZXc8L2E+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CjwvYXNpZGU+CgogIAoKICAgIDwvZGl2PgoKICAgIAogICAgCiAgICAgIAogICAgICAgIDwhLS1baWYgIUlFXT48IS0tPgogICAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvanMvc2VudHJ5LjFkYTg0M2FlOWQ0Yy5qcyIgY2hhcnNldD0idXRmLTgiPjwvc2NyaXB0PgogICAgICAgIDwhLS08IVtlbmRpZl0tLT4KICAgICAgCiAgICAKCiAgICAKICAgICAgPCEtLVtpZiAhSUVdPjwhLS0+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvanMvbGliLjVjMGZiMzMxNmY4MS5qcyIgY2hhcnNldD0idXRmLTgiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2pzL3VpLjJmOGZiMGI1NDg2NC5qcyIgY2hhcnNldD0idXRmLTgiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2pzL2Z4YS4zNDY1OTQ1ZGNiMWMuanMiIGNoYXJzZXQ9InV0Zi04Ij48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9qcy9kYXRhLmViMmU5YjUzYjUzNS5qcyIgY2hhcnNldD0idXRmLTgiPjwvc2NyaXB0PgogICAgICA8IS0tPCFbZW5kaWZdLS0+CiAgICAKCiAgICAKICAgIAogICAgICAKICAgICAgICA8IS0tW2lmICFJRV0+PCEtLT4KICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2pzL3N0dWItYXR0cmlidXRpb24uMDY1NDlhMzZiOWE3LmpzIiBjaGFyc2V0PSJ1dGYtOCI+PC9zY3JpcHQ+CiAgICAgICAgPCEtLTwhW2VuZGlmXS0tPgoKICAgICAgICA8IS0tW2lmIGd0ZSBJRSA4XT4KICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2pzL3N0dWItYXR0cmlidXRpb24taWUuZTYxMjAxZDdmNTQ0LmpzIiBjaGFyc2V0PSJ1dGYtOCI+PC9zY3JpcHQ+CiAgICAgICAgPCFbZW5kaWZdLS0+CiAgICAgIAogICAgCgogICAgPCEtLVtpZiAhSUVdPjwhLS0+CiAgICAKICAKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2pzL2dsZWFuLmM5NzM1NGIxZWFjOC5qcyIgY2hhcnNldD0idXRmLTgiPjwvc2NyaXB0PgogIAoKCiAgICAKICAKCgoKICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9qcy9ob21lLWNvbnRlbnRmdWwuMjQwYTNmMDc2NTg1LmpzIiBjaGFyc2V0PSJ1dGYtOCI+PC9zY3JpcHQ+CgogIAogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvanMvZmlyZWZveC1hcHAtc3RvcmUtYmFubmVyLjQzYTYxNjIxZjRkNi5qcyIgY2hhcnNldD0idXRmLTgiPjwvc2NyaXB0PgogIAoKCiAgICAKICAgICAgPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj4KICAgIAogICAgCiAgewogICJAY29udGV4dCI6ICJodHRwOi8vc2NoZW1hLm9yZyIsCiAgIkB0eXBlIjogIk9yZ2FuaXphdGlvbiIsCiAgIkBpZCI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy8jb3JnYW5pemF0aW9uIiwKICAibmFtZSI6ICJNb3ppbGxhIiwKICAiYWx0ZXJuYXRlTmFtZSI6ICJNb0NvIiwKICAibGVnYWxOYW1lIjogIk1vemlsbGEgQ29ycG9yYXRpb24iLAogICJkZXNjcmlwdGlvbiI6ICJNb3ppbGxhIG1ha2VzIGJyb3dzZXJzLCBhcHBzLCBjb2RlIGFuZCB0b29scyB0aGF0IHB1dCBwZW9wbGUgYmVmb3JlIHByb2ZpdC4gT3VyIG1pc3Npb246IEtlZXAgdGhlIGludGVybmV0IG9wZW4gYW5kIGFjY2Vzc2libGUgdG8gYWxsLiIsCiAgInVybCI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9lbi1VUy8iLAogICJsb2dvIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9tb3pvcmcvbW96aWxsYS0yNTYuNDcyMDc0MWQ0MTA4LmpwZyIsCiAgImRpdmVyc2l0eVBvbGljeSI6ICJodHRwczovL2Jsb2cubW96aWxsYS5vcmcvaW5jbHVzaW9uL21vemlsbGEtd29ya3BsYWNlLXRyYW5zaXRpb24tcG9saWN5LWd1aWRlbGluZXMvIiwKICAiZXRoaWNzUG9saWN5IjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2VuLVVTL2Fib3V0L21hbmlmZXN0by8iLAogICJmb3VuZGluZ0RhdGUiOiAiMjAwNS0wOC0wMyIsCiAgImZvdW5kZXIiOiAiTWl0Y2hlbGwgQmFrZXIiLAogICJzYW1lQXMiOiBbCiAgICAiaHR0cHM6Ly93d3cud2lraWRhdGEub3JnL3dpa2kvUTE2OTkyNSIsCiAgICAiaHR0cHM6Ly90d2l0dGVyLmNvbS9tb3ppbGxhIiwKICAgICJodHRwczovL3d3dy5mYWNlYm9vay5jb20vbW96aWxsYSIsCiAgICAiaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEiLAogICAgImh0dHBzOi8vd3d3Lmluc3RhZ3JhbS5jb20vbW96aWxsYS8iLAogICAgImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3VzZXIvTW96aWxsYSIsCiAgICAiaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTW96aWxsYV9Db3Jwb3JhdGlvbiIsCiAgICAiaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2NvbXBhbnkvbW96aWxsYS1jb3Jwb3JhdGlvbiIKICBdLAogICJicmFuZCI6IFsKICB7CiAgICAiQHR5cGUiOiAiYnJhbmQiLAogICAgIkBpZCI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy8jbW96aWxsYSIsCiAgICAidXJsIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2VuLVVTLyIsCiAgICAibG9nbyI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvbW96b3JnL21vemlsbGEtMjU2LjQ3MjA3NDFkNDEwOC5qcGciLAogICAgIm5hbWUiOiAiTW96aWxsYSIsCiAgICAic2FtZUFzIjogWyJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Nb3ppbGxhIiwgImh0dHBzOi8vd3d3Lndpa2lkYXRhLm9yZy93aWtpL1E5NjYxIl0KICB9LAogIHsKICAgICJAdHlwZSI6ICJicmFuZCIsCiAgICAiQGlkIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnLyNmaXJlZm94YnJhbmQiLAogICAgInVybCI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9lbi1VUy9maXJlZm94LyIsCiAgICAibG9nbyI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvc3RydWN0dXJlZC1kYXRhL2xvZ28tZmlyZWZveC1icmFuZC43YmEzY2U4OGU2NjUucG5nIiwKICAgICJuYW1lIjogIkZpcmVmb3giLAogICAgInNhbWVBcyI6IFsKICAgICAgImh0dHBzOi8vdHdpdHRlci5jb20vZmlyZWZveCIsCiAgICAgICJodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL2ZpcmVmb3gvIiwKICAgICAgImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2ZpcmVmb3giCiAgICBdCiAgfV0sCiAgIm93bnMiOiBbCiAgewogICAgIkB0eXBlIjogIlByb2R1Y3QiLAogICAgIkBpZCI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy8jZmlyZWZveGFuZHJvaWQiLAogICAgInVybCI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9lbi1VUy9maXJlZm94L2Jyb3dzZXJzL21vYmlsZS9hbmRyb2lkLyIsCiAgICAibG9nbyI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvc3RydWN0dXJlZC1kYXRhL2xvZ28tZmlyZWZveC1icm93c2VyLmZiYzdmZmJiNTBmZC5wbmciLAogICAgImltYWdlIjogWwogICAgICAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvaW1nL3N0cnVjdHVyZWQtZGF0YS9icm93c2VyLWFuZHJvaWQtMS43NTE2YWZjY2E3MTAuanBnIiwKICAgICAgImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9zdHJ1Y3R1cmVkLWRhdGEvYnJvd3Nlci1hbmRyb2lkLTIuOTBkNDM2YmMzZTM1LmpwZyIsCiAgICAgICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvc3RydWN0dXJlZC1kYXRhL2Jyb3dzZXItYW5kcm9pZC0zLjUzODRhYWFkMTY1OS5qcGciCiAgICBdLAogICAgIm5hbWUiOiAiRmlyZWZveCBCcm93c2VyIEFuZHJvaWQiLAogICAgImFsdGVybmF0ZU5hbWUiOiBbCiAgICAgICJGaXJlZm94IEFuZHJvaWQiLAogICAgICAiRmlyZWZveCBCcm93c2VyIGZvciBBbmRyb2lkIiwKICAgICAgIkZpcmVmb3ggZm9yIEFuZHJvaWQiCiAgICBdLAogICAgImJyYW5kIjoKICAgIHsKICAgICAgIkBpZCI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy8jZmlyZWZveGJyYW5kIgogICAgfSwKICAgICJzYW1lQXMiOiBbCiAgICAgICJodHRwczovL3d3dy53aWtpZGF0YS5vcmcvd2lraS9RNTUwMzE1IiwKICAgICAgImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0ZpcmVmb3hfZm9yX0FuZHJvaWQiLAogICAgICAiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPW9yZy5tb3ppbGxhLmZpcmVmb3gmaGw9ZW4iCiAgICBdLAogICAgIm9mZmVycyI6CiAgICB7CiAgICAgICJAdHlwZSI6ICJPZmZlciIsCiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPW9yZy5tb3ppbGxhLmZpcmVmb3gmaGw9ZW4iLAogICAgICAicHJpY2VDdXJyZW5jeSI6ICJVU0QiLAogICAgICAicHJpY2UiOiAiMCIsCiAgICAgICJhdmFpbGFiaWxpdHkiOiAiaHR0cHM6Ly9zY2hlbWEub3JnL0luU3RvY2siCiAgICB9CiAgfSwKICB7CiAgICAiQHR5cGUiOiAiUHJvZHVjdCIsCiAgICAiQGlkIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnLyNmaXJlZm94YmV0YSIsCiAgICAidXJsIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2VuLVVTL2ZpcmVmb3gvY2hhbm5lbC9kZXNrdG9wLyIsCiAgICAibG9nbyI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvc3RydWN0dXJlZC1kYXRhL2xvZ28tZmlyZWZveC1iZXRhLmZkZGM1YTE4NWQ5Ny5wbmciLAogICAgImltYWdlIjogWwogICAgICAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvaW1nL3N0cnVjdHVyZWQtZGF0YS9icm93c2VyLWJldGEtMS4yY2ViZjNmODI2M2YucG5nIiwKICAgICAgImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9zdHJ1Y3R1cmVkLWRhdGEvYnJvd3Nlci1iZXRhLTIuZjJhMTA0ZDFjMWU4LnBuZyIsCiAgICAgICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvc3RydWN0dXJlZC1kYXRhL2Jyb3dzZXItYmV0YS0zLmE3MGRiMmRmZGU1Ny5wbmciCiAgICBdLAogICAgIm5hbWUiOiAiRmlyZWZveCBCcm93c2VyIEJldGEiLAogICAgImFsdGVybmF0ZU5hbWUiOiBbCiAgICAgICJGaXJlZm94IEJldGEiLAogICAgICAiRmlyZWZveCBCZXRhIEJyb3dzZXIiCiAgICBdLAogICAgImJyYW5kIjoKICAgIHsKICAgICAgIkBpZCI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy8jZmlyZWZveGJyYW5kIgogICAgfSwKICAgICJzYW1lQXMiOiBbCiAgICAgICJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9b3JnLm1vemlsbGEuZmlyZWZveF9iZXRhJmhsPWVuIgogICAgXSwKICAgICJvZmZlcnMiOgogICAgewogICAgICAiQHR5cGUiOiAiT2ZmZXIiLAogICAgICAidXJsIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2VuLVVTL2ZpcmVmb3gvY2hhbm5lbC9kZXNrdG9wLyIsCiAgICAgICJwcmljZUN1cnJlbmN5IjogIlVTRCIsCiAgICAgICJwcmljZSI6ICIwIiwKICAgICAgImF2YWlsYWJpbGl0eSI6ICJodHRwczovL3NjaGVtYS5vcmcvSW5TdG9jayIKICAgIH0KICB9LAogIHsKICAgICJAdHlwZSI6ICJQcm9kdWN0IiwKICAgICJAaWQiOiAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvI2ZpcmVmb3hicm93c2VyIiwKICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvZW4tVVMvZmlyZWZveC9uZXcvIiwKICAgICJsb2dvIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9zdHJ1Y3R1cmVkLWRhdGEvbG9nby1maXJlZm94LWJyb3dzZXIuZmJjN2ZmYmI1MGZkLnBuZyIsCiAgICAiaW1hZ2UiOiBbCiAgICAgICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvc3RydWN0dXJlZC1kYXRhL2Jyb3dzZXItMS45NTEyMTJiNzBmYmUucG5nIiwKICAgICAgImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9maXJlZm94L25ldy9iYXNpYy9icm93c2VyLXdpbmRvdy5jMGRiZmYxOTY4ZDYuc3ZnIiwKICAgICAgImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9zdHJ1Y3R1cmVkLWRhdGEvYnJvd3Nlci0zLmE3MGRiMmRmZGU1Ny5wbmciCiAgICBdLAogICAgIm5hbWUiOiAiRmlyZWZveCBCcm93c2VyIiwKICAgICJhbHRlcm5hdGVOYW1lIjogWwogICAgICAiRmlyZWZveCBEZXNrdG9wIiwKICAgICAgIkZpcmVmb3ggQnJvd3NlciBmb3IgRGVza3RvcCIsCiAgICAgICJNb3ppbGxhIEZpcmVmb3giCiAgICBdLAogICAgImJyYW5kIjoKICAgIHsKICAgICAgIkBpZCI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy8jZmlyZWZveGJyYW5kIgogICAgfSwKICAgICJzYW1lQXMiOiBbCiAgICAgICJodHRwczovL3d3dy53aWtpZGF0YS5vcmcvd2lraS9RNjk4IiwKICAgICAgImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0ZpcmVmb3giCiAgICBdLAogICAgIm9mZmVycyI6CiAgICB7CiAgICAgICJAdHlwZSI6ICJPZmZlciIsCiAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvZW4tVVMvZmlyZWZveC9uZXcvIiwKICAgICAgInByaWNlQ3VycmVuY3kiOiAiVVNEIiwKICAgICAgInByaWNlIjogIjAiLAogICAgICAiYXZhaWxhYmlsaXR5IjogImh0dHBzOi8vc2NoZW1hLm9yZy9JblN0b2NrIgogICAgfQogIH0sCiAgewogICAgIkB0eXBlIjogIlByb2R1Y3QiLAogICAgIkBpZCI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy8jZmlyZWZveGRldmVsb3BlciIsCiAgICAidXJsIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2VuLVVTL2ZpcmVmb3gvZGV2ZWxvcGVyLyIsCiAgICAibG9nbyI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvc3RydWN0dXJlZC1kYXRhL2xvZ28tZmlyZWZveC1kZXZlbG9wZXIuOGFlZGM4MDI4ZTRkLnBuZyIsCiAgICAiaW1hZ2UiOiBbCiAgICAgICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvZmlyZWZveC9kZXZlbG9wZXIvaGVyby1zY3JlZW5zaG90LWhpZ2gtcmVzLjQ1ZmJlY2ZlZWNiYS5wbmciLAogICAgICAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvcHJvdG9jb2wvaW1nL2xvZ29zL2ZpcmVmb3gvYnJvd3Nlci9kZXZlbG9wZXIvb2cuMGU1ZDU5Njg2ODA1LnBuZyIsCiAgICAgICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvZmlyZWZveC9kZXZlbG9wZXIvaGVyby1kZWJ1Z2dlci1hbmkuN2UwNGQ5NWU3NmVhLmdpZiIKICAgIF0sCiAgICAibmFtZSI6ICJGaXJlZm94IEJyb3dzZXIgRGV2ZWxvcGVyIEVkaXRpb24gIiwKICAgICJhbHRlcm5hdGVOYW1lIjogWwogICAgICAiRmlyZWZveCBEZXZlbG9wZXIgRWRpdGlvbiIsCiAgICAgICJGaXJlZm94IERldmVsb3BlciBFZGl0aW9uIEJyb3dzZXIiCiAgICBdLAogICAgImJyYW5kIjoKICAgIHsKICAgICAgIkBpZCI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy8jZmlyZWZveGJyYW5kIgogICAgfSwKICAgICJzYW1lQXMiOiBbCiAgICAgICJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GaXJlZm94X0RldmVsb3Blcl9FZGl0aW9uIgogICAgXSwKICAgICJvZmZlcnMiOgogICAgewogICAgICAiQHR5cGUiOiAiT2ZmZXIiLAogICAgICAidXJsIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2VuLVVTL2ZpcmVmb3gvZGV2ZWxvcGVyLyIsCiAgICAgICJwcmljZUN1cnJlbmN5IjogIlVTRCIsCiAgICAgICJwcmljZSI6ICIwIiwKICAgICAgImF2YWlsYWJpbGl0eSI6ICJodHRwczovL3NjaGVtYS5vcmcvSW5TdG9jayIKICAgIH0KICB9LAogIHsKICAgICJAdHlwZSI6ICJQcm9kdWN0IiwKICAgICJAaWQiOiAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvI2ZpcmVmb3hlbnRlcnByaXNlIiwKICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvZW4tVVMvZmlyZWZveC9lbnRlcnByaXNlLyIsCiAgICAibG9nbyI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvc3RydWN0dXJlZC1kYXRhL2xvZ28tZmlyZWZveC1icm93c2VyLmZiYzdmZmJiNTBmZC5wbmciLAogICAgImltYWdlIjogWwogICAgICAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvaW1nL2ZpcmVmb3gvZW50ZXJwcmlzZS9meC1icm93c2VyLWltZy5lYjZiN2U5ODU3ZGEuc3ZnIiwKICAgICAgImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9zdHJ1Y3R1cmVkLWRhdGEvYnJvd3Nlci1lbnRlcnByaXNlLTEuMjUyYzJiOGJkZDZkLnBuZyIsCiAgICAgICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvc3RydWN0dXJlZC1kYXRhL2Jyb3dzZXItZW50ZXJwcmlzZS0yLmExNzllZWU5ODMwMS5wbmciCiAgICBdLAogICAgIm5hbWUiOiAiRmlyZWZveCBCcm93c2VyIEVudGVycHJpc2UiLAogICAgImFsdGVybmF0ZU5hbWUiOiBbCiAgICAgICJGaXJlZm94IGZvciBFbnRlcnByaXNlIiwKICAgICAgIkZpcmVmb3ggQnJvd3NlciBmb3IgRW50ZXJwcmlzZSIKICAgIF0sCiAgICAiYnJhbmQiOgogICAgewogICAgICAiQGlkIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnLyNmaXJlZm94YnJhbmQiCiAgICB9LAogICAgInNhbWVBcyI6IFsKICAgICAgImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9cG5RVU9GZ2ozb0EiCiAgICBdLAogICAgIm9mZmVycyI6CiAgICB7CiAgICAgICJAdHlwZSI6ICJPZmZlciIsCiAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvZW4tVVMvZmlyZWZveC9lbnRlcnByaXNlLyIsCiAgICAgICJwcmljZUN1cnJlbmN5IjogIlVTRCIsCiAgICAgICJwcmljZSI6ICIwIiwKICAgICAgImF2YWlsYWJpbGl0eSI6ICJodHRwczovL3NjaGVtYS5vcmcvSW5TdG9jayIKICAgIH0KICB9LAogIHsKICAgICJAdHlwZSI6ICJQcm9kdWN0IiwKICAgICJAaWQiOiAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvI2ZpcmVmb3hmaXJldHYiLAogICAgInVybCI6ICJodHRwczovL3N1cHBvcnQubW96aWxsYS5vcmcvZW4tVVMva2IvZmlyZWZveC1maXJlLXR2IiwKICAgICJsb2dvIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9zdHJ1Y3R1cmVkLWRhdGEvbG9nby1maXJlZm94LWJyb3dzZXIuZmJjN2ZmYmI1MGZkLnBuZyIsCiAgICAiaW1hZ2UiOiBbCiAgICAgICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvc3RydWN0dXJlZC1kYXRhL2Jyb3dzZXItdHYtMS5jNzVmODVjMmE3YmEucG5nIiwKICAgICAgImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9zdHJ1Y3R1cmVkLWRhdGEvYnJvd3Nlci10di0yLmEyOGI3YTc5NGRlNS5wbmciLAogICAgICAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvaW1nL3N0cnVjdHVyZWQtZGF0YS9icm93c2VyLXR2LTMuZjgxM2Q0MTgzNzMyLnBuZyIKICAgIF0sCiAgICAibmFtZSI6ICJGaXJlZm94IEJyb3dzZXIgRmlyZSBUViIsCiAgICAiYWx0ZXJuYXRlTmFtZSI6IFsKICAgICAgIkZpcmVmb3ggZm9yIEZpcmUgVFYiLAogICAgICAiRmlyZWZveCBCcm93c2VyIGZvciBGaXJlIFRWIgogICAgXSwKICAgICJicmFuZCI6CiAgICB7CiAgICAgICJAaWQiOiAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvI2ZpcmVmb3hicmFuZCIKICAgIH0sCiAgICAic2FtZUFzIjogWwogICAgICAiaHR0cHM6Ly93d3cuYW1hem9uLmNvbS9Nb3ppbGxhLUZpcmVmb3gtZm9yLUZpcmUtVFYvZHAvQjA3OEI1WU1QRCIKICAgIF0sCiAgICAib2ZmZXJzIjoKICAgIHsKICAgICAgIkB0eXBlIjogIk9mZmVyIiwKICAgICAgInVybCI6ICJodHRwczovL3d3dy5hbWF6b24uY29tL01vemlsbGEtRmlyZWZveC1mb3ItRmlyZS1UVi9kcC9CMDc4QjVZTVBEIiwKICAgICAgInByaWNlQ3VycmVuY3kiOiAiVVNEIiwKICAgICAgInByaWNlIjogIjAiLAogICAgICAiYXZhaWxhYmlsaXR5IjogImh0dHBzOi8vc2NoZW1hLm9yZy9JblN0b2NrIgogICAgfQogIH0sCiAgewogICAgIkB0eXBlIjogIlByb2R1Y3QiLAogICAgIkBpZCI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy8jZmlyZWZveGlvcyIsCiAgICAidXJsIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2VuLVVTL2ZpcmVmb3gvYnJvd3NlcnMvbW9iaWxlL2lvcy8iLAogICAgImxvZ28iOiAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvaW1nL3N0cnVjdHVyZWQtZGF0YS9sb2dvLWZpcmVmb3gtYnJvd3Nlci5mYmM3ZmZiYjUwZmQucG5nIiwKICAgICJpbWFnZSI6IFsKICAgICAgImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9zdHJ1Y3R1cmVkLWRhdGEvYnJvd3Nlci1pb3MtMS42OTEwZDgwNjJiZTQucG5nIiwKICAgICAgImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9zdHJ1Y3R1cmVkLWRhdGEvYnJvd3Nlci1pb3MtMi5mMDc5MzdhYjE1YjgucG5nIiwKICAgICAgImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9zdHJ1Y3R1cmVkLWRhdGEvYnJvd3Nlci1pb3MtMy44MTMzYzBkNmE0YzgucG5nIgogICAgXSwKICAgICJuYW1lIjogIkZpcmVmb3ggQnJvd3NlciBpT1MiLAogICAgImFsdGVybmF0ZU5hbWUiOiBbCiAgICAgICJGaXJlZm94IGlPUyIsCiAgICAgICJGaXJlZm94IGZvciBpT1MiLAogICAgICAiRmlyZWZveCBCcm93c2VyIGZvciBpT1MiCiAgICBdLAogICAgImJyYW5kIjoKICAgIHsKICAgICAgIkBpZCI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy8jZmlyZWZveGJyYW5kIgogICAgfSwKICAgICJzYW1lQXMiOiBbCiAgICAgICJodHRwczovL3d3dy53aWtpZGF0YS5vcmcvd2lraS9RMjA4MjA5NzIiLAogICAgICAiaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRmlyZWZveF9mb3JfaU9TIiwKICAgICAgImh0dHBzOi8vaXR1bmVzLmFwcGxlLmNvbS91cy9hcHAvZmlyZWZveC1wcml2YXRlLXNhZmUtYnJvd3Nlci9pZDk4OTgwNDkyNiIKICAgIF0sCiAgICAib2ZmZXJzIjoKICAgIHsKICAgICAgIkB0eXBlIjogIk9mZmVyIiwKICAgICAgInVybCI6ICJodHRwczovL2l0dW5lcy5hcHBsZS5jb20vdXMvYXBwL2ZpcmVmb3gtcHJpdmF0ZS1zYWZlLWJyb3dzZXIvaWQ5ODk4MDQ5MjYiLAogICAgICAicHJpY2VDdXJyZW5jeSI6ICJVU0QiLAogICAgICAicHJpY2UiOiAiMCIsCiAgICAgICJhdmFpbGFiaWxpdHkiOiAiaHR0cHM6Ly9zY2hlbWEub3JnL0luU3RvY2siCiAgICB9CiAgfSwKICB7CiAgICAiQHR5cGUiOiAiUHJvZHVjdCIsCiAgICAiQGlkIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnLyNmaXJlZm94bGludXgiLAogICAgInVybCI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9lbi1VUy9maXJlZm94L2xpbnV4LyIsCiAgICAibG9nbyI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvc3RydWN0dXJlZC1kYXRhL2xvZ28tZmlyZWZveC1icm93c2VyLmZiYzdmZmJiNTBmZC5wbmciLAogICAgImltYWdlIjogWwogICAgICAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvaW1nL3N0cnVjdHVyZWQtZGF0YS9icm93c2VyLTIuN2YyOTQwOTUxZDY1LnBuZyIsCiAgICAgICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvc3RydWN0dXJlZC1kYXRhL2Jyb3dzZXItbGludXgtMi5hNzBkYjJkZmRlNTcucG5nIiwKICAgICAgImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9zdHJ1Y3R1cmVkLWRhdGEvYnJvd3Nlci1saW51eC0zLjAwYzE2Njg5NmFjMC5wbmciCiAgICBdLAogICAgIm5hbWUiOiAiRmlyZWZveCBCcm93c2VyIExpbnV4IiwKICAgICJhbHRlcm5hdGVOYW1lIjogWwogICAgICAiRmlyZWZveCBMaW51eCIsCiAgICAgICJGaXJlZm94IEJyb3dzZXIgZm9yIExpbnV4IgogICAgXSwKICAgICJicmFuZCI6CiAgICB7CiAgICAgICJAaWQiOiAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvI2ZpcmVmb3hicmFuZCIKICAgIH0sCiAgICAib2ZmZXJzIjoKICAgIHsKICAgICAgIkB0eXBlIjogIk9mZmVyIiwKICAgICAgInVybCI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9lbi1VUy9maXJlZm94L2xpbnV4LyIsCiAgICAgICJwcmljZUN1cnJlbmN5IjogIlVTRCIsCiAgICAgICJwcmljZSI6ICIwIiwKICAgICAgImF2YWlsYWJpbGl0eSI6ICJodHRwczovL3NjaGVtYS5vcmcvSW5TdG9jayIKICAgIH0KICB9LAogIHsKICAgICJAdHlwZSI6ICJQcm9kdWN0IiwKICAgICJAaWQiOiAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvI2ZpcmVmb3hsaXRlIiwKICAgICJ1cmwiOiAiaHR0cHM6Ly9zdXBwb3J0Lm1vemlsbGEub3JnL2VuLVVTL2tiL2dldC1zdGFydGVkLWZpcmVmb3gtbGl0ZSIsCiAgICAibG9nbyI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvbG9nb3MvZmlyZWZveC9sb2dvLWxpdGUuYmRmMTVkZjEzY2Y2LnBuZyIsCiAgICAiaW1hZ2UiOiBbCiAgICAgICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvc3RydWN0dXJlZC1kYXRhL2Jyb3dzZXItbGl0ZS0xLjFlNGU2MmY3MDAxZS5qcGciLAogICAgICAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvaW1nL3N0cnVjdHVyZWQtZGF0YS9icm93c2VyLWxpdGUtMi44Njc0NmNmODllZGMuanBnIiwKICAgICAgImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9zdHJ1Y3R1cmVkLWRhdGEvYnJvd3Nlci1saXRlLTMuYTgxODAxMGM3NzM4LmpwZyIKICAgIF0sCiAgICAibmFtZSI6ICJGaXJlZm94IExpdGUiLAogICAgImJyYW5kIjoKICAgIHsKICAgICAgIkBpZCI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy8jZmlyZWZveGJyYW5kIgogICAgfSwKICAgICJzYW1lQXMiOiBbCiAgICAgICJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9b3JnLm1vemlsbGEucm9ja2V0JmhsPWVuIgogICAgXSwKICAgICJvZmZlcnMiOgogICAgewogICAgICAiQHR5cGUiOiAiT2ZmZXIiLAogICAgICAidXJsIjogImh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1vcmcubW96aWxsYS5yb2NrZXQmaGw9ZW4iLAogICAgICAicHJpY2VDdXJyZW5jeSI6ICJVU0QiLAogICAgICAicHJpY2UiOiAiMCIsCiAgICAgICJhdmFpbGFiaWxpdHkiOiAiaHR0cHM6Ly9zY2hlbWEub3JnL0luU3RvY2siCiAgICB9CiAgfSwKICB7CiAgICAiQHR5cGUiOiAiUHJvZHVjdCIsCiAgICAiQGlkIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnLyNmaXJlZm94bWFjIiwKICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvZW4tVVMvZmlyZWZveC9tYWMvIiwKICAgICJsb2dvIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9zdHJ1Y3R1cmVkLWRhdGEvbG9nby1maXJlZm94LWJyb3dzZXIuZmJjN2ZmYmI1MGZkLnBuZyIsCiAgICAiaW1hZ2UiOiBbCiAgICAgICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvc3RydWN0dXJlZC1kYXRhL2Jyb3dzZXItMi43ZjI5NDA5NTFkNjUucG5nIiwKICAgICAgImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9zdHJ1Y3R1cmVkLWRhdGEvYnJvd3Nlci1tYWMtMi5kZDQ2ZjQ2YTgwNjYucG5nIiwKICAgICAgImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9zdHJ1Y3R1cmVkLWRhdGEvYnJvd3Nlci1tYWMtMy41NGQ1Y2FlYjg4MDgucG5nIgogICAgXSwKICAgICJuYW1lIjogIkZpcmVmb3ggQnJvd3NlciBNYWMiLAogICAgImFsdGVybmF0ZU5hbWUiOiBbCiAgICAgICJGaXJlZm94IE1hYyIsCiAgICAgICJGaXJlZm94IEJyb3dzZXIgZm9yIE1hYyIKICAgIF0sCiAgICAiYnJhbmQiOgogICAgewogICAgICAiQGlkIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnLyNmaXJlZm94YnJhbmQiCiAgICB9LAogICAgIm9mZmVycyI6CiAgICB7CiAgICAgICJAdHlwZSI6ICJPZmZlciIsCiAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvZW4tVVMvZmlyZWZveC9tYWMvIiwKICAgICAgInByaWNlQ3VycmVuY3kiOiAiVVNEIiwKICAgICAgInByaWNlIjogIjAiLAogICAgICAiYXZhaWxhYmlsaXR5IjogImh0dHBzOi8vc2NoZW1hLm9yZy9JblN0b2NrIgogICAgfQogIH0sCiAgewogICAgIkB0eXBlIjogIlByb2R1Y3QiLAogICAgIkBpZCI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy8jZmlyZWZveG1vbml0b3IiLAogICAgInVybCI6ICJodHRwczovL21vbml0b3IuZmlyZWZveC5jb20iLAogICAgImxvZ28iOiAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvaW1nL3N0cnVjdHVyZWQtZGF0YS9sb2dvLWZpcmVmb3gtbW9uaXRvci4zZWZkZWFkNGJiOWEucG5nIiwKICAgICJpbWFnZSI6IFsKICAgICAgImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9zdHJ1Y3R1cmVkLWRhdGEvbW9uaXRvci4zZGEzMGE3YzAxM2UucG5nIiwKICAgICAgImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9maXJlZm94L2FjY291bnRzL3RyYWlsaGVhZC92YWx1ZS1yZXNwZWN0LWhpZ2gtcmVzLmRmYTBkYjIzMDFlOC5qcGciLAogICAgICAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvaW1nL2ZpcmVmb3gvYWNjb3VudHMvdHJhaWxoZWFkL3ZhbHVlLWtub3dsZWRnZS1oaWdoLXJlcy42MDAwNjUyNGU5Y2YuanBnIgogICAgXSwKICAgICJuYW1lIjogIkZpcmVmb3ggTW9uaXRvciIsCiAgICAiYnJhbmQiOgogICAgewogICAgICAiQGlkIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnLyNmaXJlZm94YnJhbmQiCiAgICB9LAogICAgInNhbWVBcyI6IFsKICAgICAgImh0dHBzOi8vd3d3Lndpa2lkYXRhLm9yZy93aWtpL1E2NDgyODg5MCIsCiAgICAgICJodHRwczovL21vbml0b3IuZmlyZWZveC5jb20iLAogICAgICAiaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRmlyZWZveF9Nb25pdG9yIgogICAgXSwKICAgICJvZmZlcnMiOgogICAgewogICAgICAiQHR5cGUiOiAiT2ZmZXIiLAogICAgICAiQGlkIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnLyNmaXJlZm94bW9uaXRvciIsCiAgICAgICJwcmljZUN1cnJlbmN5IjogIlVTRCIsCiAgICAgICJwcmljZSI6ICIwIiwKICAgICAgImF2YWlsYWJpbGl0eSI6ICJodHRwczovL3NjaGVtYS5vcmcvSW5TdG9jayIKICAgIH0KICB9LAogIHsKICAgICJAdHlwZSI6ICJQcm9kdWN0IiwKICAgICJAaWQiOiAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvI2ZpcmVmb3huaWdodGx5IiwKICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvZW4tVVMvZmlyZWZveC9jaGFubmVsL2Rlc2t0b3AvIiwKICAgICJsb2dvIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9zdHJ1Y3R1cmVkLWRhdGEvbG9nby1maXJlZm94LW5pZ2h0bHkuMmFlMDI0YTM2ZWVkLnBuZyIsCiAgICAiaW1hZ2UiOiBbCiAgICAgICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvc3RydWN0dXJlZC1kYXRhL2Jyb3dzZXItbmlnaHRseS0xLjBjNDFmMTJiYWI3NS5wbmciLAogICAgICAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvaW1nL3N0cnVjdHVyZWQtZGF0YS9icm93c2VyLW5pZ2h0bHktMi5mZDg5YjFjMmY0ZTEucG5nIiwKICAgICAgImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL21lZGlhL2ltZy9zdHJ1Y3R1cmVkLWRhdGEvYnJvd3Nlci1uaWdodGx5LTMuY2Y4YTI0MjAwNDE4LmdpZiIKICAgIF0sCiAgICAibmFtZSI6ICJGaXJlZm94IEJyb3dzZXIgTmlnaHRseSIsCiAgICAiYWx0ZXJuYXRlTmFtZSI6IFsKICAgICAgIkZpcmVmb3ggTmlnaHRseSIsCiAgICAgICJGaXJlZm94IE5pZ2h0bHkgQnJvd3NlciIKICAgIF0sCiAgICAiYnJhbmQiOgogICAgewogICAgICAiQGlkIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnLyNmaXJlZm94YnJhbmQiCiAgICB9LAogICAgInNhbWVBcyI6IFsKICAgICAgImh0dHBzOi8vd3d3Lndpa2lkYXRhLm9yZy93aWtpL1E1NjMxNjA5OSIsCiAgICAgICJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GaXJlZm94X05pZ2h0bHkiLAogICAgICAiaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPW9yZy5tb3ppbGxhLmZlbml4JmhsPWVuIiwKICAgICAgImh0dHBzOi8vYmxvZy5uaWdodGx5Lm1vemlsbGEub3JnLyIsCiAgICAgICJodHRwczovL3R3aXR0ZXIuY29tL0ZpcmVmb3hOaWdodGx5IgogICAgXSwKICAgICJvZmZlcnMiOgogICAgewogICAgICAiQHR5cGUiOiAiT2ZmZXIiLAogICAgICAidXJsIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2VuLVVTL2ZpcmVmb3gvY2hhbm5lbC9kZXNrdG9wLyIsCiAgICAgICJwcmljZUN1cnJlbmN5IjogIlVTRCIsCiAgICAgICJwcmljZSI6ICIwIiwKICAgICAgImF2YWlsYWJpbGl0eSI6ICJodHRwczovL3NjaGVtYS5vcmcvSW5TdG9jayIKICAgIH0KICB9LAogIHsKICAgICJAdHlwZSI6ICJQcm9kdWN0IiwKICAgICJAaWQiOiAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvI2ZpcmVmb3h3aW5kb3dzIiwKICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvZW4tVVMvZmlyZWZveC93aW5kb3dzLyIsCiAgICAibG9nbyI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvc3RydWN0dXJlZC1kYXRhL2xvZ28tZmlyZWZveC1icm93c2VyLmZiYzdmZmJiNTBmZC5wbmciLAogICAgImltYWdlIjogWwogICAgICAiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvbWVkaWEvaW1nL3N0cnVjdHVyZWQtZGF0YS9icm93c2VyLTIuN2YyOTQwOTUxZDY1LnBuZyIsCiAgICAgICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvZmlyZWZveC9uZXcvYmFzaWMvYnJvd3Nlci13aW5kb3cuYzBkYmZmMTk2OGQ2LnN2ZyIsCiAgICAgICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9tZWRpYS9pbWcvc3RydWN0dXJlZC1kYXRhL2Jyb3dzZXItd2luLTMuNzJjNmQ1ZWE3ZjQ2LnBuZyIKICAgIF0sCiAgICAibmFtZSI6ICJGaXJlZm94IEJyb3dzZXIgV2luZG93cyIsCiAgICAiYWx0ZXJuYXRlTmFtZSI6IFsKICAgICAgIkZpcmVmb3ggV2luZG93cyIsCiAgICAgICJGaXJlZm94IEJyb3dzZXIgZm9yIFdpbmRvd3MiCiAgICBdLAogICAgImJyYW5kIjoKICAgIHsKICAgICAgIkBpZCI6ICJodHRwczovL3d3dy5tb3ppbGxhLm9yZy8jZmlyZWZveGJyYW5kIgogICAgfSwKICAgICJvZmZlcnMiOgogICAgewogICAgICAiQHR5cGUiOiAiT2ZmZXIiLAogICAgICAidXJsIjogImh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2VuLVVTL2ZpcmVmb3gvd2luZG93cy8iLAogICAgICAicHJpY2VDdXJyZW5jeSI6ICJVU0QiLAogICAgICAicHJpY2UiOiAiMCIsCiAgICAgICJhdmFpbGFiaWxpdHkiOiAiaHR0cHM6Ly9zY2hlbWEub3JnL0luU3RvY2siCiAgICB9CiAgfV0sCiAgInBhcmVudE9yZ2FuaXphdGlvbiI6CiAgewogICAgIkB0eXBlIjogIk5HTyIsCiAgICAiQGlkIjogImh0dHBzOi8vZm91bmRhdGlvbi5tb3ppbGxhLm9yZy8jb3JnYW5pc2F0aW9uIiwKICAgICJuYW1lIjogIk1vemlsbGEgRm91bmRhdGlvbiIsCiAgICAidXJsIjogImh0dHBzOi8vZm91bmRhdGlvbi5tb3ppbGxhLm9yZy8iLAogICAgInNhbWVBcyI6IFsKICAgICAgImh0dHBzOi8vd3d3Lndpa2lkYXRhLm9yZy93aWtpL1E1NTY3MiIsCiAgICAgICJodHRwczovL2ZvdW5kYXRpb24ubW96aWxsYS5vcmcvIiwKICAgICAgImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL01vemlsbGFfRm91bmRhdGlvbiIKICAgIF0KICB9Cn0KCiAgICAKICAgICAgPC9zY3JpcHQ+CiAgICAKCiAgICAKICAgIDwhLS08IVtlbmRpZl0tLT4KICA8L2JvZHk+CjwvaHRtbD4=
150
+ recorded_at: Fri, 27 May 2022 16:04:06 GMT
151
+ recorded_with: VCR 6.1.0
data/spec/helpers.rb ADDED
@@ -0,0 +1,54 @@
1
+ require 'uri'
2
+
3
+ module Helpers
4
+
5
+ # @param [Hash] opts A hash of methods, passed directly to the double
6
+ # definition. Use this to stub other required methods.
7
+ #
8
+ # @return double for Net::HTTPResponse
9
+ def res_double(opts={})
10
+ instance_double('Net::HTTPResponse', {to_hash: {}, body: 'response body'}.merge(opts))
11
+ end
12
+
13
+ # Given a Net::HTTPResponse or double and a Request or double, create a
14
+ # RestMan::Response object.
15
+ #
16
+ # @param net_http_res_double an rspec double for Net::HTTPResponse
17
+ # @param request A RestMan::Request or rspec double
18
+ #
19
+ # @return [RestMan::Response]
20
+ #
21
+ def response_from_res_double(net_http_res_double, request=nil, duration: 1)
22
+ request ||= request_double()
23
+ start_time = Time.now - duration
24
+
25
+ response = RestMan::Response.create(net_http_res_double.body, net_http_res_double, request, start_time)
26
+
27
+ # mock duration to ensure it gets the value we expect
28
+ allow(response).to receive(:duration).and_return(duration)
29
+
30
+ response
31
+ end
32
+
33
+ # Redirect stderr to a string for the duration of the passed block.
34
+ def fake_stderr
35
+ original_stderr = $stderr
36
+ $stderr = StringIO.new
37
+ yield
38
+ $stderr.string
39
+ ensure
40
+ $stderr = original_stderr
41
+ end
42
+
43
+ # Create a double for RestMan::Request
44
+ def request_double(url: 'http://example.com', method: 'get')
45
+ instance_double('RestMan::Request',
46
+ url: url, uri: URI.parse(url), method: method, user: nil, password: nil,
47
+ cookie_jar: HTTP::CookieJar.new, redirection_history: nil,
48
+ args: {url: url, method: method})
49
+ end
50
+
51
+ def test_image_path
52
+ File.dirname(__FILE__) + "/ISS.jpg"
53
+ end
54
+ end
@@ -0,0 +1 @@
1
+ require_relative '../spec_helper'
@@ -0,0 +1,8 @@
1
+ The CA path symlinks can be created by c_rehash(1ssl).
2
+
3
+ But in order for the tests to work on Windows, they have to be regular files.
4
+ You can turn them all into regular files by running this on a GNU system:
5
+
6
+ for file in $(find . -type l); do
7
+ cp -iv --remove-destination $(readlink -e $file) $file
8
+ done
@@ -0,0 +1 @@
1
+ spec/integration/capath_digicert/digicert.crt
@@ -0,0 +1,20 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF
3
+ ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6
4
+ b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL
5
+ MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv
6
+ b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj
7
+ ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM
8
+ 9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw
9
+ IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6
10
+ VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L
11
+ 93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm
12
+ jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
13
+ AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA
14
+ A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI
15
+ U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs
16
+ N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv
17
+ o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU
18
+ 5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy
19
+ rqXRfboQnoZsG4q5WTP468SQvvG5
20
+ -----END CERTIFICATE-----
@@ -0,0 +1 @@
1
+ for file in *.crt; do ln -s "$file" "$(openssl x509 -hash -noout -in "$file")".0; done
@@ -0,0 +1,14 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG
3
+ A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz
4
+ cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2
5
+ MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV
6
+ BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt
7
+ YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN
8
+ ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE
9
+ BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is
10
+ I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G
11
+ CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do
12
+ lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc
13
+ AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k
14
+ -----END CERTIFICATE-----
@@ -0,0 +1,14 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG
3
+ A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz
4
+ cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2
5
+ MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV
6
+ BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt
7
+ YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN
8
+ ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE
9
+ BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is
10
+ I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G
11
+ CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do
12
+ lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc
13
+ AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k
14
+ -----END CERTIFICATE-----
@@ -0,0 +1,8 @@
1
+ The CA path symlinks can be created by c_rehash(1ssl).
2
+
3
+ But in order for the tests to work on Windows, they have to be regular files.
4
+ You can turn them all into regular files by running this on a GNU system:
5
+
6
+ for file in $(find . -type l); do
7
+ cp -iv --remove-destination $(readlink -e $file) $file
8
+ done
@@ -0,0 +1,14 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG
3
+ A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz
4
+ cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2
5
+ MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV
6
+ BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt
7
+ YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN
8
+ ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE
9
+ BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is
10
+ I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G
11
+ CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do
12
+ lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc
13
+ AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k
14
+ -----END CERTIFICATE-----