@gitpod/gitpod-protocol 0.1.5-procmount.0 → 0.1.5-protected-secrets.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. package/data/gitpod-schema.json +149 -29
  2. package/lib/accounting-protocol.d.ts +163 -0
  3. package/lib/accounting-protocol.d.ts.map +1 -0
  4. package/lib/accounting-protocol.js +111 -0
  5. package/lib/accounting-protocol.js.map +1 -0
  6. package/lib/admin-protocol.d.ts +39 -4
  7. package/lib/admin-protocol.d.ts.map +1 -1
  8. package/lib/admin-protocol.js +15 -0
  9. package/lib/admin-protocol.js.map +1 -1
  10. package/lib/analytics.d.ts +44 -0
  11. package/lib/analytics.d.ts.map +1 -0
  12. package/lib/analytics.js +10 -0
  13. package/lib/analytics.js.map +1 -0
  14. package/lib/attribution.d.ts +23 -0
  15. package/lib/attribution.d.ts.map +1 -0
  16. package/lib/attribution.js +50 -0
  17. package/lib/attribution.js.map +1 -0
  18. package/lib/auth.d.ts.map +1 -1
  19. package/lib/billing-mode.d.ts +43 -0
  20. package/lib/billing-mode.d.ts.map +1 -0
  21. package/lib/billing-mode.js +44 -0
  22. package/lib/billing-mode.js.map +1 -0
  23. package/lib/blocked-repositories-protocol.d.ts +13 -0
  24. package/lib/blocked-repositories-protocol.d.ts.map +1 -0
  25. package/lib/blocked-repositories-protocol.js +8 -0
  26. package/lib/blocked-repositories-protocol.js.map +1 -0
  27. package/lib/context-url.d.ts +31 -0
  28. package/lib/context-url.d.ts.map +1 -0
  29. package/lib/context-url.js +102 -0
  30. package/lib/context-url.js.map +1 -0
  31. package/lib/context-url.spec.d.ts +14 -0
  32. package/lib/context-url.spec.d.ts.map +1 -0
  33. package/lib/context-url.spec.js +109 -0
  34. package/lib/context-url.spec.js.map +1 -0
  35. package/lib/encryption/container-module.d.ts.map +1 -1
  36. package/lib/encryption/container-module.js +5 -4
  37. package/lib/encryption/container-module.js.map +1 -1
  38. package/lib/encryption/encryption-engine.d.ts.map +1 -1
  39. package/lib/encryption/encryption-engine.js +25 -26
  40. package/lib/encryption/encryption-engine.js.map +1 -1
  41. package/lib/encryption/encryption-engine.spec.d.ts.map +1 -1
  42. package/lib/encryption/encryption-engine.spec.js +29 -37
  43. package/lib/encryption/encryption-engine.spec.js.map +1 -1
  44. package/lib/encryption/encryption-service.d.ts.map +1 -1
  45. package/lib/encryption/encryption-service.js +30 -44
  46. package/lib/encryption/encryption-service.js.map +1 -1
  47. package/lib/encryption/key-provider.d.ts.map +1 -1
  48. package/lib/encryption/key-provider.js +31 -38
  49. package/lib/encryption/key-provider.js.map +1 -1
  50. package/lib/env.d.ts +0 -6
  51. package/lib/env.d.ts.map +1 -1
  52. package/lib/env.js +7 -27
  53. package/lib/env.js.map +1 -1
  54. package/lib/experiments/always-default.d.ts +8 -0
  55. package/lib/experiments/always-default.d.ts.map +1 -0
  56. package/lib/experiments/always-default.js +20 -0
  57. package/lib/experiments/always-default.js.map +1 -0
  58. package/lib/experiments/configcat-server.d.ts +10 -0
  59. package/lib/experiments/configcat-server.d.ts.map +1 -0
  60. package/lib/experiments/configcat-server.js +36 -0
  61. package/lib/experiments/configcat-server.js.map +1 -0
  62. package/lib/experiments/configcat.d.ts +21 -0
  63. package/lib/experiments/configcat.d.ts.map +1 -0
  64. package/lib/experiments/configcat.js +51 -0
  65. package/lib/experiments/configcat.js.map +1 -0
  66. package/lib/experiments/types.d.ts +22 -0
  67. package/lib/experiments/types.d.ts.map +1 -0
  68. package/lib/experiments/types.js +10 -0
  69. package/lib/experiments/types.js.map +1 -0
  70. package/lib/gitpod-file-parser.d.ts.map +1 -1
  71. package/lib/gitpod-file-parser.js +26 -42
  72. package/lib/gitpod-file-parser.js.map +1 -1
  73. package/lib/gitpod-file-parser.spec.js +145 -142
  74. package/lib/gitpod-file-parser.spec.js.map +1 -1
  75. package/lib/gitpod-service.d.ts +195 -39
  76. package/lib/gitpod-service.d.ts.map +1 -1
  77. package/lib/gitpod-service.js +204 -271
  78. package/lib/gitpod-service.js.map +1 -1
  79. package/lib/headless-workspace-log.d.ts +9 -11
  80. package/lib/headless-workspace-log.d.ts.map +1 -1
  81. package/lib/headless-workspace-log.js +6 -8
  82. package/lib/headless-workspace-log.js.map +1 -1
  83. package/lib/ide-frontend-service.d.ts +5 -1
  84. package/lib/ide-frontend-service.d.ts.map +1 -1
  85. package/lib/ide-protocol.d.ts +113 -0
  86. package/lib/ide-protocol.d.ts.map +1 -0
  87. package/lib/{util/without.js → ide-protocol.js} +2 -2
  88. package/lib/ide-protocol.js.map +1 -0
  89. package/lib/index.d.ts +16 -10
  90. package/lib/index.d.ts.map +1 -1
  91. package/lib/index.js +8 -2
  92. package/lib/index.js.map +1 -1
  93. package/lib/installation-admin-protocol.d.ts +30 -0
  94. package/lib/installation-admin-protocol.d.ts.map +1 -0
  95. package/lib/installation-admin-protocol.js +31 -0
  96. package/lib/installation-admin-protocol.js.map +1 -0
  97. package/lib/license-protocol.d.ts +7 -0
  98. package/lib/license-protocol.d.ts.map +1 -1
  99. package/lib/license-protocol.js.map +1 -1
  100. package/lib/messaging/browser/connection.d.ts +5 -3
  101. package/lib/messaging/browser/connection.d.ts.map +1 -1
  102. package/lib/messaging/browser/connection.js +184 -34
  103. package/lib/messaging/browser/connection.js.map +1 -1
  104. package/lib/messaging/browser/window-connection.d.ts +4 -4
  105. package/lib/messaging/browser/window-connection.d.ts.map +1 -1
  106. package/lib/messaging/browser/window-connection.js +42 -59
  107. package/lib/messaging/browser/window-connection.js.map +1 -1
  108. package/lib/messaging/client-call-metrics.d.ts +19 -0
  109. package/lib/messaging/client-call-metrics.d.ts.map +1 -0
  110. package/lib/messaging/client-call-metrics.js +82 -0
  111. package/lib/messaging/client-call-metrics.js.map +1 -0
  112. package/lib/messaging/error.d.ts +11 -2
  113. package/lib/messaging/error.d.ts.map +1 -1
  114. package/lib/messaging/error.js +22 -4
  115. package/lib/messaging/error.js.map +1 -1
  116. package/lib/messaging/handler.d.ts +10 -0
  117. package/lib/messaging/handler.d.ts.map +1 -1
  118. package/lib/messaging/handler.js +1 -1
  119. package/lib/messaging/node/connection.d.ts +1 -17
  120. package/lib/messaging/node/connection.d.ts.map +1 -1
  121. package/lib/messaging/node/connection.js +24 -60
  122. package/lib/messaging/node/connection.js.map +1 -1
  123. package/lib/messaging/proxy-factory.d.ts +3 -1
  124. package/lib/messaging/proxy-factory.d.ts.map +1 -1
  125. package/lib/messaging/proxy-factory.js +75 -162
  126. package/lib/messaging/proxy-factory.js.map +1 -1
  127. package/lib/oss-allowlist.d.ts +14 -0
  128. package/lib/oss-allowlist.d.ts.map +1 -0
  129. package/lib/oss-allowlist.js +8 -0
  130. package/lib/oss-allowlist.js.map +1 -0
  131. package/lib/payment-protocol.d.ts +18 -0
  132. package/lib/payment-protocol.d.ts.map +1 -0
  133. package/lib/payment-protocol.js +13 -0
  134. package/lib/payment-protocol.js.map +1 -0
  135. package/lib/permission.d.ts +10 -3
  136. package/lib/permission.d.ts.map +1 -1
  137. package/lib/permission.js +41 -31
  138. package/lib/permission.js.map +1 -1
  139. package/lib/plans.d.ts +211 -0
  140. package/lib/plans.d.ts.map +1 -0
  141. package/lib/plans.js +609 -0
  142. package/lib/plans.js.map +1 -0
  143. package/lib/protocol.d.ts +286 -95
  144. package/lib/protocol.d.ts.map +1 -1
  145. package/lib/protocol.js +384 -206
  146. package/lib/protocol.js.map +1 -1
  147. package/{src/util/without.ts → lib/protocol.spec.d.ts} +2 -3
  148. package/lib/protocol.spec.d.ts.map +1 -0
  149. package/lib/protocol.spec.js +127 -0
  150. package/lib/protocol.spec.js.map +1 -0
  151. package/lib/snapshot-url.d.ts +14 -0
  152. package/lib/snapshot-url.d.ts.map +1 -0
  153. package/lib/snapshot-url.js +26 -0
  154. package/lib/snapshot-url.js.map +1 -0
  155. package/{src/theia-plugins.ts → lib/snapshot-url.spec.d.ts} +2 -6
  156. package/lib/snapshot-url.spec.d.ts.map +1 -0
  157. package/lib/snapshot-url.spec.js +41 -0
  158. package/lib/snapshot-url.spec.js.map +1 -0
  159. package/lib/team-subscription-protocol.d.ts +92 -0
  160. package/lib/team-subscription-protocol.d.ts.map +1 -0
  161. package/lib/team-subscription-protocol.js +78 -0
  162. package/lib/team-subscription-protocol.js.map +1 -0
  163. package/lib/teams-projects-protocol.d.ts +130 -0
  164. package/lib/teams-projects-protocol.d.ts.map +1 -0
  165. package/lib/teams-projects-protocol.js +30 -0
  166. package/lib/teams-projects-protocol.js.map +1 -0
  167. package/lib/typings/globals.d.ts +2 -2
  168. package/lib/typings/globals.d.ts.map +1 -1
  169. package/lib/usage.d.ts +61 -0
  170. package/lib/usage.d.ts.map +1 -0
  171. package/lib/usage.js +14 -0
  172. package/lib/usage.js.map +1 -0
  173. package/lib/util/analytics.d.ts +8 -0
  174. package/lib/util/analytics.d.ts.map +1 -0
  175. package/lib/util/analytics.js +88 -0
  176. package/lib/util/analytics.js.map +1 -0
  177. package/lib/util/async-iterator.d.ts.map +1 -1
  178. package/lib/util/async-iterator.js +57 -135
  179. package/lib/util/async-iterator.js.map +1 -1
  180. package/lib/util/cancelable.js +17 -59
  181. package/lib/util/cancelable.js.map +1 -1
  182. package/lib/util/date-time.js +11 -11
  183. package/lib/util/date-time.js.map +1 -1
  184. package/lib/util/debug-app.d.ts +25 -0
  185. package/lib/util/debug-app.d.ts.map +1 -0
  186. package/lib/util/debug-app.js +100 -0
  187. package/lib/util/debug-app.js.map +1 -0
  188. package/lib/util/deferred.js +10 -12
  189. package/lib/util/deferred.js.map +1 -1
  190. package/lib/util/disposable.d.ts.map +1 -1
  191. package/lib/util/disposable.js +27 -40
  192. package/lib/util/disposable.js.map +1 -1
  193. package/lib/util/event.d.ts.map +1 -1
  194. package/lib/util/event.js +63 -77
  195. package/lib/util/event.js.map +1 -1
  196. package/lib/util/garbage-collected-cache.d.ts +1 -0
  197. package/lib/util/garbage-collected-cache.d.ts.map +1 -1
  198. package/lib/util/garbage-collected-cache.js +32 -47
  199. package/lib/util/garbage-collected-cache.js.map +1 -1
  200. package/lib/util/generate-workspace-id.d.ts +6 -1
  201. package/lib/util/generate-workspace-id.d.ts.map +1 -1
  202. package/lib/util/generate-workspace-id.js +469 -502
  203. package/lib/util/generate-workspace-id.js.map +1 -1
  204. package/lib/util/generate-workspace-id.spec.js +68 -78
  205. package/lib/util/generate-workspace-id.spec.js.map +1 -1
  206. package/lib/util/gitpod-cookie.d.ts +20 -0
  207. package/lib/util/gitpod-cookie.d.ts.map +1 -0
  208. package/lib/util/gitpod-cookie.js +41 -0
  209. package/lib/util/gitpod-cookie.js.map +1 -0
  210. package/lib/util/gitpod-host-url.d.ts +4 -2
  211. package/lib/util/gitpod-host-url.d.ts.map +1 -1
  212. package/lib/util/gitpod-host-url.js +126 -109
  213. package/lib/util/gitpod-host-url.js.map +1 -1
  214. package/lib/util/gitpod-host-url.spec.d.ts +7 -1
  215. package/lib/util/gitpod-host-url.spec.d.ts.map +1 -1
  216. package/lib/util/gitpod-host-url.spec.js +113 -31
  217. package/lib/util/gitpod-host-url.spec.js.map +1 -1
  218. package/lib/util/grpc.d.ts +34 -0
  219. package/lib/util/grpc.d.ts.map +1 -0
  220. package/lib/util/grpc.js +90 -0
  221. package/lib/util/grpc.js.map +1 -0
  222. package/lib/util/jaeger-client-types.d.ts +68 -0
  223. package/lib/util/jaeger-client-types.d.ts.map +1 -0
  224. package/lib/{theia-plugins.js → util/jaeger-client-types.js} +1 -1
  225. package/lib/util/jaeger-client-types.js.map +1 -0
  226. package/lib/util/logging.d.ts +49 -33
  227. package/lib/util/logging.d.ts.map +1 -1
  228. package/lib/util/logging.js +132 -129
  229. package/lib/util/logging.js.map +1 -1
  230. package/lib/util/logging.spec.d.ts +7 -0
  231. package/lib/util/logging.spec.d.ts.map +1 -0
  232. package/lib/util/logging.spec.js +52 -0
  233. package/lib/util/logging.spec.js.map +1 -0
  234. package/lib/util/make-link.js +5 -5
  235. package/lib/util/make-link.js.map +1 -1
  236. package/lib/util/nice-grpc.d.ts +9 -0
  237. package/lib/util/nice-grpc.d.ts.map +1 -0
  238. package/lib/util/nice-grpc.js +119 -0
  239. package/lib/util/nice-grpc.js.map +1 -0
  240. package/lib/util/parse-workspace-id.d.ts +10 -0
  241. package/lib/util/parse-workspace-id.d.ts.map +1 -1
  242. package/lib/util/parse-workspace-id.js +31 -7
  243. package/lib/util/parse-workspace-id.js.map +1 -1
  244. package/lib/util/parse-workspace-id.spec.d.ts +4 -0
  245. package/lib/util/parse-workspace-id.spec.d.ts.map +1 -1
  246. package/lib/util/parse-workspace-id.spec.js +123 -84
  247. package/lib/util/parse-workspace-id.spec.js.map +1 -1
  248. package/lib/util/queue.js +16 -55
  249. package/lib/util/queue.js.map +1 -1
  250. package/lib/util/queue.spec.js +147 -288
  251. package/lib/util/queue.spec.js.map +1 -1
  252. package/lib/util/repeat.d.ts +15 -0
  253. package/lib/util/repeat.d.ts.map +1 -0
  254. package/lib/util/repeat.js +55 -0
  255. package/lib/util/repeat.js.map +1 -0
  256. package/lib/util/semaphore.d.ts.map +1 -1
  257. package/lib/util/semaphore.js +15 -46
  258. package/lib/util/semaphore.js.map +1 -1
  259. package/lib/util/skip-if.d.ts.map +1 -1
  260. package/lib/util/skip-if.js +6 -6
  261. package/lib/util/skip-if.js.map +1 -1
  262. package/lib/util/timeutil.d.ts +2 -0
  263. package/lib/util/timeutil.d.ts.map +1 -1
  264. package/lib/util/timeutil.js +41 -17
  265. package/lib/util/timeutil.js.map +1 -1
  266. package/lib/util/timeutil.spec.d.ts +2 -0
  267. package/lib/util/timeutil.spec.d.ts.map +1 -1
  268. package/lib/util/timeutil.spec.js +54 -23
  269. package/lib/util/timeutil.spec.js.map +1 -1
  270. package/lib/util/tracing.d.ts +52 -6
  271. package/lib/util/tracing.d.ts.map +1 -1
  272. package/lib/util/tracing.js +197 -64
  273. package/lib/util/tracing.js.map +1 -1
  274. package/lib/util/tracing.spec.d.ts +7 -0
  275. package/lib/util/tracing.spec.d.ts.map +1 -0
  276. package/lib/util/tracing.spec.js +121 -0
  277. package/lib/util/tracing.spec.js.map +1 -0
  278. package/lib/util/workspace-port-authentication.d.ts +7 -7
  279. package/lib/util/workspace-port-authentication.d.ts.map +1 -1
  280. package/lib/util/workspace-port-authentication.js +10 -12
  281. package/lib/util/workspace-port-authentication.js.map +1 -1
  282. package/lib/webhook-event.d.ts +44 -0
  283. package/lib/webhook-event.d.ts.map +1 -0
  284. package/lib/webhook-event.js +8 -0
  285. package/lib/webhook-event.js.map +1 -0
  286. package/lib/workspace-class.d.ts +14 -0
  287. package/lib/workspace-class.d.ts.map +1 -0
  288. package/lib/workspace-class.js +8 -0
  289. package/lib/workspace-class.js.map +1 -0
  290. package/lib/workspace-cluster.d.ts +75 -0
  291. package/lib/workspace-cluster.d.ts.map +1 -0
  292. package/lib/workspace-cluster.js +31 -0
  293. package/lib/workspace-cluster.js.map +1 -0
  294. package/lib/workspace-instance.d.ts +46 -5
  295. package/lib/workspace-instance.d.ts.map +1 -1
  296. package/lib/wsready.d.ts +1 -1
  297. package/lib/wsready.d.ts.map +1 -1
  298. package/lib/wsready.js +2 -2
  299. package/package.json +40 -18
  300. package/pkg-yarn.lock +23 -10
  301. package/provenance-bundle.jsonl +2 -0
  302. package/src/accounting-protocol.ts +244 -0
  303. package/src/admin-protocol.ts +80 -19
  304. package/src/analytics.ts +52 -0
  305. package/src/attribution.ts +59 -0
  306. package/src/auth.ts +2 -2
  307. package/src/billing-mode.ts +81 -0
  308. package/src/blocked-repositories-protocol.ts +13 -0
  309. package/src/context-url.spec.ts +67 -0
  310. package/src/context-url.ts +109 -0
  311. package/src/encryption/container-module.ts +2 -3
  312. package/src/encryption/encryption-engine.spec.ts +9 -8
  313. package/src/encryption/encryption-engine.ts +20 -16
  314. package/src/encryption/encryption-service.ts +4 -5
  315. package/src/encryption/key-provider.ts +16 -19
  316. package/src/env.ts +0 -22
  317. package/src/experiments/always-default.ts +24 -0
  318. package/src/experiments/configcat-server.ts +41 -0
  319. package/src/experiments/configcat.ts +56 -0
  320. package/src/experiments/types.ts +34 -0
  321. package/src/gitpod-file-parser.spec.ts +55 -61
  322. package/src/gitpod-file-parser.ts +16 -17
  323. package/src/gitpod-service.ts +385 -117
  324. package/src/headless-workspace-log.ts +12 -14
  325. package/src/ide-frontend-service.ts +6 -2
  326. package/src/ide-protocol.ts +129 -0
  327. package/src/index.ts +16 -10
  328. package/src/installation-admin-protocol.ts +45 -0
  329. package/src/license-protocol.ts +12 -6
  330. package/src/messaging/browser/connection.ts +197 -18
  331. package/src/messaging/browser/window-connection.ts +39 -29
  332. package/src/messaging/client-call-metrics.ts +77 -0
  333. package/src/messaging/error.ts +32 -7
  334. package/src/messaging/handler.ts +13 -1
  335. package/src/messaging/node/connection.ts +23 -70
  336. package/src/messaging/proxy-factory.ts +35 -34
  337. package/src/oss-allowlist.ts +15 -0
  338. package/src/payment-protocol.ts +20 -0
  339. package/src/permission.ts +42 -33
  340. package/src/plans.ts +683 -0
  341. package/src/protocol.spec.ts +97 -0
  342. package/src/protocol.ts +681 -282
  343. package/src/snapshot-url.spec.ts +27 -0
  344. package/src/snapshot-url.ts +27 -0
  345. package/src/team-subscription-protocol.ts +150 -0
  346. package/src/teams-projects-protocol.ts +166 -0
  347. package/src/typings/globals.ts +4 -4
  348. package/src/usage.ts +71 -0
  349. package/src/util/analytics.ts +109 -0
  350. package/src/util/async-iterator.ts +4 -5
  351. package/src/util/cancelable.ts +3 -3
  352. package/src/util/date-time.ts +8 -8
  353. package/src/util/debug-app.ts +81 -0
  354. package/src/util/deferred.ts +6 -6
  355. package/src/util/disposable.ts +3 -6
  356. package/src/util/event.ts +9 -11
  357. package/src/util/garbage-collected-cache.ts +16 -8
  358. package/src/util/generate-workspace-id.spec.ts +37 -10
  359. package/src/util/generate-workspace-id.ts +464 -438
  360. package/src/util/gitpod-cookie.ts +38 -0
  361. package/src/util/gitpod-host-url.spec.ts +59 -8
  362. package/src/util/gitpod-host-url.ts +72 -39
  363. package/src/util/grpc.ts +104 -0
  364. package/src/util/jaeger-client-types.ts +102 -0
  365. package/src/util/logging.spec.ts +23 -0
  366. package/src/util/logging.ts +156 -74
  367. package/src/util/make-link.ts +6 -7
  368. package/src/util/nice-grpc.ts +93 -0
  369. package/src/util/parse-workspace-id.spec.ts +37 -8
  370. package/src/util/parse-workspace-id.ts +32 -7
  371. package/src/util/queue.spec.ts +28 -26
  372. package/src/util/repeat.ts +45 -0
  373. package/src/util/semaphore.ts +6 -8
  374. package/src/util/skip-if.ts +10 -7
  375. package/src/util/timeutil.spec.ts +40 -14
  376. package/src/util/timeutil.ts +31 -15
  377. package/src/util/tracing.spec.ts +88 -0
  378. package/src/util/tracing.ts +200 -31
  379. package/src/util/workspace-port-authentication.ts +10 -13
  380. package/src/webhook-event.ts +55 -0
  381. package/src/workspace-class.ts +14 -0
  382. package/src/workspace-cluster.ts +109 -0
  383. package/src/workspace-instance.ts +105 -31
  384. package/src/wsready.ts +3 -3
  385. package/data/builtin-theia-plugins.json +0 -372
  386. package/lib/email-protocol.d.ts +0 -50
  387. package/lib/email-protocol.d.ts.map +0 -1
  388. package/lib/email-protocol.js +0 -28
  389. package/lib/email-protocol.js.map +0 -1
  390. package/lib/messaging/connection-error-handler.d.ts +0 -27
  391. package/lib/messaging/connection-error-handler.d.ts.map +0 -1
  392. package/lib/messaging/connection-error-handler.js +0 -46
  393. package/lib/messaging/connection-error-handler.js.map +0 -1
  394. package/lib/theia-plugins.d.ts +0 -11
  395. package/lib/theia-plugins.d.ts.map +0 -1
  396. package/lib/theia-plugins.js.map +0 -1
  397. package/lib/util/context-url.d.ts +0 -13
  398. package/lib/util/context-url.d.ts.map +0 -1
  399. package/lib/util/context-url.js +0 -26
  400. package/lib/util/context-url.js.map +0 -1
  401. package/lib/util/context-url.spec.d.ts +0 -10
  402. package/lib/util/context-url.spec.d.ts.map +0 -1
  403. package/lib/util/context-url.spec.js +0 -52
  404. package/lib/util/context-url.spec.js.map +0 -1
  405. package/lib/util/repeater.d.ts +0 -22
  406. package/lib/util/repeater.d.ts.map +0 -1
  407. package/lib/util/repeater.js +0 -118
  408. package/lib/util/repeater.js.map +0 -1
  409. package/lib/util/safe-promise.d.ts +0 -11
  410. package/lib/util/safe-promise.d.ts.map +0 -1
  411. package/lib/util/safe-promise.js +0 -34
  412. package/lib/util/safe-promise.js.map +0 -1
  413. package/lib/util/without.d.ts +0 -7
  414. package/lib/util/without.d.ts.map +0 -1
  415. package/lib/util/without.js.map +0 -1
  416. package/src/email-protocol.ts +0 -67
  417. package/src/messaging/connection-error-handler.ts +0 -62
  418. package/src/util/context-url.spec.ts +0 -25
  419. package/src/util/context-url.ts +0 -23
  420. package/src/util/jaeger-client.d.ts +0 -105
  421. package/src/util/repeater.ts +0 -49
  422. package/src/util/safe-promise.ts +0 -26
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
+ * Licensed under the GNU Affero General Public License (AGPL).
4
+ * See License-AGPL.txt in the project root for license information.
5
+ */
6
+ import { DeepPartial } from "./util/deep-partial";
7
+ import { PermissionName } from "./permission";
8
+ export interface WorkspaceCluster {
9
+ name: string;
10
+ applicationCluster: string;
11
+ url: string;
12
+ tls?: TLSConfig;
13
+ state: WorkspaceClusterState;
14
+ maxScore: number;
15
+ score: number;
16
+ govern: boolean;
17
+ admissionConstraints?: AdmissionConstraint[];
18
+ }
19
+ export declare type WorkspaceClusterState = "available" | "cordoned" | "draining";
20
+ export interface TLSConfig {
21
+ ca: string;
22
+ key: string;
23
+ crt: string;
24
+ }
25
+ export declare namespace TLSConfig {
26
+ const loadFromBase64File: (path: string) => string;
27
+ }
28
+ export declare type WorkspaceClusterWoTLS = Omit<WorkspaceCluster, "tls">;
29
+ export declare type WorkspaceManagerConnectionInfo = Pick<WorkspaceCluster, "name" | "url" | "tls">;
30
+ export declare type AdmissionConstraint = AdmissionConstraintFeaturePreview | AdmissionConstraintHasPermission | AdmissionConstraintHasClass;
31
+ export declare type AdmissionConstraintFeaturePreview = {
32
+ type: "has-feature-preview";
33
+ };
34
+ export declare type AdmissionConstraintHasPermission = {
35
+ type: "has-permission";
36
+ permission: PermissionName;
37
+ };
38
+ export declare type AdmissionConstraintHasClass = {
39
+ type: "has-class";
40
+ id: string;
41
+ displayName: string;
42
+ };
43
+ export declare namespace AdmissionConstraint {
44
+ function is(o: any): o is AdmissionConstraint;
45
+ function isHasPermissionConstraint(o: any): o is AdmissionConstraintHasPermission;
46
+ function hasPermission(ac: AdmissionConstraint, permission: PermissionName): boolean;
47
+ }
48
+ export declare const WorkspaceClusterDB: unique symbol;
49
+ export interface WorkspaceClusterDB {
50
+ /**
51
+ * Stores the given WorkspaceCluster to the cluster-local DB in a consistent manner.
52
+ * If there already is an entry with the same name it's merged and updated with the given state.
53
+ * @param cluster
54
+ */
55
+ save(cluster: WorkspaceCluster): Promise<void>;
56
+ /**
57
+ * Deletes the cluster identified by this name, if any.
58
+ * @param name
59
+ */
60
+ deleteByName(name: string): Promise<void>;
61
+ /**
62
+ * Finds a WorkspaceCluster with the given name. If there is none, `undefined` is returned.
63
+ * @param name
64
+ */
65
+ findByName(name: string): Promise<WorkspaceCluster | undefined>;
66
+ /**
67
+ * Lists all WorkspaceClusterWoTls for which the given predicate is true (does not return TLS for size/speed concerns)
68
+ * @param predicate
69
+ */
70
+ findFiltered(predicate: DeepPartial<WorkspaceClusterFilter>): Promise<WorkspaceClusterWoTLS[]>;
71
+ }
72
+ export interface WorkspaceClusterFilter extends Pick<WorkspaceCluster, "state" | "govern" | "url"> {
73
+ minScore: number;
74
+ }
75
+ //# sourceMappingURL=workspace-cluster.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-cluster.d.ts","sourceRoot":"","sources":["../src/workspace-cluster.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAI7B,IAAI,EAAE,MAAM,CAAC;IAIb,kBAAkB,EAAE,MAAM,CAAC;IAG3B,GAAG,EAAE,MAAM,CAAC;IAGZ,GAAG,CAAC,EAAE,SAAS,CAAC;IAGhB,KAAK,EAAE,qBAAqB,CAAC;IAG7B,QAAQ,EAAE,MAAM,CAAC;IAGjB,KAAK,EAAE,MAAM,CAAC;IAGd,MAAM,EAAE,OAAO,CAAC;IAGhB,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAChD;AAED,oBAAY,qBAAqB,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;AAC1E,MAAM,WAAW,SAAS;IAEtB,EAAE,EAAE,MAAM,CAAC;IAEX,GAAG,EAAE,MAAM,CAAC;IAEZ,GAAG,EAAE,MAAM,CAAC;CACf;AACD,yBAAiB,SAAS,CAAC;IAChB,MAAM,kBAAkB,SAAU,MAAM,KAAG,MACqB,CAAC;CAC3E;AACD,oBAAY,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AAClE,oBAAY,8BAA8B,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;AAE5F,oBAAY,mBAAmB,GACzB,iCAAiC,GACjC,gCAAgC,GAChC,2BAA2B,CAAC;AAClC,oBAAY,iCAAiC,GAAG;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAChF,oBAAY,gCAAgC,GAAG;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,cAAc,CAAA;CAAE,CAAC;AACtG,oBAAY,2BAA2B,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjG,yBAAiB,mBAAmB,CAAC;IACjC,SAAgB,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,mBAAmB,CAEnD;IACD,SAAgB,yBAAyB,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,gCAAgC,CAEvF;IACD,SAAgB,aAAa,CAAC,EAAE,EAAE,mBAAmB,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAE1F;CACJ;AAED,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAC/D,MAAM,WAAW,kBAAkB;IAC/B;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IAEhE;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;CAClG;AACD,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC9F,QAAQ,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
4
+ * Licensed under the GNU Affero General Public License (AGPL).
5
+ * See License-AGPL.txt in the project root for license information.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.WorkspaceClusterDB = exports.AdmissionConstraint = exports.TLSConfig = void 0;
9
+ const fs = require("fs");
10
+ const env_1 = require("./env");
11
+ var TLSConfig;
12
+ (function (TLSConfig) {
13
+ TLSConfig.loadFromBase64File = (path) => fs.readFileSync((0, env_1.filePathTelepresenceAware)(path)).toString("base64");
14
+ })(TLSConfig = exports.TLSConfig || (exports.TLSConfig = {}));
15
+ var AdmissionConstraint;
16
+ (function (AdmissionConstraint) {
17
+ function is(o) {
18
+ return !!o && "type" in o;
19
+ }
20
+ AdmissionConstraint.is = is;
21
+ function isHasPermissionConstraint(o) {
22
+ return is(o) && o.type === "has-permission";
23
+ }
24
+ AdmissionConstraint.isHasPermissionConstraint = isHasPermissionConstraint;
25
+ function hasPermission(ac, permission) {
26
+ return isHasPermissionConstraint(ac) && ac.permission === permission;
27
+ }
28
+ AdmissionConstraint.hasPermission = hasPermission;
29
+ })(AdmissionConstraint = exports.AdmissionConstraint || (exports.AdmissionConstraint = {}));
30
+ exports.WorkspaceClusterDB = Symbol("WorkspaceClusterDB");
31
+ //# sourceMappingURL=workspace-cluster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-cluster.js","sourceRoot":"","sources":["../src/workspace-cluster.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,yBAAyB;AACzB,+BAAkD;AA6ClD,IAAiB,SAAS,CAGzB;AAHD,WAAiB,SAAS;IACT,4BAAkB,GAAG,CAAC,IAAY,EAAU,EAAE,CACvD,EAAE,CAAC,YAAY,CAAC,IAAA,+BAAyB,EAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC5E,CAAC,EAHgB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGzB;AAYD,IAAiB,mBAAmB,CAUnC;AAVD,WAAiB,mBAAmB;IAChC,SAAgB,EAAE,CAAC,CAAM;QACrB,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC;IAC9B,CAAC;IAFe,sBAAE,KAEjB,CAAA;IACD,SAAgB,yBAAyB,CAAC,CAAM;QAC5C,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC;IAChD,CAAC;IAFe,6CAAyB,4BAExC,CAAA;IACD,SAAgB,aAAa,CAAC,EAAuB,EAAE,UAA0B;QAC7E,OAAO,yBAAyB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,KAAK,UAAU,CAAC;IACzE,CAAC;IAFe,iCAAa,gBAE5B,CAAA;AACL,CAAC,EAVgB,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAUnC;AAEY,QAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC"}
@@ -10,6 +10,7 @@ export interface WorkspaceInstance {
10
10
  creationTime: string;
11
11
  deployedTime?: string;
12
12
  startedTime?: string;
13
+ stoppingTime?: string;
13
14
  stoppedTime?: string;
14
15
  ideUrl: string;
15
16
  region: string;
@@ -17,8 +18,23 @@ export interface WorkspaceInstance {
17
18
  status: WorkspaceInstanceStatus;
18
19
  configuration?: WorkspaceInstanceConfiguration;
19
20
  readonly deleted?: boolean;
21
+ /**
22
+ * Contains information about the image build, if there was any
23
+ */
24
+ imageBuildInfo?: ImageBuildInfo;
25
+ /**
26
+ * workspace class, also known as workspace size, determines the type of
27
+ * resources that are provided to the workspace.
28
+ */
29
+ workspaceClass?: string;
30
+ /**
31
+ * Identifies the team or user to which this instance's runtime should be attributed to
32
+ * (e.g. for usage analytics or billing purposes).
33
+ */
34
+ usageAttributionId?: string;
20
35
  }
21
36
  export interface WorkspaceInstanceStatus {
37
+ version?: number;
22
38
  phase: WorkspaceInstancePhase;
23
39
  conditions: WorkspaceInstanceConditions;
24
40
  message?: string;
@@ -26,23 +42,25 @@ export interface WorkspaceInstanceStatus {
26
42
  repo?: WorkspaceInstanceRepoStatus;
27
43
  timeout?: string;
28
44
  nodeName?: string;
45
+ podName?: string;
46
+ nodeIp?: string;
29
47
  ownerToken?: string;
30
48
  }
31
- export declare type WorkspaceInstancePhase = "unknown" | "preparing" | "pending" | "creating" | "initializing" | "running" | "interrupted" | "stopping" | "stopped";
49
+ export declare type WorkspaceInstancePhase = "unknown" | "preparing" | "building" | "pending" | "creating" | "initializing" | "running" | "interrupted" | "stopping" | "stopped";
32
50
  export interface WorkspaceInstanceConditions {
33
51
  failed?: string;
34
52
  timeout?: string;
35
53
  pullingImages?: boolean;
36
- serviceExists?: boolean;
37
54
  deployed?: boolean;
38
55
  neededImageBuild?: boolean;
39
56
  firstUserActivity?: string;
57
+ headlessTaskFailed?: string;
58
+ stoppedByRequest?: boolean;
40
59
  }
41
- export declare type AdmissionLevel = 'owner_only' | 'everyone';
42
- export declare type PortVisibility = 'public' | 'private';
60
+ export declare type AdmissionLevel = "owner_only" | "everyone";
61
+ export declare type PortVisibility = "public" | "private";
43
62
  export interface WorkspaceInstancePort {
44
63
  port: number;
45
- targetPort?: number;
46
64
  visibility?: PortVisibility;
47
65
  url?: string;
48
66
  }
@@ -56,9 +74,32 @@ export interface WorkspaceInstanceRepoStatus {
56
74
  unpushedCommits?: string[];
57
75
  totalUnpushedCommits?: number;
58
76
  }
77
+ export interface ConfigurationIdeConfig {
78
+ useLatest?: boolean;
79
+ desktopIdeAlias?: string;
80
+ }
59
81
  export interface WorkspaceInstanceConfiguration {
60
82
  theiaVersion?: string;
61
83
  featureFlags?: NamedWorkspaceFeatureFlag[];
62
84
  ideImage: string;
85
+ desktopIdeImage?: string;
86
+ desktopIdePluginImage?: string;
87
+ supervisorImage?: string;
88
+ ideConfig?: ConfigurationIdeConfig;
89
+ }
90
+ /**
91
+ * Holds information about the image build (if there was one) for this WorkspaceInstance
92
+ */
93
+ export interface ImageBuildInfo {
94
+ log?: ImageBuildLogInfo;
95
+ }
96
+ /**
97
+ * Holds information about how to access logs for this an image build
98
+ */
99
+ export interface ImageBuildLogInfo {
100
+ url: string;
101
+ headers: {
102
+ [key: string]: string;
103
+ };
63
104
  }
64
105
  //# sourceMappingURL=workspace-instance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-instance.d.ts","sourceRoot":"","sources":["../src/workspace-instance.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAGvD,MAAM,WAAW,iBAAiB;IAE9B,EAAE,EAAE,MAAM,CAAC;IAGX,WAAW,EAAE,MAAM,CAAC;IAGpB,YAAY,EAAE,MAAM,CAAC;IAGrB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,MAAM,EAAE,MAAM,CAAC;IAGf,MAAM,EAAE,MAAM,CAAC;IAGf,cAAc,EAAE,MAAM,CAAC;IAGvB,MAAM,EAAE,uBAAuB,CAAC;IAKhC,aAAa,CAAC,EAAE,8BAA8B,CAAC;IAG/C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC9B;AAGD,MAAM,WAAW,uBAAuB;IAEpC,KAAK,EAAE,sBAAsB,CAAC;IAG9B,UAAU,EAAE,2BAA2B,CAAC;IAGxC,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,YAAY,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAGvC,IAAI,CAAC,EAAE,2BAA2B,CAAC;IAGnC,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,oBAAY,sBAAsB,GAG9B,SAAS,GAIT,WAAW,GAKX,SAAS,GAKT,UAAU,GAIV,cAAc,GAId,SAAS,GAIT,aAAa,GAGb,UAAU,GAGV,SAAS,CAAC;AAEd,MAAM,WAAW,2BAA2B;IAExC,MAAM,CAAC,EAAE,MAAM,CAAA;IAGf,OAAO,CAAC,EAAE,MAAM,CAAA;IAGhB,aAAa,CAAC,EAAE,OAAO,CAAA;IAGvB,aAAa,CAAC,EAAE,OAAO,CAAA;IAGvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAG3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAGD,oBAAY,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC;AAGvD,oBAAY,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;AAGlD,MAAM,WAAW,qBAAqB;IAElC,IAAI,EAAE,MAAM,CAAC;IAGb,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,UAAU,CAAC,EAAE,cAAc,CAAC;IAG5B,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,2BAA2B;IAExC,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAG3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAG7B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAG1B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAG5B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAG3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAChC;AAGD,MAAM,WAAW,8BAA8B;IAG3C,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,YAAY,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAG3C,QAAQ,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"workspace-instance.d.ts","sourceRoot":"","sources":["../src/workspace-instance.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAGvD,MAAM,WAAW,iBAAiB;IAE9B,EAAE,EAAE,MAAM,CAAC;IAGX,WAAW,EAAE,MAAM,CAAC;IAGpB,YAAY,EAAE,MAAM,CAAC;IAGrB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAIrB,MAAM,EAAE,MAAM,CAAC;IAIf,MAAM,EAAE,MAAM,CAAC;IAIf,cAAc,EAAE,MAAM,CAAC;IAGvB,MAAM,EAAE,uBAAuB,CAAC;IAKhC,aAAa,CAAC,EAAE,8BAA8B,CAAC;IAG/C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAGD,MAAM,WAAW,uBAAuB;IAIpC,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,KAAK,EAAE,sBAAsB,CAAC;IAG9B,UAAU,EAAE,2BAA2B,CAAC;IAGxC,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,YAAY,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAGvC,IAAI,CAAC,EAAE,2BAA2B,CAAC;IAGnC,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,oBAAY,sBAAsB,GAG5B,SAAS,GAIT,WAAW,GAIX,UAAU,GAKV,SAAS,GAKT,UAAU,GAIV,cAAc,GAId,SAAS,GAIT,aAAa,GAGb,UAAU,GAGV,SAAS,CAAC;AAEhB,MAAM,WAAW,2BAA2B;IAGxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAG3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAM3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAGD,oBAAY,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC;AAGvD,oBAAY,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;AAGlD,MAAM,WAAW,qBAAqB;IAElC,IAAI,EAAE,MAAM,CAAC;IAGb,UAAU,CAAC,EAAE,cAAc,CAAC;IAG5B,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,2BAA2B;IAExC,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAG3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAG1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAG7B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAG3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAGD,MAAM,WAAW,sBAAsB;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAGD,MAAM,WAAW,8BAA8B;IAG3C,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,YAAY,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAG3C,QAAQ,EAAE,MAAM,CAAC;IAGjB,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,SAAS,CAAC,EAAE,sBAAsB,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,GAAG,CAAC,EAAE,iBAAiB,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACtC"}
package/lib/wsready.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
2
+ * Copyright (c) 2022 Gitpod GmbH. All rights reserved.
3
3
  * Licensed under the GNU Affero General Public License (AGPL).
4
4
  * See License-AGPL.txt in the project root for license information.
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"wsready.d.ts","sourceRoot":"","sources":["../src/wsready.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,oBAAY,mBAAmB;IAC3B,uBAAuB,gBAAgB;IACvC,yBAAyB,kBAAkB;IAC3C,sBAAsB,eAAe;CACxC;AACD,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,mBAAmB,CAAA;CAC9B"}
1
+ {"version":3,"file":"wsready.d.ts","sourceRoot":"","sources":["../src/wsready.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,oBAAY,mBAAmB;IAC3B,uBAAuB,gBAAgB;IACvC,yBAAyB,kBAAkB;IAC3C,sBAAsB,eAAe;CACxC;AACD,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,mBAAmB,CAAC;CAC/B"}
package/lib/wsready.js CHANGED
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2020 Gitpod GmbH. All rights reserved.
3
+ * Copyright (c) 2022 Gitpod GmbH. All rights reserved.
4
4
  * Licensed under the GNU Affero General Public License (AGPL).
5
5
  * See License-AGPL.txt in the project root for license information.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.WorkspaceInitSource = void 0;
9
- // generated using github.com/32leaves/bel on 2020-06-11 14:47:30.351829728 +0000 UTC m=+0.002956090
9
+ // generated using github.com/32leaves/bel on 2022-10-10 21:41:56.018177383 +0000 UTC m=+0.010324839
10
10
  // DO NOT MODIFY
11
11
  var WorkspaceInitSource;
12
12
  (function (WorkspaceInitSource) {
package/package.json CHANGED
@@ -1,40 +1,62 @@
1
1
  {
2
2
  "dependencies": {
3
+ "@types/react": "17.0.32",
4
+ "abort-controller-x": "^0.4.0",
3
5
  "ajv": "^6.5.4",
4
- "inversify": "^5.0.1",
5
- "jaeger-client": "3.17.2",
6
+ "analytics-node": "^6.0.0",
7
+ "configcat-node": "^8.0.0",
8
+ "cookie": "^0.4.2",
9
+ "express": "^4.17.3",
10
+ "google-protobuf": "^3.19.1",
11
+ "inversify": "^5.1.1",
12
+ "jaeger-client": "^3.18.1",
6
13
  "js-yaml": "^3.10.0",
7
- "opentracing": "^0.14.4",
8
- "prom-client": "^10.2.0",
14
+ "nice-grpc-common": "^2.0.0",
15
+ "opentracing": "^0.14.5",
16
+ "prom-client": "^13.2.0",
9
17
  "random-number-csprng": "^1.0.2",
10
- "reconnecting-websocket": "^4.2.0",
11
- "reflect-metadata": "^0.1.10",
12
- "uuid": "^3.3.3",
13
- "vscode-uri": "^1.0.1",
18
+ "react": "17.0.2",
19
+ "react-dom": "17.0.2",
20
+ "reconnecting-websocket": "^4.4.0",
21
+ "reflect-metadata": "^0.1.13",
22
+ "uuid": "^8.3.2",
23
+ "vscode-jsonrpc": "^5.0.1",
24
+ "vscode-languageserver-protocol": "3.17.0",
25
+ "vscode-languageserver-types": "3.17.0",
26
+ "vscode-uri": "^3.0.3",
14
27
  "vscode-ws-jsonrpc": "^0.2.0",
15
- "ws": "^5.2.2"
28
+ "ws": "^7.4.6"
16
29
  },
17
30
  "devDependencies": {
18
- "@types/chai-subset": "^1.3.1",
31
+ "@grpc/grpc-js": "^1.3.7",
32
+ "@types/analytics-node": "^3.1.9",
33
+ "@types/chai-subset": "^1.3.3",
34
+ "@types/cookie": "^0.4.1",
35
+ "@types/express": "^4.17.13",
36
+ "@types/google-protobuf": "^3.15.5",
37
+ "@types/jaeger-client": "^3.18.3",
19
38
  "@types/js-yaml": "^3.10.1",
39
+ "@types/mocha": "^5.2.7",
40
+ "@types/node": "^16.11.6",
20
41
  "@types/random-number-csprng": "^1.0.0",
21
- "@types/uuid": "^3.4.5",
42
+ "@types/uuid": "^8.3.1",
22
43
  "@types/ws": "^5.1.2",
23
- "chai": "^4.1.2",
44
+ "chai": "^4.3.4",
24
45
  "chai-subset": "^1.6.0",
25
46
  "mocha": "^5.0.0",
26
47
  "mocha-typescript": "^1.1.11",
27
48
  "rimraf": "^2.6.2",
28
49
  "ts-node": "^9.0.0",
29
- "typescript": "^3.9.3",
30
- "typescript-json-schema": "^0.43.0",
50
+ "typescript": "~4.4.2",
51
+ "typescript-json-schema": "^0.50.1",
31
52
  "typescript-parser": "^2.6.1"
32
53
  },
33
54
  "files": [
34
55
  "lib",
35
56
  "data/*.json",
36
57
  "src",
37
- "pkg-yarn.lock"
58
+ "pkg-yarn.lock",
59
+ "provenance-bundle.jsonl"
38
60
  ],
39
61
  "license": "UNLICENSED",
40
62
  "main": "./lib/index.js",
@@ -43,9 +65,9 @@
43
65
  "build": "tsc",
44
66
  "clean": "rimraf lib",
45
67
  "prepare": "yarn run clean && yarn run build",
46
- "test": "mocha --opts mocha.opts '**/*.spec.ts'",
68
+ "test": "mocha --opts mocha.opts './**/*.spec.ts' --exclude './node_modules/**'",
47
69
  "watch": "leeway exec --package .:lib --transitive-dependencies --filter-type yarn --components --parallel -- tsc -w --preserveWatchOutput"
48
70
  },
49
71
  "types": "./lib/index.d.ts",
50
- "version": "0.1.5-procmount.0"
51
- }
72
+ "version": "0.1.5-protected-secrets.1"
73
+ }
package/pkg-yarn.lock CHANGED
@@ -4,19 +4,32 @@
4
4
 
5
5
  "@gitpod/gitpod-protocol@0.1.5":
6
6
  version "0.1.5"
7
- resolved "file:///tmp/cache/3692993ef53375a9d24708fd36c5087ce825caa1.tar.gz"
7
+ resolved "file:///tmp/cache/0cca89e75b8b90ec65488395f5cab2366275e639.tar.gz"
8
8
  dependencies:
9
+ "@types/react" "17.0.32"
10
+ abort-controller-x "^0.4.0"
9
11
  ajv "^6.5.4"
10
- inversify "^5.0.1"
11
- jaeger-client "3.17.2"
12
+ analytics-node "^6.0.0"
13
+ configcat-node "^8.0.0"
14
+ cookie "^0.4.2"
15
+ express "^4.17.3"
16
+ google-protobuf "^3.19.1"
17
+ inversify "^5.1.1"
18
+ jaeger-client "^3.18.1"
12
19
  js-yaml "^3.10.0"
13
- opentracing "^0.14.4"
14
- prom-client "^10.2.0"
20
+ nice-grpc-common "^2.0.0"
21
+ opentracing "^0.14.5"
22
+ prom-client "^13.2.0"
15
23
  random-number-csprng "^1.0.2"
16
- reconnecting-websocket "^4.2.0"
17
- reflect-metadata "^0.1.10"
18
- uuid "^3.3.3"
19
- vscode-uri "^1.0.1"
24
+ react "17.0.2"
25
+ react-dom "17.0.2"
26
+ reconnecting-websocket "^4.4.0"
27
+ reflect-metadata "^0.1.13"
28
+ uuid "^8.3.2"
29
+ vscode-jsonrpc "^5.0.1"
30
+ vscode-languageserver-protocol "3.17.0"
31
+ vscode-languageserver-types "3.17.0"
32
+ vscode-uri "^3.0.3"
20
33
  vscode-ws-jsonrpc "^0.2.0"
21
- ws "^5.2.2"
34
+ ws "^7.4.6"
22
35
 
@@ -0,0 +1,2 @@
1
+ {"payloadType":"application/vnd.in-toto+json","payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YwLjEiLAogICJwcmVkaWNhdGVUeXBlIjogImh0dHBzOi8vc2xzYS5kZXYvcHJvdmVuYW5jZS92MC4xIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvZXJyb3IuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjg1MWE4OWVkOWQ3NjI2OWMyZDY3MGEzNDM5OWQ0OGZhMjIxNGEzZDhiYmNlYWVjOTgyMGEwZDViMTJmYmU5ZmUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsdXN0ZXIuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNmQ0ZTkzZDEwYTRkZjRmOWM0YTU2OGJkY2I1NmUxYmMzMTExZjIyZjU3Y2E4MzlmZjgwZjMxMzdjN2QxNmZlOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjVjYzkwOWE1MmE1OTMyMDZjMDNkNmFjMTVmZDk2ODJkMDU3ODE0Yzc0ZjNiOWZhOWU1YjFhODYwZTVhMzVhYjQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9qYWVnZXItY2xpZW50LXR5cGVzLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRkNzFiMmMyYjgyODRmMjBlODhjNzIyNzA5NzliNjhlNWY4OTk4ZGY4MzZlODdjNzNjM2RjODI3YWU2ZTcwODAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd2ViaG9vay1ldmVudC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI1ZGI4MDY1NGVjMThmMjA1OWUyNGU0MWJmMzc3MWMyZGY5OTRlNGUzYTM0NWI5MjBlYTFmY2E2MWNmNmY5MTgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9sb2dnaW5nLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlZDBmNDQ1NjYxMzhhZGY2MTcwMWEwYTNjNDg4OGE3Y2YwOWZmN2E4YzdhZDg0M2VhYjk1N2IyYzRhZGRkODM3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1lbmdpbmUuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImZiNzBkYjg1OGRlNTc0NjMwZmI1NTgwMWUzNDAzMjE5NTEzYTMwOTRhM2VmMGNkOTMwODQ5MzgzMWNlMzRkNmYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaGVhZGxlc3Mtd29ya3NwYWNlLWxvZy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjBhMWJhYmJkZTEwOWNmMjA1ZGFmODA0NDlkMTU0YWU1Y2Y1NGU2ZWExNjU5MTRkNjZmMGQ2YzY0NWM2ZmE4NmQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjMwODRjZTMzYjBjYzdhZjBmYzFiNGQ1ZDNkY2Q2NjYyN2NjNWUwMmNlMjdhNGRkZmEwZTA5ODUxM2UyMzI1NWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9rZXktcHJvdmlkZXIuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjg2NjFiNjU1NTJmN2JjMmRlYmJlNTUzMGMxODgxMzE5ZGYzOThhZDkyMGNmMjhkZGFkZTJjMDU0MjJjMDZjOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy9jb25maWdjYXQtc2VydmVyLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNGEzMDVjYWZmMWQ1ZWI4MTgyZjUwNzY4YThiNjVhMjdiNWMzNTM0OTc2MjIzN2ViNTExOWI5MGE3NjQ4NzVmZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hdHRyaWJ1dGlvbi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmZDdjZGNlN2RiMDIxNjNkNzdiNTE3ZDJmNTQxNjRkYTgxNjFlMWVmNzI1YmQwMjg5NGExMmIwNmM2OGJmMDAzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1jbGFzcy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwMTA1ODdhYTQzYmU3MmM5ZjZlY2M4ZDA3M2Y1NDE0NjU2NzVlNzM1NjYxZDRmMTRiYzgxNGQ1NTUyNTNlNGExIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbG9nZ2luZy5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiMDUxMTgyYTgwMDJhYTJmYmI5NzliYWY0YTljMzZiZDE4YzBmY2MxN2JlNTQwZDljYzk5NDc2MmMyMDM1MjdlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FuYWx5dGljcy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNDRmYWQ3M2Q1OWQ4NTQyYmM1OTBkYzNlZGM0NjAyN2RiYjEyOGZlZjNhM2E5ODZjZDIxYWY5Y2ZmZDA1ZTQwZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wYXltZW50LXByb3RvY29sLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdmMmQ0NjczOGI5MTczZDNiNDNmYzMyZTMyMGFhZjE3YmRmZWQyNWRkOTk2NGNmMTc0MDkyNTIxY2RkYmIyOWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvd2luZG93LWNvbm5lY3Rpb24uanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdmZDUyMWI3MGI3NzNmYjg0OGQxMjY5ZGM3NTVhYTRhNjY5M2RhMmIxODNhODY4MTQ2M2U1NGFhZDA4MjMwZjUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1ZDQwYTU0YmFkMjM4YTYyNzM4YWEwNGZlNDg2N2NjMGM4MTNkOWMxYWFiMjBhMWUyOGFhOThlYjZiMDUxMTBmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2VtYXBob3JlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTUwY2VlNzBjMzFjYWU0MzY3MjJiMTQ5N2E5NTFlMDNiMmQxZjRmM2YyNzlkZmVjZjBjOGZjMGU5MGViODM4NCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2NhbmNlbGFibGUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlZGY1YmM1MzkwYmQzOWY0ZmEyNGMxZGM4ZTU2YzY1YTU1YjFjNTNhZDg3Y2FiYzA1NmVmMmE0ZDBjZmRjMjY4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2V4cGVyaW1lbnRzL2Fsd2F5cy1kZWZhdWx0LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE1NDUzNTUxZDcwYjI2NzNkMGI1MzBiOTcxYzEzM2Q0OWZkNTFlZTFlYTMxZTA2ZjAzM2I0YzMyNDJlMjE3YTIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC93b3Jrc3BhY2UtcG9ydC1hdXRoZW50aWNhdGlvbi5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNmFiODkyM2E0MWQ1NWVkNjYyMGZjN2EyM2M0MTk5ZGM1YjM4OTk5MDgyNGZmNDI3MzY2Mjg2ZTg3ZWE3OThmYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NraXAtaWYuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjc1MzY1YjQyOTNjNzc0M2NhNTRmYTQ4NGIwNmRlYjY3N2I1ZmRiNWRjYzRiOGNkNjhkZWExNjY2YTZjMzIxYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjg2ZGM3Nzk1MTEwNzE4ZDZlYTdiMTllMWIwMzE3Yzc2MGYzZGRmNjcyYzExOWQ3Nzc4YzlmMjJiOWE4YTBmNjQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9ncnBjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU4N2QzOGM3OWJkMDEzMmY5N2RhYTEzMmVkODkxOWQwNGU0MTFlMjUzMGEzNDU0NTZkYTY5MjhmZWI1YmMyMDQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9xdWV1ZS5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQzZTZmYzIxNDE4MzJlZmJkZTFiMDlhODY3NDg3Njc1NWMxODI0MjhjNTlmNWM0ZDBmNDM0NTMxNDQ0NTlmNmMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hc3luYy1pdGVyYXRvci5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTc2NjUzYzQwYjAwMWZkZTU4YTU5ZDJiMjkyYTRkY2FkNWQxMWRkYzQwZjMyN2RjN2UzMGVhZGZjYjhjODhlMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9zbmFwc2hvdC11cmwuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjYmI4YjYwZTZmNWE3Y2JhNWVmNWI1NzUzYTM2ZmRjNjhhYTMyY2ZkMmU5ZWMyNTk5MGMzY2Y2ODVkNDEwODQ5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2FyYmFnZS1jb2xsZWN0ZWQtY2FjaGUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjk2MTRhYTY2NWIyMjE5NjZmMWFkYjU3ZTI2YWY3NWJmNjFjOWI3ODMwNDYyMDUzODc1NDQwY2E4YTE2OTdhNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90ZWFtcy1wcm9qZWN0cy1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI0MDIyYzA4YjEzNDMyMDFkMmZiOTU5YzUwODQ5NDUxM2FmNzk3ZGZkMmVmMjExM2JmMTc3OWU4OGYwZTcwNjUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9uaWNlLWdycGMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlNTE4ODMyMTM4OTczMzhlYWZhYTA1NzQxZGFjNjk0YjdiYWJjOGRlMDg1OTE5Yzc0NTdkMmIyZmVlOWM4NmM0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImMyZjU2ZWUwYzc1MzljMzlmNjk3MWVlOWZhODFjMDQ1MGRmZjQ0YWEzZjAxZDY2NmM4YWQ2MjI5YmRmMzM0NjUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kaXNwb3NhYmxlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI4NWY4NWU5OTQ4N2Q0ZmQ4YWVkOTY2ZmIyMzE3OTllMmE5ZTlmZjQ4ZTk0Y2JlZmNmNmMzZWViNzdjYjkwZDUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWJ1Zy1hcHAuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImFkNWIxZTM3ODVmZDQ3YjQ5ZDVhOGZhMDkzZDc4ODZiYWI2Mjg5N2U4ODZiMzJmY2VlZDAyNzMxNzhlMmQ4ZTMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9uaWNlLWdycGMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiN2E4ZGQ3N2RlOWFlMWFlZGM5ZjE5NmE3NGYxZTQ4NmMwMGYxZDZlM2VlNGMyOGRmZjk0NTFkYWI3YzFmNDRlZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90ZWFtLXN1YnNjcmlwdGlvbi1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjZDk4NGY5NTEyZmFkZThhZmEyYTI3NjJjMTdiZTc3NDI2YmE4NjM4YTQ4ZTUxMDAxOGJkNjVlYTJjMzViYjY3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1lbmdpbmUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2Q0ZDFmZDhiMTNiYjEwMGFlZTY3NTNhZDZlZGEwZDRhN2Q3Yzg4NGE1YWQyNzk0MjQwZTM0NzMyNTI4NzJhNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1jb29raWUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxYTA3ZDgxZWYxMjRiOTAxMTYyMzAzMDlhMDBkZjNjN2FkZmYzNGY0NWRmNTBhNzMyNTE4ODc3YWQwMDA0MDVkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVmZXJyZWQuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTg4ZThlZWJmZDM4OTA5OTA4ZTMwOGM2MDg2YmUzNGMxZGM5YWM1MzhiYTM4Zjg1NWU5MDMwMWI3NDc4NDkxYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hbmFseXRpY3MuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyYTZkMDJmNjJhMGRiNzA1OTAzMGRhYzc3NGUxMGY1NzczNWQ4M2RjNzAyMWU5NzdlNTg1NGQwMGFmY2IyMzczIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1maWxlLXBhcnNlci5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY0MmMyY2JkMWNjM2IwYzVmZDAwYzgxODg3MzIxZWI3OTNlNGMxNmE2MzBlNjhjMjJkY2QwYzFmNmQ2M2JkYTciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hbmFseXRpY3MuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMGJhNWJkNjE0OTM0OWY3NTExNWUyNzQ4YzU5OWZkMGZmZDU2YTE1Yzk4Zjg1NjlhNjZjNDZkOThjYjU3ZGVhYiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NlbWFwaG9yZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NjRlNzg0NDYzYTBlZjAxZDFiOWJjMTkxYjdjZTIxMTNjMTNmOTJlODJiYTAxNDNlMmFiMmMwNTQxYmFmMjVhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Byb3RvY29sLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkMzAzM2RmOWQzNTQxZGYwOTQ2ODA5MDk1NDJmZTU2MTk3YTdiNjZkMzZjZGEwM2FlNWUwMWZiZmQ5YzJiZjkxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2V4cGVyaW1lbnRzL2Fsd2F5cy1kZWZhdWx0LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxNDdmNmY3NzM3ODZiMDc2MGFjZTMzNzc5ZmQ2MWFhOGNlZTMyMGY2NzkxNjU4YTI3NmEzNDRjM2Q2YzMyOWVlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvd29ya3NwYWNlLXBvcnQtYXV0aGVudGljYXRpb24uanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmFmMDg3MTA1NzgxMDA2MGI3ZWQ3NWQ2MDNiNDRlMTEyZmZkZjFhNDQ0NjVlNWFhMjBlMjcyM2QyNWFkMDI2MyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dhcmJhZ2UtY29sbGVjdGVkLWNhY2hlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZlODllOWRkNmVmMzMwMGMzMGFiNTUxNDY2Y2NjYTYwMTZlNDJkNDdiZGE1NTI0MzczMDNlMDUxYWI0Mjc1MDEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kaXNwb3NhYmxlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDgwOGZkMjc4MTBkY2E2ZjliMDY0NTZiZjEzMGVlMGViMWUyNzI2MmY2Y2EwYjYzNGYyZDUyYTU2NzZlYjc2YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hY2NvdW50aW5nLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTA2MTY5ZjgwODAyMWE2MzJhMGIzMTEwMzNiOWNiZTAxOTIyOTVmNDY4NDhjZDU5ZGZjNzFiMGFlZmVlNzk5MSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjcwYzVlNTIzMzg0ZTc1YjQzOGM1ZGE5N2I5ZTkyNTkzZWM5ZDNkYjZiMzc5NzdjNDZhNDk4MWY3NGQ2MzBkMjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2NsaWVudC1jYWxsLW1ldHJpY3MuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjA1MGZhZTIxZmM2ODcxMGE1NTg0N2E1M2RiOTIyMDc4NmMxZDhkZGZjMDRmZTI3NDNkM2ZiMzYwZTE5M2YwYjkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9ldmVudC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4ZmIwYmUwYzJkZDYzMWRjYzI5ZWQ3MmQwZWY4ODExOTg0MDA0YmNjZDExOWZlNmEyNDVkYTQ5NDA1NTBhNzUzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24va2V5LXByb3ZpZGVyLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjljYTljYTFiZmE1NGRkNjVkZDkyMmY5NzAwMjI4NTZkYjgyYjk0OGYyNDBiNzZlYmEwYjE2YmRlNjAwODk3ZjgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL25vZGUvY29ubmVjdGlvbi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmZmJkNzhkM2YxZWJmYTU2ZmM4OThkYjVhNzIzOGUyMjM4YjE2NzZlMzFjZmQ0MzhhOGZlNWYwNWIwOWYyNmZjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2Jsb2NrZWQtcmVwb3NpdG9yaWVzLXByb3RvY29sLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjRhNTU3NzM3ODUzN2JlYWU3MWMwYzlhM2M5NzZlNjRkZWE2NjZhZTk2MjQwMDYyMzcwZDZlMGFkMTg1ZGI0NmMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcHJvdG9jb2wuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4NTdmYzFkMTg2MzI2NmVkMTRkOTc2N2JjMmM1NzNmNDYxN2YyNmIwNThhOWQ0NjIzMjgwZmU3MzUyZTBlNzIyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZXZlbnQuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5OTE1NzI0Yzg4NDQ0Zjc4NDA5ZmI4ZDhiZjNmOTg4ZjU2YWNiN2M0YmUyNzVmZjhjMzEyYjFkMjc4NmEwZTIzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vY29udGFpbmVyLW1vZHVsZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzZTM4NzdmYTQyNzhkOGUzMmY0YmJmMDIzY2YyZTkyZTM0OGJlNmZmZDZkOTVlZWYwM2I1MGM5ZGJiNjUzMzkyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dzcmVhZHkuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNGIxOTUzOTU1ZWQxNjc1OWYwMjYxYjBlODJkYTNmM2YyYjZlYWFjMDYyZjU0OGFiYzlkNzkxYTJhNTJlYzQyOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtaW5zdGFuY2UuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNTBhNjQzZTBiMjM2N2E0OWNhNTU0MTBiOGQ0MzE5YWUyMWU3ZmRmZmZkNDg5OTQ5YmZhMTI5ZTY4NjBlNjZlZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiYTc2MTVhYWE3YzdmYTQzNDZlY2M3Njk5ZDJhMGNmMDgzNDZjZGY5YzZlMWE4MzgyZWVmZmE0MmQxOTY3Mzk5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvY2FuY2VsYWJsZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmM2JhY2I2ODJjOTBjZjgwZWVhMjJlZWI4NzQyOTA5OTEwMzM1MGNiM2U2ZWU5YWRjMzlmYzEwNTk4NTM4YTliIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvamFlZ2VyLWNsaWVudC10eXBlcy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmNmZkMTQ5MTA1NzYzNTQ2ZGMzNmE5ODY3ZTM0NzMxOTAzOGVlZmU0MjI5OTZmNjVjYWM3ZjFjMWJmZmViZmRmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2V4cGVyaW1lbnRzL2NvbmZpZ2NhdC1zZXJ2ZXIuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImM4OGE1NWI2MGM0ODZhMzIzNmZhMWQ1MjlhZjQ1OGUyMmU1MzA4Njg0MDIyMTczMWNiMGMwMTlkYjJhNDdhMjkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGVhbXMtcHJvamVjdHMtcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzZmMWU2ZWU1MTJjOWUyZGI4Mjk2ZTU1ODVmZTY1NTRiNzU4Njk2M2NmYTQ3Mzk3OWQ0NmQ2M2JjMzdmYjAwZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dycGMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlZjMwZTg4NjVmMWU4NjlmYjQwNGZlY2I5ODA0NWY2NjU3OGJhMDg2MzNjNjI4NmZiNTY0N2QxYTQ5ZmI4NGUxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdHJhY2luZy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1MzY1OTZiZmZhYWU0Y2MxNGYwZWQyYTVmOTBhZjkxYWM4OWNkOGMyZjJlZWMzMDcyNzM1ZDA5MDNmNjg5MDcwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW1zLXByb2plY3RzLXByb3RvY29sLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwM2M4N2Q3ZmRlMDExYWU5OWMwZWQ5ZGZlMzU1YTc0NmViMDQ2NjAzYmEzYWViMTRkMzJkYzUzNDRlNTU5OTQwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImFkZGI5OGI2ZmExNjU4NzNjZDAzYTA2N2UwNDk5YTJkMWE5ZDRiZmNiNmFkYzQ4ZmRmNDkyMTYyMDM4MjAxNTQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvY29ubmVjdGlvbi5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE3NTBkNmUwZDlmZmViZjQ5ZTgwMjBkMDAzY2MzNWIzZGE0OTE1ZTc2OTFlOGY1NTNkYTA2ZGE2MmY1NWNlM2MiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcHJvdG9jb2wuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImVkYjA4ZTExMTk1MDkzYzMxZGFlZmU5ZTZhYTQxNTFkZjk3ZjY1ZTY5OTJkNzZhZWVlOWVmNThkZjE5YTM3MzgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC93b3Jrc3BhY2UtcG9ydC1hdXRoZW50aWNhdGlvbi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlYjMzOGFiMDZiYjQzZGFjMTg2NjQ2ZDk4MmI2OGI1YjFlYmY0Yzg0ODM4ZTlhZWNkMzY1ZmI3ZTJkNmRjN2YzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTM4NjdkY2U2ZGQ0Zjk3YTI5ZjRmOGZmYzc0ODVlN2ZjOWRhM2E4ODdiYjg3OWY2YTRjOGE1ODdjNTA1N2ZhNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzOWFkNGQ4OTljZTU4OGEwZWE1YTQxY2NiMTY5NDg0NTVhODNmMDQ1OWFmZjc0YjUyNmNmZmQ0NDQ0YTM2NWMwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Byb3RvY29sLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNjMDcyYzc5MjJkOWU2NjU3YjQ5YTAxZTBjZmMxZWJhZDk5MGM2YTYyNjE0YzM5NzA4NGRjMTVkZWVmMjQ0NmMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd2ViaG9vay1ldmVudC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNmExMWUxNmJkMjI4MzQyNjA2NDEyNTZhMGFiNTJkOGRmMjA1ZTUxYWM0Nzc3YjUwYjg2ZTFmMDA2ZDlkOWRmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3VzYWdlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE4ODNiNmQyOGQ3NDg4YWZmMDQzZDIwMWM2OWNhOWQ0OTRlYmVjNzkwMjM5ZTZlZGNkZWMzODEzNzJiZGUyMWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYmlsbGluZy1tb2RlLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2ZmRjMjM0YTFlYWM5YmUyNTJlYTFmZGM1Y2U5YWE0YzNmZDM0YjM1ZGViMDE3MjdlMmVjNjliMzgxODljZGI4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1zZXJ2aWNlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjg1ZWIzOGMyMWYwYTdiOWZjM2ZiZDcxN2Y3YWFhZTlhZjg2MGU3ZTYwODIwZWQwNWZkNjgzMjc1MmEyNzNkMGYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdHlwaW5ncy9nbG9iYWxzLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjRjNzJlMzcyM2RiZDlkZjUyY2ZmZTY4Y2NiOGU5N2QzNjllZjdkYjFhMjNiNWU1ZTE2Y2Q5YzViNzA0MzM4ZjgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGVhbS1zdWJzY3JpcHRpb24tcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZWUwYTFlNmFkNDM5NzFkMGIwNDRjODcyYTAwZDNjYTM1NGI5ZTBkZjQ3YjY1NTMxMGQ5OTQ1NjFlZjMyOGJjNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2Qtc2VydmljZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyNTBiNzliYjdiOTg5NDQ2MDcwYzM4NzBlNzRhOWIxMGY2MWJlZmM1YTA5M2ZhYjMxZWUxMTU3MTM3MWRmM2E1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVlcC1wYXJ0aWFsLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjA1ZTY4MTEzODI3MDUxY2RkOTE5NTdkMjlhZTYzYTgxZWQwZTg0N2JhODkxOWM3YmY4Zjk3ZTliZjY5YTBkNGEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMGRhNWMxMmI0ZjdkMGZjN2QyOGIyYTBhNjA3ZDQyNGM5NjRhNTJlNzk2NGY5MmQyOTc5NTdkOWU1YjU0NmMxMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzZThlMjQ2NjI2OTc5NzRjNDgyM2Y2MmVmZjFkMTljMDk5YjRlZGRlMzZiMWU1ODg4ZTM3MWViYmVkYzQwNWRhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbWFrZS1saW5rLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE5OTk5ZjRlNmZhZjBhZjdjMzRmZTQ5YWQ0NDQ0MmU5MDlmNjE1YzJkYTE1ZmE5NTBkZjFkNTNmYTNjNmIwMjciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvd2luZG93LWNvbm5lY3Rpb24uZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMGViYTJjNTYwNmE5NTU5NmZkMDIxNGQ4NTMyMzNkYmZiN2E0ZTQzNWNlMGNjZjg2ZTViZDYwOGNhN2Q0NDIxMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4ZjI4OGVlMDE4ZDcyZTI2YjhlMjc1NTYxNDY3MGRkOGEyZTUyZGVkMTRjMzU1MzhmMjk1ODAyZjZjNDljYTJlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Blcm1pc3Npb24uanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQ5Mzk0MGVkZWRjY2JmYzRhMzRmODNhMzkwYzZlYTA0ZTA0NjkxYzk1OTliYzMyMGIxNTdhMjdkYzE5MmUyNmYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvc25hcHNob3QtdXJsLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQ4NjhlYTI5YmY5YzZhYzlhZjQxOWJhNGU1ZTE4OGY5OGVlN2EyNzYxNDIzMzg1NzMyYzA2YWMxMmEwMWE3YzAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaWRlLWZyb250ZW5kLXNlcnZpY2UuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiM2E0NWUyNWE1ZDFjZWQwOWVmMWI1OGU0YThkOGE5ZTIyMGJlNjRmNDVhZWJjMzEyOGI1NTRkYTRjNDMwODhmMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTFjNGY3MmRhYzY3YzRjZWY4NTI0Mjc4MWM5MThkM2RmNDMyMGNlYTIwNmFlZDcxOGYxZTZjMWQ0ZjBlNjAyMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtaW5zdGFuY2UuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjdmZDU5ODNjMDc1ODNlZjZiNGU4ZDlhODJmYjM3MGU0MTc0NGFjOTQ1ZWI1MzU5MzI1MWEwOGZiNTgyYjQ2YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5Zjk0ODVhODBlYzQzMmI1MjEzMzQ4NWNlNzhjMTZlMmUzYzVmZGRmMDkxY2I4ODhlMDVkNDNlOGVhNDhjM2RmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVidWctYXBwLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImVhNDhhM2ZmZTMyY2RjMzVhZDRiYTEzYTdlYWU1MjVmMjIxM2JjM2MxYWNiYjhmYTljNzM3ODAyMzI5NzFlNTciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd3NyZWFkeS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjgzMjA3MmE5MDU4ZGY0MTIzYTFjZmMyZjI2ZWU3NjgwNjQ3ZjM0NWU1NzhjYWU5M2RkMzViODEzYzk0ZWRlOWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmYwNGI5ZDM3ZGQ1NTFmMzEwYmIxYWNjZmNhZGM1ZGVjZmRiM2U1YmNiZWY0YTVmMjNkN2ViZTcxZjg1NGIzNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy9jb25maWdjYXQuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYWQ0ZjYzNjE5ZmNjOWFkYTI5ODFkYzAxYzhmZjFhMTg2MmJkZTllMTgwMDBmZjE1NGFjZDVmM2EyNzAwZGQxMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjU0OTI2Y2YzZDA5ODdmNDNjYjQ3NDNmMWJkMTMxNGViNTkyZDQ4Y2UxMzQ4ZDZiZjI4MjM1M2M3MDFiYmFlYTAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9uaWNlLWdycGMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjFmMzhjNjM5MWU2ODdkMzlkNTg3NjUzZTRmMmM4YzVkYzk1ZGU5NDM3MzRjY2Q3ODBkNzkyYWQ3NDc5NTI4YjUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGxhbnMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkY2I5YzU3NmZiYWY4YmY2Y2Y4MzVlZjk5OGYwOGMzMDUwYzc1ZmJlNjhlZmEyMDIwMmZkYTgzMTk2MzAyYmIyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjhiYzg0ZjUxNTEzYjQ1MTE3NTllMjc4NDU2MzQwMWNjYzk3NjI5NWU5NzU0YzhjZjUwNGRjODUwODcyMDYxYjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaW5kZXguZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjZTYwNGNkOTE2Y2MwMTY5NWIyZDMwMDA4ODRkYzA1MTZkNDIyYTBkYzY1NjE5MzQ3Yzk2N2MyNmIxZmU5ZWRlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3NuYXBzaG90LXVybC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWFiOGQwOGEzN2I0NjI3NjgwYjkyNjZhY2IxOWE1NjhlZGUzODI2YWU0M2ZmZTEyNjQ4NGI2OWY3OGU2NzU3ZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvbm9kZS9jb25uZWN0aW9uLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM1OGFlZWE2NWZlZGU0MTBmYjliNzA1NjU4ZjNkOTQyMDA5OGEyNGExNTU5Nzc5ZTI4MGE1Y2IyNGQ2MzQ1NDciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjViMDdjZDI4YmNkNmNiNTQ4NjcxZjMyZDI1NDlhNmM0NjEyY2JjNGIzMzhjOGZiOWRmNzQwMzA3MzhkYzIyNzMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9jYW5jZWxhYmxlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjJhYTg2OWVkMzk4MGI2YTBmN2NjOTcyMDdjZTkxZjI5ZjdjZGMyZTM3NzI2YjNiNTcxN2QwZjYyYzJlMTA1MTgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd2ViaG9vay1ldmVudC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzFlODk5ZDJjNjE2ZWRiYmY4YjcxNGYwZTc2ZDU5OTgyYmJhMDNlODRiYzc3YWM5ZjMyYWE4ZGUzYzZiZDdmNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtZnJvbnRlbmQtc2VydmljZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI4MmYyNjhhMWY2YmRjNjI4YmM2MjkxNjkzZTQxNmU2NjgwNWRiMzY3NDNmMDhlNjFkNDI2MGJkYzA1YzYzMDgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbGljZW5zZS1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmNGVhZjA5ZTI1Y2RiNDYwMzljZmQwNmY2Y2ExMWY5M2FmMDdjYmZmYjZjM2Y2ZmY5YTk1NDg5NjVhY2UwNDYyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FuYWx5dGljcy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlOWY1MjRiMzhlOTM1NzQzZTFhYTc3NDUwZGJjMmMzNmIxYTFjZWRkMDY0NWVhYjhlZjZhYzc3ZjI4YjQ4MzU5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjM1Y2Y2ZmY2YzRhYTE1NGQzY2RjYThiNDE3ZjY1MTE3YWZlNTExMTk0YWU1ODNkMzljZmQzMTQwYTQ4ZDliYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93ZWJob29rLWV2ZW50LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI3NjdlMzE0NGJjMGFkZTllOGY3NjY4ZGE0M2Y0MzFjY2MxMTI1NWY1YmFlNTZiOTIwZjQ1NWMyOTg2NDdhZTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvdHlwZXMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJkYTJkMmE3YzA2ZTdiZDgwNzk3NDU1MTA1NTc0YzI0YjhiNTMxYWNjZTIyMDNlNDY1YjY4YWFmZmFjM2E4YTU2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FuYWx5dGljcy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwMjAyZWIwYTMyYzAyZTg4YjNjYjllM2MyNzYwNTY0ODQ5OWRjYjgwZDE0YzAxNWQ0MGQ0MDI0NzEwMTdlNGEwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9ub2RlL2Nvbm5lY3Rpb24uZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjZDQxODk5YWMyOWU3ZmI3ZTdjYTcxMTliM2QyYjdlMGQxNTM1MTA2NmMxNWFjMzlkMGJjNjk2ZjlmOGVkNmQ4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Blcm1pc3Npb24uZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlOGY5NTAwMGE5NGUzOTY5ODEwZmIwMDRlYTk1NGU2M2VmNTEwMDM4MTQxYzRkYWUwZGExNDY0OWYyY2IyMTU0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luc3RhbGxhdGlvbi1hZG1pbi1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiYTgxMjkzMGMwYTIxNDEzYjhkZWEyODM4OWJmZjk2Y2M1MWZhZDczNDlmZWMzNDE4M2Y4NTE2MGI0YjZmNTI4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNmUxNDMzZjg1MzRjNTE0NmJlMDUxOTc4NzY3NGY1OWU4YTJmYjk5ZGU2ZTE5M2IwNzExOWM1NTkwMDYwMTc1OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvYnJvd3Nlci93aW5kb3ctY29ubmVjdGlvbi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5YWJmM2I1N2JjODM0NjI3MmUxNGU0MmEyMmFmZmUyMDlkYzYzY2JlOTVjOTIwMjdhNjRjNjI0ZGEwMDVmNzY0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvYW5hbHl0aWNzLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzQ0MjQ3OWZhNTMxNmVmZjYwOTY5NTY5Nzc2YzdmMTc3ZWFiYTcwMDA3MDhlMWE4ZWJjZWMwYjRjMWY5ZmQ1MSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RhdGUtdGltZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMGIyZDNiZmRlOTk0NTgyNzkyY2JkZDczZDI0ZTkzZGE5YTNiNzNhMTFlZjhmNTM1Njc1ZDQzOTYwYWE2MGZiYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NraXAtaWYuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjM0OTlhNDcxOGI3MWU1ZjE4NzU4YzY0ODhhMmQzYTVmZmRkYjE3ODdkMzdhYmQ5ZDFiN2I3NDZjZTBhMDdjYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2FuYWx5dGljcy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMmE5MWFiNTI0ODA1MWQ1ZGM0MTJkNWNmZDY5NWU3NDZiNmM3NDQwNmIyZWQ0MWE4ZmQ4NTA2NTQyNzM4OWZhZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYWFjNjYwMjNlODA3OGYzMTVkYTg4MTAxNzQwNjUzMjE0NzEwYTk5ZDM3NjRhMWJkODdjMjA4NWQ4OGFhZTE5ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjYzVjZDdhODM3YWJlNGNjYWQyZjkzOWRlMzA1OWM4MjljMzhlNDRmNTk3NTM5ZGQ2YzJmOWNhMTc0ZjZkOTRlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvd29ya3NwYWNlLXBvcnQtYXV0aGVudGljYXRpb24uZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiNTY5YzZkNzVhYTQ4MzViMjkyMDdiZmViNWUyYzM5M2RjMmE1ZGM1M2RmMTRkNWM1ZWEwMzk0ODhmYjYwMjRjIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3BsYW5zLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjJmNzRlNGYyYzZlYzNkMmE5YmUxZTgwNTg3Yjc4NDVmYTZlMmQ3NjMxODg2MmFiMTEyZjA5NDAzOGVmNTM1YjMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvY29uZmlnY2F0LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI0NDc4YmEwNTA3NjIzOWY0MDVlMGYzMjc0YjgwMjc2ODQ0YmZjYTAxYTU3ZjMzNjk3MzI0YmIxN2ViMmIxNzgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvc25hcHNob3QtdXJsLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjk4Y2RlNTc1ZGQ3ZjE4MTE0MDM0OWIyMTUxOTcxOWRjZTNmZGIxMWI2MWMyNDg5NjcxMTE4MzBkNDlhYjE2M2EiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9ldmVudC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTU4NWQyMGE0N2EyYmYwOThiNGRjYTI1ZjQwZjZlZTg5NWUxMmRlNjMzY2MyNGY4MWEyOTliNTJlZjE1YmZjMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9ibG9ja2VkLXJlcG9zaXRvcmllcy1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjg1NzAzN2Y3OWMzMzI3NWIzYWU0ZmI3ZDYzZmY0NzI4ZWMxMjBjN2VjM2FhODliOWU3YWZlY2E0ODY2NGJlZmUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9xdWV1ZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQ5YmFiYzViNDkzNjAzOTc1ZDg4ZGFmZGVjNGViOTE1ZjU1MTRkOGYwYTI2YmY0ZGYwYjY4YjA1MGUyYjM1NjMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvdHlwZXMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTYwYjFiZGM0YWFkOTcwYmEyNDY5ZTQ5Y2U0NTJiMTg4OGQ2MDk0YTk1MTIxMDJiYTZmNzVlMDYzMGRkNTRlZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzFjNWRmOWQ5OTQ5MmZjYWI5NDM3Njk5Njc1MmYxMTc1OTNkNjM1MWYwNmVlYTAxZjc3ZGUxZjFhN2MyNTg0MCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvcHJveHktZmFjdG9yeS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmZmM3YjZhYmNhMDYzZWMyNWEwYmI2MjE5N2VkMmU5NDAxZTBkOGQyYjQ3MWU4NTBiNjFmYzJhN2M2NzBhYmU5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9jbGllbnQtY2FsbC1tZXRyaWNzLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNGI3NGRlNzI1YzA3MTI4ODQ1NGIzNmQ3NzdiMTJkN2EwZTVhOTJiMDc3OTZlYjI3Y2JhOTVlYzJhNjhhZDY3MiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvZXJyb3IuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlMmUxN2E0NWIyOGY4Y2E1MDNmYjQ5ZTBiYmI3NDQwNjE0N2Q5MTYwZjQ5MGNhNDU0NGZmNDAzMDc4MjcyOWZhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcmVwZWF0LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYTdjYTYwMzRiOTU3ZmUyODVmNzZmMWNkYzQ1MjA1OTQ4ZGJmOWE3MzAxMThjMzI5MjYwZmFkMzg0OTU3ZmU4NiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2phZWdlci1jbGllbnQtdHlwZXMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjlkODc1YTNjNmY0OTdlZDFmOWUzYjk4MDAxOTQ1ZjhiZDE5N2IxOTk5ZmI2YWQ4N2UxNzlkNDc3ZDIyZmQ3ODEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hbmFseXRpY3MuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmQwZGU2Njg4NWEwMDI4NGM5ZDEwMDRkZGRhMGVjOGFkNWYyYzhiZThkMTkwMmRmMmMyMjA2NTUwMDE1MGQ3YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy9jb25maWdjYXQuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNkZDc1MTcxM2QyYzNkYjk0YzUxZDliZWIyYTZiYWJkMzlmY2EyNTgzZmE3ZWMwYTVjYWU0ZTA0MDQ1Y2E1MDEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvY29uZmlnY2F0LXNlcnZlci5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3MDMwYjU0YTY1YWE3OTgyY2I0ZTZmNmRlOTczYzRiZGU0MmZlOTAxNWY0MWYyOGNhMGQzZGQ1M2Q1OGVjYTQyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvY2FuY2VsYWJsZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDUzYjA3MmNkYmQ5MjIzOTU0ZGQ1ZmRhOTJkOTJjOTlmODA5OWQ4ZWFlNTBjZmE2YzRiZjJkYWFkZDA2MWEwYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9vc3MtYWxsb3dsaXN0LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjcyMmYzM2E3NDc3NTQwMTg1YTYxZWFlNjg3ZjI5ZjFkM2NhYWNmYTQ0MmM4YTRkZDEzYjZlZjc0NWUwZmY4YWEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjBjNmFkMjU1YzdjY2Q5YzQ1ZmU0MWIzNTc5MzdiZmEzNjQ2NTAwYjYwYTE1NmJkMmViZTZjNDI1NmMwMzhhNzEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdHlwaW5ncy9nbG9iYWxzLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImYzNTQ1MjBlMTM0NmQ4Njc0Y2NmODUxMDY5NTQ1Nzk5ZTA0YmNkMzI1MzY5ODRkMDQyNDA0ZjgyMjIxNDIyZjgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaWRlLXByb3RvY29sLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NWRiYTdiZTE4ZDAxZThmNGU3ZjdjNmJiMDE1NzI0N2IxZWRkNjhhZDY3YzA3MjJhNThjMGU1ZGVjOTE3YzVmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1jbHVzdGVyLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZjMGUwODM5YmUwMGZlYzg2MGQ0ZGI3MmRlZGExNTUyZTM3NTZjODFhZjc5M2EzZTU4MzZiNzM1MWQzNzI0YWIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYmlsbGluZy1tb2RlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYWQ0OGQ5MWJkYTBjZWY2YWEzOWExZjQ3NjFlZDAzODhiZjljYWUxZmQxOTI2NzNhMTRhNTVjMTk2YjkwMGIyMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbnYuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOWYyNTcxMTlmMWI1ZWUxNjE0ZmI3YjVhMGYwZGEzMjk1MTcxNzk3Nzc3ODRiNDgyOTlmNTlhYjM3MTE4NmFiYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZXAtcGFydGlhbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDFlMDEyYTcxYmYyZmRmMGI4ZWQ1YmMwNGE0NGRhOTI5NmU4OGEzN2EwMzlhYjQ3OWNkOGViNmQzMzI5OGY2NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzlhZTY5MDFiNDE4ZGJkZjM0ZjUwODdmZTA3YjM3NThiOTE4OTU3YzE2YjU1ZjQxOWQyMzk0OTgwYzA4YzAyZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvYnJvd3Nlci93aW5kb3ctY29ubmVjdGlvbi5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjc4Njc4OGRjOGRjOWMwMmQ0ZDQ0MjdhNmY2MmY0YzcxODk2MjVhMDcxYTRiMGM5NTJjOGMzYmVlMDhiNTg2MTgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9xdWV1ZS5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjFiMTliYTVmNmQ5OTNmY2NkNDdlYzZhNjc4ODA1NTMzNmE0MmU2OTIyZmE0Y2JlODljMmI0NzY1ZjMyMjFiMGIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvdHlwZXMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjgwZGQyNmFjMDk5ZmY4MjQ5Mzc1Nzg2OTEwZmZjMmZkNWE0NGE3MTU0ZDZkZjA2YTdhMzMzODYzZjVlNDcxNWYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYmlsbGluZy1tb2RlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImY2MWM4MzFmZWRhOTEwOTk0YjVkMjk4NjJiYzI0ZmMwZDRiN2IyZTdjYTE3ZDgyM2MzNWNiYWFlY2RlN2U5OWUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nYXJiYWdlLWNvbGxlY3RlZC1jYWNoZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjRkNzZlMjU5ZDA0N2ZkYjE0NDkxNThiYjRkZWE3YTU2ZTJiMzI1MDhhNTE4MWE1NzY4N2Q4ZTI5NjI5MzQ4ZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1ob3N0LXVybC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzliZWQxZDVmN2RiNjMxYjg5NjczODA0MDRmMTI0OTAzNmFhZjI0YjcxZjM1ZWE0NmQ0YTk0MTZkY2RhOGQ3ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzQzMTA3ZTIxNjM0NWQxNDcyYmNjNDBiMDdiOTk3YTU4MTdmOTllOTVhY2ExYTZhMDEwZTQ5MDFiYjc5N2JhNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImEyOTA1ZjM4MDY0OTY0YjViZjQ0NTQzMDE2ZTI4NTllNjNmOTA2OTllMmY4ZDJlMmVmZDkwMWI3ODdhNGE4YzYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9za2lwLWlmLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhMDM5MWRkYzk2OTFlOTliZTM1Y2VkZDUwN2NmYjczN2ZlNTE2YjJlMGFlMDk3NGFkYjczMjM3NDllZmU4ZDRmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbWFrZS1saW5rLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI4NjZlZDdmMTBiNjYyZGViZjc5MzY2NDAwMTJjZjJhMDI0NmY3OWY1NTgxMDhmM2NjNDc3YTQ4MzQzNzU5MWMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0YmRjNmE3OThhNWZjZTNlNzQwMWFiYWEzZTYwZTgwNjdlNTc4MWU5NjY3ZjdlYWI4NmM0NjBjYzE0MDNlNGJkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQ4MWQ4MDEwNzIzZDg0MjIwYWVjYThlYzQyNGYyNjBlMjAxZTQyZDA4NmRkMGE3NzQ2MGY5MWI4ZTExMjdhZDMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaGVhZGxlc3Mtd29ya3NwYWNlLWxvZy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3YzRhYjE2NzllYWNmYzI4NmU5ZjRiNDQxMTM2MmM2MWVlZDJiMTkwZDk5YmFkY2JmZDBlNTI1ZDRkYTJiM2JlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2F1dGguZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiN2IyOGYxMjc5ZmQ3ZWYwMTA3Nzg2YmNkMzcwMThiMGRmM2ZjZWNkZGMzZTkwZjE5NjFjNGM1MGVhMDJkNmI1NyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtaW5zdGFuY2UuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImU2NjU0N2VkNmE5OTYzNTBkOTZkZjVkYmYwNzEzMjdlYjNjOTA1MjJiODc1OTY4NzljMTU3ZjcwOWQxNzYxMjEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hc3luYy1pdGVyYXRvci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhOGM2MDIzNWNhMTMwZTlkMjA2OGI1YTk4ZDk3MWE4ODY2NjQwOGI3Y2QxNjAzNDdkMWMyYTUwZWUxNGViNDFlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVmZXJyZWQuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjUyMmM0ZjE3MzY3OTVjMDAzNjA0YTVlYmZlNDI0NWFmNDVhMjc3N2JkNWJiOTY5NTFkZDMwOTYwZDhhMzc0NWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9yZXBlYXQuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDk5MDU5MTVjY2E5NWExOWY1NGZkZmVkZjc3ZWRiMjEyNjVlNjA0ZmU4YmI2NTRmZmZlODdiMzIzMGVhNzg3MiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tc2VydmljZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMGI1MTI5MThkNjBhZDIxZDE2ZGQxYzc3ZDc4ZDVmNDlmYzRlYmMwMmM0MGMyYTMzOTFhNGNlYjg0NDg5MmVlZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dpdHBvZC1jb29raWUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzZiNmU5MmVhNTg1YzE4ZmNhOWU0NTIyZTVmZWI2ZDUyNWQ1MTQ0OGY2OTdjMTE3OGFiNWZiNmY1NzBiMmZlZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RyYWNpbmcuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjYWFlN2MxNzk3ZWNiZjNhZDU1MzZhMzE4MTI5MjRmMjUwM2YyODQ0Y2ZkYzBlNGNhNDc1NDI0ZDVlNzY2YzEwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2tpcC1pZi5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjgwNDUwZWM0YjBlMTFmMTBhNjg3NzhkMTdkZTE5Mzg0OWMwMWZmNDkzZGE4YTUzYjQwNTAzNTU2NjBiYjE2ODgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuc3BlYy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwMDY3ZGM4MzBiMmE1ZGUwZDUyZTc0ZTMyMzgxMjdlNjc5YTkzNmUwYTc3MGFhY2JjZTY2MTYyYjIyMDAzMTRiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVidWctYXBwLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNzNlMDcyMmVkYmVhMmIxMmYwOWY2MmE0ZDMzYmUyYzMyZmJiYzIzZTZlYjg4MGIzNzQ3YzYxMTliNGVmMDU3NCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3NlbWFwaG9yZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYWI5ZWE1YjA5Y2E3OWViMmE2ZmZiZDNlNDMzYjhmYjkzNDQ1NDAxMDZlMzEwYzhhODY5MjUzN2FlYTExOTU3MiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wcm90b2NvbC5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjc0MzYxM2VkOWNmNWMzMjM4ZGRhMjQxY2NiOTY3OWE4MTg1ZmU5ZmMzZTVlZmY2MzkxNTUxOTgzNmZiYTcyN2UiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtaG9zdC11cmwuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMThkZDU2YzIzNWQwNTQ2NWFkZmRiMDk3NGRmZTg5M2NmNTQwZDQ5NzQ5OWVmNDc3OGMyOTc3MDFhMDM3NGNkNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy90eXBlcy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1ZDRmYjM1YWEyYjBkNjg2YjI4Mzk1YjVlNDM1MWQwYTAzYTBiMWMzZDhhYjE2ZWIxZDZlY2Y5M2RmMTc0M2Q4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1lbmdpbmUuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlNGE4ZWQ0Y2I4ODcyNjA0ODIzYjFmNzY5YzQwNjEwNzY0M2Q4NmRlYzdkZTQ0OWUzMDFiYjQ2MTVhZmQ1ZjExIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2F0dHJpYnV0aW9uLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NDQyMjNiZmQ1NWI3YTVjZGQzZTE0NjgyOTgzNzYzY2Q3MWFiYjgyNjJmNGQ1NzlhMjczZjcwNDNlNDU1NTYyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWNvb2tpZS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyNDcxZmYxNTRmNWNiOTFlM2E1OThmZmQ1YWMzNjFhMTcxNmZjNzBjOGJmZDkwMTJkNWQxOTI0YzUyYzM0OWQ0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWNvb2tpZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYWJiNWFlNTk5ODhlMzUzMDljM2U0ZGJiYTI3ZmZjOGMyMzBmOWI5ZGQxM2EyYWM5ZGZlNWUyY2YxZWRiZjAzOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2Rpc3Bvc2FibGUuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRmMGQ3OTc0ZGFmMzI1MWE0NTA2NjY1NzU5OWEwNjQxOWViMGRlNTZlNzAxOTFlNGQzNWE1NDAxYmI1NWQ2NjQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hc3luYy1pdGVyYXRvci5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjdhMDU2NGUwNTMzNjViZjFkMmNlYjFjNjdiM2RjYTU0NTYzNjExOWIzY2U1NWNmMjc4Yjc1ZDllMGZlMWRiMDciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvY29udGV4dC11cmwuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDYxMWJmMzUzYWQwZmIzMWMyYmI0Nzg0NTQ3OWFlOWFkZWNhZDI5NGY3NWQyNzcxNzUwMzJhN2YxMTE0ZTQ2NSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wcm90b2NvbC5zcGVjLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1MzE2OTI2MTRiYmE2YmI0MmZiZDFlN2UwNzljOWIwYzEwOTk4NjZmNzhkYmViMzMwNjY1NTdmZGNlY2JiZmI5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE1MmVmYzkxYmUyOGQ2Mjc3ZjQ3NDAxOTQ0MGMyNmZmYTcxYTNhYzgyOWZjN2Y5OTM4ZWU1YzA4OWZjOTI5OGUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLXNlcnZpY2UuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyYmYwOWI2ZjdkN2QwNzdlNjFiNzVkOTAzOTQwNTU2ODNlNzc0NjM3Y2I5MTc0N2U1NmI2ZmMxYjBmZDlkMmEyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luc3RhbGxhdGlvbi1hZG1pbi1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwNzAxZThlYzRmYTVhNTU0N2QwYTEyMTAzNzNhYWVlMDVmZjE5ODY5YWVjYzg1MTIwZDdmZjg5ZDA3NGI0NjIxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2F1dGguanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzJkZDY3MDU2NGMwNDJlZTAzZmE4MDJiMGE3ZTNkYjM2YTM4MDFiMzdkYWYzYzA4NTEyODBiMzViNzE4OTJjYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvbm9kZS9jb25uZWN0aW9uLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjM2VkZjFlYmUwNWQzZTBiMzAzZTcwMTAzNzhiZWFhZTdkZjdjMTUwMjgxZjk5ZDk4NGFiNzliM2EyNmE3YWNhIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyN2VlYzIwYjFiYWIyMDJiNjVmNjIwOTFiOWQ1Y2M3ZTU5NTFmYzcyNDNlNWQ3MzRkMTM3ZWYwZWQ5M2Q4YmM3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1maWxlLXBhcnNlci5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzY4YWUxMjAwNTk4MTllMGVjNmZmM2E0ODdmODQ4MzhhOTZiZmM3MWU3OTBjZWRmZGM3ZTJlOTIzN2Q5NTZjZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3BhcnNlLXdvcmtzcGFjZS1pZC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjEyNjVmNjgzMzNlYjQyODcyZjJhMjQ2NGUwMTY0ZGU1YmY4ZmZjNDQ2MWRhM2VjMWExOWRhNDU0OWU0NzIyNmEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW52LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiM2E2YWRmZjU0ZmM1Mjk1MzA1MjZhNzBiM2JkYmJmNzNjN2VmNGUxYWQwMmY0MTFkNjc5YzJkY2U5MTlkMmRkNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3F1ZXVlLnNwZWMuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmNGJhZDI0ODY5NTNlZGExZDU2YjVhNmNlYzlkYTFlMzJiZWFjNTRhMDRlMWEwYzM0MzQxNjFjNGE3NjAwNTk0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGF0ZS10aW1lLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY4NzhiZWIwZjdjZWYyZmE4OTI2NjU1ZTVjNTk5MGMwOWE2YjljODBjMDQxNjYxMDI0YmIwYjBiZjIyYzhhMTkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXNhZ2UuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2NiM2U4OGE4NTc0OTljMTNhZTg3YTQ1NDUwNzE2MWRmOTMxMTM3ZDJmY2UzZWM4ODQ3YmYyOTY0ZTVmMTdlMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dycGMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDMzOTU2ODJlOTkzODg3ZTk1MDU5NGRkNWExZjg2NzdmYTBkZjBlYjBjNDJiZGZjNzRlNmJhZTJiOTgxZTdkNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hY2NvdW50aW5nLXByb3RvY29sLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI1MDBiYzc0Yzg4Y2ZkMTcwZjY4NzMzMzBiMTdhZWI1M2QzNGQzYmZmM2JkZDI2ZWZlMWQwZTZjZWQ4MGY5ZDIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbGljZW5zZS1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1MzRjNTJmZmNjODFiODQ5NzU3NTEzM2I2YzU1YWQzOGFmZTVjZjAwYzRlMWQ5ZTkxMTA3MzczZGM0OWQ4OTYwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZTJiNDI4Y2M2YTdlOWIyNTY1YzEyM2M4Yzc0NWQwOTRlMzA1MmE0MzY0MmVjZjliMjk3NDQ0YjBiZGJjMTU0NiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RpbWV1dGlsLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMmJlNDg5MDVjYWFkYTc1MTFjY2QyNjNiYzNmYjU4MGE4NTk2ZDBiYWEzZGZmNjE4YzA1NTdkYmExNWVmYjNlNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi90eXBpbmdzL2dsb2JhbHMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjNkNjcxOTIwN2JmOWE4OTY0NDk3Y2NmODQ1ZjRiOTk1ZjcxMjE2ZjJlNzc4NGU5NjAyZWJmNWYzNDllNjRiZDAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kYXRlLXRpbWUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2YTQyYWViNTczYTE2YzRhZGZlMDMzYmNhOTFlNmEyZDIyZTY1MzRjYmEwZDhlMWMxYzQ3NGZjODY2YjdhY2Q4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW0tc3Vic2NyaXB0aW9uLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOWYxOGVmZTA4YmQ3YWI1NGVkYjc1OTYyOWI4ZTY4Nzk4ZDI0YjM1MTMyNGM2YzdlZjVmNGJiMTA3NzdlNDE5OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dycGMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjExZDY3MDExMTJjODc3NzEyMzlmMTc3NDgyNTZkNGZiNzJjODcxNjEzYjgxMGU5N2E2MWUzMTI2YWM1ZmIyZDUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXNhZ2UuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM2NDdkNGVmN2U1NjRlMWI2MDJkYjBjZGNhNGIyY2YwNzk2YzA1YTg1NjQ0NzVmMmU1Yjk4YzVjYjc5OTlhMWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWZlcnJlZC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5NDNkZTE1NTIwMTExNTkxNzJkYmQ1MWQ0YjliZDM2MGNkNTNlZWE2MGNkMWFkMDUxMmUwNDBkMWU0ZDUyZjliIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3RlYW1zLXByb2plY3RzLXByb3RvY29sLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRmOTIxMTRkN2RlZTYxZTU2ZjRmZGFiZDkyYmUyOGI0NjlkN2ExMGNlODFlNjQyZDNjZTRmNTI1NTJjOGY2MmYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvY29ubmVjdGlvbi5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwMWZhZjdhNzA5YTlhODJiODVhZmJjNjA3NDRhZWJkYjVjNWM5MmQ5ZjllMDg0OTZiYzQ2ZTA1YTU3ZTk0YzJmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luc3RhbGxhdGlvbi1hZG1pbi1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE4ZDJiZDY1ZDY3OTgwMTAxN2E0YjFiOTFkMjA1MDYyMTE5YmIzMDgxZTVhY2Q2ODM1YzBhMTYwNzBkZjhhNTAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaW5zdGFsbGF0aW9uLWFkbWluLXByb3RvY29sLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjYzA2YTgyMDViM2I3YmM0MWNiMjQ2NDUwNzUxOWUwYzZmMmJiMzJmOGQ3Y2Q3ZWU5MjE5YjRjZGU2OWMxNmE5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2hlYWRsZXNzLXdvcmtzcGFjZS1sb2cuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQ1YjdhMDM4ODdhMGM0ZGQ0ZjU0Y2MxNDg3NmNiZGZkNTA5NThkZmQ1NDBiMThjZjdkNjhhYWJjZDdlZjY0MjIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYmxvY2tlZC1yZXBvc2l0b3JpZXMtcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImM5ZDc5NDFmMDlmMzgxOWQwZGM2YWVhNzMzZDU1MzJkMTY1Njc0ZTc5YzQwOTk5YWYwNWRiZDY5NjliMjFjZWMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZXhwZXJpbWVudHMvYWx3YXlzLWRlZmF1bHQuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMWE5MmIxZjFmMzY4YjVlMzg0OTExMjgyMDJlYjMxNzM4MDVlY2JmOGI2NDhiMzg5MDA5MWZhZjNjN2U1MDY2OCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2NvbnRhaW5lci1tb2R1bGUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmRlYzIyODg0ZmNiZTEyZWU0ODNkOTNjZWQyMmUyYjk4YmU2MTNhNWYwOWY3NjI1Zjc2MTMxNzUxZTIzMjk1OCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtY2xhc3MuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjOTZiYmY3MWY4Y2MyYjU3YjZhNTE3ZDQ4MGEwMGE2MjExYTVlODNiMTg2NDI5NjFjYTM5MTk0Yjc4MjNkN2YzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2V4cGVyaW1lbnRzL2Fsd2F5cy1kZWZhdWx0LmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTIzYTI5NmNiMmU4ZDBkYWU3ZGYxNjE1YjQ4MjFiMjRjYjhlOWRmMDhiZDk3MzE3YzE3NjUzYzliZDJlZmI4OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmRlYTY3YWNlY2EyNzRlYjRhNDVmMTQ4NjJmYTMzMTcxNDJhN2YzNjFlY2U5YTA1MmY0ZDg4ZjU3Njg2MzFjNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2NvbnRhaW5lci1tb2R1bGUuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzOGE2OTdiNGRiZGI1ZjFhYTg1ODk2YzE1N2QyNGNlMGQ1ZDExNWM3NGY0YWQ4YWY3MTI4ZDQzYjBkNTZhNTc4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjhiYzNjOGEyMTUwMDJhYWZjOTI0NmZlYTU2ZDZjODhmODkwNzIxNzFjNzkzODZkMGNkMmQyYTk0ZTZkOTVkM2QiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE3ZmQwMjkzZDUyYTFhMjkwZmQ3NzJhMmI3N2VkNmM3YjhlMmZmNGI3Y2Y1NTA0YTMxNDEwM2ExMWUwMGZjOTYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9nZW5lcmF0ZS13b3Jrc3BhY2UtaWQuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNGY4ZDQxMTYxMWIwYjIxNDRiOWQ5MTEyYjFhZGQ5YjQwMzIzOWZjNDg5YzQzOTIzMGJjYTYyYzgwNjVlZTQzZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2QtZmlsZS1wYXJzZXIuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4NTllOWRkYmRmNDU4NzhhZDNlMmMxZmExODFjMDBmNTdmMmU5OThlMWFkMTJhNTQ0NGE1OTE0Y2RiM2UyYjMwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Blcm1pc3Npb24uZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzBmNjBlMjQ0N2Y1ODNhNmFiOGY0OTNmZWNmYThlOTlmODNhMTJjM2UzODlkZmRhNWRjN2I0MzAxOGUwZGJlNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9pZGUtZnJvbnRlbmQtc2VydmljZS5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyNzA5YjJjZDQwN2Q3MzQwNGU1YmI3NTdmMzRhNTIxMWU5Mzk4NzhiNDRkYTJkZjk0MjJmZWFhODY1YWVhYjU4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luZGV4LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzOWE4ZTU5YmM2YjQwNTBjNzVjZTgzNjI5NTJjYjk3Yzk2OTU0OTY2OTExNTNmYmNhMTE3OTY3YTg4NmE4OTYxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3Blcm1pc3Npb24uanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMmJlOTI5MmRkNzY0NDYxYTVkZWQyZTI3M2MxMmJjNzBkOWVjZGFiNmZlMGViMWU4MTY0NjlmN2RmNjA1ZmUzNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvZXJyb3IuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOWNlNjczNjYzYmU5ODJlZTk5Y2Q5ZTg4ZjFiZDNjMWFkZjI5MDAyNTlhYmIxMjg0ZDIzZWVhMmFmZWMyYjk4YSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9saWNlbnNlLXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjJjYzY2NmZjZGM1NjU4MDg2ZWM5MTVlMTg2ZDVmNmZkNDhiZGU1M2M3ZTljYzgwMjc4NTNhNmRkNGNkZDUxOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2RlZXAtcGFydGlhbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1NmQ5ZDhkMmFmODhjYTE3MjI2NGVkOTBhOTVkZGZiMzZkZTcxZmQ3MTUxYTE0NGJjNjQ2M2UwNmU1ZjZjMTI0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvc2VtYXBob3JlLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE0ZjZkOWY3MWE5Nzk5Yzc5NzE4NTdkYWRhOWM2ZDgzZjU4NGU3NDA4OTRlMDU4OWY2Y2I2ZTk2YmNmMTgxZjkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdHlwaW5ncy9nbG9iYWxzLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZjQ3MWVhZGQ1NzMwZTZhYjFhYmQ3YzVkYmM2NmRlYTE0YzMwM2JjMTEyMGIwYjA5Y2NhMDZhNDc0NGE1NDkwNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2NvbnRhaW5lci1tb2R1bGUuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE0ZmQxMWYxNzMyMDZhNmMxOWI3NjVkOGY0OGQxNDNjNTA1YThjZDczYjBjM2QwOTU2ODBiODRkN2Y4Zjc3MWMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYmM0NDBlNDkzNmQxY2MzN2Y4NWNhNzgzYTI0NmQ3N2I2ODljNTQwNTgyZWFiOTFkN2U0MTZkMWI0N2U5OGYxYSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvcHJveHktZmFjdG9yeS5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3OThmMGQzMGM5MGE5YzA1NjJjZGQ5ZmQzOTdkOTdmMDU4NTFmNjA4OGFmN2RmODAyY2Y3NmRhYjdjOGMyYjhmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3BheW1lbnQtcHJvdG9jb2wuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjc3YzNhZmUzNGViZWRhYzMyNTQ5YzQxMWRhZTAwMTJjYzg4YjIzY2JmNjk4MWUzNDExNjUwMDI2NzcyZmViZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93c3JlYWR5LmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjVjOGU0MWNkMTAwM2RiOGFiM2YxMWRmMTU3ZWZiMjZmNDMwNjg0NmU0NTBiYmFhMjMzMjAwMWVkNzEyMWVhM2QiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYXR0cmlidXRpb24uZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDgzNjYxMzY1OWQ3ZGFjZTRlYzE5OTAzNjliYTA4ZDhkMDc5YzYwOWUxNDQ5MmVjNjI2ZmFiZTc5ZGM2NjE5YiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9vc3MtYWxsb3dsaXN0LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5MTAwMmFlMzRkZjIxMzFmNjAzZGVjMmZjMTMzOTY4OTc5NWExMGI3YWFhNGVmNjc0ZWIyOGRlZTdlMWIzZDFiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2lkZS1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5Nzc3ZmJlZjg3NzQyMDZlNzUzMzZmMWY4ZjZmZjlmZGYyOTFiNTMxMTA1NWViNTI2YWFmYWMyYjVjZWUyM2FkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24va2V5LXByb3ZpZGVyLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2FlZWFlZTg4Y2Q3YjE2Mjk3Nzk0OGM1NGNhNzNiOTMxY2RmODNmMDA5ZjFiN2UwZTNiNjYzYTYxMjAyY2FjOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3JlcGVhdC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4NzAyZjQ4OTIwZTkxYTIxZWNlYWY5MzNlNzMxNTNkYTUxMTBmYzI3YTY5M2VlYTUwMmFkNmI4OTIxZjBkYTliIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2F1dGguanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI4ODkyMTE2YzIyNjIwNjJiOWU5YzMyNDAwZDdjOGFhZWI3NmQ2MjdlODc5NDlmODU1NGFmOGVmMGY3ZmVjZGMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsdXN0ZXIuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjVmZTQxZDZiYWRkZWE5NTkyNTdiMzY0OGU0ZTE5ODQ3ZGNlMGI2ZTZmMzM3YTc5ZDNhNGFjMjllZmRmZmVjZTMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2hhbmRsZXIuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiN2E5NzdlMDU5MzM4ZjcxNWRmNzE1NzBkZWFmZTljMjc5Zjc4NDAwMGVmZThlZDk0MTMzZjFjNjc4ZDFiYWRjNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL21ha2UtbGluay5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZhOGJiZjhkY2U5Y2Y1MjI3NjkxYTA2YTRiZTdlYjc1NmY4MWQxODQ1ZTFhMThlNTgwOWM2MjM4OWU4NDhiMzkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYXR0cmlidXRpb24uZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1M2ExMzNlYmZiMTliYTNiNjRlMGI4MGFlZjU4MTU3NGNhMTI3YzRhYWRhYmVhZjlhNGZkM2ExMTZlODYxOTk0IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3BsYW5zLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0NmM3ZDE2YTdkY2UyODFmNDcxYjhhNzFkZDljMjE5M2RiZjRlZTM1OTYxNzgzMWI2MTczZDQxMDdjOGViNzBiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2dpdHBvZC1zZXJ2aWNlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQ3YzU3ZGM3MGMzODQ5MDQ4Njg2NDlkMzc1MGIzYTgxM2RhMmIwZmE3YWU5NTkzODA5Y2VjZjI2MmJmNjNjZjAiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL3Byb3h5LWZhY3RvcnkuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2ZDE4YWJhMDM3MDE1Yzc3N2E4YWQ5NjdjYjFkMWY3OWEwODkyYTk0ZDE2MGRhNjdkZTMyNzA0YzZmZTIxM2ZiIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luZGV4LmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQ0M2RjYzdiNDMyNDc3ODM1NWQxZjMzOWNhYmFhZDg2YjZhZDEzZGM2ZjI2ZTM4ODlkOGU0YTkzYTE4MDdkNjMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvb3NzLWFsbG93bGlzdC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImJkMmM3NTFhZTdhMTgxZWFmM2ZkZTM5ZDgzYjVkNmVmMWE5MTU5YjIwMDRkMDUzMzlkMzdlNTkwN2IzNjE2MWUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaGVhZGxlc3Mtd29ya3NwYWNlLWxvZy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3MDk3NDA3YjM4N2I0MjNhOTE4OWUwZmNlNzQyOTk3NjkwMDJiYjViN2QzNWRjYTRkYzZjM2M1YjFlNzcxNjJmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2l0cG9kLWhvc3QtdXJsLnNwZWMuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjEyMTc2NGYwYTFlNjUwMjcwNjE3NzI4YTAyNTJmZTg0NGNjZGY0YzZjZDkzOTE5ZmU4ODdmYjdjYmFhMzc4ZSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2Rpc3Bvc2FibGUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYWU5OTE0ZjdiMmQyYzFmODRiOWIwOTg4NWFhMTM3MWIwODdjMTZiMTc3ZDg0ZjRkMWM2MDRmMmE1YTRjODA5ZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9leHBlcmltZW50cy9jb25maWdjYXQuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJjYmJiMjcyYTg3MTI5MDUyNGFmZGE4YjhlOGE5ZjA2OGFhZGQ5MGYzYmM0YWZiZjQwNTZhMzU4M2YzN2JmNjZlIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9lcnJvci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJiMTY1YjhiZTAzMTQ0MTEwZmFhYjY5ZWI3MTg0NTliNDNmYzhhMzg4Njc0NThiOGU0NTc4MjU2NTJiOTI2ZmQ1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVidWctYXBwLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI3YWVlMTAyMmNmZWVjYWI2OWJhMGM1YjA5MTU2YjcwYWYzMDgzMzY3NDk3ODZkNTNjZWNkZGMwMzkzOWFhNGEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsYXNzLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjEwZjU2MDI5NTI3YjNiNjRlNWY2MGEyMjI0NTMzYWZmOTZiOGI0NDYzODVhNWVkNWQ1MjQzMjU3M2ExZGU1ZjQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90aW1ldXRpbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQ4ODAyYzZlNzgxMDZlODI0ZmRlZTc4MDE4Y2Y1ZmY4MjdjMTNjNGFjYTRkODg5NWU1NWJiOTE2NTQ5YTYxZGEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvY29ubmVjdGlvbi5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2ZjQ4MjY2ODEyNjFkYWYwMTBmZDMxOThkYzMxNDRiODZhM2RjYWYzNjE0ODU1NDViY2Y1NWViYzk5YWJlNzgxIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9jbGllbnQtY2FsbC1tZXRyaWNzLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImRkYmRkY2E0YzQwZjY5YmViMWJjMWNlNDY0ZTdjNDJjOTM1MDJlOTk1NjVhNGE4YmE3Yzg0NGUwZjAyODQwZTEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtaG9zdC11cmwuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjI0ZmE3YTA2ODY5Yzc4OWQyNzQ2ZDk5ZWJjZGNkYTI4ODFiNTcwZTI5OTUyOTc3ZTZiN2U0YmE3YzU0YjU1ZTUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvc25hcHNob3QtdXJsLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImJhNDRhMjY1Y2U2MWQ2YTlkODg3NzMyN2NmMDMxNDAxMTk2ZTNmMmE1Nzk5ZjU1NTY1NzY2MDZjODBmZDJkOGMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvd29ya3NwYWNlLWNsYXNzLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI4NWM2NmUzZjQ1OGZhNGI1YzYxMTUzZmJiOGY0ZTgwZmQ0ZTVkZTUyMGFlODg0YWExNTY1NzU0MjQ2MjVjZjA5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24va2V5LXByb3ZpZGVyLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NzI5ZTNhODMzODBjNmQyMjEyMjI0YTJjZTVmMzAxY2YwMDVkOWYxZTEzNGUwYjgzYTQyMjFiZWJiMDkzOGY2IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcXVldWUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZDg0Y2FmNzllZmM3OTkyNGQ0ZGI1ZmRmZDYwZmM5OWNhMWZjNzBmMjNlZmIxODY2NTMxYjFiYmQ0YWMxNzlmMSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2QtZmlsZS1wYXJzZXIuc3BlYy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMTViOGExODM2ZmFjMDRmYzdhMzg2MDhmMjQ0NGJiODZmMzBlNDJjZTJiZDhiMjhmN2MxNWVhZWI0NWMyN2NiMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hZG1pbi1wcm90b2NvbC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNiZDhjMzhkYmJiMWFjZjI4YzM4NzFmZjQ3MGE0NzM4MDQxNGU0ZDdkNTI2MmM4OGI0ODJhMmI2NTUwNDFjYzIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW52LmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjY3MjJiOTIzZTRjNTUyZTc5MWI3M2FlZjNkYWEwYzQzZTAzMGU1OTgzNjU5NTg5MzE4ZGJmNmI3NjY0NThlODIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9qYWVnZXItY2xpZW50LXR5cGVzLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTAxZmJmODI3ZDBiMGU4MzZiNzZlZmM3OTNhZTQ1ODM5ZmRiMWU4YTY1MjZhM2YyNzAxNmQ1NzVlNGYzODdlNSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93c3JlYWR5LmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2ZTg4N2ZhMzY5ZjhkNjg1NTVjM2E1ZjJlYmU2ODEyMGNhN2QzNTJkMzNhZTc2ZGFhNmM5Yjg5MTAwZjIwMmYyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9oYW5kbGVyLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxNDM3MzBkMTc3MGNiNjRjMzM2MzE0M2ZiODg2NzgzMmVlODg3YTQwMWI4ZmI1MDMwMzQ2MmM0OTE2Y2JlOTEyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3dvcmtzcGFjZS1jbHVzdGVyLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzg1OThmZDMyMDIzYTQ1ZTg5ZDYxYjVlMDU4YzQ0NjkyNDg0ZGZiYzAxN2VkMmYwODYwOTA1YjRhZjMwY2ZmOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91c2FnZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImY5NzIzMDliN2E4YWY2MmJjZDdiZTI5Y2Y4NmJmODhkZWViYzhmNjc1YjY2MjBhMDkyNTk0ODlkZDYzZDNjYTQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL3Byb3h5LWZhY3RvcnkuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI4NjJhNjYyNWJiNjAxZDE4YjY1MjVmYWQ4YmY3ODMyNjU1MjIyYmMxOTU4ZWZjNTljNWIxYTVhMGFkODYxODMiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYWRtaW4tcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNmMjM2MWFmMGM4ZDY4ZDVjN2QzZTRkNzBlMmQxNTY4OWRjOGI1YzRlNDcyMmU3YTAxN2VhNGExOTliOTQwNDkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90cmFjaW5nLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI0MjFiYjE2NGUyYWRlYzYyZjAwY2VjYTQyODUxODAyZDc0ODQ2MWM4YzA2MTgyNTQ3OTJjYjgwODg3MzQ3YjAzIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLnNwZWMuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiY2RhOTVhYjBkMmJmMjRkNzQ0NmZhNTM4YjExZDI5ZDQ5ZDA5NTkwOWMxOTgxZWYyNzhlYjZjNzNhNTE2OGNhNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dlbmVyYXRlLXdvcmtzcGFjZS1pZC5zcGVjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjcxYTczMzg0N2U1N2Y1ODMyOTRkNzU1ZGYwOGNhOTI4Mzc4ZmFkNDFhOWFlMzE4ODJmZDZmNWI0YzYwMGUxNzIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTMxMTk4MjQwNDdmYTM2OWIyYjhjZTYwYWJiMzFmNWRmNjFkNzgwODE0NTg4NTViZjQ4MzgzNmFiNGRmYTBkNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wYXltZW50LXByb3RvY29sLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNWM4YTM5MDczZjZkZWY5ZmYyOWYyMGUwZjljMWQ2NGNjM2YxMTg1YTUxN2Y2YjAzNmY2NGJlMThjZTc3NWQzNCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9naXRwb2Qtc2VydmljZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYjJkZGQyZDZiMDRkYzA3MDEzMDJiMzUzMWUyZDBjY2NjM2EwZjZmNWEwMTZkYmEzYmQ2ZDNjZjIwOGE0ZTJlMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9zbmFwc2hvdC11cmwuc3BlYy5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQwNTM0ZDU1ODllNWZiNzg1N2U4NDU0ZTI2MzY3OTY0Y2Y4MDEzODZkMWZiOGZjMDUxNWNlMmU0MWIxMDllOGUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZ2l0cG9kLWZpbGUtcGFyc2VyLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI5NjFkMzA1MDMyZTE1N2FiNmUzYmJlMzdiNDFhYzRmMWQ0MzBlYzUyMTM2N2YwYThmMjI4ZWEzZTk3YzAyMzciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtaG9zdC11cmwuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGY4MjEwN2Q4MWZmMjY1Njg1NWJlOGE3NGE0NGQwNDZlYTI1ZWIyYjdiMGZlZWI2YzNmNzIzZDY2ODFjNjUxMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hZG1pbi1wcm90b2NvbC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwOWFmZGUwOTA0ZGVlMzExNjRjMDZkMDRiNjdlYzdjZjQ5ODZjZGQwM2RiZjZkNGRiNmExYTZiYTE2OGRmNzcwIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZ2VuZXJhdGUtd29ya3NwYWNlLWlkLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDllMmE5MDIwMWRhYzdjZDI3NTRkMzFmNGMzNWVlNzE5Y2EwOTc3MDY3MGM1NDdmMzljNDk3ZTM4ZTliMzhlYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9iaWxsaW5nLW1vZGUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzg5MjgzZWY3Y2Y3YmEzNTNhMTFmZjc5ZWQ2YzBlNGE0YzljNTJjZDg3YjFlMDc1MWE2ZDAzMTg1N2ViMzlmOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3BhcnNlLXdvcmtzcGFjZS1pZC5zcGVjLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzg2ZjQwYjg3ZjhkYmFiMDU4ZjU1YWZhMjUyNWZjZTI3OTU3ZTI1Yzg0NDJiMTA3OTRmZTZkNTYwZWFhOTVhOCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL3RyYWNpbmcuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMzU3MDc4ZWUwZTMxMzkwMTlkMzJhM2EwODhkOWJlY2MwMDU4MzFjNTIwNDI5Y2YyNjZhN2JjNTgxZWRiMzUwMiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvaGFuZGxlci5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjZhNzRhODgxYTk5YjYyNzE5YTlkYTFjMWIzYjI2ZWVlMjNlNDllNjJhN2U4N2M2NzU1OTBkYTAzOTU2ZTA5M2IiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9ldmVudC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIzYTZiYzQyNjUzYjMwMjc0Zjk1NDlkODViMDFkNmY5ZDEzZjc4YTZkNjI5ZWVkZDc4NTkzY2E0YzUzYzczNWExIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL21lc3NhZ2luZy9jbGllbnQtY2FsbC1tZXRyaWNzLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImNjOTA1Y2U2MDA5YTQ1MjhjMjQ1ODg0Yzk0ODdmMTJmMjU2NmM4ODUwNzRlNGExMGM3MjBhY2QxODYzOTBmM2QiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9xdWV1ZS5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjEzMDM5ZTVmZWExOTAyOTEwNjA1YTM2Y2IyZjVkM2FmMDRlMGU3ZTUwMzM2OTJlM2QxZDllZmE1NzM1ZWNmMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTVmMjNlNmZlOGM1MzA0YTg1NTU4MWY0ZDNmZDZhMjQxN2JjYWM4MDBjZjA2OGYyYWJhOTNhYjA4MTA1MzUxOSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2dhcmJhZ2UtY29sbGVjdGVkLWNhY2hlLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTk1OTBhYzM1YWQ0MTM5YjM0Yjk0ZjJlNTRhZjczODBjM2E4M2I0MTA5YTEzOTFkYzk5YjA4ZmZiY2Q1NTEwNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hY2NvdW50aW5nLXByb3RvY29sLmpzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmYTc3MzY3MTA1ODZiMDkyOTZkYmZjOTY2YWE2NmUwMDI1OWE0ZTgzM2ExMTBhODY1ZDFlZmEyOGU4OTlkMWRmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2V4cGVyaW1lbnRzL2NvbmZpZ2NhdC1zZXJ2ZXIuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNmU2MDEyNjA2ZDNkMTc5OTQ0N2NjMzZkMzIxOTI0NTlhMmMxYjY2NjA5YTc0YzRhMmVkMzI0ODVkMTE2YjFjMyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tc2VydmljZS5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImYyNTkwODQyZGQ3NjdlZjkwOTU3NmJiYWI4MTEwNWY1MDQ1OTRiNDZlY2JhOTJkNmJmZmRkYTBlNjZmMGUxMDciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvb3NzLWFsbG93bGlzdC5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI2NzdlOTNkM2NmZTQwMzgyNGJlOTFiNTRhMTAyMTBkZjNkNjE5NWFkYzQyZmUwZDBjZWQ2OWZlYTg1NjE5MWFkIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2xpY2Vuc2UtcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE1ZjFhNjVkODMzNzZlMDAzMzI4MjRlM2EzZDg4M2E2MTk5N2Y1MTc4MDljNTNhNTFkNDk1Nzc2YjFkNTMxMzIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9naXRwb2QtaG9zdC11cmwuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3NTUxNDlmZTgzMTNiMDZiNDEyMWYyY2ZkMjAwOTJkZjE5MDFkNjU3YWI5MGVjODJkNjk5MDZmNDkyMDU5YmI5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1lbmdpbmUuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzIwYjdlNjFkNTdmMWYyMWNmZTFmMTFhMmIyNWU1ZTM4MGEwZDYwZDY5YWJiYzYyOTllM2FlYThiYjY3YmFkNiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9wbGFucy5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5NWE0ZWRhMjRlYTA5NmU3OGIzZWI1NzJiOGM2ODZjZDY1NzcyNDU2NGFkZjA3ODQ1NDcxY2U3OThhMmVkNzU1IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbG9nZ2luZy5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZGFhN2I1MmNhNmJlMTQxMmUyMGU3MmE5ZmJjODM4MzRkNWFmMTE1MDY4MjEzYmE0ZDY3NjhhMzk0ZTM1YTRhZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9jb250ZXh0LXVybC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImY3Y2MwYTY4MjVmMzk2NGM3MDgwOWU5YzY5MmIyMjU1ZmIzM2I2ZGI1MGQ1NTAxNTg2YmI3ZDkyMTAzODJjNzYiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiYzkxN2M1ODg1ZDk0NTk4MjFkMjViYmU5NGExZWI2N2I4NTI4YjM3ZjIzMzAxYjkzNDdmYjU5ZDQxNDJlZGQ0OSIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9ibG9ja2VkLXJlcG9zaXRvcmllcy1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIwYjkwODhjODg5MjM0NTcyZmI4NGExZDc5N2JjMzIzN2YwYmUwMWVmNjFmOWVjMzdkOWFkMGE3OTk3MjQ4MmU3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2FjY291bnRpbmctcHJvdG9jb2wuZC50cy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDcxMzgyOTg2MmJkZTdhMDBkOGZiZWU0MTdmODcyNGE4NzAyY2UwNTk3M2IyNGQxZGNiNzgyZWY5NWQ4ZGUyNyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9hZG1pbi1wcm90b2NvbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJmZDI1NjZiOTNjN2YxMDc1YzBiNDUyZmI3MmM2MmYzNjI0MDE2NmVkMTgxOGE2NGRiNGFiMmVhZmRiODZhZWVmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2VuY3J5cHRpb24vZW5jcnlwdGlvbi1zZXJ2aWNlLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImQyZWQwMGI4OTgyNjkxNTgyZWJlODk5ZWExYTg2YzM4Y2ZhOWNiM2YzYTU5ZTFhYWMyMzg5NDQ0NmY5YmZlYzgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvbWVzc2FnaW5nL2Jyb3dzZXIvY29ubmVjdGlvbi5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiZWRjZDQ2NWFjODNkMTIwYjdlMTYxZjdkY2JjOGY2ZGUzZjcxYzhhZWFiMGI2NDczM2FmMzkxY2IxYTk4MWExYyIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi93b3Jrc3BhY2UtaW5zdGFuY2UuZC50cyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5OWM2OTlhMzkxYzRmYjZiYWI3YWUzOGM3MjZlODE5NTdmZjM5MzAwN2EyZWI0ODUyYWI3MzIwNjUwZjUxYmM4IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvbmljZS1ncnBjLmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE3ZjQ3MTU5YTVmMDRmYmQ4N2U2MGU0ZTA1MzE5ZGE3NjdiNGFlMmM0Y2RjNjZjY2YwZTQwYzRjOWE3MjhkNDgiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9tYWtlLWxpbmsuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjQzZmY0NjNhZmU5NzVkMDVlYzFmMzIzN2VlMzBlZWEzNTBiMjU1NTlmY2MxMzRjMjRlZmExZTYzZjViN2E5ZDEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvYXV0aC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjViMzk4ZGU0OWNiNGRkMjVlZDIzNzM2ODMzMWQ3YzQyNWRiNTBjYjhlNmFkYmQ4MjhlZTNmMWYwYzAxM2VjNDkiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdGVhbS1zdWJzY3JpcHRpb24tcHJvdG9jb2wuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImI2OTE2NGVkZDI2MTdhYzYwOTNmMjQ3NTkzMTlkMWFiOGZlMGEwYWExN2VmNzI5MGRkNWQ4YmFhZTk3OWQ4YWQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9hc3luYy1pdGVyYXRvci5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIxMTNiMGU2NTk1YjRjMGY5NWM1MzhiMTVmNTVjNTIyZjQxODQyZjYxYTQ4ZWZmODg1ZDRjODA5ZGJhOTcwODgyIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvZGVlcC1wYXJ0aWFsLmQudHMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiOTY0YTI5MzFjMTc5M2RkZWE1YTg2ZjI1NzZjZmJlNDNiMzJhZTAyMGY2ZGE5NThhZTRmNjkwNWY5ZjUxZjIxMCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbnYuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjYxNWM3ZmNhNDQxODg1NThmNGU0ODc2YjRiNDg2MzE1MzMwODNjOTdkOTdkNTc3MDg0ZjA5OWUwZTJjODRjMWIiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kZWZlcnJlZC5kLnRzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjYwYTJkNjI2ODAxNTkyY2JiYjNkMzEzMTAzNzI2MWI2YjUxYjVjZmMyYzI5NTRlMjNjNTJlZDFkMzBkYjQ2MjEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9yZXBlYXQuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjE2Mzk2NTFmZWYwOGE2MWM2N2RkMGI5MGQ0N2E1ZDE0MDE0OWMzNGEyNTYzZWE1ZGIwZTVlY2Y1NzAyNWJhMTQiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9wYXJzZS13b3Jrc3BhY2UtaWQuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMDJiNTJkODVkYWQxZWY4ZTkwMTIzZjc5YTk3YTNkYzViYjdmYzJhNmJlMmIzNzUzZTUyZGEzOGI2ZWU0MGI3ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi91dGlsL2xvZ2dpbmcuc3BlYy5qcyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICIyOTY2MTcxNjA1YmUzNDRkZTc3YzJjOTM4ZTQ2ZTQxMWViZTM3MWJkMmI5ZTg4ZDFhNzRlZmIxOTIyOTQ5OWY3IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL2luZGV4LmpzIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjVmYzBjZTMyZjRlMGZiOGNiZmQzZDcxMjNiYTI1NWE1MmVmY2U3MDE0NGRmZjYxZTc1NjIyNDk2ODhiNDZkNmEiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvaWRlLWZyb250ZW5kLXNlcnZpY2UuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImFhYWQzZjE4ZmIwNDlmOWE1MTNjMGM4ODJkYjRhM2IxYTk0ODNiZTNjZTZmNDIxM2M4MGIwMTFiNTFmMjZkMzUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvZW5jcnlwdGlvbi9lbmNyeXB0aW9uLWVuZ2luZS5zcGVjLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjYwMTAzOWRkYmI3NmYyYjY5YmEyNDljMTI1MjFhYjI5ZTQ3YWE5OTJjOGViMDVlYjBlMTc3MzE1N2U5Zjg5ODciCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC90aW1ldXRpbC5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJhOTczZDFlNDAxYWFjM2YwODNjNjUwODZkMzFhYjUxMGRmNWEzOTM5MTM3NTI1MGQ3OGU4YzA2OWEzMDVlOWI5IgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvcGFyc2Utd29ya3NwYWNlLWlkLmQudHMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImM5MThlZDA0MjliNDNhOWJkNjE1MjRmNmFjNGNmZjkwMzdiZWFhNTY0M2E1NTEyOGU2OWEwMGU0MDg5YmZkN2MiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvdXRpbC9kYXRlLXRpbWUuanMiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiMjFkZjY2MmM4MzFjMjVkZWVkMzYyY2VlODgzZDVhZDY1MzU2ZjkxNTRlNTMzN2UzNTcyMjAxZjc1NjViYmZlZiIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24tZW5naW5lLnNwZWMuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImY1ZTY4NDI3YmFmZWU3ZWFhODUxNjlkYzM1YTFiNWU3ZGJmZTZhNjNmNTRmOWIyN2NiZDBiNjMzMTg0YzJiNWUiCiAgICAgIH0KICAgIH0sCiAgICB7CiAgICAgICJuYW1lIjogIi9saWIvcGF5bWVudC1wcm90b2NvbC5qcy5tYXAiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNjhiNDZiN2U4OWZiZGNlY2ViN2JjZjM5ZDA0YzAxYjI0Y2UzZjAxMTNhMDE2ZWFhOGZjMjAwNTU3NDA2YmU1ZCIKICAgICAgfQogICAgfSwKICAgIHsKICAgICAgIm5hbWUiOiAiL2xpYi9tZXNzYWdpbmcvaGFuZGxlci5kLnRzLm1hcCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI3Mjg3YzRlMGE0MDE3ZTkwOGNiNjYwODhlYWU0M2JlMmVkZWUzYmUxYjAxMGFkYjAyMzc3Mzg0MzExOTUyYmFmIgogICAgICB9CiAgICB9LAogICAgewogICAgICAibmFtZSI6ICIvbGliL3V0aWwvdGltZXV0aWwuanMubWFwIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjk5NDIyMzU4NmNhNThiMzNhYzUzYTE1ODZkNzg1NGFjYjM3MjY2MzlhYzNlYTYzZWQ0ZmJkMTIxOTk1NWM3Y2IiCiAgICAgIH0KICAgIH0KICBdLAogICJwcmVkaWNhdGUiOiB7CiAgICAiYnVpbGRlciI6IHsKICAgICAgImlkIjogImdpdGh1Yi5jb20vZ2l0cG9kLWlvL2xlZXdheTowLjMuMS0xMmNhNThkQHNoYTI1NjoxNTUzMTkwNzE5OGZiODllN2VmZTU1MmZlOGMzYWFhZmUxNzI0M2Y5MjJjYTkzYTc1MzBlYjdhMWIyZDM1YjI0IgogICAgfSwKICAgICJyZWNpcGUiOiB7CiAgICAgICJ0eXBlIjogImh0dHBzOi8vZ2l0aHViLmNvbS9naXRwb2QtaW8vbGVld2F5L2J1aWxkQHlhcm46NyIsCiAgICAgICJkZWZpbmVkSW5NYXRlcmlhbCI6IDAsCiAgICAgICJlbnRyeVBvaW50IjogImNvbXBvbmVudHMvZ2l0cG9kLXByb3RvY29sOmxpYiIsCiAgICAgICJhcmd1bWVudHMiOiBbCiAgICAgICAgImxlZXdheSIsCiAgICAgICAgImJ1aWxkIiwKICAgICAgICAiLS1kb2NrZXItYnVpbGQtb3B0aW9ucyIsCiAgICAgICAgIm5ldHdvcms9aG9zdCIsCiAgICAgICAgIi0td2VyZnQ9dHJ1ZSIsCiAgICAgICAgIi1jIiwKICAgICAgICAicmVtb3RlIiwKICAgICAgICAiLS1kb250LXJldGFnIiwKICAgICAgICAiLS1jb3ZlcmFnZS1vdXRwdXQtcGF0aD0vdG1wL3RtcC5HajJyT05IOU9NIiwKICAgICAgICAiLUR2ZXJzaW9uPXByb3RlY3RlZC1zZWNyZXRzLjEiLAogICAgICAgICItRHJlbW92ZVNvdXJjZXM9ZmFsc2UiLAogICAgICAgICItRGltYWdlUmVwb0Jhc2U9ZXUuZ2NyLmlvL2dpdHBvZC1jb3JlLWRldi9idWlsZCIsCiAgICAgICAgIi1EbG9jYWxBcHBWZXJzaW9uPXVua25vd24iLAogICAgICAgICItRFNFR01FTlRfSU9fVE9LRU49WDNiTmF0WVB1ZElKY0N6NmtGbFRuNTRwcnVtUUFxR2giLAogICAgICAgICItRFJFUExJQ0FURURfQVBJX1RPS0VOPWRlYTEwYzhmYjU4NzU1ZmQ1MWFiOTk2Y2NiYWFiODk2MmY1ZTkwNmFiNDQxMmFlNjc3OTk2ZWE3NGU4NWFlMzUiLAogICAgICAgICItRFJFUExJQ0FURURfQVBQPWdpdHBvZCIsCiAgICAgICAgIi1EbnBtUHVibGlzaFRyaWdnZXI9ZmFsc2UiCiAgICAgIF0sCiAgICAgICJlbnZpcm9ubWVudCI6IHsKICAgICAgICAibWFuaWZlc3QiOiB7CiAgICAgICAgICAiYXJjaCI6ICJhbWQ2NCIsCiAgICAgICAgICAiZ28iOiAiZ28gdmVyc2lvbiBnbzEuMTkuMiBsaW51eC9hbWQ2NCIsCiAgICAgICAgICAibm9kZSI6ICJ2MTYuMTYuMCIsCiAgICAgICAgICAib3MiOiAibGludXgiLAogICAgICAgICAgInlhcm4iOiAiMS4yMi4xOSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAibWV0YWRhdGEiOiB7CiAgICAgICJidWlsZFN0YXJ0ZWRPbiI6ICIyMDIyLTEwLTIxVDEwOjQ3OjE2LjY4NzI2MDEzOVoiLAogICAgICAiYnVpbGRGaW5pc2hlZE9uIjogIjIwMjItMTAtMjFUMTA6NDc6NDcuNzY4NDc3MDM4WiIsCiAgICAgICJjb21wbGV0ZW5lc3MiOiB7CiAgICAgICAgImFyZ3VtZW50cyI6IHRydWUsCiAgICAgICAgImVudmlyb25tZW50IjogZmFsc2UsCiAgICAgICAgIm1hdGVyaWFscyI6IHRydWUKICAgICAgfSwKICAgICAgInJlcHJvZHVjaWJsZSI6IGZhbHNlCiAgICB9LAogICAgIm1hdGVyaWFscyI6IFsKICAgICAgewogICAgICAgICJ1cmkiOiAiZ2l0K2h0dHBzOi8vZ2l0aHViLmNvbS9naXRwb2QtaW8vZ2l0cG9kLmdpdCIsCiAgICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAgICJzaGEyNTYiOiAiODAzNWFjNDdjYTYwMmVkYmRmYTIyZmNhMGQzMGJhMjI3MmZiY2NjNSIKICAgICAgICB9CiAgICAgIH0KICAgIF0KICB9Cn0=","signatures":null}
2
+