@bizdoc/core 1.13.21 → 1.13.22

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 (119) hide show
  1. package/assets/i18n/cldr-data/main/ar/ca-buddhist.json +530 -0
  2. package/assets/i18n/cldr-data/main/ar/ca-chinese.json +1254 -0
  3. package/assets/i18n/cldr-data/main/ar/ca-coptic.json +539 -0
  4. package/assets/i18n/cldr-data/main/ar/ca-dangi.json +1254 -0
  5. package/assets/i18n/cldr-data/main/ar/ca-ethiopic-amete-alem.json +536 -0
  6. package/assets/i18n/cldr-data/main/ar/ca-ethiopic.json +539 -0
  7. package/assets/i18n/cldr-data/main/ar/ca-generic.json +533 -0
  8. package/assets/i18n/cldr-data/main/ar/ca-gregorian.json +557 -0
  9. package/assets/i18n/cldr-data/main/ar/ca-hebrew.json +542 -0
  10. package/assets/i18n/cldr-data/main/ar/ca-indian.json +530 -0
  11. package/assets/i18n/cldr-data/main/ar/ca-islamic-civil.json +530 -0
  12. package/assets/i18n/cldr-data/main/ar/ca-islamic-rgsa.json +530 -0
  13. package/assets/i18n/cldr-data/main/ar/ca-islamic-tbla.json +530 -0
  14. package/assets/i18n/cldr-data/main/ar/ca-islamic-umalqura.json +530 -0
  15. package/assets/i18n/cldr-data/main/ar/ca-islamic.json +530 -0
  16. package/assets/i18n/cldr-data/main/ar/ca-japanese.json +1238 -0
  17. package/assets/i18n/cldr-data/main/ar/ca-persian.json +530 -0
  18. package/assets/i18n/cldr-data/main/ar/ca-roc.json +533 -0
  19. package/assets/i18n/cldr-data/main/ar/characters.json +52 -0
  20. package/assets/i18n/cldr-data/main/ar/currencies.json +2306 -0
  21. package/assets/i18n/cldr-data/main/ar/dateFields.json +1039 -0
  22. package/assets/i18n/cldr-data/main/ar/delimiters.json +18 -0
  23. package/assets/i18n/cldr-data/main/ar/languages.json +556 -0
  24. package/assets/i18n/cldr-data/main/ar/layout.json +18 -0
  25. package/assets/i18n/cldr-data/main/ar/listPatterns.json +68 -0
  26. package/assets/i18n/cldr-data/main/ar/localeDisplayNames.json +230 -0
  27. package/assets/i18n/cldr-data/main/ar/measurementSystemNames.json +19 -0
  28. package/assets/i18n/cldr-data/main/ar/numbers.json +511 -0
  29. package/assets/i18n/cldr-data/main/ar/posix.json +18 -0
  30. package/assets/i18n/cldr-data/main/ar/scripts.json +202 -0
  31. package/assets/i18n/cldr-data/main/ar/territories.json +324 -0
  32. package/assets/i18n/cldr-data/main/ar/timeZoneNames.json +2268 -0
  33. package/assets/i18n/cldr-data/main/ar/units.json +4587 -0
  34. package/assets/i18n/cldr-data/main/ar/variants.json +119 -0
  35. package/assets/i18n/cldr-data/main/de/ca-buddhist.json +530 -0
  36. package/assets/i18n/cldr-data/main/de/ca-chinese.json +1254 -0
  37. package/assets/i18n/cldr-data/main/de/ca-coptic.json +539 -0
  38. package/assets/i18n/cldr-data/main/de/ca-dangi.json +1254 -0
  39. package/assets/i18n/cldr-data/main/de/ca-ethiopic-amete-alem.json +536 -0
  40. package/assets/i18n/cldr-data/main/de/ca-ethiopic.json +539 -0
  41. package/assets/i18n/cldr-data/main/de/ca-generic.json +533 -0
  42. package/assets/i18n/cldr-data/main/de/ca-gregorian.json +551 -0
  43. package/assets/i18n/cldr-data/main/de/ca-hebrew.json +542 -0
  44. package/assets/i18n/cldr-data/main/de/ca-indian.json +530 -0
  45. package/assets/i18n/cldr-data/main/de/ca-islamic-civil.json +530 -0
  46. package/assets/i18n/cldr-data/main/de/ca-islamic-rgsa.json +530 -0
  47. package/assets/i18n/cldr-data/main/de/ca-islamic-tbla.json +530 -0
  48. package/assets/i18n/cldr-data/main/de/ca-islamic-umalqura.json +530 -0
  49. package/assets/i18n/cldr-data/main/de/ca-islamic.json +530 -0
  50. package/assets/i18n/cldr-data/main/de/ca-japanese.json +1238 -0
  51. package/assets/i18n/cldr-data/main/de/ca-persian.json +530 -0
  52. package/assets/i18n/cldr-data/main/de/ca-roc.json +533 -0
  53. package/assets/i18n/cldr-data/main/de/characters.json +52 -0
  54. package/assets/i18n/cldr-data/main/de/contextTransforms.json +18 -0
  55. package/assets/i18n/cldr-data/main/de/currencies.json +1932 -0
  56. package/assets/i18n/cldr-data/main/de/dateFields.json +679 -0
  57. package/assets/i18n/cldr-data/main/de/delimiters.json +18 -0
  58. package/assets/i18n/cldr-data/main/de/languages.json +640 -0
  59. package/assets/i18n/cldr-data/main/de/layout.json +18 -0
  60. package/assets/i18n/cldr-data/main/de/listPatterns.json +68 -0
  61. package/assets/i18n/cldr-data/main/de/localeDisplayNames.json +230 -0
  62. package/assets/i18n/cldr-data/main/de/measurementSystemNames.json +19 -0
  63. package/assets/i18n/cldr-data/main/de/numbers.json +155 -0
  64. package/assets/i18n/cldr-data/main/de/posix.json +18 -0
  65. package/assets/i18n/cldr-data/main/de/scripts.json +209 -0
  66. package/assets/i18n/cldr-data/main/de/territories.json +324 -0
  67. package/assets/i18n/cldr-data/main/de/timeZoneNames.json +2332 -0
  68. package/assets/i18n/cldr-data/main/de/units.json +2546 -0
  69. package/assets/i18n/cldr-data/main/de/variants.json +119 -0
  70. package/assets/i18n/cldr-data/main/ru/ca-buddhist.json +524 -0
  71. package/assets/i18n/cldr-data/main/ru/ca-chinese.json +1248 -0
  72. package/assets/i18n/cldr-data/main/ru/ca-coptic.json +533 -0
  73. package/assets/i18n/cldr-data/main/ru/ca-dangi.json +1248 -0
  74. package/assets/i18n/cldr-data/main/ru/ca-ethiopic-amete-alem.json +530 -0
  75. package/assets/i18n/cldr-data/main/ru/ca-ethiopic.json +533 -0
  76. package/assets/i18n/cldr-data/main/ru/ca-generic.json +527 -0
  77. package/assets/i18n/cldr-data/main/ru/ca-gregorian.json +546 -0
  78. package/assets/i18n/cldr-data/main/ru/ca-hebrew.json +536 -0
  79. package/assets/i18n/cldr-data/main/ru/ca-indian.json +524 -0
  80. package/assets/i18n/cldr-data/main/ru/ca-islamic-civil.json +524 -0
  81. package/assets/i18n/cldr-data/main/ru/ca-islamic-rgsa.json +524 -0
  82. package/assets/i18n/cldr-data/main/ru/ca-islamic-tbla.json +524 -0
  83. package/assets/i18n/cldr-data/main/ru/ca-islamic-umalqura.json +524 -0
  84. package/assets/i18n/cldr-data/main/ru/ca-islamic.json +524 -0
  85. package/assets/i18n/cldr-data/main/ru/ca-japanese.json +1232 -0
  86. package/assets/i18n/cldr-data/main/ru/ca-persian.json +524 -0
  87. package/assets/i18n/cldr-data/main/ru/ca-roc.json +527 -0
  88. package/assets/i18n/cldr-data/main/ru/characters.json +52 -0
  89. package/assets/i18n/cldr-data/main/ru/contextTransforms.json +62 -0
  90. package/assets/i18n/cldr-data/main/ru/currencies.json +2001 -0
  91. package/assets/i18n/cldr-data/main/ru/dateFields.json +859 -0
  92. package/assets/i18n/cldr-data/main/ru/delimiters.json +18 -0
  93. package/assets/i18n/cldr-data/main/ru/languages.json +557 -0
  94. package/assets/i18n/cldr-data/main/ru/layout.json +18 -0
  95. package/assets/i18n/cldr-data/main/ru/listPatterns.json +68 -0
  96. package/assets/i18n/cldr-data/main/ru/localeDisplayNames.json +230 -0
  97. package/assets/i18n/cldr-data/main/ru/measurementSystemNames.json +19 -0
  98. package/assets/i18n/cldr-data/main/ru/numbers.json +231 -0
  99. package/assets/i18n/cldr-data/main/ru/posix.json +18 -0
  100. package/assets/i18n/cldr-data/main/ru/scripts.json +209 -0
  101. package/assets/i18n/cldr-data/main/ru/territories.json +324 -0
  102. package/assets/i18n/cldr-data/main/ru/timeZoneNames.json +2317 -0
  103. package/assets/i18n/cldr-data/main/ru/units.json +3647 -0
  104. package/assets/i18n/cldr-data/main/ru/variants.json +119 -0
  105. package/esm2020/lib/compose/action/assign-action.component.mjs +2 -1
  106. package/esm2020/lib/compose/action/moveto-action.component.mjs +88 -0
  107. package/esm2020/lib/core/session.service.mjs +3 -3
  108. package/esm2020/lib/core/translations.mjs +3 -1
  109. package/esm2020/lib/cube/cube.service.mjs +1 -1
  110. package/esm2020/lib/shared.module.mjs +5 -4
  111. package/fesm2015/bizdoc-core.mjs +119 -51
  112. package/fesm2015/bizdoc-core.mjs.map +1 -1
  113. package/fesm2020/bizdoc-core.mjs +119 -51
  114. package/fesm2020/bizdoc-core.mjs.map +1 -1
  115. package/lib/compose/action/moveto-action.component.d.ts +36 -0
  116. package/lib/core/translations.d.ts +2 -0
  117. package/lib/cube/cube.service.d.ts +1 -1
  118. package/lib/shared.module.d.ts +112 -111
  119. package/package.json +10 -10
@@ -404,4 +404,4 @@ export function modelize() {
404
404
  return data;
405
405
  }));
406
406
  }
407
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ViZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL2N1YmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFnQixhQUFhLEVBQXVCLE1BQU0sdUJBQXVCLENBQUM7QUFJekYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBRTlGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsRUFBRSxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7QUFFL0Q7MkVBQzJFO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQztBQUV0QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUM7QUFDdEMsaUVBQWlFO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUUsY0FBYyxHQUFHLEdBQUcsQ0FBQztBQUV2RCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUM7QUFFaEQsd0VBQXdFO0FBQ3hFLEtBQUs7QUFDTCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxzR0FBc0csQ0FBQztBQUV6SSxNQUFNLENB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Q0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7d0dBeFpVLFdBQVcsa0JBR0YsYUFBYTs0R0FIdEIsV0FBVyxjQURFLE1BQU07MkZBQ25CLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFJbkIsTUFBTTsyQkFBQyxhQUFhOztBQXdabkMsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRztJQUNqQyxPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDMUIsR0FBRyxFQUFFLEVBQ0wsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7QUFDckIsQ0FBQztBQUNELDJDQUEyQztBQUMzQyxNQUFNLFVBQVUsUUFBUTtJQUd0QixNQUFNLElBQUksR0FBRyxFQUFFLENBQUM7SUFDaEIsT0FBTyxDQUFDLE1BQTRCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQzNELENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDWixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3pDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGZvcmtKb2luLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBzaGFyZVJlcGxheSwgdGFwLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IHNldEN1cnJlbmN5Q29kZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1iYXNlJztcclxuaW1wb3J0IHsgaXNBcnJheSwgaXNTdHJpbmcgfSBmcm9tICcuLi9jb3JlL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IEJpekRvY0NvbmZpZywgQklaRE9DX0NPTkZJRywgUGFyYW1NYXAsIFNjb3BlVHlwZSB9IGZyb20gJy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IEZpZWxkSW5mbywgQXhpc1R5cGUsIEF4ZXNNYXAgfSBmcm9tICcuLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gJy4uL2NvcmUvZGF0YXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZ2V0Q3VycmVuY3lTeW1ib2wsIGdldExvY2FsZU51bWJlckZvcm1hdCwgTnVtYmVyRm9ybWF0U3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFDQ09VTlRfREVMSU1JVEVSID0gJy4nLCBERUZBVUxUX0NVUlJFTkNZID0gJ1VTRCc7XHJcblxyXG4vKiogaW4gY2FzZSB4QXhpcyBvciBzZXJpZXMgaXMgZ2l2ZW4gbW9yZSB0aGFuIG9uZSBheGlzLFxyXG4gKiB0aGUgdmFsdWUgcmV0dXJuZWQgaXMgY29tYmluZWQgb2YgdmFsdWVzIHNlcGVyYXRlZCBieSB0aGlzIGNoYXJhY3Rlci4gKi9cclxuZXhwb3J0IGNvbnN0IEFYRVNfQ09ERV9ESVZJREVSID0gJ19fJztcclxuXHJcbmV4cG9ydCBjb25zdCBBWEVTX0xBQkVMX0RJVklERVIgPSAnLSc7XHJcbi8qKiByZXByZXNlbnRzIGEgcGxhY2UgaW4gcGF0dGVybiB0byBiZSByZXBsYWNlZCBieSBiYXNlIGF4aXMuICovXHJcbmV4cG9ydCBjb25zdCBBWElTX01BUF9DSEFSID0gJyMnLCBBWElTX01BUF9BU19JUyA9ICcqJztcclxuXHJcbmV4cG9ydCBjb25zdCBBWElTX1NQRUNJQUxfQ0hBUlMgPSAvW1xcLjsjXFwtLFxcIV0vO1xyXG5cclxuLyoqIGFsbG93ZWQgY2hhcmFjdGVycyBmb3IgYXhpcyB2YWx1ZSAvIGNvbGxlY3Rpb24gLyByYW5nZSAvIHBhdHRlcm4uICovXHJcbi8vXFxwTFxyXG5leHBvcnQgY29uc3QgQVhJU19WQUxVRV9QQVRURVJOID0gL14oKCE/XFx3KyhcXCxcXHcrKSopfCghP1xcdytcXC1cXHcrKXwoIT9bXFx3XFwuXFwqXFwjXSspKShbO10oKCE/XFx3KyhcXCxcXHcrKSopfCghP1xcdytcXC1cXHcrKXwoIT9bXFx3XFwuXFwqXFwjXSspKSkqJC87XHJcblxyXG5leHBvcnQgY29uc3QgQ0xEUl9GSUxFUyA9IFsnY2xkci1kYXRhL21haW4vezB9L2N1cnJlbmNpZXMuanNvbicsICdjbGRyLWRhdGEvbWFpbi97MH0vY2EtZ3JlZ29yaWFuLmpzb24nLCAnY2xkci1kYXRhL21haW4vezB9L251bWJlcnMuanNvbicsICdjbGRyLWRhdGEvbWFpbi97MH0vdGltZVpvbmVOYW1lcy5qc29uJywgJ2NsZHItZGF0YS9zdXBwbGVtZW50YWwvbnVtYmVyaW5nU3lzdGVtcy5qc29uJ107XHJcblxyXG4vKiogcXVlcnkgY3ViZSAqL1xyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQ3ViZVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NhY2hlOiB7IFtuYW1lOiBzdHJpbmddOiBPYnNlcnZhYmxlPGFueT4gfSA9IHt9O1xyXG4gIC8vIGN0b3JcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEJJWkRPQ19DT05GSUcpIHByaXZhdGUgX2NvbmZpZzogQml6RG9jQ29uZmlnLFxyXG4gICAgcHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgX3R5cGU6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UpIHtcclxuICAgIF9jb25maWcgJiYgX2NvbmZpZy5jdXJyZW5jeUNvZGUgJiYgc2V0Q3VycmVuY3lDb2RlKF9jb25maWcuY3VycmVuY3lDb2RlKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY2FjaGVPciA9IDxUPihuYW1lOiBzdHJpbmcsIGZuOiAoKSA9PiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiA9PlxyXG4gICAgdGhpcy5fY2FjaGVbbmFtZV0gfHwgKHRoaXMuX2NhY2hlW25hbWVdID0gZm4oKS5waXBlKHNoYXJlUmVwbGF5KCkpKTtcclxuICAvKiogc3lzdGVtIGN1cnJlbmN5ICovXHJcbiAgZ2V0IG51bWJlckZvcm1hdCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuY3VycmVuY3lDb2RlID9cclxuICAgICAgZ2V0TG9jYWxlTnVtYmVyRm9ybWF0KHRoaXMuX3Nlc3Npb24ubGFuZ3VhZ2UsIE51bWJlckZvcm1hdFN0eWxlLkN1cnJlbmN5KS5cclxuICAgICAgICByZXBsYWNlKCfCpCcsIGdldEN1cnJlbmN5U3ltYm9sKHRoaXMuY3VycmVuY3lDb2RlLCAnbmFycm93JykpIDpcclxuICAgICAgZ2V0TG9jYWxlTnVtYmVyRm9ybWF0KHRoaXMuX3Nlc3Npb24ubGFuZ3VhZ2UsIE51bWJlckZvcm1hdFN0eWxlLkRlY2ltYWwpO1xyXG4gIH1cclxuICBnZXQgY3VycmVuY3lDb2RlKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCB7IGN1cnJlbmN5Q29kZSB9ID0gdGhpcy5fY29uZmlnIHx8IHt9O1xyXG4gICAgcmV0dXJuIGN1cnJlbmN5Q29kZSB8fCBERUZBVUxUX0NVUlJFTkNZO1xyXG4gIH1cclxuICBnZXQgZGlnaXRzSW5mbygpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgeyBmcmFjdGlvbkRpZ2l0cyB9ID0gdGhpcztcclxuICAgIHJldHVybiBgMS4ke2ZyYWN0aW9uRGlnaXRzfS0ke2ZyYWN0aW9uRGlnaXRzfWA7XHJcbiAgfVxyXG4gIGdldCBmcmFjdGlvbkRpZ2l0cygpOiBudW1iZXIge1xyXG4gICAgY29uc3QgeyBmb3JtYXRzIH0gPSB0aGlzLl9jb25maWcsIHsgZnJhY3Rpb25EaWdpdHMgfSA9IGZvcm1hdHMgfHwge307XHJcbiAgICByZXR1cm4gZnJhY3Rpb25EaWdpdHMgIT09IHVuZGVmaW5lZCA/IGZyYWN0aW9uRGlnaXRzIDogMjtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogcXVlcnkgY3ViZSBieSBheGVzLCBzZXJpZXMgYW5kIGluZGljZXNcclxuICAgKiBAcGFyYW0gY3ViZSBuYW1lXHJcbiAgICogQHBhcmFtIHhBeGlzIGdyb3VwIGJ5IG9uZSBvciBtb3JlIGF4aXNcclxuICAgKiBAcGFyYW0gb3B0aW9uc1xyXG4gICAqL1xyXG4gIHNlcmllcyhjdWJlOiBzdHJpbmcsIHhBeGlzOiBzdHJpbmcgfCBzdHJpbmdbXSxcclxuICAgIG9wdGlvbnM/OiB7XHJcbiAgICAgIC8qKiBncm91cCBzZXJpZXMgYnkgb25lIG9yIG1vcmUgYXhpcyAqL1xyXG4gICAgICBzZXJpZXM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgICAgLyoqIGluY2x1ZGUgb25lIG9yIG1vcmUgaW5kZXggc2VyaWUgKi9cclxuICAgICAgaW5kaWNlcz86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gICAgICBncm91cEluZGljZXM/OiBib29sZWFuLFxyXG4gICAgICAvL2luZGV4Qnk/OiAnZ3JvdXAnIHwgJ2ludmVyc2UnLFxyXG4gICAgICBpbnZlcnNlSW5kaWNlcz86IGJvb2xlYW4sXHJcbiAgICAgIC8qKiBheGVzICovXHJcbiAgICAgIGZpbHRlcnM/OiB7IFtheGlzOiBzdHJpbmddOiBBeGlzVHlwZSB9O1xyXG4gICAgICBzY29wZT86IFNjb3BlVHlwZSxcclxuICAgICAgLyoqIHJlcGxhY2UgYmFzZSAqL1xyXG4gICAgICBiYXNlPzogeyBbYXhpczogc3RyaW5nXTogKHN0cmluZyB8IG51bWJlcikgfSB8IEFycmF5PHN0cmluZyB8IG51bWJlcj47XHJcbiAgICB9KTogT2JzZXJ2YWJsZTxTZXJpZXNbXT4ge1xyXG4gICAgaWYgKCFvcHRpb25zKSBvcHRpb25zID0ge307XHJcbiAgICBjb25zdCB7IGZpbHRlcnM6IGF4ZXMsIHNlcmllcywgaW5kaWNlcywgYmFzZSwgc2NvcGUsIGdyb3VwSW5kaWNlcywgaW52ZXJzZUluZGljZXMgfSA9IG9wdGlvbnMsIGZpbHRlcnMgPSB7IC4uLmF4ZXMgfTtcclxuICAgIC8vIG5vcm1hbGl6ZSBhcmdzXHJcbiAgICBiYXNlICYmIHRoaXMuYmFzZShjdWJlLCBmaWx0ZXJzLCBiYXNlKTtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dDxTZXJpZXNbXT4oYC9hcGkvY3ViZS8ke2N1YmV9YCwge1xyXG4gICAgICB4QXhpcyxcclxuICAgICAgc2VyaWVzLFxyXG4gICAgICBpbmRpY2VzLFxyXG4gICAgICBmaWx0ZXJzLFxyXG4gICAgICBzY29wZSxcclxuICAgICAgZ3JvdXBJbmRpY2VzLFxyXG4gICAgICBpbnZlcnNlSW5kaWNlc1xyXG4gICAgfSkucGlwZSh0aGlzLl9kZWNvcmF0ZShjdWJlLCBpc0FycmF5KHhBeGlzKSA/IHhBeGlzIDogW3hBeGlzXSxcclxuICAgICAgc2VyaWVzID8gaXNBcnJheShzZXJpZXMpID8gc2VyaWVzIDogW3Nlcmllc10gOiBudWxsKSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGFnZ3JlZ2F0ZSBjdWJlIHRvIGZsYXQgY29sbGVjdGlvbiBvZiBjb2x1bW5zIGFuZCB2YWx1ZShzKVxyXG4gICAqIEBwYXJhbSBjdWJlIG5hbWVcclxuICAgKiBAcGFyYW0gY29sdW1uc1xyXG4gICAqIEBwYXJhbSBvcHRpb25zXHJcbiAgICovXHJcbiAgdGFibGUoY3ViZTogc3RyaW5nLCBjb2x1bW5zOiBzdHJpbmdbXSwgb3B0aW9ucz86IHtcclxuICAgIC8qKiBheGVzICovXHJcbiAgICBmaWx0ZXJzPzogQXhlc01hcDtcclxuICAgIC8qKiBpbmNsdWRlIG9uZSBvciBtb3JlIGluZGV4IHZhbHVlcyAqL1xyXG4gICAgaW5kaWNlcz86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gICAgc2NvcGU/OiBTY29wZVR5cGUsXHJcbiAgfSk6IE9ic2VydmFibGU8eyB2YWx1ZTogbnVtYmVyIH1bXT4ge1xyXG4gICAgaWYgKCFvcHRpb25zKSBvcHRpb25zID0ge307XHJcbiAgICBjb25zdCB7IGZpbHRlcnMsIGluZGljZXMsIHNjb3BlIH0gPSBvcHRpb25zO1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0PHsgdmFsdWU6IG51bWJlciB9W10+KGAvYXBpL2N1YmUvdGFibGUvJHtjdWJlfWAsIHtcclxuICAgICAgY29sdW1ucyxcclxuICAgICAgaW5kaWNlcyxcclxuICAgICAgZmlsdGVycyxcclxuICAgICAgc2NvcGVcclxuICAgIH0pLnBpcGUodGhpcy5fZGVjb3JhdGVUYWJsZShjdWJlLCBjb2x1bW5zKSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGluZm9ybWF0aW9uIG9uIGV4cGVjdGVkIGV4cGxvcmUgdHlwZVxyXG4gICAqIEBwYXJhbSBjdWJlIG5hbWVcclxuICAgKiBAcGFyYW0gYXhlcyBmaWx0ZXJzXHJcbiAgICogQHBhcmFtIG9wdGlvbnNcclxuICAgKi9cclxuICByZXNvbHZlKGN1YmU6IHN0cmluZywgYXhlczogeyBba2V5OiBzdHJpbmddOiBBeGlzVHlwZSB9LCBvcHRpb25zPzoge1xyXG4gICAgLyoqIHJlcGxhY2UgYmFzZSAqL1xyXG4gICAgYmFzZT86IHsgW2F4aXM6IHN0cmluZ106IChzdHJpbmcgfCBudW1iZXIpIH0gfCBBcnJheTxzdHJpbmcgfCBudW1iZXI+O1xyXG4gIH0pOiBPYnNlcnZhYmxlPEV4cGxvcmVUeXBlPiB7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7IC4uLmF4ZXMgfSBhcyBhbnk7XHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBjb25zdCB7IGJhc2UgfSA9IG9wdGlvbnM7XHJcbiAgICAgIGJhc2UgJiYgdGhpcy5iYXNlKGN1YmUsIHBhcmFtcywgYmFzZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8RXhwbG9yZVR5cGU+KGAvYXBpL2N1YmUvZXhwbG9yZXR5cGUvJHtjdWJlfWAsIHsgcGFyYW1zIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBpbmZvcm1hdGlvbiBvbiBleHBlY3RlZCBleHBsb3JlIHR5cGVcclxuICAgKiBAcGFyYW0gY3ViZSBuYW1lXHJcbiAgICogQHBhcmFtIGluZGV4IG5hbWVcclxuICAgKi9cclxuICByZXNvbHZlSW5kZXgoY3ViZTogc3RyaW5nLCBpbmRleDogc3RyaW5nKTogT2JzZXJ2YWJsZTxFeHBsb3JlVHlwZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PEV4cGxvcmVUeXBlPihgL2FwaS9jdWJlL2V4cGxvcmVpbmRleHR5cGUvJHtjdWJlfS8ke2luZGV4fWApO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBleHBsb3JlIGl0ZW1zIGJ5IGF4aXNcclxuICAgKiBAcGFyYW0gY3ViZSBuYW1lXHJcbiAgICogQHBhcmFtIGF4ZXMgZmlsdGVyc1xyXG4gICAqIEBwYXJhbSBvcHRpb25zXHJcbiAgICovXHJcbiAgZXhwbG9yZShjdWJlOiBzdHJpbmcsIGF4ZXM6IHsgW2tleTogc3RyaW5nXTogQXhpc1R5cGUgfSwgb3B0aW9ucz86IHtcclxuICAgIC8qKiByZXN0cmljdCByZXN1bHRzIHRvIHVzZXIgcGF0dGVybnMgb3IgcG9zaXRpb25zICovXHJcbiAgICBzY29wZT86IFNjb3BlVHlwZSxcclxuICAgIC8qKiByZXBsYWNlIGJhc2UgKi9cclxuICAgIGJhc2U/OiB7IFtheGlzOiBzdHJpbmddOiAoc3RyaW5nIHwgbnVtYmVyKSB9IHwgQXJyYXk8c3RyaW5nIHwgbnVtYmVyPjtcclxuICB9KTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xyXG4gICAgY29uc3QgcGFyYW1zID0geyAuLi5heGVzIH0gYXMgYW55O1xyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgY29uc3QgeyBiYXNlLCBzY29wZSB9ID0gb3B0aW9ucztcclxuICAgICAgYmFzZSAmJiB0aGlzLmJhc2UoY3ViZSwgcGFyYW1zLCBiYXNlKTtcclxuICAgICAgaWYgKHNjb3BlKSBwYXJhbXMuc2NvcGUgPSBzY29wZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxhbnlbXT4oXHJcbiAgICAgIGAvYXBpL2N1YmUvZXhwbG9yZS8ke2N1YmV9YCxcclxuICAgICAgeyBwYXJhbXMgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBheGVzXHJcbiAgICogQHBhcmFtIGN1YmVcclxuICAgKi9cclxuICBuYW1lT2YoYXhlczogQXhlc01hcCwgY3ViZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IGN1YmUpO1xyXG4gICAgY29uc3Qgb2JzZXJ2YWJsZXMgPSBvcHRpb25zLmF4ZXMuZmlsdGVyKGEgPT4gaXNTdHJpbmcoYXhlc1thLm5hbWVdKSAmJlxyXG4gICAgICAvLyB2YWx1ZVxyXG4gICAgICAhQVhJU19TUEVDSUFMX0NIQVJTLnRlc3QoYXhlc1thLm5hbWVdIGFzIHN0cmluZykpLm1hcChhID0+XHJcbiAgICAgICAgdGhpcy5fdHlwZS5nZXQoYS5kYXRhVHlwZSwgYXhlc1thLm5hbWVdIGFzIHN0cmluZykgfHwgJycpO1xyXG4gICAgcmV0dXJuIChvYnNlcnZhYmxlcy5sZW5ndGggPyBmb3JrSm9pbihvYnNlcnZhYmxlcykucGlwZShtYXAobyA9PiBvLmpvaW4oJyAnKSkpIDogb2YoJycpKTtcclxuICB9IFxyXG4gIC8qKlxyXG4gICAqIGV4cGxvcmUgaW5kaWNlcyBieSBheGlzXHJcbiAgICogQHBhcmFtIGN1YmUgbmFtZVxyXG4gICAqIEBwYXJhbSBpbmRleCBuYW1lXHJcbiAgICogQHBhcmFtIGF4ZXMgZmlsdGVyc1xyXG4gICAqIEBwYXJhbSBvcHRpb25zXHJcbiAgICovXHJcbiAgaW5kaWNlcyhjdWJlOiBzdHJpbmcsIGluZGV4OiBzdHJpbmcsIGF4ZXM6IHsgW2F4aXM6IHN0cmluZ106IEF4aXNUeXBlIH0sXHJcbiAgICBvcHRpb25zPzoge1xyXG4gICAgICAvKiogcmVzdHJpY3QgcmVzdWx0cyB0byB1c2VyIHBhdHRlcm5zIG9yIHBvc2l0aW9ucyAqL1xyXG4gICAgICBzY29wZT86IFNjb3BlVHlwZVxyXG4gICAgICBiYXNlPzogeyBbYXhpczogc3RyaW5nXTogKHN0cmluZyB8IG51bWJlcikgfSB8IEFycmF5PHN0cmluZyB8IG51bWJlcj47XHJcbiAgICB9KTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xyXG4gICAgY29uc3QgcGFyYW1zID0geyAuLi5heGVzIH0gYXMgYW55O1xyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgY29uc3QgeyBiYXNlLCBzY29wZSB9ID0gb3B0aW9ucztcclxuICAgICAgYmFzZSAmJiB0aGlzLmJhc2UoY3ViZSwgcGFyYW1zLCBiYXNlKTtcclxuICAgICAgaWYgKHNjb3BlKSBwYXJhbXMuc2NvcGUgPSBzY29wZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxhbnlbXT4oXHJcbiAgICAgIGAvYXBpL2N1YmUvZXhwbG9yZWluZGV4LyR7Y3ViZX0vJHtpbmRleH1gLCB7IHBhcmFtcyB9KS5cclxuICAgICAgcGlwZSh0aGlzLl9kZWNvcmF0ZVRhYmxlKGN1YmUpKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogZ2V0IGV4cGxvcmUgaXRlbSBieSBheGlzIGFuZCBrZXkocylcclxuICAgKiBAcGFyYW0gY3ViZVxyXG4gICAqIEBwYXJhbSBheGVzXHJcbiAgICogQHBhcmFtIGtleXNcclxuICAgKiBAcGFyYW0gb3B0aW9uc1xyXG4gICAqL1xyXG4gIGl0ZW0oY3ViZTogc3RyaW5nLCBheGVzOiB7IFtheGlzOiBzdHJpbmddOiBBeGlzVHlwZSB9LCBrZXlzOiAoc3RyaW5nIHwgbnVtYmVyKVtdIHwgc3RyaW5nIHwgbnVtYmVyLCBvcHRpb25zPzoge1xyXG4gICAgLyoqIHJlcGxhY2UgYmFzZSAqL1xyXG4gICAgYmFzZT86IHsgW2F4aXM6IHN0cmluZ106IChzdHJpbmcgfCBudW1iZXIpIH0gfCBBcnJheTxzdHJpbmcgfCBudW1iZXI+O1xyXG4gIH0pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgcGFyYW1zID0geyAuLi5heGVzIH0gYXMgYW55O1xyXG4gICAgcGFyYW1zWydrZXknXSA9IGlzQXJyYXkoa2V5cykgPyBrZXlzWzBdIDoga2V5cztcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHsgYmFzZSB9ID0gb3B0aW9ucztcclxuICAgICAgYmFzZSAmJiB0aGlzLmJhc2UoY3ViZSwgcGFyYW1zLCBiYXNlKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldChgL2FwaS9jdWJlL2V4cGxvcmVpdGVtLyR7Y3ViZX1gLCB7IHBhcmFtcyB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGN1YmUgbmFtZVxyXG4gICAqIEBwYXJhbSBheGVzIGNvbmRpdGlvblxyXG4gICAqL1xyXG4gIGNvbnN0cmFpbnRzKGN1YmU6IHN0cmluZywgYXhlcz86IHsgW2tleTogc3RyaW5nXTogQXhpc1R5cGUgfSwgb3B0aW9ucz86IHsgc291cmNlOiAnY29uc3RyYWludHMnIHwgJ2NvbWJpbmF0aW9ucycgfSk6IE9ic2VydmFibGU8eyBbZGF0YVR5cGU6IHN0cmluZ106IHsgW2tleTogc3RyaW5nXTogYW55IH0gfT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PHsgW2RhdGFUeXBlOiBzdHJpbmddOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IH0+KFxyXG4gICAgICAhb3B0aW9ucyB8fCBvcHRpb25zLnNvdXJjZSA9PT0gJ2NvbnN0cmFpbnRzJyA/XHJcbiAgICAgICAgYC9hcGkvY3ViZS9jb25zdHJhaW50cy8ke2N1YmV9YCA6IGAvYXBpL2N1YmUvY29tYmluYXRpb25zY29uc3RyYWludHMvJHtjdWJlfWAsIHtcclxuICAgICAgcGFyYW1zOiB7IC4uLmF4ZXMgfSBhcyBhbnlcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gY3ViZSBuYW1lXHJcbiAgICogQHBhcmFtIGF4aXMgbmFtZVxyXG4gICAqL1xyXG4gIHZhbHVlcyhjdWJlOiBzdHJpbmcsIGF4aXM6IHN0cmluZywgZGVwZW5kZW5jaWVzPzogUGFyYW1NYXApOiBPYnNlcnZhYmxlPHsgW2tleTogc3RyaW5nXTogYW55IH0+IHtcclxuICAgIGxldCBjYWNoZUlkID0gY3ViZSArIGF4aXM7XHJcbiAgICBkZXBlbmRlbmNpZXMgJiYgT2JqZWN0LmtleXMoZGVwZW5kZW5jaWVzKS5mb3JFYWNoKGsgPT4gY2FjaGVJZCArPSBrKTtcclxuICAgIHJldHVybiB0aGlzLl9jYWNoZU9yKGNhY2hlSWQsICgpID0+IHRoaXMuX2h0dHAuZ2V0PHsgW2RhdGFUeXBlOiBzdHJpbmddOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IH0+KFxyXG4gICAgICBgL2FwaS9jdWJlL3NlZ21lbnR2YWx1ZXMvJHtjdWJlfS8ke2F4aXN9YCwgeyBwYXJhbXM6IGRlcGVuZGVuY2llcyB9KSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGdldCBheGlzIGNvbWJpbmF0aW9uc1xyXG4gICAqIEBwYXJhbSBjdWJlIG5hbWVcclxuICAgKiBAcGFyYW0gYXhlcyBmaWx0ZXJzXHJcbiAgICogQHBhcmFtIG9wdGlvbnNcclxuICAgKi9cclxuICBjb21iaW5hdGlvbnMoY3ViZTogc3RyaW5nLCBheGVzPzogeyBba2V5OiBzdHJpbmddOiBBeGlzVHlwZSB9LCBvcHRpb25zPzoge1xyXG4gICAgLyoqIHRvcCAqL1xyXG4gICAgdGFrZT86IG51bWJlcjtcclxuICAgIC8qKiBwcm9jZXNzIGluIGJhY2tncm91bmQgKi9cclxuICAgIHByb2dyZXNzPzogYm9vbGVhbjtcclxuICB9KTogT2JzZXJ2YWJsZTxzdHJpbmdbXVtdPiB7XHJcbiAgICBpZiAoIW9wdGlvbnMpIG9wdGlvbnMgPSB7fTtcclxuICAgIGNvbnN0IHsgdGFrZSwgcHJvZ3Jlc3MgfSA9IG9wdGlvbnM7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8c3RyaW5nW11bXT4oYC9hcGkvY3ViZS9jb21iaW5hdGlvbnMvJHtjdWJlfWAsIHtcclxuICAgICAgcGFyYW1zOiB7IC4uLmF4ZXMsIHRha2UgfSBhcyBhbnksXHJcbiAgICAgIGhlYWRlcnM6IHByb2dyZXNzID09PSBmYWxzZSA/IHsgJ25vLXByb2dyZXNzJzogJ3RydWUnIH0gOiB7fVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB2YWx1ZVxyXG4gICAqIEBwYXJhbSBvcHRpb25zXHJcbiAgICovXHJcbiAgc2VhcmNoKHZhbHVlOiBzdHJpbmcsIG9wdGlvbnM6IHsgdGFrZT86IG51bWJlciB9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8eyBjdWJlOiBzdHJpbmcsIGF4aXM6IHN0cmluZywga2V5OiBhbnksIHZhbHVlOiBhbnkgfVtdPignL2FwaS9jdWJlL3NlYXJjaCcsIHtcclxuICAgICAgcGFyYW1zOiB7IHZhbHVlLCAuLi5vcHRpb25zIH0gYXMgYW55LFxyXG4gICAgICBoZWFkZXJzOiB7ICduby1wcm9ncmVzcyc6ICd0cnVlJyB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogZ2V0IHNlZ21lbnRzXHJcbiAgICogQHBhcmFtIGN1YmVcclxuICAgKi9cclxuICBzZWdtZW50cyhjdWJlOiBzdHJpbmcsIG5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8U2VnbWVudE1hcD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NhY2hlT3IoYCR7bmFtZX0tc2VnbWVudHNgLCAoKSA9PiB0aGlzLl9odHRwLmdldDxTZWdtZW50TWFwPihgL2FwaS9jdWJlL3NlZ21lbnRzLyR7Y3ViZX0vJHtuYW1lfWApKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogZ2V0IHVzZXIgcGF0dGVybnNcclxuICAgKiBAcGFyYW0gY3ViZVxyXG4gICAqL1xyXG4gIHBhdHRlcm5zKGN1YmU6IHN0cmluZyk6IE9ic2VydmFibGU8UGF0dGVybltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fY2FjaGVPcihgJHtjdWJlfS1wYXR0ZXJuc2AsICgpID0+IHRoaXMuX2h0dHAuZ2V0PFBhdHRlcm5bXT4oYC9hcGkvY3ViZS9wYXR0ZXJucy8ke2N1YmV9YCkpO1xyXG4gIH1cclxuICAvKiogZ2V0IGN1cnJlbmNpZXMgKi9cclxuICBjdXJyZW5jaWVzKCk6IE9ic2VydmFibGU8Q3VycmVuY3lbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NhY2hlT3IoJ2N1cnJlbmNpZXMnLCAoKSA9PiB0aGlzLl9odHRwLmdldDxDdXJyZW5jeVtdPignYXBpL2N1YmUvY3VycmVuY2llcycpKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogZ2V0IGV4Y2hhbmdlIHJhdGVcclxuICAgKiBAcGFyYW0gY3VycmVuY3lDb2RlXHJcbiAgICogQHBhcmFtIGRhdGVcclxuICAgKi9cclxuICBleGNoYW5nZVJhdGUoY3VycmVuY3lDb2RlOiBzdHJpbmcsIGRhdGU/OiBEYXRlKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcclxuICAgIGlmICh0aGlzLmN1cnJlbmN5Q29kZSA9PT0gY3VycmVuY3lDb2RlKVxyXG4gICAgICByZXR1cm4gb2YoMSk7XHJcbiAgICBsZXQga2V5ID0gY3VycmVuY3lDb2RlO1xyXG4gICAgaWYgKGRhdGUpIGtleSArPSBkYXRlLnRvSlNPTigpO1xyXG4gICAgcmV0dXJuIHRoaXMuX2NhY2hlT3Ioa2V5LCAoKSA9PiB0aGlzLl9odHRwLmdldDxudW1iZXI+KGBhcGkvY3ViZS9leGNoYW5nZVJhdGUvJHtjdXJyZW5jeUNvZGV9YCwge1xyXG4gICAgICBwYXJhbXM6IGRhdGUgPyB7IGRhdGU6IGRhdGUudG9KU09OKCkgfSA6IG51bGwsXHJcbiAgICAgIGhlYWRlcnM6IHsgJ25vLXByb2dyZXNzJzogJ3RydWUnIH1cclxuICAgIH0pKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgKiByZXBsYWNlcyAqIG9yICMgd2l0aCBvcmlnaW4gYXhpcyBhdCBjaGFyIHBsYWNlXHJcbiAgKiBAcGFyYW0gY3ViZSBuYW1lXHJcbiAgKiBAcGFyYW0gYXhlcyBtYXBcclxuICAqIEBwYXJhbSBiYXNlIG9yaWdpblxyXG4gICovXHJcbiAgcHVibGljIGJhc2UoY3ViZTogc3RyaW5nLCBheGVzOiBBeGVzTWFwLFxyXG4gICAgYmFzZTogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IEF4ZXNNYXApOiB2b2lkIHtcclxuICAgIGNvbnN0IGNjdWJlID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IGN1YmUpO1xyXG4gICAgY2N1YmUuYXhlcy5mb3JFYWNoKChhLCBpKSA9PiB7XHJcbiAgICAgIGNvbnN0IHZhbCA9IGF4ZXNbYS5uYW1lXTtcclxuICAgICAgaWYgKHZhbCAmJiBpc1N0cmluZyh2YWwpKSB7XHJcbiAgICAgICAgY29uc3QgYXhpc2Jhc2UgPSBpc0FycmF5KGJhc2UpID8gYmFzZVtpXSA6IGJhc2VbYS5uYW1lXTtcclxuICAgICAgICBpZiAodmFsID09PSBBWElTX01BUF9BU19JUylcclxuICAgICAgICAgIGF4ZXNbYS5uYW1lXSA9IGF4aXNiYXNlO1xyXG4gICAgICAgIGVsc2UgaWYgKHZhbC5pbmRleE9mKEFYSVNfTUFQX0NIQVIpID4gLTEpIHtcclxuICAgICAgICAgIGxldCBheGlzID0gJyc7XHJcbiAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHZhbC5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICBsZXQgY2hhciA9IHZhbC5jaGFyQXQoaik7XHJcbiAgICAgICAgICAgIGF4aXMgKz0gY2hhciA9PT0gQVhJU19NQVBfQ0hBUiAmJiAoYXhpc2Jhc2UgYXMgc3RyaW5nKS5sZW5ndGggPiBqID9cclxuICAgICAgICAgICAgICAoYXhpc2Jhc2UgYXMgc3RyaW5nKS5jaGFyQXQoaikgOiBjaGFyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYXhlc1thLm5hbWVdID0gYXhpcztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBhZGRzIHZhbHVlcyB0byBzb3VyY2Uga2V5c1xyXG4gICAqIEBwYXJhbSBjdWJlXHJcbiAgICogQHBhcmFtIHhBeGlzXHJcbiAgICogQHBhcmFtIHNlcmllc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX2RlY29yYXRlKGN1YmU6IHN0cmluZyxcclxuICAgIHhBeGlzOiBzdHJpbmdbXSxcclxuICAgIHNlcmllczogc3RyaW5nW10pOiAoc291cmNlOiBPYnNlcnZhYmxlPFNlcmllc1tdPikgPT4gT2JzZXJ2YWJsZTxTZXJpZXNbXT4ge1xyXG4gICAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8U2VyaWVzW10+KSA9PiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlID0+IHtcclxuICAgICAgc291cmNlLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZhYmxlczogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcclxuICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IGN1YmUpO1xyXG4gICAgICAgIGNvbnN0IGF4aXNUeXBlTWFwID0ge307XHJcbiAgICAgICAgb3B0aW9ucy5heGVzLmZvckVhY2goeCA9PiBheGlzVHlwZU1hcFt4Lm5hbWVdID0geC5kYXRhVHlwZSk7XHJcbiAgICAgICAgaWYgKCFyLmxlbmd0aCkge1xyXG4gICAgICAgICAgb2JzZXJ2ZS5uZXh0KHIpO1xyXG4gICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBiYXNlID0gclswXS5wb2ludHM7XHJcbiAgICAgICAgci5mb3JFYWNoKChzLCBpKSA9PiB7XHJcbiAgICAgICAgICBzLnBvaW50cy5mb3JFYWNoKHAgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIXAueCkgcmV0dXJuO1xyXG4gICAgICAgICAgICBjb25zdCBwb2JzZXJ2YWJsZSA9IGZvcmtKb2luKHAueC5zcGxpdChBWEVTX0NPREVfRElWSURFUikubWFwKChrLCBqKSA9PlxyXG4gICAgICAgICAgICAgIHRoaXMuX3R5cGUuZ2V0KGF4aXNUeXBlTWFwW3hBeGlzW2pdXSwgaykpKS5cclxuICAgICAgICAgICAgICBwaXBlKHRhcChvID0+IHAubmFtZSA9IG8uam9pbihBWEVTX0xBQkVMX0RJVklERVIpKSk7XHJcbiAgICAgICAgICAgIG9ic2VydmFibGVzLnB1c2gocG9ic2VydmFibGUpO1xyXG4gICAgICAgICAgICBpZiAoaSA+IDApIHtcclxuICAgICAgICAgICAgICBsZXQgaiA9IDAsIG1pc3NpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHdoaWxlIChqIDwgYmFzZS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIGxldCB4ID0gYmFzZVtqXS54O1xyXG4gICAgICAgICAgICAgICAgaWYgKHAueCA9PT0geCkge1xyXG4gICAgICAgICAgICAgICAgICBtaXNzaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHAueCA8IHgpXHJcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgaisrO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBpZiAobWlzc2luZykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY2xvbmUgPSB7IHg6IHAueCwgeTogMCB9IGFzIFBvaW50O1xyXG4gICAgICAgICAgICAgICAgYmFzZS5zcGxpY2UoaiwgMCwgY2xvbmUpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29ic2VydmFibGUgPSBmb3JrSm9pbihwLnguc3BsaXQoQVhFU19DT0RFX0RJVklERVIpLm1hcCgoaywgaikgPT5cclxuICAgICAgICAgICAgICAgICAgdGhpcy5fdHlwZS5nZXQoYXhpc1R5cGVNYXBbeEF4aXNbal1dLCBrKSkpLlxyXG4gICAgICAgICAgICAgICAgICBwaXBlKHRhcChvID0+IGNsb25lLm5hbWUgPSBvLmpvaW4oQVhFU19MQUJFTF9ESVZJREVSKSkpO1xyXG4gICAgICAgICAgICAgICAgb2JzZXJ2YWJsZXMucHVzaChjb2JzZXJ2YWJsZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGlmIChzLmluZGV4KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gb3B0aW9ucy5pbmRpY2VzLmZpbmQoaSA9PiBpLm5hbWUgPT09IHMuaW5kZXgpO1xyXG4gICAgICAgICAgICBzLnRpdGxlID0gaW5kZXgudGl0bGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIGlmIChzLm5hbWUpIHtcclxuICAgICAgICAgICAgY29uc3Qgc29ic2VydmFibGUgPSBmb3JrSm9pbihzLm5hbWUuc3BsaXQoQVhFU19DT0RFX0RJVklERVIpLm1hcCgoaywgaSkgPT5cclxuICAgICAgICAgICAgICB0aGlzLl90eXBlLmdldChheGlzVHlwZU1hcFtzZXJpZXNbaV1dLCBrKVxyXG4gICAgICAgICAgICApKS5waXBlKHRhcCh2ID0+IHMudGl0bGUgPSB2LmpvaW4oQVhFU19MQUJFTF9ESVZJREVSKSkpO1xyXG4gICAgICAgICAgICBvYnNlcnZhYmxlcy5wdXNoKHNvYnNlcnZhYmxlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAob2JzZXJ2YWJsZXMubGVuZ3RoKVxyXG4gICAgICAgICAgZm9ya0pvaW4ob2JzZXJ2YWJsZXMpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIG9ic2VydmUubmV4dChyKTtcclxuICAgICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgfSwgZSA9PiBvYnNlcnZlLmVycm9yKGUpKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIG9ic2VydmUubmV4dChyKTtcclxuICAgICAgICAgIG9ic2VydmUuY29tcGxldGUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIGUgPT4gb2JzZXJ2ZS5lcnJvcihlKSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogYWRkcyB2YWx1ZXMgdG8gc291cmNlIGtleXNcclxuICAgKiBAcGFyYW0gY3ViZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2RlY29yYXRlVGFibGU8VD4oY3ViZTogc3RyaW5nLCBjb2x1bW5zPzogc3RyaW5nW10pOiAoc291cmNlOiBPYnNlcnZhYmxlPFRbXT4pID0+IE9ic2VydmFibGU8VFtdPiB7XHJcbiAgICBjb25zdCBjY3ViZSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSBjdWJlKSxcclxuICAgICAgYXhlcyA9IGNjdWJlLmF4ZXMuZmlsdGVyKGEgPT4gIWNvbHVtbnMgfHwgY29sdW1ucy5pbmRleE9mKGEubmFtZSkgPiAtMSk7XHJcbiAgICByZXR1cm4gKHNvdXJjZSkgPT4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZSA9PiB7XHJcbiAgICAgIHNvdXJjZS5zdWJzY3JpYmUociA9PiB7XHJcbiAgICAgICAgY29uc3Qgb2JzZXJ2YWJsZXM6IE9ic2VydmFibGU8YW55PltdID0gW107XHJcbiAgICAgICAgci5mb3JFYWNoKHJvdyA9PlxyXG4gICAgICAgICAgYXhlcy5mb3JFYWNoKGEgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB7IG5hbWUsIGRhdGFUeXBlIH0gPSBhLCB2YWx1ZSA9IHJvd1tuYW1lXTtcclxuICAgICAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAvLyBrZWVwIGtleVxyXG4gICAgICAgICAgICAgIHJvd1snXycgKyBuYW1lXSA9IHZhbHVlO1xyXG4gICAgICAgICAgICAgIGNvbnN0IG9ic2VydmFibGUgPSB0aGlzLl90eXBlLmdldChkYXRhVHlwZSwgdmFsdWUpLnBpcGUodGFwKHYgPT5cclxuICAgICAgICAgICAgICAgIHJvd1tuYW1lXSA9IHYgfHwgdmFsdWUpKTtcclxuICAgICAgICAgICAgICBvYnNlcnZhYmxlcy5wdXNoKG9ic2VydmFibGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KSk7XHJcbiAgICAgICAgaWYgKG9ic2VydmFibGVzLmxlbmd0aClcclxuICAgICAgICAgIGZvcmtKb2luKG9ic2VydmFibGVzKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICBvYnNlcnZlLm5leHQocik7XHJcbiAgICAgICAgICAgIG9ic2VydmUuY29tcGxldGUoKTtcclxuICAgICAgICAgIH0sIGUgPT4gb2JzZXJ2ZS5lcnJvcihlKSk7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBvYnNlcnZlLm5leHQoW10pO1xyXG4gICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgZSA9PiBvYnNlcnZlLmVycm9yKGUpKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHByb2dyZXNzKHRpbWUgPSAyMDApOiAoc291cmNlOiBPYnNlcnZhYmxlPGFueT4pID0+IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gIHJldHVybiBzb3VyY2UgPT4gc291cmNlLnBpcGUoXHJcbiAgICB0YXAoKSxcclxuICAgIG1hcCgoKSA9PiBmYWxzZSkpXHJcbn1cclxuLyoqIG1vZGVsaXplIGN1YmUgcmVzdWx0cyBhcyBuZXN0ZWQgbWFwcyAqL1xyXG5leHBvcnQgZnVuY3Rpb24gbW9kZWxpemUoKTogKHNvdXJjZTogT2JzZXJ2YWJsZTxTZXJpZXNbXT4pID0+IE9ic2VydmFibGU8e1xyXG4gIFtrZXk6IHN0cmluZ106IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH07XHJcbn0+IHtcclxuICBjb25zdCBkYXRhID0ge307XHJcbiAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8U2VyaWVzW10+KSA9PiBzb3VyY2UucGlwZShtYXAociA9PiB7XHJcbiAgICByLmZvckVhY2gocyA9PiB7XHJcbiAgICAgIGNvbnN0IHJvdyA9IGRhdGFbcy5pbmRleCB8fCBzLm5hbWVdID0ge307XHJcbiAgICAgIHMucG9pbnRzLmZvckVhY2gocCA9PiByb3dbcC54XSA9IHAueSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH0pKTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFeHBsb3JlVHlwZSB7XHJcbiAgY29sdW1uczogRmllbGRJbmZvW107XHJcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XHJcbiAgZmllbGRzPzogRmllbGRJbmZvW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTZXJpZXMge1xyXG4gIHBvaW50czogUG9pbnRbXTtcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIGluZGV4Pzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnQge1xyXG4gIHg6IHN0cmluZztcclxuICB5OiBudW1iZXI7XHJcbiAgbmFtZT86IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEN1cnJlbmN5IHsgY29kZTogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IHN5bWJvbDogc3RyaW5nIH1cclxuXHJcbmV4cG9ydCB0eXBlIFNlZ21lbnRNYXAgPSB7IFtjb2RlOiBzdHJpbmddOiBzdHJpbmcgfTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGF0dGVybiB7IHRpdGxlOiBzdHJpbmc7IGF4ZXM6IEF4ZXNNYXAgfVxyXG4iXX0=
407
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ViZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL2N1YmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFnQixhQUFhLEVBQXVCLE1BQU0sdUJBQXVCLENBQUM7QUFJekYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBRTlGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsRUFBRSxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7QUFFL0Q7MkVBQzJFO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQztBQUV0QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUM7QUFDdEMsaUVBQWlFO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUUsY0FBYyxHQUFHLEdBQUcsQ0FBQztBQUV2RCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUM7QUFFaEQsd0VBQXdFO0FBQ3hFLEtBQUs7QUFDTCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxzR0FBc0csQ0FBQztBQUV6SSxNQUFNLENB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Q0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7d0dBeFpVLFdBQVcsa0JBR0YsYUFBYTs0R0FIdEIsV0FBVyxjQURFLE1BQU07MkZBQ25CLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFJbkIsTUFBTTsyQkFBQyxhQUFhOztBQXdabkMsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRztJQUNqQyxPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDMUIsR0FBRyxFQUFFLEVBQ0wsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7QUFDckIsQ0FBQztBQUNELDJDQUEyQztBQUMzQyxNQUFNLFVBQVUsUUFBUTtJQUd0QixNQUFNLElBQUksR0FBRyxFQUFFLENBQUM7SUFDaEIsT0FBTyxDQUFDLE1BQTRCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQzNELENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDWixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3pDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGZvcmtKb2luLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBzaGFyZVJlcGxheSwgdGFwLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IHNldEN1cnJlbmN5Q29kZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1iYXNlJztcclxuaW1wb3J0IHsgaXNBcnJheSwgaXNTdHJpbmcgfSBmcm9tICcuLi9jb3JlL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IEJpekRvY0NvbmZpZywgQklaRE9DX0NPTkZJRywgUGFyYW1NYXAsIFNjb3BlVHlwZSB9IGZyb20gJy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IEZpZWxkSW5mbywgQXhpc1R5cGUsIEF4ZXNNYXAgfSBmcm9tICcuLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gJy4uL2NvcmUvZGF0YXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZ2V0Q3VycmVuY3lTeW1ib2wsIGdldExvY2FsZU51bWJlckZvcm1hdCwgTnVtYmVyRm9ybWF0U3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFDQ09VTlRfREVMSU1JVEVSID0gJy4nLCBERUZBVUxUX0NVUlJFTkNZID0gJ1VTRCc7XHJcblxyXG4vKiogaW4gY2FzZSB4QXhpcyBvciBzZXJpZXMgaXMgZ2l2ZW4gbW9yZSB0aGFuIG9uZSBheGlzLFxyXG4gKiB0aGUgdmFsdWUgcmV0dXJuZWQgaXMgY29tYmluZWQgb2YgdmFsdWVzIHNlcGVyYXRlZCBieSB0aGlzIGNoYXJhY3Rlci4gKi9cclxuZXhwb3J0IGNvbnN0IEFYRVNfQ09ERV9ESVZJREVSID0gJ19fJztcclxuXHJcbmV4cG9ydCBjb25zdCBBWEVTX0xBQkVMX0RJVklERVIgPSAnLSc7XHJcbi8qKiByZXByZXNlbnRzIGEgcGxhY2UgaW4gcGF0dGVybiB0byBiZSByZXBsYWNlZCBieSBiYXNlIGF4aXMuICovXHJcbmV4cG9ydCBjb25zdCBBWElTX01BUF9DSEFSID0gJyMnLCBBWElTX01BUF9BU19JUyA9ICcqJztcclxuXHJcbmV4cG9ydCBjb25zdCBBWElTX1NQRUNJQUxfQ0hBUlMgPSAvW1xcLjsjXFwtLFxcIV0vO1xyXG5cclxuLyoqIGFsbG93ZWQgY2hhcmFjdGVycyBmb3IgYXhpcyB2YWx1ZSAvIGNvbGxlY3Rpb24gLyByYW5nZSAvIHBhdHRlcm4uICovXHJcbi8vXFxwTFxyXG5leHBvcnQgY29uc3QgQVhJU19WQUxVRV9QQVRURVJOID0gL14oKCE/XFx3KyhcXCxcXHcrKSopfCghP1xcdytcXC1cXHcrKXwoIT9bXFx3XFwuXFwqXFwjXSspKShbO10oKCE/XFx3KyhcXCxcXHcrKSopfCghP1xcdytcXC1cXHcrKXwoIT9bXFx3XFwuXFwqXFwjXSspKSkqJC87XHJcblxyXG5leHBvcnQgY29uc3QgQ0xEUl9GSUxFUyA9IFsnY2xkci1kYXRhL21haW4vezB9L2N1cnJlbmNpZXMuanNvbicsICdjbGRyLWRhdGEvbWFpbi97MH0vY2EtZ3JlZ29yaWFuLmpzb24nLCAnY2xkci1kYXRhL21haW4vezB9L251bWJlcnMuanNvbicsICdjbGRyLWRhdGEvbWFpbi97MH0vdGltZVpvbmVOYW1lcy5qc29uJywgJ2NsZHItZGF0YS9zdXBwbGVtZW50YWwvbnVtYmVyaW5nU3lzdGVtcy5qc29uJ107XHJcblxyXG4vKiogcXVlcnkgY3ViZSAqL1xyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQ3ViZVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NhY2hlOiB7IFtuYW1lOiBzdHJpbmddOiBPYnNlcnZhYmxlPGFueT4gfSA9IHt9O1xyXG4gIC8vIGN0b3JcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEJJWkRPQ19DT05GSUcpIHByaXZhdGUgX2NvbmZpZzogQml6RG9jQ29uZmlnLFxyXG4gICAgcHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgX3R5cGU6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UpIHtcclxuICAgIF9jb25maWcgJiYgX2NvbmZpZy5jdXJyZW5jeUNvZGUgJiYgc2V0Q3VycmVuY3lDb2RlKF9jb25maWcuY3VycmVuY3lDb2RlKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY2FjaGVPciA9IDxUPihuYW1lOiBzdHJpbmcsIGZuOiAoKSA9PiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiA9PlxyXG4gICAgdGhpcy5fY2FjaGVbbmFtZV0gfHwgKHRoaXMuX2NhY2hlW25hbWVdID0gZm4oKS5waXBlKHNoYXJlUmVwbGF5KCkpKTtcclxuICAvKiogc3lzdGVtIGN1cnJlbmN5ICovXHJcbiAgZ2V0IG51bWJlckZvcm1hdCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuY3VycmVuY3lDb2RlID9cclxuICAgICAgZ2V0TG9jYWxlTnVtYmVyRm9ybWF0KHRoaXMuX3Nlc3Npb24ubGFuZ3VhZ2UsIE51bWJlckZvcm1hdFN0eWxlLkN1cnJlbmN5KS5cclxuICAgICAgICByZXBsYWNlKCfCpCcsIGdldEN1cnJlbmN5U3ltYm9sKHRoaXMuY3VycmVuY3lDb2RlLCAnbmFycm93JykpIDpcclxuICAgICAgZ2V0TG9jYWxlTnVtYmVyRm9ybWF0KHRoaXMuX3Nlc3Npb24ubGFuZ3VhZ2UsIE51bWJlckZvcm1hdFN0eWxlLkRlY2ltYWwpO1xyXG4gIH1cclxuICBnZXQgY3VycmVuY3lDb2RlKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCB7IGN1cnJlbmN5Q29kZSB9ID0gdGhpcy5fY29uZmlnIHx8IHt9O1xyXG4gICAgcmV0dXJuIGN1cnJlbmN5Q29kZSB8fCBERUZBVUxUX0NVUlJFTkNZO1xyXG4gIH1cclxuICBnZXQgZGlnaXRzSW5mbygpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgeyBmcmFjdGlvbkRpZ2l0cyB9ID0gdGhpcztcclxuICAgIHJldHVybiBgMS4ke2ZyYWN0aW9uRGlnaXRzfS0ke2ZyYWN0aW9uRGlnaXRzfWA7XHJcbiAgfVxyXG4gIGdldCBmcmFjdGlvbkRpZ2l0cygpOiBudW1iZXIge1xyXG4gICAgY29uc3QgeyBmb3JtYXRzIH0gPSB0aGlzLl9jb25maWcsIHsgZnJhY3Rpb25EaWdpdHMgfSA9IGZvcm1hdHMgfHwge307XHJcbiAgICByZXR1cm4gZnJhY3Rpb25EaWdpdHMgIT09IHVuZGVmaW5lZCA/IGZyYWN0aW9uRGlnaXRzIDogMjtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogcXVlcnkgY3ViZSBieSBheGVzLCBzZXJpZXMgYW5kIGluZGljZXNcclxuICAgKiBAcGFyYW0gY3ViZSBuYW1lXHJcbiAgICogQHBhcmFtIHhBeGlzIGdyb3VwIGJ5IG9uZSBvciBtb3JlIGF4aXNcclxuICAgKiBAcGFyYW0gb3B0aW9uc1xyXG4gICAqL1xyXG4gIHNlcmllcyhjdWJlOiBzdHJpbmcsIHhBeGlzOiBzdHJpbmcgfCBzdHJpbmdbXSxcclxuICAgIG9wdGlvbnM/OiB7XHJcbiAgICAgIC8qKiBncm91cCBzZXJpZXMgYnkgb25lIG9yIG1vcmUgYXhpcyAqL1xyXG4gICAgICBzZXJpZXM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgICAgLyoqIGluY2x1ZGUgb25lIG9yIG1vcmUgaW5kZXggc2VyaWVzICovXHJcbiAgICAgIGluZGljZXM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgICAgZ3JvdXBJbmRpY2VzPzogYm9vbGVhbixcclxuICAgICAgLy9pbmRleEJ5PzogJ2dyb3VwJyB8ICdpbnZlcnNlJyxcclxuICAgICAgaW52ZXJzZUluZGljZXM/OiBib29sZWFuLFxyXG4gICAgICAvKiogYXhlcyAqL1xyXG4gICAgICBmaWx0ZXJzPzogeyBbYXhpczogc3RyaW5nXTogQXhpc1R5cGUgfTtcclxuICAgICAgc2NvcGU/OiBTY29wZVR5cGUsXHJcbiAgICAgIC8qKiByZXBsYWNlIGJhc2UgKi9cclxuICAgICAgYmFzZT86IHsgW2F4aXM6IHN0cmluZ106IChzdHJpbmcgfCBudW1iZXIpIH0gfCBBcnJheTxzdHJpbmcgfCBudW1iZXI+O1xyXG4gICAgfSk6IE9ic2VydmFibGU8U2VyaWVzW10+IHtcclxuICAgIGlmICghb3B0aW9ucykgb3B0aW9ucyA9IHt9O1xyXG4gICAgY29uc3QgeyBmaWx0ZXJzOiBheGVzLCBzZXJpZXMsIGluZGljZXMsIGJhc2UsIHNjb3BlLCBncm91cEluZGljZXMsIGludmVyc2VJbmRpY2VzIH0gPSBvcHRpb25zLCBmaWx0ZXJzID0geyAuLi5heGVzIH07XHJcbiAgICAvLyBub3JtYWxpemUgYXJnc1xyXG4gICAgYmFzZSAmJiB0aGlzLmJhc2UoY3ViZSwgZmlsdGVycywgYmFzZSk7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQ8U2VyaWVzW10+KGAvYXBpL2N1YmUvJHtjdWJlfWAsIHtcclxuICAgICAgeEF4aXMsXHJcbiAgICAgIHNlcmllcyxcclxuICAgICAgaW5kaWNlcyxcclxuICAgICAgZmlsdGVycyxcclxuICAgICAgc2NvcGUsXHJcbiAgICAgIGdyb3VwSW5kaWNlcyxcclxuICAgICAgaW52ZXJzZUluZGljZXNcclxuICAgIH0pLnBpcGUodGhpcy5fZGVjb3JhdGUoY3ViZSwgaXNBcnJheSh4QXhpcykgPyB4QXhpcyA6IFt4QXhpc10sXHJcbiAgICAgIHNlcmllcyA/IGlzQXJyYXkoc2VyaWVzKSA/IHNlcmllcyA6IFtzZXJpZXNdIDogbnVsbCkpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBhZ2dyZWdhdGUgY3ViZSB0byBmbGF0IGNvbGxlY3Rpb24gb2YgY29sdW1ucyBhbmQgdmFsdWUocylcclxuICAgKiBAcGFyYW0gY3ViZSBuYW1lXHJcbiAgICogQHBhcmFtIGNvbHVtbnNcclxuICAgKiBAcGFyYW0gb3B0aW9uc1xyXG4gICAqL1xyXG4gIHRhYmxlKGN1YmU6IHN0cmluZywgY29sdW1uczogc3RyaW5nW10sIG9wdGlvbnM/OiB7XHJcbiAgICAvKiogYXhlcyAqL1xyXG4gICAgZmlsdGVycz86IEF4ZXNNYXA7XHJcbiAgICAvKiogaW5jbHVkZSBvbmUgb3IgbW9yZSBpbmRleCB2YWx1ZXMgKi9cclxuICAgIGluZGljZXM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgIHNjb3BlPzogU2NvcGVUeXBlLFxyXG4gIH0pOiBPYnNlcnZhYmxlPHsgdmFsdWU6IG51bWJlciB9W10+IHtcclxuICAgIGlmICghb3B0aW9ucykgb3B0aW9ucyA9IHt9O1xyXG4gICAgY29uc3QgeyBmaWx0ZXJzLCBpbmRpY2VzLCBzY29wZSB9ID0gb3B0aW9ucztcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dDx7IHZhbHVlOiBudW1iZXIgfVtdPihgL2FwaS9jdWJlL3RhYmxlLyR7Y3ViZX1gLCB7XHJcbiAgICAgIGNvbHVtbnMsXHJcbiAgICAgIGluZGljZXMsXHJcbiAgICAgIGZpbHRlcnMsXHJcbiAgICAgIHNjb3BlXHJcbiAgICB9KS5waXBlKHRoaXMuX2RlY29yYXRlVGFibGUoY3ViZSwgY29sdW1ucykpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBpbmZvcm1hdGlvbiBvbiBleHBlY3RlZCBleHBsb3JlIHR5cGVcclxuICAgKiBAcGFyYW0gY3ViZSBuYW1lXHJcbiAgICogQHBhcmFtIGF4ZXMgZmlsdGVyc1xyXG4gICAqIEBwYXJhbSBvcHRpb25zXHJcbiAgICovXHJcbiAgcmVzb2x2ZShjdWJlOiBzdHJpbmcsIGF4ZXM6IHsgW2tleTogc3RyaW5nXTogQXhpc1R5cGUgfSwgb3B0aW9ucz86IHtcclxuICAgIC8qKiByZXBsYWNlIGJhc2UgKi9cclxuICAgIGJhc2U/OiB7IFtheGlzOiBzdHJpbmddOiAoc3RyaW5nIHwgbnVtYmVyKSB9IHwgQXJyYXk8c3RyaW5nIHwgbnVtYmVyPjtcclxuICB9KTogT2JzZXJ2YWJsZTxFeHBsb3JlVHlwZT4ge1xyXG4gICAgY29uc3QgcGFyYW1zID0geyAuLi5heGVzIH0gYXMgYW55O1xyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgY29uc3QgeyBiYXNlIH0gPSBvcHRpb25zO1xyXG4gICAgICBiYXNlICYmIHRoaXMuYmFzZShjdWJlLCBwYXJhbXMsIGJhc2UpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PEV4cGxvcmVUeXBlPihgL2FwaS9jdWJlL2V4cGxvcmV0eXBlLyR7Y3ViZX1gLCB7IHBhcmFtcyB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogaW5mb3JtYXRpb24gb24gZXhwZWN0ZWQgZXhwbG9yZSB0eXBlXHJcbiAgICogQHBhcmFtIGN1YmUgbmFtZVxyXG4gICAqIEBwYXJhbSBpbmRleCBuYW1lXHJcbiAgICovXHJcbiAgcmVzb2x2ZUluZGV4KGN1YmU6IHN0cmluZywgaW5kZXg6IHN0cmluZyk6IE9ic2VydmFibGU8RXhwbG9yZVR5cGU+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxFeHBsb3JlVHlwZT4oYC9hcGkvY3ViZS9leHBsb3JlaW5kZXh0eXBlLyR7Y3ViZX0vJHtpbmRleH1gKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogZXhwbG9yZSBpdGVtcyBieSBheGlzXHJcbiAgICogQHBhcmFtIGN1YmUgbmFtZVxyXG4gICAqIEBwYXJhbSBheGVzIGZpbHRlcnNcclxuICAgKiBAcGFyYW0gb3B0aW9uc1xyXG4gICAqL1xyXG4gIGV4cGxvcmUoY3ViZTogc3RyaW5nLCBheGVzOiB7IFtrZXk6IHN0cmluZ106IEF4aXNUeXBlIH0sIG9wdGlvbnM/OiB7XHJcbiAgICAvKiogcmVzdHJpY3QgcmVzdWx0cyB0byB1c2VyIHBhdHRlcm5zIG9yIHBvc2l0aW9ucyAqL1xyXG4gICAgc2NvcGU/OiBTY29wZVR5cGUsXHJcbiAgICAvKiogcmVwbGFjZSBiYXNlICovXHJcbiAgICBiYXNlPzogeyBbYXhpczogc3RyaW5nXTogKHN0cmluZyB8IG51bWJlcikgfSB8IEFycmF5PHN0cmluZyB8IG51bWJlcj47XHJcbiAgfSk6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHsgLi4uYXhlcyB9IGFzIGFueTtcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHsgYmFzZSwgc2NvcGUgfSA9IG9wdGlvbnM7XHJcbiAgICAgIGJhc2UgJiYgdGhpcy5iYXNlKGN1YmUsIHBhcmFtcywgYmFzZSk7XHJcbiAgICAgIGlmIChzY29wZSkgcGFyYW1zLnNjb3BlID0gc2NvcGU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8YW55W10+KFxyXG4gICAgICBgL2FwaS9jdWJlL2V4cGxvcmUvJHtjdWJlfWAsXHJcbiAgICAgIHsgcGFyYW1zIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gYXhlc1xyXG4gICAqIEBwYXJhbSBjdWJlXHJcbiAgICovXHJcbiAgbmFtZU9mKGF4ZXM6IEF4ZXNNYXAsIGN1YmU6IHN0cmluZykge1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSBjdWJlKTtcclxuICAgIGNvbnN0IG9ic2VydmFibGVzID0gb3B0aW9ucy5heGVzLmZpbHRlcihhID0+IGlzU3RyaW5nKGF4ZXNbYS5uYW1lXSkgJiZcclxuICAgICAgLy8gdmFsdWVcclxuICAgICAgIUFYSVNfU1BFQ0lBTF9DSEFSUy50ZXN0KGF4ZXNbYS5uYW1lXSBhcyBzdHJpbmcpKS5tYXAoYSA9PlxyXG4gICAgICAgIHRoaXMuX3R5cGUuZ2V0KGEuZGF0YVR5cGUsIGF4ZXNbYS5uYW1lXSBhcyBzdHJpbmcpIHx8ICcnKTtcclxuICAgIHJldHVybiAob2JzZXJ2YWJsZXMubGVuZ3RoID8gZm9ya0pvaW4ob2JzZXJ2YWJsZXMpLnBpcGUobWFwKG8gPT4gby5qb2luKCcgJykpKSA6IG9mKCcnKSk7XHJcbiAgfSBcclxuICAvKipcclxuICAgKiBleHBsb3JlIGluZGljZXMgYnkgYXhpc1xyXG4gICAqIEBwYXJhbSBjdWJlIG5hbWVcclxuICAgKiBAcGFyYW0gaW5kZXggbmFtZVxyXG4gICAqIEBwYXJhbSBheGVzIGZpbHRlcnNcclxuICAgKiBAcGFyYW0gb3B0aW9uc1xyXG4gICAqL1xyXG4gIGluZGljZXMoY3ViZTogc3RyaW5nLCBpbmRleDogc3RyaW5nLCBheGVzOiB7IFtheGlzOiBzdHJpbmddOiBBeGlzVHlwZSB9LFxyXG4gICAgb3B0aW9ucz86IHtcclxuICAgICAgLyoqIHJlc3RyaWN0IHJlc3VsdHMgdG8gdXNlciBwYXR0ZXJucyBvciBwb3NpdGlvbnMgKi9cclxuICAgICAgc2NvcGU/OiBTY29wZVR5cGVcclxuICAgICAgYmFzZT86IHsgW2F4aXM6IHN0cmluZ106IChzdHJpbmcgfCBudW1iZXIpIH0gfCBBcnJheTxzdHJpbmcgfCBudW1iZXI+O1xyXG4gICAgfSk6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHsgLi4uYXhlcyB9IGFzIGFueTtcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHsgYmFzZSwgc2NvcGUgfSA9IG9wdGlvbnM7XHJcbiAgICAgIGJhc2UgJiYgdGhpcy5iYXNlKGN1YmUsIHBhcmFtcywgYmFzZSk7XHJcbiAgICAgIGlmIChzY29wZSkgcGFyYW1zLnNjb3BlID0gc2NvcGU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8YW55W10+KFxyXG4gICAgICBgL2FwaS9jdWJlL2V4cGxvcmVpbmRleC8ke2N1YmV9LyR7aW5kZXh9YCwgeyBwYXJhbXMgfSkuXHJcbiAgICAgIHBpcGUodGhpcy5fZGVjb3JhdGVUYWJsZShjdWJlKSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGdldCBleHBsb3JlIGl0ZW0gYnkgYXhpcyBhbmQga2V5KHMpXHJcbiAgICogQHBhcmFtIGN1YmVcclxuICAgKiBAcGFyYW0gYXhlc1xyXG4gICAqIEBwYXJhbSBrZXlzXHJcbiAgICogQHBhcmFtIG9wdGlvbnNcclxuICAgKi9cclxuICBpdGVtKGN1YmU6IHN0cmluZywgYXhlczogeyBbYXhpczogc3RyaW5nXTogQXhpc1R5cGUgfSwga2V5czogKHN0cmluZyB8IG51bWJlcilbXSB8IHN0cmluZyB8IG51bWJlciwgb3B0aW9ucz86IHtcclxuICAgIC8qKiByZXBsYWNlIGJhc2UgKi9cclxuICAgIGJhc2U/OiB7IFtheGlzOiBzdHJpbmddOiAoc3RyaW5nIHwgbnVtYmVyKSB9IHwgQXJyYXk8c3RyaW5nIHwgbnVtYmVyPjtcclxuICB9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHsgLi4uYXhlcyB9IGFzIGFueTtcclxuICAgIHBhcmFtc1sna2V5J10gPSBpc0FycmF5KGtleXMpID8ga2V5c1swXSA6IGtleXM7XHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBjb25zdCB7IGJhc2UgfSA9IG9wdGlvbnM7XHJcbiAgICAgIGJhc2UgJiYgdGhpcy5iYXNlKGN1YmUsIHBhcmFtcywgYmFzZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQoYC9hcGkvY3ViZS9leHBsb3JlaXRlbS8ke2N1YmV9YCwgeyBwYXJhbXMgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBjdWJlIG5hbWVcclxuICAgKiBAcGFyYW0gYXhlcyBjb25kaXRpb25cclxuICAgKi9cclxuICBjb25zdHJhaW50cyhjdWJlOiBzdHJpbmcsIGF4ZXM/OiB7IFtrZXk6IHN0cmluZ106IEF4aXNUeXBlIH0sIG9wdGlvbnM/OiB7IHNvdXJjZTogJ2NvbnN0cmFpbnRzJyB8ICdjb21iaW5hdGlvbnMnIH0pOiBPYnNlcnZhYmxlPHsgW2RhdGFUeXBlOiBzdHJpbmddOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IH0+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDx7IFtkYXRhVHlwZTogc3RyaW5nXTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB9PihcclxuICAgICAgIW9wdGlvbnMgfHwgb3B0aW9ucy5zb3VyY2UgPT09ICdjb25zdHJhaW50cycgP1xyXG4gICAgICAgIGAvYXBpL2N1YmUvY29uc3RyYWludHMvJHtjdWJlfWAgOiBgL2FwaS9jdWJlL2NvbWJpbmF0aW9uc2NvbnN0cmFpbnRzLyR7Y3ViZX1gLCB7XHJcbiAgICAgIHBhcmFtczogeyAuLi5heGVzIH0gYXMgYW55XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGN1YmUgbmFtZVxyXG4gICAqIEBwYXJhbSBheGlzIG5hbWVcclxuICAgKi9cclxuICB2YWx1ZXMoY3ViZTogc3RyaW5nLCBheGlzOiBzdHJpbmcsIGRlcGVuZGVuY2llcz86IFBhcmFtTWFwKTogT2JzZXJ2YWJsZTx7IFtrZXk6IHN0cmluZ106IGFueSB9PiB7XHJcbiAgICBsZXQgY2FjaGVJZCA9IGN1YmUgKyBheGlzO1xyXG4gICAgZGVwZW5kZW5jaWVzICYmIE9iamVjdC5rZXlzKGRlcGVuZGVuY2llcykuZm9yRWFjaChrID0+IGNhY2hlSWQgKz0gayk7XHJcbiAgICByZXR1cm4gdGhpcy5fY2FjaGVPcihjYWNoZUlkLCAoKSA9PiB0aGlzLl9odHRwLmdldDx7IFtkYXRhVHlwZTogc3RyaW5nXTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB9PihcclxuICAgICAgYC9hcGkvY3ViZS9zZWdtZW50dmFsdWVzLyR7Y3ViZX0vJHtheGlzfWAsIHsgcGFyYW1zOiBkZXBlbmRlbmNpZXMgfSkpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBnZXQgYXhpcyBjb21iaW5hdGlvbnNcclxuICAgKiBAcGFyYW0gY3ViZSBuYW1lXHJcbiAgICogQHBhcmFtIGF4ZXMgZmlsdGVyc1xyXG4gICAqIEBwYXJhbSBvcHRpb25zXHJcbiAgICovXHJcbiAgY29tYmluYXRpb25zKGN1YmU6IHN0cmluZywgYXhlcz86IHsgW2tleTogc3RyaW5nXTogQXhpc1R5cGUgfSwgb3B0aW9ucz86IHtcclxuICAgIC8qKiB0b3AgKi9cclxuICAgIHRha2U/OiBudW1iZXI7XHJcbiAgICAvKiogcHJvY2VzcyBpbiBiYWNrZ3JvdW5kICovXHJcbiAgICBwcm9ncmVzcz86IGJvb2xlYW47XHJcbiAgfSk6IE9ic2VydmFibGU8c3RyaW5nW11bXT4ge1xyXG4gICAgaWYgKCFvcHRpb25zKSBvcHRpb25zID0ge307XHJcbiAgICBjb25zdCB7IHRha2UsIHByb2dyZXNzIH0gPSBvcHRpb25zO1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PHN0cmluZ1tdW10+KGAvYXBpL2N1YmUvY29tYmluYXRpb25zLyR7Y3ViZX1gLCB7XHJcbiAgICAgIHBhcmFtczogeyAuLi5heGVzLCB0YWtlIH0gYXMgYW55LFxyXG4gICAgICBoZWFkZXJzOiBwcm9ncmVzcyA9PT0gZmFsc2UgPyB7ICduby1wcm9ncmVzcyc6ICd0cnVlJyB9IDoge31cclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gdmFsdWVcclxuICAgKiBAcGFyYW0gb3B0aW9uc1xyXG4gICAqL1xyXG4gIHNlYXJjaCh2YWx1ZTogc3RyaW5nLCBvcHRpb25zOiB7IHRha2U/OiBudW1iZXIgfSkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PHsgY3ViZTogc3RyaW5nLCBheGlzOiBzdHJpbmcsIGtleTogYW55LCB2YWx1ZTogYW55IH1bXT4oJy9hcGkvY3ViZS9zZWFyY2gnLCB7XHJcbiAgICAgIHBhcmFtczogeyB2YWx1ZSwgLi4ub3B0aW9ucyB9IGFzIGFueSxcclxuICAgICAgaGVhZGVyczogeyAnbm8tcHJvZ3Jlc3MnOiAndHJ1ZScgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGdldCBzZWdtZW50c1xyXG4gICAqIEBwYXJhbSBjdWJlXHJcbiAgICovXHJcbiAgc2VnbWVudHMoY3ViZTogc3RyaW5nLCBuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNlZ21lbnRNYXA+IHtcclxuICAgIHJldHVybiB0aGlzLl9jYWNoZU9yKGAke25hbWV9LXNlZ21lbnRzYCwgKCkgPT4gdGhpcy5faHR0cC5nZXQ8U2VnbWVudE1hcD4oYC9hcGkvY3ViZS9zZWdtZW50cy8ke2N1YmV9LyR7bmFtZX1gKSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGdldCB1c2VyIHBhdHRlcm5zXHJcbiAgICogQHBhcmFtIGN1YmVcclxuICAgKi9cclxuICBwYXR0ZXJucyhjdWJlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFBhdHRlcm5bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NhY2hlT3IoYCR7Y3ViZX0tcGF0dGVybnNgLCAoKSA9PiB0aGlzLl9odHRwLmdldDxQYXR0ZXJuW10+KGAvYXBpL2N1YmUvcGF0dGVybnMvJHtjdWJlfWApKTtcclxuICB9XHJcbiAgLyoqIGdldCBjdXJyZW5jaWVzICovXHJcbiAgY3VycmVuY2llcygpOiBPYnNlcnZhYmxlPEN1cnJlbmN5W10+IHtcclxuICAgIHJldHVybiB0aGlzLl9jYWNoZU9yKCdjdXJyZW5jaWVzJywgKCkgPT4gdGhpcy5faHR0cC5nZXQ8Q3VycmVuY3lbXT4oJ2FwaS9jdWJlL2N1cnJlbmNpZXMnKSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGdldCBleGNoYW5nZSByYXRlXHJcbiAgICogQHBhcmFtIGN1cnJlbmN5Q29kZVxyXG4gICAqIEBwYXJhbSBkYXRlXHJcbiAgICovXHJcbiAgZXhjaGFuZ2VSYXRlKGN1cnJlbmN5Q29kZTogc3RyaW5nLCBkYXRlPzogRGF0ZSk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICBpZiAodGhpcy5jdXJyZW5jeUNvZGUgPT09IGN1cnJlbmN5Q29kZSlcclxuICAgICAgcmV0dXJuIG9mKDEpO1xyXG4gICAgbGV0IGtleSA9IGN1cnJlbmN5Q29kZTtcclxuICAgIGlmIChkYXRlKSBrZXkgKz0gZGF0ZS50b0pTT04oKTtcclxuICAgIHJldHVybiB0aGlzLl9jYWNoZU9yKGtleSwgKCkgPT4gdGhpcy5faHR0cC5nZXQ8bnVtYmVyPihgYXBpL2N1YmUvZXhjaGFuZ2VSYXRlLyR7Y3VycmVuY3lDb2RlfWAsIHtcclxuICAgICAgcGFyYW1zOiBkYXRlID8geyBkYXRlOiBkYXRlLnRvSlNPTigpIH0gOiBudWxsLFxyXG4gICAgICBoZWFkZXJzOiB7ICduby1wcm9ncmVzcyc6ICd0cnVlJyB9XHJcbiAgICB9KSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICogcmVwbGFjZXMgKiBvciAjIHdpdGggb3JpZ2luIGF4aXMgYXQgY2hhciBwbGFjZVxyXG4gICogQHBhcmFtIGN1YmUgbmFtZVxyXG4gICogQHBhcmFtIGF4ZXMgbWFwXHJcbiAgKiBAcGFyYW0gYmFzZSBvcmlnaW5cclxuICAqL1xyXG4gIHB1YmxpYyBiYXNlKGN1YmU6IHN0cmluZywgYXhlczogQXhlc01hcCxcclxuICAgIGJhc2U6IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBBeGVzTWFwKTogdm9pZCB7XHJcbiAgICBjb25zdCBjY3ViZSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSBjdWJlKTtcclxuICAgIGNjdWJlLmF4ZXMuZm9yRWFjaCgoYSwgaSkgPT4ge1xyXG4gICAgICBjb25zdCB2YWwgPSBheGVzW2EubmFtZV07XHJcbiAgICAgIGlmICh2YWwgJiYgaXNTdHJpbmcodmFsKSkge1xyXG4gICAgICAgIGNvbnN0IGF4aXNiYXNlID0gaXNBcnJheShiYXNlKSA/IGJhc2VbaV0gOiBiYXNlW2EubmFtZV07XHJcbiAgICAgICAgaWYgKHZhbCA9PT0gQVhJU19NQVBfQVNfSVMpXHJcbiAgICAgICAgICBheGVzW2EubmFtZV0gPSBheGlzYmFzZTtcclxuICAgICAgICBlbHNlIGlmICh2YWwuaW5kZXhPZihBWElTX01BUF9DSEFSKSA+IC0xKSB7XHJcbiAgICAgICAgICBsZXQgYXhpcyA9ICcnO1xyXG4gICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCB2YWwubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICAgICAgbGV0IGNoYXIgPSB2YWwuY2hhckF0KGopO1xyXG4gICAgICAgICAgICBheGlzICs9IGNoYXIgPT09IEFYSVNfTUFQX0NIQVIgJiYgKGF4aXNiYXNlIGFzIHN0cmluZykubGVuZ3RoID4gaiA/XHJcbiAgICAgICAgICAgICAgKGF4aXNiYXNlIGFzIHN0cmluZykuY2hhckF0KGopIDogY2hhcjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGF4ZXNbYS5uYW1lXSA9IGF4aXM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogYWRkcyB2YWx1ZXMgdG8gc291cmNlIGtleXNcclxuICAgKiBAcGFyYW0gY3ViZVxyXG4gICAqIEBwYXJhbSB4QXhpc1xyXG4gICAqIEBwYXJhbSBzZXJpZXNcclxuICAgKi9cclxuICBwcml2YXRlIF9kZWNvcmF0ZShjdWJlOiBzdHJpbmcsXHJcbiAgICB4QXhpczogc3RyaW5nW10sXHJcbiAgICBzZXJpZXM6IHN0cmluZ1tdKTogKHNvdXJjZTogT2JzZXJ2YWJsZTxTZXJpZXNbXT4pID0+IE9ic2VydmFibGU8U2VyaWVzW10+IHtcclxuICAgIHJldHVybiAoc291cmNlOiBPYnNlcnZhYmxlPFNlcmllc1tdPikgPT4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZSA9PiB7XHJcbiAgICAgIHNvdXJjZS5zdWJzY3JpYmUociA9PiB7XHJcbiAgICAgICAgY29uc3Qgb2JzZXJ2YWJsZXM6IE9ic2VydmFibGU8YW55PltdID0gW107XHJcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSBjdWJlKTtcclxuICAgICAgICBjb25zdCBheGlzVHlwZU1hcCA9IHt9O1xyXG4gICAgICAgIG9wdGlvbnMuYXhlcy5mb3JFYWNoKHggPT4gYXhpc1R5cGVNYXBbeC5uYW1lXSA9IHguZGF0YVR5cGUpO1xyXG4gICAgICAgIGlmICghci5sZW5ndGgpIHtcclxuICAgICAgICAgIG9ic2VydmUubmV4dChyKTtcclxuICAgICAgICAgIG9ic2VydmUuY29tcGxldGUoKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgYmFzZSA9IHJbMF0ucG9pbnRzO1xyXG4gICAgICAgIHIuZm9yRWFjaCgocywgaSkgPT4ge1xyXG4gICAgICAgICAgcy5wb2ludHMuZm9yRWFjaChwID0+IHtcclxuICAgICAgICAgICAgaWYgKCFwLngpIHJldHVybjtcclxuICAgICAgICAgICAgY29uc3QgcG9ic2VydmFibGUgPSBmb3JrSm9pbihwLnguc3BsaXQoQVhFU19DT0RFX0RJVklERVIpLm1hcCgoaywgaikgPT5cclxuICAgICAgICAgICAgICB0aGlzLl90eXBlLmdldChheGlzVHlwZU1hcFt4QXhpc1tqXV0sIGspKSkuXHJcbiAgICAgICAgICAgICAgcGlwZSh0YXAobyA9PiBwLm5hbWUgPSBvLmpvaW4oQVhFU19MQUJFTF9ESVZJREVSKSkpO1xyXG4gICAgICAgICAgICBvYnNlcnZhYmxlcy5wdXNoKHBvYnNlcnZhYmxlKTtcclxuICAgICAgICAgICAgaWYgKGkgPiAwKSB7XHJcbiAgICAgICAgICAgICAgbGV0IGogPSAwLCBtaXNzaW5nID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB3aGlsZSAoaiA8IGJhc2UubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgeCA9IGJhc2Vbal0ueDtcclxuICAgICAgICAgICAgICAgIGlmIChwLnggPT09IHgpIHtcclxuICAgICAgICAgICAgICAgICAgbWlzc2luZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmIChwLnggPCB4KVxyXG4gICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGorKztcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgaWYgKG1pc3NpbmcpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNsb25lID0geyB4OiBwLngsIHk6IDAgfSBhcyBQb2ludDtcclxuICAgICAgICAgICAgICAgIGJhc2Uuc3BsaWNlKGosIDAsIGNsb25lKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNvYnNlcnZhYmxlID0gZm9ya0pvaW4ocC54LnNwbGl0KEFYRVNfQ09ERV9ESVZJREVSKS5tYXAoKGssIGopID0+XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuX3R5cGUuZ2V0KGF4aXNUeXBlTWFwW3hBeGlzW2pdXSwgaykpKS5cclxuICAgICAgICAgICAgICAgICAgcGlwZSh0YXAobyA9PiBjbG9uZS5uYW1lID0gby5qb2luKEFYRVNfTEFCRUxfRElWSURFUikpKTtcclxuICAgICAgICAgICAgICAgIG9ic2VydmFibGVzLnB1c2goY29ic2VydmFibGUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBpZiAocy5pbmRleCkge1xyXG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IG9wdGlvbnMuaW5kaWNlcy5maW5kKGkgPT4gaS5uYW1lID09PSBzLmluZGV4KTtcclxuICAgICAgICAgICAgcy50aXRsZSA9IGluZGV4LnRpdGxlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSBpZiAocy5uYW1lKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNvYnNlcnZhYmxlID0gZm9ya0pvaW4ocy5uYW1lLnNwbGl0KEFYRVNfQ09ERV9ESVZJREVSKS5tYXAoKGssIGkpID0+XHJcbiAgICAgICAgICAgICAgdGhpcy5fdHlwZS5nZXQoYXhpc1R5cGVNYXBbc2VyaWVzW2ldXSwgaylcclxuICAgICAgICAgICAgKSkucGlwZSh0YXAodiA9PiBzLnRpdGxlID0gdi5qb2luKEFYRVNfTEFCRUxfRElWSURFUikpKTtcclxuICAgICAgICAgICAgb2JzZXJ2YWJsZXMucHVzaChzb2JzZXJ2YWJsZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKG9ic2VydmFibGVzLmxlbmd0aClcclxuICAgICAgICAgIGZvcmtKb2luKG9ic2VydmFibGVzKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICBvYnNlcnZlLm5leHQocik7XHJcbiAgICAgICAgICAgIG9ic2VydmUuY29tcGxldGUoKTtcclxuICAgICAgICAgIH0sIGUgPT4gb2JzZXJ2ZS5lcnJvcihlKSk7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBvYnNlcnZlLm5leHQocik7XHJcbiAgICAgICAgICBvYnNlcnZlLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCBlID0+IG9ic2VydmUuZXJyb3IoZSkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGFkZHMgdmFsdWVzIHRvIHNvdXJjZSBrZXlzXHJcbiAgICogQHBhcmFtIGN1YmVcclxuICAgKi9cclxuICBwcml2YXRlIF9kZWNvcmF0ZVRhYmxlPFQ+KGN1YmU6IHN0cmluZywgY29sdW1ucz86IHN0cmluZ1tdKTogKHNvdXJjZTogT2JzZXJ2YWJsZTxUW10+KSA9PiBPYnNlcnZhYmxlPFRbXT4ge1xyXG4gICAgY29uc3QgY2N1YmUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gY3ViZSksXHJcbiAgICAgIGF4ZXMgPSBjY3ViZS5heGVzLmZpbHRlcihhID0+ICFjb2x1bW5zIHx8IGNvbHVtbnMuaW5kZXhPZihhLm5hbWUpID4gLTEpO1xyXG4gICAgcmV0dXJuIChzb3VyY2UpID0+IG5ldyBPYnNlcnZhYmxlKG9ic2VydmUgPT4ge1xyXG4gICAgICBzb3VyY2Uuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmFibGVzOiBPYnNlcnZhYmxlPGFueT5bXSA9IFtdO1xyXG4gICAgICAgIHIuZm9yRWFjaChyb3cgPT5cclxuICAgICAgICAgIGF4ZXMuZm9yRWFjaChhID0+IHtcclxuICAgICAgICAgICAgY29uc3QgeyBuYW1lLCBkYXRhVHlwZSB9ID0gYSwgdmFsdWUgPSByb3dbbmFtZV07XHJcbiAgICAgICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgLy8ga2VlcCBrZXlcclxuICAgICAgICAgICAgICByb3dbJ18nICsgbmFtZV0gPSB2YWx1ZTtcclxuICAgICAgICAgICAgICBjb25zdCBvYnNlcnZhYmxlID0gdGhpcy5fdHlwZS5nZXQoZGF0YVR5cGUsIHZhbHVlKS5waXBlKHRhcCh2ID0+XHJcbiAgICAgICAgICAgICAgICByb3dbbmFtZV0gPSB2IHx8IHZhbHVlKSk7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2YWJsZXMucHVzaChvYnNlcnZhYmxlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSkpO1xyXG4gICAgICAgIGlmIChvYnNlcnZhYmxlcy5sZW5ndGgpXHJcbiAgICAgICAgICBmb3JrSm9pbihvYnNlcnZhYmxlcykuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgb2JzZXJ2ZS5uZXh0KHIpO1xyXG4gICAgICAgICAgICBvYnNlcnZlLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICB9LCBlID0+IG9ic2VydmUuZXJyb3IoZSkpO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgb2JzZXJ2ZS5uZXh0KFtdKTtcclxuICAgICAgICAgIG9ic2VydmUuY29tcGxldGUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIGUgPT4gb2JzZXJ2ZS5lcnJvcihlKSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwcm9ncmVzcyh0aW1lID0gMjAwKTogKHNvdXJjZTogT2JzZXJ2YWJsZTxhbnk+KSA9PiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICByZXR1cm4gc291cmNlID0+IHNvdXJjZS5waXBlKFxyXG4gICAgdGFwKCksXHJcbiAgICBtYXAoKCkgPT4gZmFsc2UpKVxyXG59XHJcbi8qKiBtb2RlbGl6ZSBjdWJlIHJlc3VsdHMgYXMgbmVzdGVkIG1hcHMgKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG1vZGVsaXplKCk6IChzb3VyY2U6IE9ic2VydmFibGU8U2VyaWVzW10+KSA9PiBPYnNlcnZhYmxlPHtcclxuICBba2V5OiBzdHJpbmddOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9O1xyXG59PiB7XHJcbiAgY29uc3QgZGF0YSA9IHt9O1xyXG4gIHJldHVybiAoc291cmNlOiBPYnNlcnZhYmxlPFNlcmllc1tdPikgPT4gc291cmNlLnBpcGUobWFwKHIgPT4ge1xyXG4gICAgci5mb3JFYWNoKHMgPT4ge1xyXG4gICAgICBjb25zdCByb3cgPSBkYXRhW3MuaW5kZXggfHwgcy5uYW1lXSA9IHt9O1xyXG4gICAgICBzLnBvaW50cy5mb3JFYWNoKHAgPT4gcm93W3AueF0gPSBwLnkpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZGF0YTtcclxuICB9KSk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhwbG9yZVR5cGUge1xyXG4gIGNvbHVtbnM6IEZpZWxkSW5mb1tdO1xyXG4gIHRlbXBsYXRlPzogc3RyaW5nO1xyXG4gIGZpZWxkcz86IEZpZWxkSW5mb1tdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VyaWVzIHtcclxuICBwb2ludHM6IFBvaW50W107XHJcbiAgbmFtZT86IHN0cmluZztcclxuICBpbmRleD86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFBvaW50IHtcclxuICB4OiBzdHJpbmc7XHJcbiAgeTogbnVtYmVyO1xyXG4gIG5hbWU/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDdXJyZW5jeSB7IGNvZGU6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBzeW1ib2w6IHN0cmluZyB9XHJcblxyXG5leHBvcnQgdHlwZSBTZWdtZW50TWFwID0geyBbY29kZTogc3RyaW5nXTogc3RyaW5nIH07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBhdHRlcm4geyB0aXRsZTogc3RyaW5nOyBheGVzOiBBeGVzTWFwIH1cclxuIl19
@@ -211,6 +211,7 @@ import { FileField } from './core/layout/file.field';
211
211
  import { CubeDocumentsComponent } from './reports/cube/documents.component';
212
212
  import { CubeUsageComponent } from "./reports/cube/usage.component";
213
213
  import { CubeCompareWidget } from './dashboard/cube/compare.widget';
214
+ import { MoveToActionComponent } from './compose/action/moveto-action.component';
214
215
  import * as i0 from "@angular/core";
215
216
  // https://day.js.org/docs/en/customization/relative-time
216
217
  dayjs.extend(relativeTime, {
@@ -231,7 +232,7 @@ dayjs.extend(relativeTime, {
231
232
  dayjs.extend(duration);
232
233
  dayjs.extend(calendar);
233
234
  const CORE_COMPONENTS = [CubeCompareWidget, CubeParallelViewComponent, CubeExploreViewComponent, CubeChartViewComponent, CubeDocumentSumComponent, CubeDocumentMatrixComponent, CubeDocumentViewComponent, CubePivotViewComponent, TimelineViewComponent,
234
- SubstitutionComponent, AssignActionComponent, ReturnActionComponent, ExploreDocumentComponent,
235
+ SubstitutionComponent, MoveToActionComponent, AssignActionComponent, ReturnActionComponent, ExploreDocumentComponent,
235
236
  ActionsWidget, CubeAnalysisWidget, CubeDocumentsWidget, RecentsWidget, PersonalActivityWidget,
236
237
  CompareDepartmentsWidget, PeersPerformanceWidget, PendingResultsWidget, PersonalScoreWidget, CubeWidgetFilterComponent,
237
238
  CubeDocumentsComponent, TasksComponent, UsageReportArgs, CubeUsageComponent
@@ -273,7 +274,7 @@ SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
273
274
  StatePipe, ActionPipe, RolePipe, FormPipe, FilterPipe, ArraySortPipe, UserNamePipe,
274
275
  LayoutComponent,
275
276
  HtmlField, FileField, NumericField, AutocompleteField, CheckField, DateField, DateRangeField, ExpressionField, InputField, SelectField, SwitchField, TextareaField, TimespanField,
276
- ReturnActionComponent, AssignActionComponent,
277
+ ReturnActionComponent, AssignActionComponent, MoveToActionComponent,
277
278
  AvatarComponent, PeopleComponent, EditInputComponent,
278
279
  NgxComponentOutlet,
279
280
  BizDocApp,
@@ -412,7 +413,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
412
413
  StatePipe, ActionPipe, RolePipe, FormPipe, FilterPipe, ArraySortPipe, UserNamePipe,
413
414
  LayoutComponent,
414
415
  HtmlField, FileField, NumericField, AutocompleteField, CheckField, DateField, DateRangeField, ExpressionField, InputField, SelectField, SwitchField, TextareaField, TimespanField,
415
- ReturnActionComponent, AssignActionComponent,
416
+ ReturnActionComponent, AssignActionComponent, MoveToActionComponent,
416
417
  AvatarComponent, PeopleComponent, EditInputComponent,
417
418
  NgxComponentOutlet,
418
419
  BizDocApp,
@@ -526,4 +527,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
526
527
  ]
527
528
  }]
528
529
  }] });
529
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvc2hhcmVkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFrQyxRQUFRLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSwyQkFBMkIsRUFB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LG1CQUFtQjt3QkFDdEMsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLFVBQVU7d0JBQ2xFLGdCQUFnQixFQUFFLGFBQWE7d0JBQy9CLGtCQUFrQixFQUFFLGNBQWM7d0JBQ2xDLFFBQVEsRUFBRSxRQUFRO3dCQUNsQixhQUFhLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxnQkFBZ0I7d0JBQ2pKLGFBQWEsRUFBRSxZQUFZO3dCQUMzQixZQUFZLEVBQUUsZUFBZSxFQUFFLHdCQUF3Qjt3QkFDdkQsU0FBUyxFQUFFLGlCQUFpQixFQUFFLHdCQUF3Qjt3QkFDdEQsMEJBQTBCLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCO3dCQUN2SSxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSx3QkFBd0I7d0JBQ3RFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsc0JBQXNCO3dCQUNoSCx3QkFBd0IsRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSx5QkFBeUI7d0JBQ3RILDJCQUEyQixFQUFFLDBCQUEwQixFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsYUFBYTt3QkFDakosdUJBQXVCLEVBQUUsZUFBZTt3QkFDeEMsOEJBQThCO3dCQUM5QixrQkFBa0IsRUFBRSxrQkFBa0I7d0JBQ3RDLHdCQUF3Qjt3QkFDeEIsaUJBQWlCO3FCQUNsQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgTE9DQUxFX0lELCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTUFUX0RBVEVfRk9STUFUUyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlLCBIVFRQX0lOVEVSQ0VQVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgUGlja2VyTW9kdWxlIH0gZnJvbSAnQGN0cmwvbmd4LWVtb2ppLW1hcnQnO1xyXG5pbXBvcnQgeyBLYW5iYW5Nb2R1bGUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1rYW5iYW4nO1xyXG5pbXBvcnQgeyBTeW5jZnVzaW9uVGV4dEVkaXRvck1vZHVsZSB9IGZyb20gJy4vbW9kdWxlcy90ZXh0ZWRpdG9yLm1vZHVsZSc7XHJcbmltcG9ydCB7IFN5bmNmdXNpb25DaGFydE1vZHVsZSB9IGZyb20gJy4vbW9kdWxlcy9jaGFydC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTeW5jZnVzaW9uRGlhZ3JhbU1vZHVsZSB9IGZyb20gJy4vbW9kdWxlcy9kaWFncmFtLm1vZHVsZSc7XHJcbmltcG9ydCB7IFN5bmNmdXNpb25HcmlkTW9kdWxlIH0gZnJvbSAnLi9tb2R1bGVzL2dyaWQubW9kdWxlJztcclxuaW1wb3J0IHsgU3luY2Z1c2lvbkNpcmN1bGFyR2F1Z2VNb2R1bGUgfSBmcm9tICcuL21vZHVsZXMvY2lyY3VsYXItZ2F1Z2UubW9kdWxlJztcclxuaW1wb3J0IHsgU3luY2Z1c2lvblBpdm90TW9kdWxlIH0gZnJvbSAnLi9tb2R1bGVzL3Bpdm90Lm1vZHVsZSc7XHJcbmltcG9ydCB7IFN5bmNmdXNpb25TY2hlZHVsZU1vZHVsZSB9IGZyb20gJy4vbW9kdWxlcy9zY2hlZHVsZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTeW5jZnVzaW9uU3ByZWFkc2hlZXRNb2R1bGUgfSBmcm9tICcuL21vZHVsZXMvc3ByZWFkc2hlZXQubW9kdWxlJztcclxuaW1wb3J0IHsgU3luY2Z1c2lvbkdhbnR0TW9kdWxlIH0gZnJvbSAnLi9tb2R1bGVzL2dhbnR0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4vbW9kdWxlcy9tYXRlcmlhbC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDaGF0U2VydmljZSB9IGZyb20gJy4vY2hhdC9jaGF0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYW5EZWFjdGl2YXRlQ29tcG9zZSB9IGZyb20gJy4vY29tcG9zZS9jYW4tZGVhY3RpdmF0ZS1jaGFuZ2VzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSZWNpcGllbnRSZXNvbHZlU2VydmljZSwgRG9jdW1lbnRSZXNvbHZlU2VydmljZSB9IGZyb20gJy4vY29tcG9zZS9jb21wb3NlLXJlc29sdmUuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbXBvc2VEaXNtaXNzIH0gZnJvbSAnLi9jb21wb3NlL2Rpc21pc3Muc2VydmljZSc7XHJcbmltcG9ydCB7IEJpekRvY0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlciB9IGZyb20gJy4vY29yZS9jb21wb25lbnQtZmFjdG9yeS1yZXNvbHZlcic7XHJcbmltcG9ydCB7IEh1YlNlcnZpY2UgfSBmcm9tICcuL2NvcmUvaHViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3Byb21wdC5zZXJ2aWNlJzsgXHJcbmltcG9ydCB7IFdpbmRvd1RpdGxlU2VydmljZSB9IGZyb20gJy4vY29yZS93aW5kb3ctdGl0bGUuc2VydmljZSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9vcHRpb25zL29wdGlvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjZUlucHV0IH0gZnJvbSAnLi9hZG1pbi9jb3JlL2FjZS5pbnB1dCc7XHJcbmltcG9ydCB7IEV4cGFuZGVkSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vYnJvd3NlL2V4cGFuZGVkLWl0ZW0vZXhwYW5kZWQtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb250YWN0c0NvbXBvbmVudCwgSHRtbFNpbXBsZVBpcGUgfSBmcm9tICcuL2NoYXQvY29udGFjdHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29udmVyc2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jaGF0L2NvbnZlcnNhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBc3NpZ25BY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvc2UvYWN0aW9uL2Fzc2lnbi1hY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmV0dXJuQWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb3NlL2FjdGlvbi9yZXR1cm4tYWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF0dGFjaG1lbnRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb3NlL2F0dGFjaG1lbnRzL2F0dGFjaG1lbnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2dyZXNzRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb3NlL2F0dGFjaG1lbnRzL3Byb2dyZXNzLWJ1dHRvbi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb21tZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb3NlL2NvbW1lbnRzL2NvbW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tbWVudHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvc2UvY29tbWVudHMvY29tbWVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRWRpdENvbW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvc2UvY29tbWVudHMvZWRpdC1jb21tZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1lbnRFZGl0c0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9zZS9jb21tZW50cy9lZGl0cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tZW50TGlrZXNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvc2UvY29tbWVudHMvdm90ZXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRG9jdW1lbnRFdmVudHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvc2UvZXZlbnRzL2V2ZW50cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTYXZlQ2hhbmdlc0RpYWxvZyB9IGZyb20gJy4vY29tcG9zZS9zYXZlLWNoYW5nZXMuZGlhbG9nJztcclxuaW1wb3J0IHsgVGFnc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9zZS90YWcvdGFncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQZW9wbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvc2UvdHJhY2UvcGVvcGxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZlcnNpb25Db21wYXJlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb3NlL3ZlcnNpb24tY29tcGFyZS92ZXJzaW9uLWNvbXBhcmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0SWNvbkFuaW1hdGUgfSBmcm9tICcuL2NvcmUvYW5pbWF0ZWQtaWNvbi9hbmltYXRlZC1pY29uLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFRpbWVzcGFuSW5wdXQgfSBmcm9tICcuL2NvcmUvY29udHJvbHMvdGltZXNwYW4uaW5wdXQnO1xyXG5pbXBvcnQgeyBHdWlkZUNvbXBvbmVudCB9IGZyb20gJy4vY29yZS9ndWlkZS9ndWlkZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXBDb21wb25lbnQgfSBmcm9tICcuL2NvcmUvaW5mby9sb2NhdGlvbi1pbmZvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUZpZWxkIH0gZnJvbSAnLi9jb3JlL2xheW91dC9hdXRvY29tcGxldGUuZmllbGQnO1xyXG5pbXBvcnQgeyBDaGVja0ZpZWxkIH0gZnJvbSAnLi9jb3JlL2xheW91dC9jaGVja2JveC5maWVsZCc7XHJcbmltcG9ydCB7IERhdGVSYW5nZUZpZWxkIH0gZnJvbSAnLi9jb3JlL2xheW91dC9kYXRlLXJhbmdlLmZpZWxkJztcclxuaW1wb3J0IHsgRGF0ZUZpZWxkIH0gZnJvbSAnLi9jb3JlL2xheW91dC9kYXRlLmZpZWxkJztcclxuaW1wb3J0IHsgRXhwcmVzc2lvbkZpZWxkIH0gZnJvbSAnLi9jb3JlL2xheW91dC9leHByZXNzaW9uLmZpZWxkJztcclxuaW1wb3J0IHsgSHRtbEZpZWxkIH0gZnJvbSAnLi9jb3JlL2xheW91dC9odG1sLmZpZWxkJztcclxuaW1wb3J0IHsgSW5wdXRGaWVsZCB9IGZyb20gJy4vY29yZS9sYXlvdXQvaW5wdXQuZmllbGQnO1xyXG5pbXBvcnQgeyBMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2NvcmUvbGF5b3V0L2xheW91dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOdW1lcmljRmllbGQgfSBmcm9tICcuL2NvcmUvbGF5b3V0L251bWVyaWMuZmllbGQnO1xyXG5pbXBvcnQgeyBTZWxlY3RGaWVsZCB9IGZyb20gJy4vY29yZS9sYXlvdXQvc2VsZWN0LmZpZWxkJztcclxuaW1wb3J0IHsgU3dpdGNoRmllbGQgfSBmcm9tICcuL2NvcmUvbGF5b3V0L3N3aXRjaC5maWVsZCc7XHJcbmltcG9ydCB7IFRleHRhcmVhRmllbGQgfSBmcm9tICcuL2NvcmUvbGF5b3V0L3RleHRhcmVhLmZpZWxkJztcclxuaW1wb3J0IHsgVGltZXNwYW5GaWVsZCB9IGZyb20gJy4vY29yZS9sYXlvdXQvdGltZXNwYW4uZmllbGQnO1xyXG5pbXBvcnQgeyBMb3R0aWVBbmltYXRpb24gfSBmcm9tICcuL2NvcmUvbG90dGllLWFuaW1hdGlvbic7XHJcbmltcG9ydCB7IE5neENvbXBvbmVudE91dGxldCB9IGZyb20gJy4vY29yZS9OZ0NvbXBvbmVudE91dGxldCc7XHJcbmltcG9ydCB7IE5vbmVDb21wb25lbnQgfSBmcm9tICcuL2NvcmUvbm9uZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vY29yZS9wb3B1cC9wb3B1cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBc2tEaWFsb2cgfSBmcm9tICcuL2NvcmUvcHJvbXB0L2Fzay9hc2suZGlhbG9nJztcclxuaW1wb3J0IHsgTWFza0NvbXBvbmVudCB9IGZyb20gJy4vY29yZS9wcm9tcHQvbWFzay9tYXNrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERvY3VtZW50VGFnZ2luZ0NvbXBvbmVudCB9IGZyb20gJy4vY29yZS90YWdnaW5nL2RvY3VtZW50cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFZGl0SW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvcmUvdGFnZ2luZy9lZGl0LWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVtb2ppSG9zdENvbXBvbmVudCB9IGZyb20gJy4vY29yZS90YWdnaW5nL2Vtb2ppLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhZ2dpbmdJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9jb3JlL3RhZ2dpbmcvdGFnZ2luZy1pdGVtLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFRhZ2dpbmdEaXJlY3RpdmUgfSBmcm9tICcuL2NvcmUvdGFnZ2luZy90YWdnaW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFRhZ2dpbmdQaXBlIH0gZnJvbSAnLi9jb3JlL3RhZ2dpbmcvdGFnZ2luZy5waXBlJztcclxuaW1wb3J0IHsgVXNlclRhZ2dpbmdDb21wb25lbnQgfSBmcm9tICcuL2NvcmUvdGFnZ2luZy91c2Vycy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFeHBsb3JlRG9jdW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2N1YmUvZXhwbG9yZS9kb2N1bWVudC1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbHRlclRhZ3NDb21wb25lbnQgfSBmcm9tICcuL2N1YmUvZmlsdGVyL2ZpbHRlci10YWdzLmNvbXBvbmVudC5leHAnO1xyXG5pbXBvcnQgeyBDdWJlQWNjdW11bGF0aW9uQ2hhcnRDb21wb25lbnQgfSBmcm9tICcuL2N1YmUvYWNjdW0vYWNjdW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3ViZUNoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9jdWJlL2NoYXJ0L2NoYXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1YmVHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi9jdWJlL2dyaWQvZ3JpZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdWJlU3ByZWFkc2hlZXRDb21wb25lbnQgfSBmcm9tICcuL2N1YmUvZ3JpZC9zcHJlYWRzaGVldC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdWJlUGl2b3RDb21wb25lbnQgfSBmcm9tICcuL2N1YmUvcGl2b3QvcGl2b3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3ViZU1hdHJpeFBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi9jdWJlL21hdHJpeC9wb3B1cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdWJlTWF0cml4Q29tcG9uZW50IH0gZnJvbSAnLi9jdWJlL21hdHJpeC90YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXNoYm9hcmRDb21wb25lbnQgfSBmcm9tICcuL2Rhc2hib2FyZC9kYXNoYm9hcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWN0aW9uc1dpZGdldCB9IGZyb20gJy4vZGFzaGJvYXJkL2FjdGlvbnMvYWN0aW9ucy53aWRnZXQnO1xyXG5pbXBvcnQgeyBDdWJlQWNjdW1BbmFseXNpc1dpZGdldCB9IGZyb20gJy4vZGFzaGJvYXJkL2N1YmUvYWNjdW0tY3ViZS53aWRnZXQnO1xyXG5pbXBvcnQgeyBDdWJlQW5hbHlzaXNXaWRnZXQgfSBmcm9tICcuL2Rhc2hib2FyZC9jdWJlL2N1YmUtYW5hbHlzaXMud2lkZ2V0JztcclxuaW1wb3J0IHsgQ3ViZUNoYXJ0QW5hbHlzaXNXaWRnZXQgfSBmcm9tICcuL2Rhc2hib2FyZC9jdWJlL2N1YmUtY2hhcnQud2lkZ2V0JztcclxuaW1wb3J0IHsgQ3ViZURvY3VtZW50c1dpZGdldCB9IGZyb20gJy4vZGFzaGJvYXJkL2N1YmUvZG9jdW1lbnRzLndpZGdldCc7XHJcbmltcG9ydCB7IEN1YmVXaWRnZXRGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2Rhc2hib2FyZC9jdWJlL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVjZW50c1dpZGdldCB9IGZyb20gJy4vZGFzaGJvYXJkL3JlY2VudHMvcmVjZW50cy53aWRnZXQnO1xyXG5pbXBvcnQgeyBQZXJzb25hbEFjdGl2aXR5V2lkZ2V0IH0gZnJvbSAnLi9kYXNoYm9hcmQvc2NvcmUvYWN0aXZpdHkud2lkZ2V0JztcclxuaW1wb3J0IHsgQ29tcGFyZURlcGFydG1lbnRzV2lkZ2V0IH0gZnJvbSAnLi9kYXNoYm9hcmQvc2NvcmUvY29tcGFyZS1kZXBhcnRtZW50cy53aWRnZXQnO1xyXG5pbXBvcnQgeyBQZWVyc1BlcmZvcm1hbmNlV2lkZ2V0IH0gZnJvbSAnLi9kYXNoYm9hcmQvc2NvcmUvcGVlcnMtcGVyZm9ybWFuY2Uud2lkZ2V0JztcclxuaW1wb3J0IHsgUGVuZGluZ1Jlc3VsdHNXaWRnZXQgfSBmcm9tICcuL2Rhc2hib2FyZC9zY29yZS9wZW5kaW5nLXJlc3VsdHMud2lkZ2V0JztcclxuaW1wb3J0IHsgUGVyc29uYWxTY29yZVdpZGdldCB9IGZyb20gJy4vZGFzaGJvYXJkL3Njb3JlL3BlcnNvbmFsLXNjb3JlLndpZGdldCc7XHJcbmltcG9ydCB7IEFib3V0RGlhbG9nIH0gZnJvbSAnLi9ob21lL2Fib3V0L2Fib3V0LmRpYWxvZyc7XHJcbmltcG9ydCB7IEltcGVyc29uYXRlRGlhbG9nIH0gZnJvbSAnLi9pbXBlcnNvbmF0ZS9pbXBlcnNvbmF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tZW50ZWROb3RpZmljYXRpb24gfSBmcm9tICcuL25vdGlmaWNhdGlvbnMvdHlwZXMvY29tbWVudGVkLm5vdGlmaWNhdGlvbic7XHJcbmltcG9ydCB7IEN1YmVBbm9tYWx5Tm90aWZpY2F0aW9uIH0gZnJvbSAnLi9ub3RpZmljYXRpb25zL3R5cGVzL2N1YmUtYW5vbWFseS5ub3RpZmljYXRpb24nO1xyXG5pbXBvcnQgeyBFc2NhbGF0ZWROb3RpZmljYXRpb24gfSBmcm9tICcuL25vdGlmaWNhdGlvbnMvdHlwZXMvZXNjYWxhdGVkLm5vdGlmaWNhdGlvbic7XHJcbmltcG9ydCB7IExpa2VkTm90aWZpY2F0aW9uIH0gZnJvbSAnLi9ub3RpZmljYXRpb25zL3R5cGVzL2xpa2VkLm5vdGlmaWNhdGlvbic7XHJcbmltcG9ydCB7IExvbmdSdW5uaW5nVGFza05vdGlmaWNhdGlvbiB9IGZyb20gJy4vbm90aWZpY2F0aW9ucy90eXBlcy9sb25nLXJ1bm5pbmctdGFzay5ub3RpZmljYXRpb24nO1xyXG5pbXBvcnQgeyBOdWRnZU5vdGlmaWNhdGlvbiB9IGZyb20gJy4vbm90aWZpY2F0aW9ucy90eXBlcy9udWRnZS5ub3RpZmljYXRpb24nO1xyXG5pbXBvcnQgeyBTdGF0ZUNoYW5nZWROb3RpZmljYXRpb24gfSBmcm9tICcuL25vdGlmaWNhdGlvbnMvdHlwZXMvc3RhdGUtY2hhbmdlZC5ub3RpZmljYXRpb24nO1xyXG5pbXBvcnQgeyBUYWdnZWROb3RpZmljYXRpb24gfSBmcm9tICcuL25vdGlmaWNhdGlvbnMvdHlwZXMvdGFnZ2VkLm5vdGlmaWNhdGlvbic7XHJcbmltcG9ydCB7IFRleHROb3RpZmljYXRpb24gfSBmcm9tICcuL25vdGlmaWNhdGlvbnMvdHlwZXMvdGV4dC5ub3RpZmljYXRpb24nO1xyXG5pbXBvcnQgeyBVcGNvbWluZ0V2ZW50Tm90aWZpY2F0aW9uIH0gZnJvbSAnLi9ub3RpZmljYXRpb25zL3R5cGVzL3VwY29taW5nLWV2ZW50Lm5vdGlmaWNhdGlvbic7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLXRhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNGaWx0ZXJDb21wb25lbnQgfSBmcm9tIFwiLi9ub3RpZmljYXRpb25zL2ZpbHRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgT3B0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vb3B0aW9ucy9vcHRpb25zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlcG9ydEFyZ3VtZW50c0NvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0cy9hcmd1bWVudHMtY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3ViZURvY3VtZW50c0dyaWRDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydHMvY3ViZS9ncmlkLWRvY3VtZW50cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdWJlRG9jdW1lbnRzVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydHMvY3ViZS90YWJsZS1kb2N1bWVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVXNhZ2VSZXBvcnRBcmdzIH0gZnJvbSAnLi9yZXBvcnRzL2N1YmUvdXNhZ2UtYXJncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVc2FnZUNoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9yZXBvcnRzL2N1YmUvdXNhZ2UtY2hhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVXNhZ2VQaXZvdENvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0cy9jdWJlL3VzYWdlLXBpdm90LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN1YnN0aXR1dGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0cy9zdWJzdGl0dXRpb24vc3Vic3RpdHV0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhYmxlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0cy90YWJsZS90YWJsZS12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhc2tzQ29tcG9uZW50IH0gZnJvbSAnLi9yZXBvcnRzL3Rhc2tzL3Rhc2tzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFjdGlvblBpY2tlciB9IGZyb20gJy4vY29tcG9zZS9hY3Rpb24vYWN0aW9uLXBpY2tlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBIdHRwSW50ZXJjZXB0b3IgfSBmcm9tICcuL2NvcmUvaHR0cC5pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IEJpekRvY0FwcCwgQnJva2VuUGFnZSB9IGZyb20gJy4vYXBwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFkZHJlc3NJbnB1dCB9IGZyb20gJy4vY29yZS9jb250cm9scy9hZGRyZXNzLmlucHV0JztcclxuaW1wb3J0IHsgVHlwZVNlbGVjdCB9IGZyb20gJy4vY29yZS9jb250cm9scy9zZWxlY3QuaW5wdXQnO1xyXG5pbXBvcnQgeyBUeXBlQXV0b2NvbXBsZXRlIH0gZnJvbSAnLi9jb3JlL2NvbnRyb2xzL2F1dG8tY29tcGxldGUuaW5wdXQnO1xyXG5pbXBvcnQgeyBUaW1lUGlja2VyIH0gZnJvbSAnLi9jb3JlL2NvbnRyb2xzL3RpbWUtcGlja2VyJztcclxuaW1wb3J0IHsgQ29sb3JQaWNrZXIgfSBmcm9tICcuL2FkbWluL2NvcmUvY29sb3ItcGlja2VyLmlucHV0JztcclxuaW1wb3J0IHsgQ29tYmluYXRpb25QaWNrZXJCb2R5IH0gZnJvbSAnLi9jb3JlL2NvbnRyb2xzL2NvbWJpbmF0aW9uLXBpY2tlci1ib2R5JztcclxuaW1wb3J0IHsgQ29tYmluYXRpb25Qb29sIH0gZnJvbSAnLi9jb3JlL2NvbnRyb2xzL2NvbWJpbmF0aW9uLXBvb2wnO1xyXG5pbXBvcnQgeyBJZGVudGl0eU5hbWUgfSBmcm9tICcuL2NvcmUvaWRlbnRpdHkvaWRlbnRpdHkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXJyYXlTb3J0UGlwZSwgRmlsdGVyUGlwZSB9IGZyb20gJy4vY29yZS9waXBlcy9zb3J0LnBpcGUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSBcIi4vY29yZS9waXBlcy90cmFuc2xhdGUucGlwZVwiO1xyXG5pbXBvcnQgeyBGb3JtUGlwZSB9IGZyb20gJy4vY29yZS9waXBlcy9mb3JtLnBpcGUnO1xyXG5pbXBvcnQgeyBSb2xlUGlwZSB9IGZyb20gJy4vY29yZS9waXBlcy9yb2xlLnBpcGUnO1xyXG5pbXBvcnQgeyBKb2luUGlwZSB9IGZyb20gXCIuL2NvcmUvcGlwZXMvam9pbi5waXBlXCI7XHJcbmltcG9ydCB7IFNhbml0aXplSHRtbFBpcGUgfSBmcm9tICcuL2NvcmUvcGlwZXMvc2FuaXRpemUtaHRtbC5waXBlJztcclxuaW1wb3J0IHsgVHlwZVZhbHVlUGlwZSB9IGZyb20gJy4vY29yZS9waXBlcy90eXBlLXZhbHVlLnBpcGUnO1xyXG5pbXBvcnQgeyBBZ29QaXBlLCBEYXRlUmFuZ2VQaXBlIH0gZnJvbSBcIi4vY29yZS9waXBlcy9kYXRlcmFuZ2UucGlwZVwiO1xyXG5pbXBvcnQgeyBEdXJhdGlvblBpcGUgfSBmcm9tICcuL2NvcmUvcGlwZXMvZHVyYXRpb24ucGlwZSc7XHJcbmltcG9ydCB7IEFjdGlvblBpcGUgfSBmcm9tICcuL2NvcmUvcGlwZXMvYWN0aW9uLnBpcGUnO1xyXG5pbXBvcnQgeyBTdGF0ZVBpcGUgfSBmcm9tICcuL2NvcmUvcGlwZXMvc3RhdGUucGlwZSc7XHJcbmltcG9ydCB7IFVzZXJOYW1lUGlwZSB9IGZyb20gJy4vY29yZS9waXBlcy91c2VyLW5hbWUucGlwZSc7XHJcbmltcG9ydCB7IEJyb3dzZUZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vYnJvd3NlL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVHJhY2VWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb3NlL3RyYWNlL3RyYWNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZsb3dWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb3NlL3RyYWNlL2Zsb3cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWN0aW9uRGlhbG9nIH0gZnJvbSAnLi9jb21wb3NlL2FjdGlvbi9hY3Rpb24uZGlhbG9nJztcclxuaW1wb3J0IHsgUmVwb3J0Vmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi9yZXBvcnRzL3JlcG9ydC12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXR0YWNobWVudFByZXZpZXcgfSBmcm9tICcuL2NvbXBvc2UvYXR0YWNobWVudHMvcHJldmlldy9hdHRhY2htZW50LXByZXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJpdmlsZWdlSGlkZGVuRGlyZWN0aXZlLCBQcml2aWxlZ2VEaXNhYmxlZERpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9zZS9wcml2aWxhZ2UuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29tcGFyZU5hbWVEaXJlY3RpdmUsIENvbXBhcmVDb250ZXh0RGlyZWN0aXZlLCBDb21wYXJlR3JvdXBEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvc2UvdmVyc2lvbi1jb21wYXJlL3ZlcnNpb24tY29tcGFyZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDdWJlRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jdWJlL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UgfSBmcm9tICcuL2N1YmUvY3ViZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWFpbGJveFNlcnZpY2UgfSBmcm9tICcuL2NvcmUvbWFpbGJveC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvZGF0YXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuL2NvcmUvYWNjb3VudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlUHJvdmlkZXJGYWN0b3J5LCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR3VpZGVTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2d1aWRlL2d1aWRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEb2N1bWVudEluZm8gfSBmcm9tICcuL2NvcmUvaW5mby9kb2N1bWVudC1pbmZvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXBJbmZvIH0gZnJvbSBcIi4vY29yZS9pbmZvL21hcC1pbmZvXCI7XHJcbmltcG9ydCB7IEN1YmVJbmZvIH0gZnJvbSBcIi4vY3ViZS9jdWJlLWluZm8uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBBdHRhY2htZW50SW5mbyB9IGZyb20gJy4vY29yZS9pbmZvL2F0dGFjaG1lbnQtaW5mby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ3ViZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL2N1YmUvY3ViZS12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBvcHVwIH0gZnJvbSBcIi4vY29yZS9wb3B1cC9wb3B1cC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IENvbXBvc2VGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb3NlL2Zvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnJvd3NlSXRlbXNDb21wb25lbnQgfSBmcm9tICcuL2Jyb3dzZS9icm93c2UtaXRlbXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXhwbG9yZUl0ZW1zQ29tcG9uZW50IH0gZnJvbSAnLi9jdWJlL2V4cGxvcmUvZXhwbG9yZS1pdGVtcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGF0SW5mbyB9IGZyb20gJy4vY2hhdC9jaGF0LWluZm8nO1xyXG5pbXBvcnQgeyBTY2hlZHVsZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3NjaGVkdWxlci9zY2hlZHVsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdmF0YXJDb21wb25lbnQgfSBmcm9tICcuL2NvcmUvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21iaW5hdGlvblBpY2tlciB9IGZyb20gJy4vY29yZS9jb250cm9scy9jb21iaW5hdGlvbi1waWNrZXInO1xyXG5pbXBvcnQgeyBXaWRnZXRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmQvd2lkZ2V0LWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3V0T2ZPZmZpY2VUb2FzdCB9IGZyb20gJy4vaG9tZS9vdXRvZm9mZmljZS9vdXRvZm9mZmljZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyByZWdpc3RlckNvbXBvbmVudHMgfSBmcm9tICcuL2NvcmUvY29tcG9uZW50LWZhY3RvcnktcmVzb2x2ZXInO1xyXG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlLCBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi9jb3JlL3BvcHVwL3Rvb2x0aXAuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUXVpY2tDb21tZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb3NlL2NvbW1lbnRzL3F1aWNrLWNvbW1lbnQuY29tcG9uZW50LmV4cCc7XHJcbmltcG9ydCB7IERvY3VtZW50Vmlld3NDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL3ZpZXdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFZpZXdJdGVtQ29tcG9uZW50IH0gZnJvbSBcIi4vdmlld3Mvdmlldy1pdGVtLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBOZ1JvdXRlciwgUGFuZVJvdXRlciwgUm91dGVySW1wbCB9IGZyb20gJy4vY29yZS9yb3V0ZXInO1xyXG5pbXBvcnQgeyBEb2N1bWVudEluZm9Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb3NlL2RvY3VtZW50LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBTaGFyZWRDb25maWcgfSBmcm9tICcuL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IEN1YmVEb2N1bWVudE1hdHJpeENvbXBvbmVudCB9IGZyb20gJy4vdmlld3MvY3ViZS9tYXRyaXguY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3ViZURvY3VtZW50Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vdmlld3MvY3ViZS92aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRpbWVsaW5lVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdmlld3MvdGltZWxpbmUvdGltZWxpbmUuY29tcG9uZW50LmV4cCc7XHJcbmltcG9ydCB7IFN0YXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb3NlL3N0YXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEl0ZW1SZXNvbHZlU2VydmljZSB9IGZyb20gJy4vY3ViZS9leHBsb3JlL2l0ZW0tcmVzb2x2ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEV4cGxvcmVJdGVtSW1wbENvbXBvbmVudCB9IGZyb20gJy4vY3ViZS9leHBsb3JlL2V4cGxvcmUtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdWJlUGl2b3RWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi92aWV3cy9jdWJlL3Bpdm90LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1YmVEb2N1bWVudFN1bUNvbXBvbmVudCB9IGZyb20gJy4vdmlld3MvY3ViZS9zdW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3ViZUNoYXJ0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vdmlld3MvY3ViZS9jaGFydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdWJlRXhwbG9yZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL2N1YmUvZXhwbG9yZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdWJlUGFyYWxsZWxWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi92aWV3cy9jdWJlL3BhcmFsbGVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1YmVTdW1Db21wb25lbnQgfSBmcm9tICcuL2N1YmUvc3VtL3N1bS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdWJlUGFyYWxsZWxDb21wb25lbnQgfSBmcm9tICcuL2N1YmUvcGFyYWxsZWwvcGFyYWxsZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NvcmUvbGF5b3V0L2NoZWNrYm94JztcclxuaW1wb3J0IHsgRGlmZmVyZW5jZVBpcGUgfSBmcm9tICcuL2NvcmUvcGlwZXMvZGlmZmVyZW5jZS5waXBlJztcclxuaW1wb3J0IHsgRGF0ZUZvcm1hdFBpcGUgfSBmcm9tICcuL2NvcmUvcGlwZXMvZGF0ZS1mb3JtYXQucGlwZSc7XHJcbmltcG9ydCB7IENhbGVuZGFyUGlwZSB9IGZyb20gJy4vY29yZS9waXBlcy9jYWxlbmRhci5waXBlJztcclxuaW1wb3J0IHsgVGltZUFnb1BpcGUgfSBmcm9tICcuL2NvcmUvcGlwZXMvdGltZS1hZ28ucGlwZSc7XHJcbmltcG9ydCB7IER1cmF0aW9uRm9ybWF0UGlwZSB9IGZyb20gJy4vY29yZS9waXBlcy9kdXJhdGlvbi1mb3JtYXQucGlwZSc7XHJcbmltcG9ydCB7IEZpbGVJbnB1dCB9IGZyb20gJy4vY29yZS9jb250cm9scy9maWxlLmlucHV0JztcclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuaW1wb3J0IHJlbGF0aXZlVGltZSBmcm9tICdkYXlqcy9wbHVnaW4vcmVsYXRpdmVUaW1lJztcclxuaW1wb3J0IGR1cmF0aW9uIGZyb20gJ2RheWpzL3BsdWdpbi9kdXJhdGlvbic7XHJcbmltcG9ydCBjYWxlbmRhciBmcm9tICdkYXlqcy9wbHVnaW4vY2FsZW5kYXInO1xyXG5pbXBvcnQgeyBGaWxlRmllbGQgfSBmcm9tICcuL2NvcmUvbGF5b3V0L2ZpbGUuZmllbGQnO1xyXG5pbXBvcnQgeyBDdWJlRG9jdW1lbnRzQ29tcG9uZW50IH0gZnJvbSAnLi9yZXBvcnRzL2N1YmUvZG9jdW1lbnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1YmVVc2FnZUNvbXBvbmVudCB9IGZyb20gXCIuL3JlcG9ydHMvY3ViZS91c2FnZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQ3ViZUNvbXBhcmVXaWRnZXQgfSBmcm9tICcuL2Rhc2hib2FyZC9jdWJlL2NvbXBhcmUud2lkZ2V0JztcclxuLy8gaHR0cHM6Ly9kYXkuanMub3JnL2RvY3MvZW4vY3VzdG9taXphdGlvbi9yZWxhdGl2ZS10aW1lXHJcbmRheWpzLmV4dGVuZChyZWxhdGl2ZVRpbWUsIHtcclxuICB0aHJlc2hvbGRzOiBbXHJcbiAgICB7IGw6ICdzJywgcjogMSB9LFxyXG4gICAgeyBsOiAnbScsIHI6IDEgfSxcclxuICAgIHsgbDogJ21tJywgcjogNTksIGQ6ICdtaW51dGUnIH0sXHJcbiAgICB7IGw6ICdoJywgcjogMSB9LFxyXG4gICAgeyBsOiAnaGgnLCByOiAyNCwgZDogJ2hvdXInIH0sXHJcbiAgICB7IGw6ICdkJywgcjogMSB9LFxyXG4gICAgeyBsOiAnZGQnLCByOiAyOSwgZDogJ2RheScgfSxcclxuICAgIHsgbDogJ00nLCByOiAxIH0sXHJcbiAgICB7IGw6ICdNTScsIHI6IDExLCBkOiAnbW9udGgnIH0sXHJcbiAgICB7IGw6ICd5JyB9LFxyXG4gICAgeyBsOiAneXknLCBkOiAneWVhcicgfVxyXG4gIF1cclxufSk7XHJcbmRheWpzLmV4dGVuZChkdXJhdGlvbik7XHJcbmRheWpzLmV4dGVuZChjYWxlbmRhcik7XHJcblxyXG5jb25zdCBDT1JFX0NPTVBPTkVOVFMgPSBbQ3ViZUNvbXBhcmVXaWRnZXQsIEN1YmVQYXJhbGxlbFZpZXdDb21wb25lbnQsIEN1YmVFeHBsb3JlVmlld0NvbXBvbmVudCwgQ3ViZUNoYXJ0Vmlld0NvbXBvbmVudCwgQ3ViZURvY3VtZW50U3VtQ29tcG9uZW50LCBDdWJlRG9jdW1lbnRNYXRyaXhDb21wb25lbnQsIEN1YmVEb2N1bWVudFZpZXdDb21wb25lbnQsIEN1YmVQaXZvdFZpZXdDb21wb25lbnQsIFRpbWVsaW5lVmlld0NvbXBvbmVudCxcclxuICBTdWJzdGl0dXRpb25Db21wb25lbnQsIEFzc2lnbkFjdGlvbkNvbXBvbmVudCwgUmV0dXJuQWN0aW9uQ29tcG9uZW50LCBFeHBsb3JlRG9jdW1lbnRDb21wb25lbnQsXHJcbiAgQWN0aW9uc1dpZGdldCwgQ3ViZUFuYWx5c2lzV2lkZ2V0LCBDdWJlRG9jdW1lbnRzV2lkZ2V0LCBSZWNlbnRzV2lkZ2V0LCBQZXJzb25hbEFjdGl2aXR5V2lkZ2V0LFxyXG4gIENvbXBhcmVEZXBhcnRtZW50c1dpZGdldCwgUGVlcnNQZXJmb3JtYW5jZVdpZGdldCwgUGVuZGluZ1Jlc3VsdHNXaWRnZXQsIFBlcnNvbmFsU2NvcmVXaWRnZXQsIEN1YmVXaWRnZXRGaWx0ZXJDb21wb25lbnQsXHJcbiAgQ3ViZURvY3VtZW50c0NvbXBvbmVudCwgVGFza3NDb21wb25lbnQsIFVzYWdlUmVwb3J0QXJncywgQ3ViZVVzYWdlQ29tcG9uZW50XHJcbl07XHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbQ3ViZUNvbXBhcmVXaWRnZXQsIEN1YmVVc2FnZUNvbXBvbmVudCwgQ3ViZURvY3VtZW50c0NvbXBvbmVudCwgRmlsZUlucHV0LCBEYXRlRm9ybWF0UGlwZSwgQ2FsZW5kYXJQaXBlLCBEaWZmZXJlbmNlUGlwZSwgRHVyYXRpb25QaXBlLCBUaW1lQWdvUGlwZSxcclxuICAgIENoZWNrYm94Q29tcG9uZW50LCBDdWJlUGFyYWxsZWxDb21wb25lbnQsIEN1YmVTdW1Db21wb25lbnQsIEN1YmVQYXJhbGxlbFZpZXdDb21wb25lbnQsIEN1YmVDaGFydFZpZXdDb21wb25lbnQsIEN1YmVFeHBsb3JlVmlld0NvbXBvbmVudCwgQ3ViZURvY3VtZW50U3VtQ29tcG9uZW50LCBFeHBsb3JlSXRlbUltcGxDb21wb25lbnQsIERvY3VtZW50SW5mb0NvbXBvbmVudCwgRG9jdW1lbnRWaWV3c0NvbXBvbmVudCwgVmlld0l0ZW1Db21wb25lbnQsIEN1YmVEb2N1bWVudE1hdHJpeENvbXBvbmVudCwgQ3ViZURvY3VtZW50Vmlld0NvbXBvbmVudCwgQ3ViZVBpdm90Vmlld0NvbXBvbmVudCwgQWN0aW9uUGlja2VyLCBIdG1sU2ltcGxlUGlwZSwgUXVpY2tDb21tZW50Q29tcG9uZW50LFxyXG4gICAgRHVyYXRpb25Gb3JtYXRQaXBlLCBDb21iaW5hdGlvblBpY2tlciwgQ29tYmluYXRpb25QaWNrZXJCb2R5LCBDb21iaW5hdGlvblBvb2wsIFRpbWVsaW5lVmlld0NvbXBvbmVudCxcclxuICAgIE1hdEljb25BbmltYXRlLCBEYXRlUmFuZ2VQaXBlLCBBZ29QaXBlLCBDb2xvclBpY2tlciwgU3RhdGVEaXJlY3RpdmUsIEJyb2tlblBhZ2UsXHJcbiAgICBKb2luUGlwZSwgVGltZVBpY2tlcixcclxuICAgIFR5cGVWYWx1ZVBpcGUsIFR5cGVTZWxlY3QsIFR5cGVBdXRvY29tcGxldGUsIFRyYW5zbGF0ZVBpcGUsIElkZW50aXR5TmFtZSwgU2FuaXRpemVIdG1sUGlwZSxcclxuICAgIEFjZUlucHV0LCBUaW1lc3BhbklucHV0LCBBZGRyZXNzSW5wdXQsXHJcbiAgICBTdGF0ZVBpcGUsIEFjdGlvblBpcGUsIFJvbGVQaXBlLCBGb3JtUGlwZSwgRmlsdGVyUGlwZSwgQXJyYXlTb3J0UGlwZSwgVXNlck5hbWVQaXBlLFxyXG4gICAgTGF5b3V0Q29tcG9uZW50LFxyXG4gICAgSHRtbEZpZWxkLCBGaWxlRmllbGQsIE51bWVyaWNGaWVsZCwgQXV0b2NvbXBsZXRlRmllbGQsIENoZWNrRmllbGQsIERhdGVGaWVsZCwgRGF0ZVJhbmdlRmllbGQsIEV4cHJlc3Npb25GaWVsZCwgSW5wdXRGaWVsZCwgU2VsZWN0RmllbGQsIFN3aXRjaEZpZWxkLCBUZXh0YXJlYUZpZWxkLCBUaW1lc3BhbkZpZWxkLFxyXG4gICAgUmV0dXJuQWN0aW9uQ29tcG9uZW50LCBBc3NpZ25BY3Rpb25Db21wb25lbnQsXHJcbiAgICBBdmF0YXJDb21wb25lbnQsIFBlb3BsZUNvbXBvbmVudCwgRWRpdElucHV0Q29tcG9uZW50LFxyXG4gICAgTmd4Q29tcG9uZW50T3V0bGV0LFxyXG4gICAgQml6RG9jQXBwLFxyXG4gICAgTG90dGllQW5pbWF0aW9uLFxyXG4gICAgQ29udGFjdHNDb21wb25lbnQsXHJcbiAgICBDdWJlTWF0cml4Q29tcG9uZW50LCBGaWx0ZXJUYWdzQ29tcG9uZW50LCBFeHBsb3JlSXRlbXNDb21wb25lbnQsXHJcbiAgICBDb21wYXJlTmFtZURpcmVjdGl2ZSwgQ29tcGFyZUdyb3VwRGlyZWN0aXZlLCBDb21wYXJlQ29udGV4dERpcmVjdGl2ZSxcclxuICAgIEd1aWRlQ29tcG9uZW50LFxyXG4gICAgT3V0T2ZPZmZpY2VUb2FzdCxcclxuICAgIE5vdGlmaWNhdGlvbnNUYWJsZUNvbXBvbmVudCwgTm90aWZpY2F0aW9uc0ZpbHRlckNvbXBvbmVudCxcclxuICAgIFRhZ2dpbmdQaXBlLFxyXG4gICAgUHJpdmlsZWdlSGlkZGVuRGlyZWN0aXZlLFxyXG4gICAgVGFnZ2luZ0l0ZW1EaXJlY3RpdmUsIFRhZ2dpbmdEaXJlY3RpdmUsIERvY3VtZW50VGFnZ2luZ0NvbXBvbmVudCwgVXNlclRhZ2dpbmdDb21wb25lbnQsXHJcbiAgICBQcml2aWxlZ2VEaXNhYmxlZERpcmVjdGl2ZSwgQ3ViZURvY3VtZW50c0dyaWRDb21wb25lbnQsXHJcbiAgICBMb25nUnVubmluZ1Rhc2tOb3RpZmljYXRpb24sIFRhZ2dlZE5vdGlmaWNhdGlvbiwgQ29tbWVudGVkTm90aWZpY2F0aW9uLCBOdWRnZU5vdGlmaWNhdGlvbiwgVGV4dE5vdGlmaWNhdGlvbiwgQ3ViZUFub21hbHlOb3RpZmljYXRpb24sIEVzY2FsYXRlZE5vdGlmaWNhdGlvbiwgTGlrZWROb3RpZmljYXRpb24sIFN0YXRlQ2hhbmdlZE5vdGlmaWNhdGlvbiwgVXBjb21pbmdFdmVudE5vdGlmaWNhdGlvbixcclxuICAgIE5vbmVDb21wb25lbnQsIFNjaGVkdWxlVmlld0NvbXBvbmVudCxcclxuICAgIE9wdGlvbnNDb21wb25lbnQsIFRyYWNlVmlld0NvbXBvbmVudCxcclxuICAgIFByb2dyZXNzRGlyZWN0aXZlLFxyXG4gICAgQXR0YWNobWVudHNDb21wb25lbnQsXHJcbiAgICBEb2N1bWVudEV2ZW50c0NvbXBvbmVudCxcclxuICAgIFRhZ3NDb21wb25lbnQsXHJcbiAgICBNYXBDb21wb25lbnQsXHJcbiAgICBNYXNrQ29tcG9uZW50LFxyXG4gICAgU2F2ZUNoYW5nZXNEaWFsb2csXHJcbiAgICBGbG93Vmlld0NvbXBvbmVudCxcclxuICAgIFN1YnN0aXR1dGlvbkNvbXBvbmVudCxcclxuICAgIFBvcHVwQ29tcG9uZW50LFxyXG4gICAgQXR0YWNobWVudFByZXZpZXcsIENvbW1lbnRzQ29tcG9uZW50LCBDb21tZW50Q29tcG9uZW50LCBFZGl0Q29tbWVudENvbXBvbmVudCwgQ29tbWVudExpa2VzQ29tcG9uZW50LCBDb21tZW50RWRpdHNDb21wb25lbnQsXHJcbiAgICBCcm93c2VJdGVtc0NvbXBvbmVudCxcclxuICAgIEJyb3dzZUZpbHRlckNvbXBvbmVudCwgRXhwYW5kZWRJdGVtQ29tcG9uZW50LFxyXG4gICAgQ29tcG9zZUZvcm1Db21wb25lbnQsXHJcbiAgICBDdWJlVmlld0NvbXBvbmVudCxcclxuICAgIEN1YmVGaWx0ZXJDb21wb25lbnQsXHJcbiAgICBDdWJlQWNjdW11bGF0aW9uQ2hhcnRDb21wb25lbnQsXHJcbiAgICBDdWJlQ2hhcnRDb21wb25lbnQsIEN1YmVQaXZvdENvbXBvbmVudCxcclxuICAgIEN1YmVTcHJlYWRzaGVldENvbXBvbmVudCxcclxuICAgIEN1YmVHcmlkQ29tcG9uZW50LFxyXG4gICAgUmVwb3J0Vmlld2VyQ29tcG9uZW50LCBUYWJsZVZpZXdDb21wb25lbnQsIFJlcG9ydEFyZ3VtZW50c0NvbXBvbmVudCxcclxuICAgIERhc2hib2FyZENvbXBvbmVudCwgV2lkZ2V0SXRlbUNvbXBvbmVudCwgQ3ViZVdpZGdldEZpbHRlckNvbXBvbmVudCwgQ3ViZUFjY3VtQW5hbHlzaXNXaWRnZXQsIEN1YmVBbmFseXNpc1dpZGdldCwgQ3ViZUNoYXJ0QW5hbHlzaXNXaWRnZXQsIEFjdGlvbnNXaWRnZXQsIFJlY2VudHNXaWRnZXQsXHJcbiAgICBBc2tEaWFsb2csIEFib3V0RGlhbG9nLCBBY3Rpb25EaWFsb2csXHJcbiAgICBJbXBlcnNvbmF0ZURpYWxvZyxcclxuICAgIENvbnZlcnNhdGlvbkNvbXBvbmVudCwgQ3ViZU1hdHJpeFBvcHVwQ29tcG9uZW50LFxyXG4gICAgVmVyc2lvbkNvbXBhcmVDb21wb25lbnQsIEV4cGxvcmVEb2N1bWVudENvbXBvbmVudCwgVGFza3NDb21wb25lbnQsXHJcbiAgICBQZW5kaW5nUmVzdWx0c1dpZGdldCwgQ29tcGFyZURlcGFydG1lbnRzV2lkZ2V0LCBDdWJlRG9jdW1lbnRzVGFibGVDb21wb25lbnQsIEN1YmVEb2N1bWVudHNXaWRnZXQsXHJcbiAgICBQZXJzb25hbFNjb3JlV2lkZ2V0LCBQZXJzb25hbEFjdGl2aXR5V2lkZ2V0LCBQZWVyc1BlcmZvcm1hbmNlV2lkZ2V0LCBVc2FnZVBpdm90Q29tcG9uZW50LCBVc2FnZUNoYXJ0Q29tcG9uZW50LCBVc2FnZVJlcG9ydEFyZ3MsXHJcbiAgICBFbW9qaUhvc3RDb21wb25lbnQsIFRvb2x0aXBEaXJlY3RpdmUsIFRvb2x0aXBDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRmxleExheW91dE1vZHVsZSxcclxuICAgIFJvdXRlck1vZHVsZSxcclxuICAgIFBpY2tlck1vZHVsZSxcclxuICAgIFN5bmNmdXNpb25HYW50dE1vZHVsZSxcclxuICAgIFN5bmNmdXNpb25TY2hlZHVsZU1vZHVsZSwgXHJcbiAgICBTeW5jZnVzaW9uQ2lyY3VsYXJHYXVnZU1vZHVsZSxcclxuICAgIFN5bmNmdXNpb25DaGFydE1vZHVsZSxcclxuICAgIFN5bmNmdXNpb25HYW50dE1vZHVsZSxcclxuICAgIFN5bmNmdXNpb25HcmlkTW9kdWxlLFxyXG4gICAgU3luY2Z1c2lvblRleHRFZGl0b3JNb2R1bGUsXHJcbiAgICBTeW5jZnVzaW9uU3ByZWFkc2hlZXRNb2R1bGUsXHJcbiAgICBTeW5jZnVzaW9uUGl2b3RNb2R1bGUsXHJcbiAgICBLYW5iYW5Nb2R1bGUsXHJcbiAgICBTeW5jZnVzaW9uRGlhZ3JhbU1vZHVsZSxcclxuICAgIE1hdGVyaWFsTW9kdWxlXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtQb3B1cCwgQ29tcG9zZURpc21pc3MsIEl0ZW1SZXNvbHZlU2VydmljZSxcclxuICAgIFJlY2lwaWVudFJlc29sdmVTZXJ2aWNlLCBEb2N1bWVudFJlc29sdmVTZXJ2aWNlLFxyXG4gICAgQXR0YWNobWVudEluZm8sIE1hcEluZm8sIEN1YmVJbmZvLFxyXG4gICAgQ2FuRGVhY3RpdmF0ZUNvbXBvc2UsIE1haWxib3hTZXJ2aWNlLCBTZXNzaW9uU2VydmljZSwgSHViU2VydmljZSxcclxuICAgIEFjY291bnRTZXJ2aWNlLFxyXG4gICAgU2F2ZUNoYW5nZXNEaWFsb2csXHJcbiAgICBEYXRlUmFuZ2VQaXBlLCBBZ29QaXBlLCBEdXJhdGlvbkZvcm1hdFBpcGUsXHJcbiAgICBEb2N1bWVudEluZm8sIENvb2tpZVNlcnZpY2UsXHJcbiAgICBXaW5kb3dUaXRsZVNlcnZpY2UsIE5vdGlmaWNhdGlvbnNTZXJ2aWNlLFxyXG4gICAgQ3ViZVNlcnZpY2UsIERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgQWNjb3VudFNlcnZpY2UsIENoYXRTZXJ2aWNlLCBDaGF0SW5mbyxcclxuICAgIEd1aWRlU2VydmljZSwgT3B0aW9uc1NlcnZpY2UsIFxyXG4gICAgQml6RG9jQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBQcm9tcHRTZXJ2aWNlLCBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgLy97IHByb3ZpZGU6IExPQ0FMRV9JRCwgdXNlQ2xhc3M6IFNlc3Npb25TZXJ2aWNlLmdldExvY2FsZSgpIH0sXHJcbiAgICB7IHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLCB1c2VDbGFzczogQXBwSHR0cEludGVyY2VwdG9yLCBtdWx0aTogdHJ1ZSB9LFxyXG4gICAgeyBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsIHVzZUZhY3Rvcnk6IFRyYW5zbGF0ZVByb3ZpZGVyRmFjdG9yeSwgZGVwczogW1RyYW5zbGF0ZVNlcnZpY2VdLCBtdWx0aTogdHJ1ZSB9LFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW0ZpbGVJbnB1dCwgRmlsdGVyVGFnc0NvbXBvbmVudCxcclxuICAgIERhdGVGb3JtYXRQaXBlLCBDYWxlbmRhclBpcGUsIERpZmZlcmVuY2VQaXBlLCBEdXJhdGlvblBpcGUsIFRpbWVBZ29QaXBlLFxyXG4gICAgQ2hlY2tib3hDb21wb25lbnQsIEN1YmVQYXJhbGxlbENvbXBvbmVudCwgQ3ViZVN1bUNvbXBvbmVudCwgRXhwbG9yZUl0ZW1JbXBsQ29tcG9uZW50LCBEb2N1bWVudEluZm9Db21wb25lbnQsIERvY3VtZW50Vmlld3NDb21wb25lbnQsIERhc2hib2FyZENvbXBvbmVudCxcclxuICAgIFRhZ3NDb21wb25lbnQsIFF1aWNrQ29tbWVudENvbXBvbmVudCxcclxuICAgIE1hdGVyaWFsTW9kdWxlLCBDb21tZW50c0NvbXBvbmVudCwgQnJva2VuUGFnZSxcclxuICAgIEFjdGlvbkRpYWxvZywgQnJvd3NlRmlsdGVyQ29tcG9uZW50LCBDdWJlRmlsdGVyQ29tcG9uZW50LCBTY2hlZHVsZVZpZXdDb21wb25lbnQsIFJlcG9ydFZpZXdlckNvbXBvbmVudCwgV2lkZ2V0SXRlbUNvbXBvbmVudCwgQ3ViZVZpZXdDb21wb25lbnQsXHJcbiAgICBFeHBsb3JlSXRlbXNDb21wb25lbnQsIENvbXBvc2VGb3JtQ29tcG9uZW50LCBCcm93c2VJdGVtc0NvbXBvbmVudCwgTm90aWZpY2F0aW9uc1RhYmxlQ29tcG9uZW50LFxyXG4gICAgQWN0aW9uUGlja2VyLCBDb252ZXJzYXRpb25Db21wb25lbnQsIFN0YXRlRGlyZWN0aXZlLFxyXG4gICAgQ29udGFjdHNDb21wb25lbnQsIEN1YmVNYXRyaXhDb21wb25lbnQsXHJcbiAgICBEdXJhdGlvbkZvcm1hdFBpcGUsIENvbWJpbmF0aW9uUGlja2VyLCBDb21iaW5hdGlvblBvb2wsIFRpbWVQaWNrZXIsXHJcbiAgICBUb29sdGlwRGlyZWN0aXZlLCBEYXRlUmFuZ2VQaXBlLFxyXG4gICAgTmd4Q29tcG9uZW50T3V0bGV0LCBNYXRJY29uQW5pbWF0ZSxcclxuICAgIEFjZUlucHV0LCBKb2luUGlwZSxcclxuICAgIFR5cGVWYWx1ZVBpcGUsIFR5cGVTZWxlY3QsIFR5cGVBdXRvY29tcGxldGUsIFN0YXRlUGlwZSwgQWN0aW9uUGlwZSwgUm9sZVBpcGUsIEZvcm1QaXBlLCBGaWx0ZXJQaXBlLCBBcnJheVNvcnRQaXBlLCBVc2VyTmFtZVBpcGUsIFNhbml0aXplSHRtbFBpcGUsXHJcbiAgICBUcmFuc2xhdGVQaXBlLCBJZGVudGl0eU5hbWUsXHJcbiAgICBBZGRyZXNzSW5wdXQsIEF2YXRhckNvbXBvbmVudCwgUmVwb3J0QXJndW1lbnRzQ29tcG9uZW50LFxyXG4gICAgQml6RG9jQXBwLCBBdHRhY2htZW50UHJldmlldywgUHJpdmlsZWdlSGlkZGVuRGlyZWN0aXZlLFxyXG4gICAgUHJpdmlsZWdlRGlzYWJsZWREaXJlY3RpdmUsIENvbXBhcmVHcm91cERpcmVjdGl2ZSwgQ29tcGFyZU5hbWVEaXJlY3RpdmUsIENvbXBhcmVDb250ZXh0RGlyZWN0aXZlLCBUcmFjZVZpZXdDb21wb25lbnQsIEZsb3dWaWV3Q29tcG9uZW50LFxyXG4gICAgQXNzaWduQWN0aW9uQ29tcG9uZW50LCBSZXR1cm5BY3Rpb25Db21wb25lbnQsIEV4cGxvcmVEb2N1bWVudENvbXBvbmVudCxcclxuICAgIEN1YmVDb21wYXJlV2lkZ2V0LCBBY3Rpb25zV2lkZ2V0LCBDdWJlQW5hbHlzaXNXaWRnZXQsIEN1YmVEb2N1bWVudHNXaWRnZXQsIFJlY2VudHNXaWRnZXQsIFBlcnNvbmFsQWN0aXZpdHlXaWRnZXQsXHJcbiAgICBDb21wYXJlRGVwYXJ0bWVudHNXaWRnZXQsIFBlZXJzUGVyZm9ybWFuY2VXaWRnZXQsIFBlbmRpbmdSZXN1bHRzV2lkZ2V0LCBQZXJzb25hbFNjb3JlV2lkZ2V0LCBDdWJlV2lkZ2V0RmlsdGVyQ29tcG9uZW50LFxyXG4gICAgQ3ViZURvY3VtZW50c1RhYmxlQ29tcG9uZW50LCBDdWJlRG9jdW1lbnRzR3JpZENvbXBvbmVudCwgVGFza3NDb21wb25lbnQsIFVzYWdlUmVwb3J0QXJncywgVXNhZ2VDaGFydENvbXBvbmVudCwgVXNhZ2VQaXZvdENvbXBvbmVudCwgVGltZXNwYW5JbnB1dCxcclxuICAgIFZlcnNpb25Db21wYXJlQ29tcG9uZW50LCBMb3R0aWVBbmltYXRpb24sXHJcbiAgICBDdWJlQWNjdW11bGF0aW9uQ2hhcnRDb21wb25lbnQsXHJcbiAgICBDdWJlQ2hhcnRDb21wb25lbnQsIEN1YmVQaXZvdENvbXBvbmVudCxcclxuICAgIEN1YmVTcHJlYWRzaGVldENvbXBvbmVudCxcclxuICAgIEN1YmVHcmlkQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2hhcmVkTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yQ2hpbGQoY29uZmlnPzogU2hhcmVkQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxTaGFyZWRNb2R1bGU+IHtcclxuICAgIGNvbnN0IHsgZm9ybWF0cyB9ID0gY29uZmlnIHx8IHt9O1xyXG4gICAgcmVnaXN0ZXJDb21wb25lbnRzKENPUkVfQ09NUE9ORU5UUyk7XHJcbiAgICBjb25zdCBwcm92aWRlcnMgPSBbe1xyXG4gICAgICBwcm92aWRlOiBSb3V0ZXJJbXBsLCB1c2VDbGFzczogIWNvbmZpZyB8fCAhY29uZmlnLnJvdXRpbmcgfHwgY29uZmlnLnJvdXRpbmcgPT09ICduZycgPyBOZ1JvdXRlciA6IFBhbmVSb3V0ZXJcclxuICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZToge1xyXG4gICAgICAgICAgcGFyc2U6IHtcclxuICAgICAgICAgICAgZGF0ZUlucHV0OiAnTEwnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRpc3BsYXk6IHtcclxuICAgICAgICAgICAgZGF0ZUlucHV0OiAoZm9ybWF0cyB8fCB7fSkuZGF0ZSB8fCAnbGwnLFxyXG4gICAgICAgICAgICBtb250aFllYXJMYWJlbDogJ01NTSBZWVlZJyxcclxuICAgICAgICAgICAgZGF0ZUExMXlMYWJlbDogJ0xMJyxcclxuICAgICAgICAgICAgbW9udGhZZWFyQTExeUxhYmVsOiAnTU1NTSBZWVlZJyxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0gICAgXSBhcyBQcm92aWRlcltdO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IFNoYXJlZE1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
530
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvc2hhcmVkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUF1QixRQUFRLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSwyQkFBMkIsRUFB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b3ZpZGVycywgTmdNb2R1bGUsIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1BVF9EQVRFX0ZPUk1BVFMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSwgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFBpY2tlck1vZHVsZSB9IGZyb20gJ0BjdHJsL25neC1lbW9qaS1tYXJ0JztcclxuaW1wb3J0IHsgS2FuYmFuTW9kdWxlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXIta2FuYmFuJztcclxuaW1wb3J0IHsgU3luY2Z1c2lvblRleHRFZGl0b3JNb2R1bGUgfSBmcm9tICcuL21vZHVsZXMvdGV4dGVkaXRvci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTeW5jZnVzaW9uQ2hhcnRNb2R1bGUgfSBmcm9tICcuL21vZHVsZXMvY2hhcnQubW9kdWxlJztcclxuaW1wb3J0IHsgU3luY2Z1c2lvbkRpYWdyYW1Nb2R1bGUgfSBmcm9tICcuL21vZHVsZXMvZGlhZ3JhbS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTeW5jZnVzaW9uR3JpZE1vZHVsZSB9IGZyb20gJy4vbW9kdWxlcy9ncmlkLm1vZHVsZSc7XHJcbmltcG9ydCB7IFN5bmNmdXNpb25DaXJjdWxhckdhdWdlTW9kdWxlIH0gZnJvbSAnLi9tb2R1bGVzL2NpcmN1bGFyLWdhdWdlLm1vZHVsZSc7XHJcbmltcG9ydCB7IFN5bmNmdXNpb25QaXZvdE1vZHVsZSB9IGZyb20gJy4vbW9kdWxlcy9waXZvdC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTeW5jZnVzaW9uU2NoZWR1bGVNb2R1bGUgfSBmcm9tICcuL21vZHVsZXMvc2NoZWR1bGUubW9kdWxlJztcclxuaW1wb3J0IHsgU3luY2Z1c2lvblNwcmVhZHNoZWV0TW9kdWxlIH0gZnJvbSAnLi9tb2R1bGVzL3NwcmVhZHNoZWV0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IFN5bmNmdXNpb25HYW50dE1vZHVsZSB9IGZyb20gJy4vbW9kdWxlcy9nYW50dC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnbmd4LWNvb2tpZS1zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuL21vZHVsZXMvbWF0ZXJpYWwubW9kdWxlJztcclxuaW1wb3J0IHsgQ2hhdFNlcnZpY2UgfSBmcm9tICcuL2NoYXQvY2hhdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2FuRGVhY3RpdmF0ZUNvbXBvc2UgfSBmcm9tICcuL2NvbXBvc2UvY2FuLWRlYWN0aXZhdGUtY2hhbmdlcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUmVjaXBpZW50UmVzb2x2ZVNlcnZpY2UsIERvY3VtZW50UmVzb2x2ZVNlcnZpY2UgfSBmcm9tICcuL2NvbXBvc2UvY29tcG9zZS1yZXNvbHZlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb21wb3NlRGlzbWlzcyB9IGZyb20gJy4vY29tcG9zZS9kaXNtaXNzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgfSBmcm9tICcuL2NvcmUvY29tcG9uZW50LWZhY3RvcnktcmVzb2x2ZXInO1xyXG5pbXBvcnQgeyBIdWJTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2h1Yi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4vY29yZS9wcm9tcHQuc2VydmljZSc7IFxyXG5pbXBvcnQgeyBXaW5kb3dUaXRsZVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvd2luZG93LXRpdGxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25zU2VydmljZSB9IGZyb20gJy4vbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gJy4vb3B0aW9ucy9vcHRpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY2VJbnB1dCB9IGZyb20gJy4vYWRtaW4vY29yZS9hY2UuaW5wdXQnO1xyXG5pbXBvcnQgeyBFeHBhbmRlZEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2Jyb3dzZS9leHBhbmRlZC1pdGVtL2V4cGFuZGVkLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29udGFjdHNDb21wb25lbnQsIEh0bWxTaW1wbGVQaXBlIH0gZnJvbSAnLi9jaGF0L2NvbnRhY3RzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbnZlcnNhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY2hhdC9jb252ZXJzYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXNzaWduQWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb3NlL2FjdGlvbi9hc3NpZ24tYWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJldHVybkFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9zZS9hY3Rpb24vcmV0dXJuLWFjdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdHRhY2htZW50c0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9zZS9hdHRhY2htZW50cy9hdHRhY2htZW50cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0RpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9zZS9hdHRhY2htZW50cy9wcm9ncmVzcy1idXR0b24uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29tbWVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9zZS9jb21tZW50cy9jb21tZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1lbnRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb3NlL2NvbW1lbnRzL2NvbW1lbnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVkaXRDb21tZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb3NlL2NvbW1lbnRzL2VkaXQtY29tbWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tZW50RWRpdHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvc2UvY29tbWVudHMvZWRpdHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tbWVudExpa2VzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb3NlL2NvbW1lbnRzL3ZvdGVzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERvY3VtZW50RXZlbnRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb3NlL2V2ZW50cy9ldmVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2F2ZUNoYW5nZXNEaWFsb2cgfSBmcm9tICcuL2NvbXBvc2Uvc2F2ZS1jaGFuZ2VzLmRpYWxvZyc7XHJcbmltcG9ydCB7IFRhZ3NDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvc2UvdGFnL3RhZ3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGVvcGxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb3NlL3RyYWNlL3Blb3BsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWZXJzaW9uQ29tcGFyZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9zZS92ZXJzaW9uLWNvbXBhcmUvdmVyc2lvbi1jb21wYXJlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdEljb25BbmltYXRlIH0gZnJvbSAnLi9jb3JlL2FuaW1hdGVkLWljb24vYW5pbWF0ZWQtaWNvbi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBUaW1lc3BhbklucHV0IH0gZnJvbSAnLi9jb3JlL2NvbnRyb2xzL3RpbWVzcGFuLmlucHV0JztcclxuaW1wb3J0IHsgR3VpZGVDb21wb25lbnQgfSBmcm9tICcuL2NvcmUvZ3VpZGUvZ3VpZGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWFwQ29tcG9uZW50IH0gZnJvbSAnLi9jb3JlL2luZm8vbG9jYXRpb24taW5mby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdXRvY29tcGxldGVGaWVsZCB9IGZyb20gJy4vY29yZS9sYXlvdXQvYXV0b2NvbXBsZXRlLmZpZWxkJztcclxuaW1wb3J0IHsgQ2hlY2tGaWVsZCB9IGZyb20gJy4vY29yZS9sYXlvdXQvY2hlY2tib3guZmllbGQnO1xyXG5pbXBvcnQgeyBEYXRlUmFuZ2VGaWVsZCB9IGZyb20gJy4vY29yZS9sYXlvdXQvZGF0ZS1yYW5nZS5maWVsZCc7XHJcbmltcG9ydCB7IERhdGVGaWVsZCB9IGZyb20gJy4vY29yZS9sYXlvdXQvZGF0ZS5maWVsZCc7XHJcbmltcG9ydCB7IEV4cHJlc3Npb25GaWVsZCB9IGZyb20gJy4vY29yZS9sYXlvdXQvZXhwcmVzc2lvbi5maWVsZCc7XHJcbmltcG9ydCB7IEh0bWxGaWVsZCB9IGZyb20gJy4vY29yZS9sYXlvdXQvaHRtbC5maWVsZCc7XHJcbmltcG9ydCB7IElucHV0RmllbGQgfSBmcm9tICcuL2NvcmUvbGF5b3V0L2lucHV0LmZpZWxkJztcclxuaW1wb3J0IHsgTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb3JlL2xheW91dC9sYXlvdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTnVtZXJpY0ZpZWxkIH0gZnJvbSAnLi9jb3JlL2xheW91dC9udW1lcmljLmZpZWxkJztcclxuaW1wb3J0IHsgU2VsZWN0RmllbGQgfSBmcm9tICcuL2NvcmUvbGF5b3V0L3NlbGVjdC5maWVsZCc7XHJcbmltcG9ydCB7IFN3aXRjaEZpZWxkIH0gZnJvbSAnLi9jb3JlL2xheW91dC9zd2l0Y2guZmllbGQnO1xyXG5pbXBvcnQgeyBUZXh0YXJlYUZpZWxkIH0gZnJvbSAnLi9jb3JlL2xheW91dC90ZXh0YXJlYS5maWVsZCc7XHJcbmltcG9ydCB7IFRpbWVzcGFuRmllbGQgfSBmcm9tICcuL2NvcmUvbGF5b3V0L3RpbWVzcGFuLmZpZWxkJztcclxuaW1wb3J0IHsgTG90dGllQW5pbWF0aW9uIH0gZnJvbSAnLi9jb3JlL2xvdHRpZS1hbmltYXRpb24nO1xyXG5pbXBvcnQgeyBOZ3hDb21wb25lbnRPdXRsZXQgfSBmcm9tICcuL2NvcmUvTmdDb21wb25lbnRPdXRsZXQnO1xyXG5pbXBvcnQgeyBOb25lQ29tcG9uZW50IH0gZnJvbSAnLi9jb3JlL25vbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUG9wdXBDb21wb25lbnQgfSBmcm9tICcuL2NvcmUvcG9wdXAvcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXNrRGlhbG9nIH0gZnJvbSAnLi9jb3JlL3Byb21wdC9hc2svYXNrLmRpYWxvZyc7XHJcbmltcG9ydCB7IE1hc2tDb21wb25lbnQgfSBmcm9tICcuL2NvcmUvcHJvbXB0L21hc2svbWFzay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEb2N1bWVudFRhZ2dpbmdDb21wb25lbnQgfSBmcm9tICcuL2NvcmUvdGFnZ2luZy9kb2N1bWVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRWRpdElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb3JlL3RhZ2dpbmcvZWRpdC1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbW9qaUhvc3RDb21wb25lbnQgfSBmcm9tICcuL2NvcmUvdGFnZ2luZy9lbW9qaS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWdnaW5nSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vY29yZS90YWdnaW5nL3RhZ2dpbmctaXRlbS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBUYWdnaW5nRGlyZWN0aXZlIH0gZnJvbSAnLi9jb3JlL3RhZ2dpbmcvdGFnZ2luZy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBUYWdnaW5nUGlwZSB9IGZyb20gJy4vY29yZS90YWdnaW5nL3RhZ2dpbmcucGlwZSc7XHJcbmltcG9ydCB7IFVzZXJUYWdnaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9jb3JlL3RhZ2dpbmcvdXNlcnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXhwbG9yZURvY3VtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jdWJlL2V4cGxvcmUvZG9jdW1lbnQtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWx0ZXJUYWdzQ29tcG9uZW50IH0gZnJvbSAnLi9jdWJlL2ZpbHRlci9maWx0ZXItdGFncy5jb21wb25lbnQuZXhwJztcclxuaW1wb3J0IHsgQ3ViZUFjY3VtdWxhdGlvbkNoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9jdWJlL2FjY3VtL2FjY3VtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1YmVDaGFydENvbXBvbmVudCB9IGZyb20gJy4vY3ViZS9jaGFydC9jaGFydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdWJlR3JpZENvbXBvbmVudCB9IGZyb20gJy4vY3ViZS9ncmlkL2dyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3ViZVNwcmVhZHNoZWV0Q29tcG9uZW50IH0gZnJvbSAnLi9jdWJlL2dyaWQvc3ByZWFkc2hlZXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3ViZVBpdm90Q29tcG9uZW50IH0gZnJvbSAnLi9jdWJlL3Bpdm90L3Bpdm90LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1YmVNYXRyaXhQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vY3ViZS9tYXRyaXgvcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3ViZU1hdHJpeENvbXBvbmVudCB9IGZyb20gJy4vY3ViZS9tYXRyaXgvdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGFzaGJvYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmQvZGFzaGJvYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFjdGlvbnNXaWRnZXQgfSBmcm9tICcuL2Rhc2hib2FyZC9hY3Rpb25zL2FjdGlvbnMud2lkZ2V0JztcclxuaW1wb3J0IHsgQ3ViZUFjY3VtQW5hbHlzaXNXaWRnZXQgfSBmcm9tICcuL2Rhc2hib2FyZC9jdWJlL2FjY3VtLWN1YmUud2lkZ2V0JztcclxuaW1wb3J0IHsgQ3ViZUFuYWx5c2lzV2lkZ2V0IH0gZnJvbSAnLi9kYXNoYm9hcmQvY3ViZS9jdWJlLWFuYWx5c2lzLndpZGdldCc7XHJcbmltcG9ydCB7IEN1YmVDaGFydEFuYWx5c2lzV2lkZ2V0IH0gZnJvbSAnLi9kYXNoYm9hcmQvY3ViZS9jdWJlLWNoYXJ0LndpZGdldCc7XHJcbmltcG9ydCB7IEN1YmVEb2N1bWVudHNXaWRnZXQgfSBmcm9tICcuL2Rhc2hib2FyZC9jdWJlL2RvY3VtZW50cy53aWRnZXQnO1xyXG5pbXBvcnQgeyBDdWJlV2lkZ2V0RmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmQvY3ViZS9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlY2VudHNXaWRnZXQgfSBmcm9tICcuL2Rhc2hib2FyZC9yZWNlbnRzL3JlY2VudHMud2lkZ2V0JztcclxuaW1wb3J0IHsgUGVyc29uYWxBY3Rpdml0eVdpZGdldCB9IGZyb20gJy4vZGFzaGJvYXJkL3Njb3JlL2FjdGl2aXR5LndpZGdldCc7XHJcbmltcG9ydCB7IENvbXBhcmVEZXBhcnRtZW50c1dpZGdldCB9IGZyb20gJy4vZGFzaGJvYXJkL3Njb3JlL2NvbXBhcmUtZGVwYXJ0bWVudHMud2lkZ2V0JztcclxuaW1wb3J0IHsgUGVlcnNQZXJmb3JtYW5jZVdpZGdldCB9IGZyb20gJy4vZGFzaGJvYXJkL3Njb3JlL3BlZXJzLXBlcmZvcm1hbmNlLndpZGdldCc7XHJcbmltcG9ydCB7IFBlbmRpbmdSZXN1bHRzV2lkZ2V0IH0gZnJvbSAnLi9kYXNoYm9hcmQvc2NvcmUvcGVuZGluZy1yZXN1bHRzLndpZGdldCc7XHJcbmltcG9ydCB7IFBlcnNvbmFsU2NvcmVXaWRnZXQgfSBmcm9tICcuL2Rhc2hib2FyZC9zY29yZS9wZXJzb25hbC1zY29yZS53aWRnZXQnO1xyXG5pbXBvcnQgeyBBYm91dERpYWxvZyB9IGZyb20gJy4vaG9tZS9hYm91dC9hYm91dC5kaWFsb2cnO1xyXG5pbXBvcnQgeyBJbXBlcnNvbmF0ZURpYWxvZyB9IGZyb20gJy4vaW1wZXJzb25hdGUvaW1wZXJzb25hdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tbWVudGVkTm90aWZpY2F0aW9uIH0gZnJvbSAnLi9ub3RpZmljYXRpb25zL3R5cGVzL2NvbW1lbnRlZC5ub3RpZmljYXRpb24nO1xyXG5pbXBvcnQgeyBDdWJlQW5vbWFseU5vdGlmaWNhdGlvbiB9IGZyb20gJy4vbm90aWZpY2F0aW9ucy90eXBlcy9jdWJlLWFub21hbHkubm90aWZpY2F0aW9uJztcclxuaW1wb3J0IHsgRXNjYWxhdGVkTm90aWZpY2F0aW9uIH0gZnJvbSAnLi9ub3RpZmljYXRpb25zL3R5cGVzL2VzY2FsYXRlZC5ub3RpZmljYXRpb24nO1xyXG5pbXBvcnQgeyBMaWtlZE5vdGlmaWNhdGlvbiB9IGZyb20gJy4vbm90aWZpY2F0aW9ucy90eXBlcy9saWtlZC5ub3RpZmljYXRpb24nO1xyXG5pbXBvcnQgeyBMb25nUnVubmluZ1Rhc2tOb3RpZmljYXRpb24gfSBmcm9tICcuL25vdGlmaWNhdGlvbnMvdHlwZXMvbG9uZy1ydW5uaW5nLXRhc2subm90aWZpY2F0aW9uJztcclxuaW1wb3J0IHsgTnVkZ2VOb3RpZmljYXRpb24gfSBmcm9tICcuL25vdGlmaWNhdGlvbnMvdHlwZXMvbnVkZ2Uubm90aWZpY2F0aW9uJztcclxuaW1wb3J0IHsgU3RhdGVDaGFuZ2VkTm90aWZpY2F0aW9uIH0gZnJvbSAnLi9ub3RpZmljYXRpb25zL3R5cGVzL3N0YXRlLWNoYW5nZWQubm90aWZpY2F0aW9uJztcclxuaW1wb3J0IHsgVGFnZ2VkTm90aWZpY2F0aW9uIH0gZnJvbSAnLi9ub3RpZmljYXRpb25zL3R5cGVzL3RhZ2dlZC5ub3RpZmljYXRpb24nO1xyXG5pbXBvcnQgeyBUZXh0Tm90aWZpY2F0aW9uIH0gZnJvbSAnLi9ub3RpZmljYXRpb25zL3R5cGVzL3RleHQubm90aWZpY2F0aW9uJztcclxuaW1wb3J0IHsgVXBjb21pbmdFdmVudE5vdGlmaWNhdGlvbiB9IGZyb20gJy4vbm90aWZpY2F0aW9ucy90eXBlcy91cGNvbWluZy1ldmVudC5ub3RpZmljYXRpb24nO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25zVGFibGVDb21wb25lbnQgfSBmcm9tICcuL25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy10YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25zRmlsdGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vbm90aWZpY2F0aW9ucy9maWx0ZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IE9wdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL29wdGlvbnMvb3B0aW9ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBvcnRBcmd1bWVudHNDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydHMvYXJndW1lbnRzLWNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1YmVEb2N1bWVudHNHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi9yZXBvcnRzL2N1YmUvZ3JpZC1kb2N1bWVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3ViZURvY3VtZW50c1RhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9yZXBvcnRzL2N1YmUvdGFibGUtZG9jdW1lbnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVzYWdlUmVwb3J0QXJncyB9IGZyb20gJy4vcmVwb3J0cy9jdWJlL3VzYWdlLWFyZ3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVXNhZ2VDaGFydENvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0cy9jdWJlL3VzYWdlLWNoYXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVzYWdlUGl2b3RDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydHMvY3ViZS91c2FnZS1waXZvdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdWJzdGl0dXRpb25Db21wb25lbnQgfSBmcm9tICcuL3JlcG9ydHMvc3Vic3RpdHV0aW9uL3N1YnN0aXR1dGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWJsZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydHMvdGFibGUvdGFibGUtdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYXNrc0NvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0cy90YXNrcy90YXNrcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBY3Rpb25QaWNrZXIgfSBmcm9tICcuL2NvbXBvc2UvYWN0aW9uL2FjdGlvbi1waWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXBwSHR0cEludGVyY2VwdG9yIH0gZnJvbSAnLi9jb3JlL2h0dHAuaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQgeyBCaXpEb2NBcHAsIEJyb2tlblBhZ2UgfSBmcm9tICcuL2FwcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBZGRyZXNzSW5wdXQgfSBmcm9tICcuL2NvcmUvY29udHJvbHMvYWRkcmVzcy5pbnB1dCc7XHJcbmltcG9ydCB7IFR5cGVTZWxlY3QgfSBmcm9tICcuL2NvcmUvY29udHJvbHMvc2VsZWN0LmlucHV0JztcclxuaW1wb3J0IHsgVHlwZUF1dG9jb21wbGV0ZSB9IGZyb20gJy4vY29yZS9jb250cm9scy9hdXRvLWNvbXBsZXRlLmlucHV0JztcclxuaW1wb3J0IHsgVGltZVBpY2tlciB9IGZyb20gJy4vY29yZS9jb250cm9scy90aW1lLXBpY2tlcic7XHJcbmltcG9ydCB7IENvbG9yUGlja2VyIH0gZnJvbSAnLi9hZG1pbi9jb3JlL2NvbG9yLXBpY2tlci5pbnB1dCc7XHJcbmltcG9ydCB7IENvbWJpbmF0aW9uUGlja2VyQm9keSB9IGZyb20gJy4vY29yZS9jb250cm9scy9jb21iaW5hdGlvbi1waWNrZXItYm9keSc7XHJcbmltcG9ydCB7IENvbWJpbmF0aW9uUG9vbCB9IGZyb20gJy4vY29yZS9jb250cm9scy9jb21iaW5hdGlvbi1wb29sJztcclxuaW1wb3J0IHsgSWRlbnRpdHlOYW1lIH0gZnJvbSAnLi9jb3JlL2lkZW50aXR5L2lkZW50aXR5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFycmF5U29ydFBpcGUsIEZpbHRlclBpcGUgfSBmcm9tICcuL2NvcmUvcGlwZXMvc29ydC5waXBlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gXCIuL2NvcmUvcGlwZXMvdHJhbnNsYXRlLnBpcGVcIjtcclxuaW1wb3J0IHsgRm9ybVBpcGUgfSBmcm9tICcuL2NvcmUvcGlwZXMvZm9ybS5waXBlJztcclxuaW1wb3J0IHsgUm9sZVBpcGUgfSBmcm9tICcuL2NvcmUvcGlwZXMvcm9sZS5waXBlJztcclxuaW1wb3J0IHsgSm9pblBpcGUgfSBmcm9tIFwiLi9jb3JlL3BpcGVzL2pvaW4ucGlwZVwiO1xyXG5pbXBvcnQgeyBTYW5pdGl6ZUh0bWxQaXBlIH0gZnJvbSAnLi9jb3JlL3BpcGVzL3Nhbml0aXplLWh0bWwucGlwZSc7XHJcbmltcG9ydCB7IFR5cGVWYWx1ZVBpcGUgfSBmcm9tICcuL2NvcmUvcGlwZXMvdHlwZS12YWx1ZS5waXBlJztcclxuaW1wb3J0IHsgQWdvUGlwZSwgRGF0ZVJhbmdlUGlwZSB9IGZyb20gXCIuL2NvcmUvcGlwZXMvZGF0ZXJhbmdlLnBpcGVcIjtcclxuaW1wb3J0IHsgRHVyYXRpb25QaXBlIH0gZnJvbSAnLi9jb3JlL3BpcGVzL2R1cmF0aW9uLnBpcGUnO1xyXG5pbXBvcnQgeyBBY3Rpb25QaXBlIH0gZnJvbSAnLi9jb3JlL3BpcGVzL2FjdGlvbi5waXBlJztcclxuaW1wb3J0IHsgU3RhdGVQaXBlIH0gZnJvbSAnLi9jb3JlL3BpcGVzL3N0YXRlLnBpcGUnO1xyXG5pbXBvcnQgeyBVc2VyTmFtZVBpcGUgfSBmcm9tICcuL2NvcmUvcGlwZXMvdXNlci1uYW1lLnBpcGUnO1xyXG5pbXBvcnQgeyBCcm93c2VGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2Jyb3dzZS9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRyYWNlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9zZS90cmFjZS90cmFjZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGbG93Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9zZS90cmFjZS9mbG93LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFjdGlvbkRpYWxvZyB9IGZyb20gJy4vY29tcG9zZS9hY3Rpb24vYWN0aW9uLmRpYWxvZyc7XHJcbmltcG9ydCB7IFJlcG9ydFZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0cy9yZXBvcnQtdmlld2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF0dGFjaG1lbnRQcmV2aWV3IH0gZnJvbSAnLi9jb21wb3NlL2F0dGFjaG1lbnRzL3ByZXZpZXcvYXR0YWNobWVudC1wcmV2aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByaXZpbGVnZUhpZGRlbkRpcmVjdGl2ZSwgUHJpdmlsZWdlRGlzYWJsZWREaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvc2UvcHJpdmlsYWdlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbXBhcmVOYW1lRGlyZWN0aXZlLCBDb21wYXJlQ29udGV4dERpcmVjdGl2ZSwgQ29tcGFyZUdyb3VwRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb3NlL3ZlcnNpb24tY29tcGFyZS92ZXJzaW9uLWNvbXBhcmUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ3ViZUZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vY3ViZS9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEN1YmVTZXJ2aWNlIH0gZnJvbSAnLi9jdWJlL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IE1haWxib3hTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL21haWxib3guc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2RhdGFzb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2FjY291bnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVByb3ZpZGVyRmFjdG9yeSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEd1aWRlU2VydmljZSB9IGZyb20gJy4vY29yZS9ndWlkZS9ndWlkZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRG9jdW1lbnRJbmZvIH0gZnJvbSAnLi9jb3JlL2luZm8vZG9jdW1lbnQtaW5mby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWFwSW5mbyB9IGZyb20gXCIuL2NvcmUvaW5mby9tYXAtaW5mb1wiO1xyXG5pbXBvcnQgeyBDdWJlSW5mbyB9IGZyb20gXCIuL2N1YmUvY3ViZS1pbmZvLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQXR0YWNobWVudEluZm8gfSBmcm9tICcuL2NvcmUvaW5mby9hdHRhY2htZW50LWluZm8uc2VydmljZSc7XHJcbmltcG9ydCB7IEN1YmVWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9jdWJlL2N1YmUtdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb3B1cCB9IGZyb20gXCIuL2NvcmUvcG9wdXAvcG9wdXAuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDb21wb3NlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9zZS9mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJyb3dzZUl0ZW1zQ29tcG9uZW50IH0gZnJvbSAnLi9icm93c2UvYnJvd3NlLWl0ZW1zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEV4cGxvcmVJdGVtc0NvbXBvbmVudCB9IGZyb20gJy4vY3ViZS9leHBsb3JlL2V4cGxvcmUtaXRlbXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hhdEluZm8gfSBmcm9tICcuL2NoYXQvY2hhdC1pbmZvJztcclxuaW1wb3J0IHsgU2NoZWR1bGVWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9zY2hlZHVsZXIvc2NoZWR1bGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb3JlL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tYmluYXRpb25QaWNrZXIgfSBmcm9tICcuL2NvcmUvY29udHJvbHMvY29tYmluYXRpb24tcGlja2VyJztcclxuaW1wb3J0IHsgV2lkZ2V0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkL3dpZGdldC1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE91dE9mT2ZmaWNlVG9hc3QgfSBmcm9tICcuL2hvbWUvb3V0b2ZvZmZpY2Uvb3V0b2ZvZmZpY2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgcmVnaXN0ZXJDb21wb25lbnRzIH0gZnJvbSAnLi9jb3JlL2NvbXBvbmVudC1mYWN0b3J5LXJlc29sdmVyJztcclxuaW1wb3J0IHsgVG9vbHRpcERpcmVjdGl2ZSwgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vY29yZS9wb3B1cC90b29sdGlwLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFF1aWNrQ29tbWVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9zZS9jb21tZW50cy9xdWljay1jb21tZW50LmNvbXBvbmVudC5leHAnO1xyXG5pbXBvcnQgeyBEb2N1bWVudFZpZXdzQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3cy92aWV3cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWaWV3SXRlbUNvbXBvbmVudCB9IGZyb20gXCIuL3ZpZXdzL3ZpZXctaXRlbS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgTmdSb3V0ZXIsIFBhbmVSb3V0ZXIsIFJvdXRlckltcGwgfSBmcm9tICcuL2NvcmUvcm91dGVyJztcclxuaW1wb3J0IHsgRG9jdW1lbnRJbmZvQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9zZS9kb2N1bWVudC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgU2hhcmVkQ29uZmlnIH0gZnJvbSAnLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBDdWJlRG9jdW1lbnRNYXRyaXhDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL2N1YmUvbWF0cml4LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1YmVEb2N1bWVudFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL2N1YmUvdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUaW1lbGluZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL3RpbWVsaW5lL3RpbWVsaW5lLmNvbXBvbmVudC5leHAnO1xyXG5pbXBvcnQgeyBTdGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9zZS9zdGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJdGVtUmVzb2x2ZVNlcnZpY2UgfSBmcm9tICcuL2N1YmUvZXhwbG9yZS9pdGVtLXJlc29sdmVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFeHBsb3JlSXRlbUltcGxDb21wb25lbnQgfSBmcm9tICcuL2N1YmUvZXhwbG9yZS9leHBsb3JlLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3ViZVBpdm90Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vdmlld3MvY3ViZS9waXZvdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdWJlRG9jdW1lbnRTdW1Db21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL2N1YmUvc3VtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1YmVDaGFydFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL2N1YmUvY2hhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3ViZUV4cGxvcmVWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi92aWV3cy9jdWJlL2V4cGxvcmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3ViZVBhcmFsbGVsVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdmlld3MvY3ViZS9wYXJhbGxlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdWJlU3VtQ29tcG9uZW50IH0gZnJvbSAnLi9jdWJlL3N1bS9zdW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3ViZVBhcmFsbGVsQ29tcG9uZW50IH0gZnJvbSAnLi9jdWJlL3BhcmFsbGVsL3BhcmFsbGVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jb3JlL2xheW91dC9jaGVja2JveCc7XHJcbmltcG9ydCB7IERpZmZlcmVuY2VQaXBlIH0gZnJvbSAnLi9jb3JlL3BpcGVzL2RpZmZlcmVuY2UucGlwZSc7XHJcbmltcG9ydCB7IERhdGVGb3JtYXRQaXBlIH0gZnJvbSAnLi9jb3JlL3BpcGVzL2RhdGUtZm9ybWF0LnBpcGUnO1xyXG5pbXBvcnQgeyBDYWxlbmRhclBpcGUgfSBmcm9tICcuL2NvcmUvcGlwZXMvY2FsZW5kYXIucGlwZSc7XHJcbmltcG9ydCB7IFRpbWVBZ29QaXBlIH0gZnJvbSAnLi9jb3JlL3BpcGVzL3RpbWUtYWdvLnBpcGUnO1xyXG5pbXBvcnQgeyBEdXJhdGlvbkZvcm1hdFBpcGUgfSBmcm9tICcuL2NvcmUvcGlwZXMvZHVyYXRpb24tZm9ybWF0LnBpcGUnO1xyXG5pbXBvcnQgeyBGaWxlSW5wdXQgfSBmcm9tICcuL2NvcmUvY29udHJvbHMvZmlsZS5pbnB1dCc7XHJcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XHJcbmltcG9ydCByZWxhdGl2ZVRpbWUgZnJvbSAnZGF5anMvcGx1Z2luL3JlbGF0aXZlVGltZSc7XHJcbmltcG9ydCBkdXJhdGlvbiBmcm9tICdkYXlqcy9wbHVnaW4vZHVyYXRpb24nO1xyXG5pbXBvcnQgY2FsZW5kYXIgZnJvbSAnZGF5anMvcGx1Z2luL2NhbGVuZGFyJztcclxuaW1wb3J0IHsgRmlsZUZpZWxkIH0gZnJvbSAnLi9jb3JlL2xheW91dC9maWxlLmZpZWxkJztcclxuaW1wb3J0IHsgQ3ViZURvY3VtZW50c0NvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0cy9jdWJlL2RvY3VtZW50cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdWJlVXNhZ2VDb21wb25lbnQgfSBmcm9tIFwiLi9yZXBvcnRzL2N1YmUvdXNhZ2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEN1YmVDb21wYXJlV2lkZ2V0IH0gZnJvbSAnLi9kYXNoYm9hcmQvY3ViZS9jb21wYXJlLndpZGdldCc7XHJcbmltcG9ydCB7IE1vdmVUb0FjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9zZS9hY3Rpb24vbW92ZXRvLWFjdGlvbi5jb21wb25lbnQnO1xyXG4vLyBodHRwczovL2RheS5qcy5vcmcvZG9jcy9lbi9jdXN0b21pemF0aW9uL3JlbGF0aXZlLXRpbWVcclxuZGF5anMuZXh0ZW5kKHJlbGF0aXZlVGltZSwge1xyXG4gIHRocmVzaG9sZHM6IFtcclxuICAgIHsgbDogJ3MnLCByOiAxIH0sXHJcbiAgICB7IGw6ICdtJywgcjogMSB9LFxyXG4gICAgeyBsOiAnbW0nLCByOiA1OSwgZDogJ21pbnV0ZScgfSxcclxuICAgIHsgbDogJ2gnLCByOiAxIH0sXHJcbiAgICB7IGw6ICdoaCcsIHI6IDI0LCBkOiAnaG91cicgfSxcclxuICAgIHsgbDogJ2QnLCByOiAxIH0sXHJcbiAgICB7IGw6ICdkZCcsIHI6IDI5LCBkOiAnZGF5JyB9LFxyXG4gICAgeyBsOiAnTScsIHI6IDEgfSxcclxuICAgIHsgbDogJ01NJywgcjogMTEsIGQ6ICdtb250aCcgfSxcclxuICAgIHsgbDogJ3knIH0sXHJcbiAgICB7IGw6ICd5eScsIGQ6ICd5ZWFyJyB9XHJcbiAgXVxyXG59KTtcclxuZGF5anMuZXh0ZW5kKGR1cmF0aW9uKTtcclxuZGF5anMuZXh0ZW5kKGNhbGVuZGFyKTtcclxuXHJcbmNvbnN0IENPUkVfQ09NUE9ORU5UUyA9IFtDdWJlQ29tcGFyZVdpZGdldCwgQ3ViZVBhcmFsbGVsVmlld0NvbXBvbmVudCwgQ3ViZUV4cGxvcmVWaWV3Q29tcG9uZW50LCBDdWJlQ2hhcnRWaWV3Q29tcG9uZW50LCBDdWJlRG9jdW1lbnRTdW1Db21wb25lbnQsIEN1YmVEb2N1bWVudE1hdHJpeENvbXBvbmVudCwgQ3ViZURvY3VtZW50Vmlld0NvbXBvbmVudCwgQ3ViZVBpdm90Vmlld0NvbXBvbmVudCwgVGltZWxpbmVWaWV3Q29tcG9uZW50LFxyXG4gIFN1YnN0aXR1dGlvbkNvbXBvbmVudCwgTW92ZVRvQWN0aW9uQ29tcG9uZW50LCBBc3NpZ25BY3Rpb25Db21wb25lbnQsIFJldHVybkFjdGlvbkNvbXBvbmVudCwgRXhwbG9yZURvY3VtZW50Q29tcG9uZW50LFxyXG4gIEFjdGlvbnNXaWRnZXQsIEN1YmVBbmFseXNpc1dpZGdldCwgQ3ViZURvY3VtZW50c1dpZGdldCwgUmVjZW50c1dpZGdldCwgUGVyc29uYWxBY3Rpdml0eVdpZGdldCxcclxuICBDb21wYXJlRGVwYXJ0bWVudHNXaWRnZXQsIFBlZXJzUGVyZm9ybWFuY2VXaWRnZXQsIFBlbmRpbmdSZXN1bHRzV2lkZ2V0LCBQZXJzb25hbFNjb3JlV2lkZ2V0LCBDdWJlV2lkZ2V0RmlsdGVyQ29tcG9uZW50LFxyXG4gIEN1YmVEb2N1bWVudHNDb21wb25lbnQsIFRhc2tzQ29tcG9uZW50LCBVc2FnZVJlcG9ydEFyZ3MsIEN1YmVVc2FnZUNvbXBvbmVudFxyXG5dO1xyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0N1YmVDb21wYXJlV2lkZ2V0LCBDdWJlVXNhZ2VDb21wb25lbnQsIEN1YmVEb2N1bWVudHNDb21wb25lbnQsIEZpbGVJbnB1dCwgRGF0ZUZvcm1hdFBpcGUsIENhbGVuZGFyUGlwZSwgRGlmZmVyZW5jZVBpcGUsIER1cmF0aW9uUGlwZSwgVGltZUFnb1BpcGUsXHJcbiAgICBDaGVja2JveENvbXBvbmVudCwgQ3ViZVBhcmFsbGVsQ29tcG9uZW50LCBDdWJlU3VtQ29tcG9uZW50LCBDdWJlUGFyYWxsZWxWaWV3Q29tcG9uZW50LCBDdWJlQ2hhcnRWaWV3Q29tcG9uZW50LCBDdWJlRXhwbG9yZVZpZXdDb21wb25lbnQsIEN1YmVEb2N1bWVudFN1bUNvbXBvbmVudCwgRXhwbG9yZUl0ZW1JbXBsQ29tcG9uZW50LCBEb2N1bWVudEluZm9Db21wb25lbnQsIERvY3VtZW50Vmlld3NDb21wb25lbnQsIFZpZXdJdGVtQ29tcG9uZW50LCBDdWJlRG9jdW1lbnRNYXRyaXhDb21wb25lbnQsIEN1YmVEb2N1bWVudFZpZXdDb21wb25lbnQsIEN1YmVQaXZvdFZpZXdDb21wb25lbnQsIEFjdGlvblBpY2tlciwgSHRtbFNpbXBsZVBpcGUsIFF1aWNrQ29tbWVudENvbXBvbmVudCxcclxuICAgIER1cmF0aW9uRm9ybWF0UGlwZSwgQ29tYmluYXRpb25QaWNrZXIsIENvbWJpbmF0aW9uUGlja2VyQm9keSwgQ29tYmluYXRpb25Qb29sLCBUaW1lbGluZVZpZXdDb21wb25lbnQsXHJcbiAgICBNYXRJY29uQW5pbWF0ZSwgRGF0ZVJhbmdlUGlwZSwgQWdvUGlwZSwgQ29sb3JQaWNrZXIsIFN0YXRlRGlyZWN0aXZlLCBCcm9rZW5QYWdlLFxyXG4gICAgSm9pblBpcGUsIFRpbWVQaWNrZXIsXHJcbiAgICBUeXBlVmFsdWVQaXBlLCBUeXBlU2VsZWN0LCBUeXBlQXV0b2NvbXBsZXRlLCBUcmFuc2xhdGVQaXBlLCBJZGVudGl0eU5hbWUsIFNhbml0aXplSHRtbFBpcGUsXHJcbiAgICBBY2VJbnB1dCwgVGltZXNwYW5JbnB1dCwgQWRkcmVzc0lucHV0LFxyXG4gICAgU3RhdGVQaXBlLCBBY3Rpb25QaXBlLCBSb2xlUGlwZSwgRm9ybVBpcGUsIEZpbHRlclBpcGUsIEFycmF5U29ydFBpcGUsIFVzZXJOYW1lUGlwZSxcclxuICAgIExheW91dENvbXBvbmVudCxcclxuICAgIEh0bWxGaWVsZCwgRmlsZUZpZWxkLCBOdW1lcmljRmllbGQsIEF1dG9jb21wbGV0ZUZpZWxkLCBDaGVja0ZpZWxkLCBEYXRlRmllbGQsIERhdGVSYW5nZUZpZWxkLCBFeHByZXNzaW9uRmllbGQsIElucHV0RmllbGQsIFNlbGVjdEZpZWxkLCBTd2l0Y2hGaWVsZCwgVGV4dGFyZWFGaWVsZCwgVGltZXNwYW5GaWVsZCxcclxuICAgIFJldHVybkFjdGlvbkNvbXBvbmVudCwgQXNzaWduQWN0aW9uQ29tcG9uZW50LCBNb3ZlVG9BY3Rpb25Db21wb25lbnQsXHJcbiAgICBBdmF0YXJDb21wb25lbnQsIFBlb3BsZUNvbXBvbmVudCwgRWRpdElucHV0Q29tcG9uZW50LFxyXG4gICAgTmd4Q29tcG9uZW50T3V0bGV0LFxyXG4gICAgQml6RG9jQXBwLFxyXG4gICAgTG90dGllQW5pbWF0aW9uLFxyXG4gICAgQ29udGFjdHNDb21wb25lbnQsXHJcbiAgICBDdWJlTWF0cml4Q29tcG9uZW50LCBGaWx0ZXJUYWdzQ29tcG9uZW50LCBFeHBsb3JlSXRlbXNDb21wb25lbnQsXHJcbiAgICBDb21wYXJlTmFtZURpcmVjdGl2ZSwgQ29tcGFyZUdyb3VwRGlyZWN0aXZlLCBDb21wYXJlQ29udGV4dERpcmVjdGl2ZSxcclxuICAgIEd1aWRlQ29tcG9uZW50LFxyXG4gICAgT3V0T2ZPZmZpY2VUb2FzdCxcclxuICAgIE5vdGlmaWNhdGlvbnNUYWJsZUNvbXBvbmVudCwgTm90aWZpY2F0aW9uc0ZpbHRlckNvbXBvbmVudCxcclxuICAgIFRhZ2dpbmdQaXBlLFxyXG4gICAgUHJpdmlsZWdlSGlkZGVuRGlyZWN0aXZlLFxyXG4gICAgVGFnZ2luZ0l0ZW1EaXJlY3RpdmUsIFRhZ2dpbmdEaXJlY3RpdmUsIERvY3VtZW50VGFnZ2luZ0NvbXBvbmVudCwgVXNlclRhZ2dpbmdDb21wb25lbnQsXHJcbiAgICBQcml2aWxlZ2VEaXNhYmxlZERpcmVjdGl2ZSwgQ3ViZURvY3VtZW50c0dyaWRDb21wb25lbnQsXHJcbiAgICBMb25nUnVubmluZ1Rhc2tOb3RpZmljYXRpb24sIFRhZ2dlZE5vdGlmaWNhdGlvbiwgQ29tbWVudGVkTm90aWZpY2F0aW9uLCBOdWRnZU5vdGlmaWNhdGlvbiwgVGV4dE5vdGlmaWNhdGlvbiwgQ3ViZUFub21hbHlOb3RpZmljYXRpb24sIEVzY2FsYXRlZE5vdGlmaWNhdGlvbiwgTGlrZWROb3RpZmljYXRpb24sIFN0YXRlQ2hhbmdlZE5vdGlmaWNhdGlvbiwgVXBjb21pbmdFdmVudE5vdGlmaWNhdGlvbixcclxuICAgIE5vbmVDb21wb25lbnQsIFNjaGVkdWxlVmlld0NvbXBvbmVudCxcclxuICAgIE9wdGlvbnNDb21wb25lbnQsIFRyYWNlVmlld0NvbXBvbmVudCxcclxuICAgIFByb2dyZXNzRGlyZWN0aXZlLFxyXG4gICAgQXR0YWNobWVudHNDb21wb25lbnQsXHJcbiAgICBEb2N1bWVudEV2ZW50c0NvbXBvbmVudCxcclxuICAgIFRhZ3NDb21wb25lbnQsXHJcbiAgICBNYXBDb21wb25lbnQsXHJcbiAgICBNYXNrQ29tcG9uZW50LFxyXG4gICAgU2F2ZUNoYW5nZXNEaWFsb2csXHJcbiAgICBGbG93Vmlld0NvbXBvbmVudCxcclxuICAgIFN1YnN0aXR1dGlvbkNvbXBvbmVudCxcclxuICAgIFBvcHVwQ29tcG9uZW50LFxyXG4gICAgQXR0YWNobWVudFByZXZpZXcsIENvbW1lbnRzQ29tcG9uZW50LCBDb21tZW50Q29tcG9uZW50LCBFZGl0Q29tbWVudENvbXBvbmVudCwgQ29tbWVudExpa2VzQ29tcG9uZW50LCBDb21tZW50RWRpdHNDb21wb25lbnQsXHJcbiAgICBCcm93c2VJdGVtc0NvbXBvbmVudCxcclxuICAgIEJyb3dzZUZpbHRlckNvbXBvbmVudCwgRXhwYW5kZWRJdGVtQ29tcG9uZW50LFxyXG4gICAgQ29tcG9zZUZvcm1Db21wb25lbnQsXHJcbiAgICBDdWJlVmlld0NvbXBvbmVudCxcclxuICAgIEN1YmVGaWx0ZXJDb21wb25lbnQsXHJcbiAgICBDdWJlQWNjdW11bGF0aW9uQ2hhcnRDb21wb25lbnQsXHJcbiAgICBDdWJlQ2hhcnRDb21wb25lbnQsIEN1YmVQaXZvdENvbXBvbmVudCxcclxuICAgIEN1YmVTcHJlYWRzaGVldENvbXBvbmVudCxcclxuICAgIEN1YmVHcmlkQ29tcG9uZW50LFxyXG4gICAgUmVwb3J0Vmlld2VyQ29tcG9uZW50LCBUYWJsZVZpZXdDb21wb25lbnQsIFJlcG9ydEFyZ3VtZW50c0NvbXBvbmVudCxcclxuICAgIERhc2hib2FyZENvbXBvbmVudCwgV2lkZ2V0SXRlbUNvbXBvbmVudCwgQ3ViZVdpZGdldEZpbHRlckNvbXBvbmVudCwgQ3ViZUFjY3VtQW5hbHlzaXNXaWRnZXQsIEN1YmVBbmFseXNpc1dpZGdldCwgQ3ViZUNoYXJ0QW5hbHlzaXNXaWRnZXQsIEFjdGlvbnNXaWRnZXQsIFJlY2VudHNXaWRnZXQsXHJcbiAgICBBc2tEaWFsb2csIEFib3V0RGlhbG9nLCBBY3Rpb25EaWFsb2csXHJcbiAgICBJbXBlcnNvbmF0ZURpYWxvZyxcclxuICAgIENvbnZlcnNhdGlvbkNvbXBvbmVudCwgQ3ViZU1hdHJpeFBvcHVwQ29tcG9uZW50LFxyXG4gICAgVmVyc2lvbkNvbXBhcmVDb21wb25lbnQsIEV4cGxvcmVEb2N1bWVudENvbXBvbmVudCwgVGFza3NDb21wb25lbnQsXHJcbiAgICBQZW5kaW5nUmVzdWx0c1dpZGdldCwgQ29tcGFyZURlcGFydG1lbnRzV2lkZ2V0LCBDdWJlRG9jdW1lbnRzVGFibGVDb21wb25lbnQsIEN1YmVEb2N1bWVudHNXaWRnZXQsXHJcbiAgICBQZXJzb25hbFNjb3JlV2lkZ2V0LCBQZXJzb25hbEFjdGl2aXR5V2lkZ2V0LCBQZWVyc1BlcmZvcm1hbmNlV2lkZ2V0LCBVc2FnZVBpdm90Q29tcG9uZW50LCBVc2FnZUNoYXJ0Q29tcG9uZW50LCBVc2FnZVJlcG9ydEFyZ3MsXHJcbiAgICBFbW9qaUhvc3RDb21wb25lbnQsIFRvb2x0aXBEaXJlY3RpdmUsIFRvb2x0aXBDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRmxleExheW91dE1vZHVsZSxcclxuICAgIFJvdXRlck1vZHVsZSxcclxuICAgIFBpY2tlck1vZHVsZSxcclxuICAgIFN5bmNmdXNpb25HYW50dE1vZHVsZSxcclxuICAgIFN5bmNmdXNpb25TY2hlZHVsZU1vZHVsZSwgXHJcbiAgICBTeW5jZnVzaW9uQ2lyY3VsYXJHYXVnZU1vZHVsZSxcclxuICAgIFN5bmNmdXNpb25DaGFydE1vZHVsZSxcclxuICAgIFN5bmNmdXNpb25HYW50dE1vZHVsZSxcclxuICAgIFN5bmNmdXNpb25HcmlkTW9kdWxlLFxyXG4gICAgU3luY2Z1c2lvblRleHRFZGl0b3JNb2R1bGUsXHJcbiAgICBTeW5jZnVzaW9uU3ByZWFkc2hlZXRNb2R1bGUsXHJcbiAgICBTeW5jZnVzaW9uUGl2b3RNb2R1bGUsXHJcbiAgICBLYW5iYW5Nb2R1bGUsXHJcbiAgICBTeW5jZnVzaW9uRGlhZ3JhbU1vZHVsZSxcclxuICAgIE1hdGVyaWFsTW9kdWxlXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtQb3B1cCwgQ29tcG9zZURpc21pc3MsIEl0ZW1SZXNvbHZlU2VydmljZSxcclxuICAgIFJlY2lwaWVudFJlc29sdmVTZXJ2aWNlLCBEb2N1bWVudFJlc29sdmVTZXJ2aWNlLFxyXG4gICAgQXR0YWNobWVudEluZm8sIE1hcEluZm8sIEN1YmVJbmZvLFxyXG4gICAgQ2FuRGVhY3RpdmF0ZUNvbXBvc2UsIE1haWxib3hTZXJ2aWNlLCBTZXNzaW9uU2VydmljZSwgSHViU2VydmljZSxcclxuICAgIEFjY291bnRTZXJ2aWNlLFxyXG4gICAgU2F2ZUNoYW5nZXNEaWFsb2csXHJcbiAgICBEYXRlUmFuZ2VQaXBlLCBBZ29QaXBlLCBEdXJhdGlvbkZvcm1hdFBpcGUsXHJcbiAgICBEb2N1bWVudEluZm8sIENvb2tpZVNlcnZpY2UsXHJcbiAgICBXaW5kb3dUaXRsZVNlcnZpY2UsIE5vdGlmaWNhdGlvbnNTZXJ2aWNlLFxyXG4gICAgQ3ViZVNlcnZpY2UsIERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgQWNjb3VudFNlcnZpY2UsIENoYXRTZXJ2aWNlLCBDaGF0SW5mbyxcclxuICAgIEd1aWRlU2VydmljZSwgT3B0aW9uc1NlcnZpY2UsIFxyXG4gICAgQml6RG9jQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBQcm9tcHRTZXJ2aWNlLCBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgLy97IHByb3ZpZGU6IExPQ0FMRV9JRCwgdXNlQ2xhc3M6IFNlc3Npb25TZXJ2aWNlLmdldExvY2FsZSgpIH0sXHJcbiAgICB7IHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLCB1c2VDbGFzczogQXBwSHR0cEludGVyY2VwdG9yLCBtdWx0aTogdHJ1ZSB9LFxyXG4gICAgeyBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsIHVzZUZhY3Rvcnk6IFRyYW5zbGF0ZVByb3ZpZGVyRmFjdG9yeSwgZGVwczogW1RyYW5zbGF0ZVNlcnZpY2VdLCBtdWx0aTogdHJ1ZSB9LFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW0ZpbGVJbnB1dCwgRmlsdGVyVGFnc0NvbXBvbmVudCxcclxuICAgIERhdGVGb3JtYXRQaXBlLCBDYWxlbmRhclBpcGUsIERpZmZlcmVuY2VQaXBlLCBEdXJhdGlvblBpcGUsIFRpbWVBZ29QaXBlLFxyXG4gICAgQ2hlY2tib3hDb21wb25lbnQsIEN1YmVQYXJhbGxlbENvbXBvbmVudCwgQ3ViZVN1bUNvbXBvbmVudCwgRXhwbG9yZUl0ZW1JbXBsQ29tcG9uZW50LCBEb2N1bWVudEluZm9Db21wb25lbnQsIERvY3VtZW50Vmlld3NDb21wb25lbnQsIERhc2hib2FyZENvbXBvbmVudCxcclxuICAgIFRhZ3NDb21wb25lbnQsIFF1aWNrQ29tbWVudENvbXBvbmVudCxcclxuICAgIE1hdGVyaWFsTW9kdWxlLCBDb21tZW50c0NvbXBvbmVudCwgQnJva2VuUGFnZSxcclxuICAgIEFjdGlvbkRpYWxvZywgQnJvd3NlRmlsdGVyQ29tcG9uZW50LCBDdWJlRmlsdGVyQ29tcG9uZW50LCBTY2hlZHVsZVZpZXdDb21wb25lbnQsIFJlcG9ydFZpZXdlckNvbXBvbmVudCwgV2lkZ2V0SXRlbUNvbXBvbmVudCwgQ3ViZVZpZXdDb21wb25lbnQsXHJcbiAgICBFeHBsb3JlSXRlbXNDb21wb25lbnQsIENvbXBvc2VGb3JtQ29tcG9uZW50LCBCcm93c2VJdGVtc0NvbXBvbmVudCwgTm90aWZpY2F0aW9uc1RhYmxlQ29tcG9uZW50LFxyXG4gICAgQWN0aW9uUGlja2VyLCBDb252ZXJzYXRpb25Db21wb25lbnQsIFN0YXRlRGlyZWN0aXZlLFxyXG4gICAgQ29udGFjdHNDb21wb25lbnQsIEN1YmVNYXRyaXhDb21wb25lbnQsXHJcbiAgICBEdXJhdGlvbkZvcm1hdFBpcGUsIENvbWJpbmF0aW9uUGlja2VyLCBDb21iaW5hdGlvblBvb2wsIFRpbWVQaWNrZXIsXHJcbiAgICBUb29sdGlwRGlyZWN0aXZlLCBEYXRlUmFuZ2VQaXBlLFxyXG4gICAgTmd4Q29tcG9uZW50T3V0bGV0LCBNYXRJY29uQW5pbWF0ZSxcclxuICAgIEFjZUlucHV0LCBKb2luUGlwZSxcclxuICAgIFR5cGVWYWx1ZVBpcGUsIFR5cGVTZWxlY3QsIFR5cGVBdXRvY29tcGxldGUsIFN0YXRlUGlwZSwgQWN0aW9uUGlwZSwgUm9sZVBpcGUsIEZvcm1QaXBlLCBGaWx0ZXJQaXBlLCBBcnJheVNvcnRQaXBlLCBVc2VyTmFtZVBpcGUsIFNhbml0aXplSHRtbFBpcGUsXHJcbiAgICBUcmFuc2xhdGVQaXBlLCBJZGVudGl0eU5hbWUsXHJcbiAgICBBZGRyZXNzSW5wdXQsIEF2YXRhckNvbXBvbmVudCwgUmVwb3J0QXJndW1lbnRzQ29tcG9uZW50LFxyXG4gICAgQml6RG9jQXBwLCBBdHRhY2htZW50UHJldmlldywgUHJpdmlsZWdlSGlkZGVuRGlyZWN0aXZlLFxyXG4gICAgUHJpdmlsZWdlRGlzYWJsZWREaXJlY3RpdmUsIENvbXBhcmVHcm91cERpcmVjdGl2ZSwgQ29tcGFyZU5hbWVEaXJlY3RpdmUsIENvbXBhcmVDb250ZXh0RGlyZWN0aXZlLCBUcmFjZVZpZXdDb21wb25lbnQsIEZsb3dWaWV3Q29tcG9uZW50LFxyXG4gICAgQXNzaWduQWN0aW9uQ29tcG9uZW50LCBSZXR1cm5BY3Rpb25Db21wb25lbnQsIEV4cGxvcmVEb2N1bWVudENvbXBvbmVudCxcclxuICAgIEN1YmVDb21wYXJlV2lkZ2V0LCBBY3Rpb25zV2lkZ2V0LCBDdWJlQW5hbHlzaXNXaWRnZXQsIEN1YmVEb2N1bWVudHNXaWRnZXQsIFJlY2VudHNXaWRnZXQsIFBlcnNvbmFsQWN0aXZpdHlXaWRnZXQsXHJcbiAgICBDb21wYXJlRGVwYXJ0bWVudHNXaWRnZXQsIFBlZXJzUGVyZm9ybWFuY2VXaWRnZXQsIFBlbmRpbmdSZXN1bHRzV2lkZ2V0LCBQZXJzb25hbFNjb3JlV2lkZ2V0LCBDdWJlV2lkZ2V0RmlsdGVyQ29tcG9uZW50LFxyXG4gICAgQ3ViZURvY3VtZW50c1RhYmxlQ29tcG9uZW50LCBDdWJlRG9jdW1lbnRzR3JpZENvbXBvbmVudCwgVGFza3NDb21wb25lbnQsIFVzYWdlUmVwb3J0QXJncywgVXNhZ2VDaGFydENvbXBvbmVudCwgVXNhZ2VQaXZvdENvbXBvbmVudCwgVGltZXNwYW5JbnB1dCxcclxuICAgIFZlcnNpb25Db21wYXJlQ29tcG9uZW50LCBMb3R0aWVBbmltYXRpb24sXHJcbiAgICBDdWJlQWNjdW11bGF0aW9uQ2hhcnRDb21wb25lbnQsXHJcbiAgICBDdWJlQ2hhcnRDb21wb25lbnQsIEN1YmVQaXZvdENvbXBvbmVudCxcclxuICAgIEN1YmVTcHJlYWRzaGVldENvbXBvbmVudCxcclxuICAgIEN1YmVHcmlkQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2hhcmVkTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yQ2hpbGQoY29uZmlnPzogU2hhcmVkQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxTaGFyZWRNb2R1bGU+IHtcclxuICAgIGNvbnN0IHsgZm9ybWF0cyB9ID0gY29uZmlnIHx8IHt9O1xyXG4gICAgcmVnaXN0ZXJDb21wb25lbnRzKENPUkVfQ09NUE9ORU5UUyk7XHJcbiAgICBjb25zdCBwcm92aWRlcnMgPSBbe1xyXG4gICAgICBwcm92aWRlOiBSb3V0ZXJJbXBsLCB1c2VDbGFzczogIWNvbmZpZyB8fCAhY29uZmlnLnJvdXRpbmcgfHwgY29uZmlnLnJvdXRpbmcgPT09ICduZycgPyBOZ1JvdXRlciA6IFBhbmVSb3V0ZXJcclxuICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZToge1xyXG4gICAgICAgICAgcGFyc2U6IHtcclxuICAgICAgICAgICAgZGF0ZUlucHV0OiAnTEwnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRpc3BsYXk6IHtcclxuICAgICAgICAgICAgZGF0ZUlucHV0OiAoZm9ybWF0cyB8fCB7fSkuZGF0ZSB8fCAnbGwnLFxyXG4gICAgICAgICAgICBtb250aFllYXJMYWJlbDogJ01NTSBZWVlZJyxcclxuICAgICAgICAgICAgZGF0ZUExMXlMYWJlbDogJ0xMJyxcclxuICAgICAgICAgICAgbW9udGhZZWFyQTExeUxhYmVsOiAnTU1NTSBZWVlZJyxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0gICAgXSBhcyBQcm92aWRlcltdO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IFNoYXJlZE1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==