@fundamental-ngx/core 0.36.1-rc.7 → 0.36.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/action-bar/package.json +1 -1
  2. package/action-sheet/package.json +1 -1
  3. package/alert/package.json +1 -1
  4. package/avatar/package.json +1 -1
  5. package/avatar-group/package.json +1 -1
  6. package/bar/package.json +1 -1
  7. package/breadcrumb/package.json +1 -1
  8. package/busy-indicator/package.json +1 -1
  9. package/button/package.json +1 -1
  10. package/calendar/package.json +1 -1
  11. package/card/package.json +1 -1
  12. package/carousel/package.json +1 -1
  13. package/checkbox/package.json +1 -1
  14. package/combobox/package.json +1 -1
  15. package/content-density/package.json +2 -2
  16. package/date-picker/package.json +1 -1
  17. package/datetime/package.json +1 -1
  18. package/datetime-picker/package.json +1 -1
  19. package/dialog/esm2020/dialog.component.mjs +2 -2
  20. package/dialog/fesm2015/fundamental-ngx-core-dialog.mjs +1 -1
  21. package/dialog/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
  22. package/dialog/fesm2020/fundamental-ngx-core-dialog.mjs +1 -1
  23. package/dialog/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
  24. package/dialog/package.json +1 -1
  25. package/dynamic-page/package.json +1 -1
  26. package/dynamic-side-content/package.json +1 -1
  27. package/esm2020/dialog/dialog.component.mjs +2 -2
  28. package/esm2020/list/directives/list-group-header.directive.mjs +18 -6
  29. package/esm2020/list/list.component.mjs +2 -2
  30. package/esm2020/table/table-wrapper.component.mjs +6 -22
  31. package/esm2020/table/table.component.mjs +15 -10
  32. package/esm2020/time/time-column/time-column.component.mjs +5 -47
  33. package/esm2020/utils/services/keyboard-support/keyboard-support.service.mjs +9 -13
  34. package/facets/package.json +1 -1
  35. package/feed-input/package.json +1 -1
  36. package/feed-list-item/package.json +1 -1
  37. package/fesm2015/fundamental-ngx-core-dialog.mjs +1 -1
  38. package/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
  39. package/fesm2015/fundamental-ngx-core-list.mjs +16 -5
  40. package/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
  41. package/fesm2015/fundamental-ngx-core-table.mjs +22 -30
  42. package/fesm2015/fundamental-ngx-core-table.mjs.map +1 -1
  43. package/fesm2015/fundamental-ngx-core-time.mjs +4 -46
  44. package/fesm2015/fundamental-ngx-core-time.mjs.map +1 -1
  45. package/fesm2015/fundamental-ngx-core-utils.mjs +8 -12
  46. package/fesm2015/fundamental-ngx-core-utils.mjs.map +1 -1
  47. package/fesm2020/fundamental-ngx-core-dialog.mjs +1 -1
  48. package/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
  49. package/fesm2020/fundamental-ngx-core-list.mjs +16 -5
  50. package/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
  51. package/fesm2020/fundamental-ngx-core-table.mjs +22 -30
  52. package/fesm2020/fundamental-ngx-core-table.mjs.map +1 -1
  53. package/fesm2020/fundamental-ngx-core-time.mjs +4 -46
  54. package/fesm2020/fundamental-ngx-core-time.mjs.map +1 -1
  55. package/fesm2020/fundamental-ngx-core-utils.mjs +8 -12
  56. package/fesm2020/fundamental-ngx-core-utils.mjs.map +1 -1
  57. package/file-uploader/package.json +1 -1
  58. package/fixed-card-layout/package.json +1 -1
  59. package/flexible-column-layout/package.json +1 -1
  60. package/form/package.json +1 -1
  61. package/formatted-text/package.json +1 -1
  62. package/grid-list/package.json +1 -1
  63. package/icon/package.json +1 -1
  64. package/illustrated-message/package.json +1 -1
  65. package/infinite-scroll/package.json +1 -1
  66. package/info-label/package.json +1 -1
  67. package/inline-help/package.json +1 -1
  68. package/input-group/package.json +1 -1
  69. package/layout-grid/package.json +1 -1
  70. package/layout-panel/package.json +1 -1
  71. package/link/package.json +1 -1
  72. package/list/directives/list-group-header.directive.d.ts +2 -2
  73. package/list/esm2020/directives/list-group-header.directive.mjs +18 -6
  74. package/list/esm2020/list.component.mjs +2 -2
  75. package/list/fesm2015/fundamental-ngx-core-list.mjs +16 -5
  76. package/list/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
  77. package/list/fesm2020/fundamental-ngx-core-list.mjs +16 -5
  78. package/list/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
  79. package/list/package.json +1 -1
  80. package/menu/package.json +1 -1
  81. package/message-box/package.json +1 -1
  82. package/message-strip/package.json +1 -1
  83. package/message-toast/package.json +1 -1
  84. package/micro-process-flow/package.json +1 -1
  85. package/mobile-mode/package.json +1 -1
  86. package/multi-input/package.json +1 -1
  87. package/nested-list/package.json +1 -1
  88. package/notification/package.json +1 -1
  89. package/object-identifier/package.json +1 -1
  90. package/object-marker/package.json +1 -1
  91. package/object-number/package.json +1 -1
  92. package/object-status/package.json +1 -1
  93. package/overflow-layout/package.json +4 -4
  94. package/package.json +2 -2
  95. package/pagination/package.json +1 -1
  96. package/panel/package.json +1 -1
  97. package/popover/package.json +1 -1
  98. package/product-switch/package.json +1 -1
  99. package/progress-indicator/package.json +1 -1
  100. package/quick-view/package.json +1 -1
  101. package/radio/package.json +1 -1
  102. package/rating-indicator/package.json +1 -1
  103. package/resizable-card-layout/package.json +1 -1
  104. package/scroll-spy/package.json +1 -1
  105. package/scrollbar/package.json +1 -1
  106. package/segmented-button/package.json +1 -1
  107. package/select/package.json +1 -1
  108. package/shared/package.json +1 -1
  109. package/shellbar/package.json +1 -1
  110. package/side-navigation/package.json +1 -1
  111. package/slider/package.json +1 -1
  112. package/split-button/package.json +1 -1
  113. package/splitter/package.json +1 -1
  114. package/status-indicator/package.json +1 -1
  115. package/step-input/package.json +1 -1
  116. package/switch/package.json +1 -1
  117. package/table/esm2020/table-wrapper.component.mjs +6 -22
  118. package/table/esm2020/table.component.mjs +15 -10
  119. package/table/fesm2015/fundamental-ngx-core-table.mjs +22 -30
  120. package/table/fesm2015/fundamental-ngx-core-table.mjs.map +1 -1
  121. package/table/fesm2020/fundamental-ngx-core-table.mjs +22 -30
  122. package/table/fesm2020/fundamental-ngx-core-table.mjs.map +1 -1
  123. package/table/package.json +1 -1
  124. package/table/table-wrapper.component.d.ts +3 -10
  125. package/table/table.component.d.ts +1 -8
  126. package/tabs/package.json +1 -1
  127. package/text/package.json +1 -1
  128. package/theming/package.json +1 -1
  129. package/tile/package.json +1 -1
  130. package/time/esm2020/time-column/time-column.component.mjs +5 -47
  131. package/time/fesm2015/fundamental-ngx-core-time.mjs +4 -46
  132. package/time/fesm2015/fundamental-ngx-core-time.mjs.map +1 -1
  133. package/time/fesm2020/fundamental-ngx-core-time.mjs +4 -46
  134. package/time/fesm2020/fundamental-ngx-core-time.mjs.map +1 -1
  135. package/time/package.json +1 -1
  136. package/time/time-column/time-column.component.d.ts +0 -20
  137. package/time-picker/package.json +1 -1
  138. package/timeline/package.json +1 -1
  139. package/title/package.json +1 -1
  140. package/token/package.json +1 -1
  141. package/toolbar/package.json +1 -1
  142. package/tree/package.json +1 -1
  143. package/upload-collection/package.json +1 -1
  144. package/utils/esm2020/services/keyboard-support/keyboard-support.service.mjs +9 -13
  145. package/utils/fesm2015/fundamental-ngx-core-utils.mjs +8 -12
  146. package/utils/fesm2015/fundamental-ngx-core-utils.mjs.map +1 -1
  147. package/utils/fesm2020/fundamental-ngx-core-utils.mjs +8 -12
  148. package/utils/fesm2020/fundamental-ngx-core-utils.mjs.map +1 -1
  149. package/utils/package.json +1 -1
  150. package/utils/services/keyboard-support/keyboard-support.service.d.ts +1 -7
  151. package/vertical-navigation/package.json +1 -1
  152. package/wizard/package.json +1 -1
@@ -56,7 +56,7 @@ export class ListComponent {
56
56
  }
57
57
  /** @hidden */
58
58
  ngAfterContentInit() {
59
- this._keyboardSupportService.setKeyboardService(this._focusItems, false, false);
59
+ this._keyboardSupportService.setKeyboardService(this._focusItems, false);
60
60
  this._listenOnQueryChange();
61
61
  }
62
62
  /** @hidden */
@@ -207,4 +207,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
207
207
  type: HostListener,
208
208
  args: ['keydown', ['$event']]
209
209
  }] } });
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9saXN0L2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbGlzdC9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRCxPQUFPLEVBQXdCLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsK0JBQStCLEVBQy9CLGtCQUFrQixFQUNyQixNQUFNLHVDQUF1QyxDQUFDOzs7O0FBRS9DOzs7R0FHRztBQW1CSCxNQUFNLE9BQU8sYUFBYTtJQTBFdEIsY0FBYztJQUNkLFlBQ1ksdUJBQThELEVBQzlELElBQXVCLEVBQ3ZCLHVCQUErQztRQUYvQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXVDO1FBQzlELFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ3ZCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBd0I7UUE3RTNELG1GQUFtRjtRQUduRixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQix1RUFBdUU7UUFHdkUsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFFdkIseUNBQXlDO1FBR3pDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbkIsOENBQThDO1FBRzlDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbkIsaURBQWlEO1FBR2pELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsdURBQXVEO1FBR3ZELHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUU1QixzRUFBc0U7UUFHdEUsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixtRkFBbUY7UUFFbkYsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFFdkIsd0NBQXdDO1FBR3hDLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZixnREFBZ0Q7UUFFaEQsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUUzRCw0Q0FBNEM7UUFFNUMsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFjdEIsY0FBYztRQUNOLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU1QyxpR0FBaUc7UUFDaEYsZ0JBQVcsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVsRSx1R0FBdUc7UUFDdEYsZ0JBQVcsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVE5RCx1QkFBdUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsY0FBYztJQUNkLFFBQVE7UUFDSixJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsY0FBYztJQUNkLGtCQUFrQjtRQUNkLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVc7UUFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELGNBQWM7SUFFZCxjQUFjLENBQUMsS0FBb0I7UUFDL0IsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3RCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDakQ7SUFDTCxDQUFDO0lBRUQsa0RBQWtEO0lBQ2xELGFBQWEsQ0FBQyxLQUFhLEVBQUUsVUFBVSxHQUFHLEtBQUs7UUFDM0MsSUFBSSxVQUFVLEVBQUU7WUFDWixJQUFJLENBQUMsdUJBQXVCLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25FO2FBQU07WUFDSCxJQUFJLENBQUMsdUJBQXVCLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNoRTtJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ04sb0JBQW9CO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDcEYsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzNCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osd0VBQXdFO2dCQUN4RSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGNBQWM7SUFDTixtQkFBbUI7UUFDdkIsMENBQTBDO1FBQzFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdkIsT0FBTztTQUNWO1FBRUQsd0NBQXdDO1FBQ3hDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5RCxNQUFNLHlCQUF5QixHQUF5RCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FDeEcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDWixLQUFLLENBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUM5RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDMUYsQ0FDUixDQUFDO1FBQ0YsS0FBSyxDQUFDLEdBQUcseUJBQXlCLENBQUM7YUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUM1QixTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQsY0FBYztJQUNOLHFCQUFxQjtRQUN6QixJQUFJLGlCQUFpQixHQUFvQyxJQUFJLENBQUM7UUFDOUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDckMsSUFBSSxJQUFJLFlBQVksd0JBQXdCLEVBQUU7Z0JBQzFDLGlCQUFpQixHQUFHLElBQUksQ0FBQzthQUM1QjtpQkFBTSxJQUFJLElBQUksWUFBWSxpQkFBaUIsSUFBSSxpQkFBaUIsRUFBRTtnQkFDL0QsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGlCQUFpQixDQUFDLGVBQWUsQ0FBQzthQUNsRTtZQUNELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGNBQWM7SUFDTixhQUFhO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsY0FBYztJQUNOLHdCQUF3QjtRQUM1QixJQUFJLENBQUMsdUJBQXVCLENBQUMsZUFBZTthQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNqQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQzs7MEdBaExRLGFBQWE7OEZBQWIsYUFBYSxvN0JBUFg7UUFDUCxzQkFBc0I7UUFDdEIsK0JBQStCLENBQUM7WUFDNUIsU0FBUyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxrQkFBa0IsRUFBRTtTQUNsRSxDQUFDO0tBQ0wsZ0RBd0RnQixpQkFBaUIsNENBSWpCLDJCQUEyQiw4Q0FJM0IsYUFBYSw2QkNqSGxDLDZCQUNBOzJGRGtEYSxhQUFhO2tCQWxCekIsU0FBUzsrQkFFSSxxQkFBcUIsUUFFekI7d0JBQ0YsS0FBSyxFQUFFLFNBQVM7d0JBQ2hCLElBQUksRUFBRSxNQUFNO3FCQUNmLGlCQUVjLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Asc0JBQXNCO3dCQUN0QiwrQkFBK0IsQ0FBQzs0QkFDNUIsU0FBUyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxrQkFBa0IsRUFBRTt5QkFDbEUsQ0FBQztxQkFDTDtrTEFNRCxZQUFZO3NCQUZYLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMseUJBQXlCO2dCQU10QyxjQUFjO3NCQUZiLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsNEJBQTRCO2dCQU16QyxVQUFVO3NCQUZULEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsdUJBQXVCO2dCQU1wQyxVQUFVO3NCQUZULEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsNEJBQTRCO2dCQU16QyxRQUFRO3NCQUZQLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsMEJBQTBCO2dCQU12QyxtQkFBbUI7c0JBRmxCLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsc0NBQXNDO2dCQU1uRCxTQUFTO3NCQUZSLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsMEJBQTBCO2dCQUt2QyxlQUFlO3NCQURkLEtBQUs7Z0JBTU4sTUFBTTtzQkFGTCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLHVCQUF1QjtnQkFLcEMsZUFBZTtzQkFEZCxNQUFNO2dCQUtQLGFBQWE7c0JBRFosV0FBVzt1QkFBQywyQkFBMkI7Z0JBS3hDLEtBQUs7c0JBREosZUFBZTt1QkFBQyxpQkFBaUI7Z0JBS2xDLFNBQVM7c0JBRFIsZUFBZTt1QkFBQywyQkFBMkI7Z0JBS3BDLFdBQVc7c0JBRGxCLGVBQWU7dUJBQUMsYUFBYTtnQkF3QzlCLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LWl0ZW0vbGlzdC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBtZXJnZSwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN0YXJ0V2l0aCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRm9jdXNFc2NhcGVEaXJlY3Rpb24sIEtleWJvYXJkU3VwcG9ydFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgTGlzdEdyb3VwSGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2xpc3QtZ3JvdXAtaGVhZGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBMaXN0Rm9jdXNJdGVtIH0gZnJvbSAnLi9saXN0LWZvY3VzLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgTGlzdE5hdmlnYXRpb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LW5hdmlnYXRpb24taXRlbS9saXN0LW5hdmlnYXRpb24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBDb250ZW50RGVuc2l0eU9ic2VydmVyLFxuICAgIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMsXG4gICAgQ29udGVudERlbnNpdHlNb2RlXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuXG4vKipcbiAqIFRoZSBkaXJlY3RpdmUgdGhhdCByZXByZXNlbnRzIGEgbGlzdC5cbiAqIEl0IGlzIHVzZWQgdG8gZGlzcGxheSBhIGxpc3Qgb2YgaXRlbXMgd2l0aCBzaW1wbGUgaW5mb3JtYXRpb24gc3VjaCBhcyBzY29wZXMsIG5hbWVzLCBldGMuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZmQtbGlzdF0sIFtmZExpc3RdJyxcbiAgICB0ZW1wbGF0ZVVybDogYC4vbGlzdC5jb21wb25lbnQuaHRtbGAsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ZkLWxpc3QnLFxuICAgICAgICByb2xlOiAnbGlzdCdcbiAgICB9LFxuICAgIHN0eWxlVXJsczogWycuL2xpc3QuY29tcG9uZW50LnNjc3MnLCAnLi4vdXRpbHMvZHJhZy1hbmQtZHJvcC9kcmFnLWFuZC1kcm9wLnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBLZXlib2FyZFN1cHBvcnRTZXJ2aWNlLFxuICAgICAgICBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzKHtcbiAgICAgICAgICAgIG1vZGlmaWVyczogeyBbQ29udGVudERlbnNpdHlNb2RlLkNPTVBBQ1RdOiAnZmQtbGlzdC0tY29tcGFjdCcgfVxuICAgICAgICB9KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogV2hldGhlciBkcm9wZG93biBtb2RlIGlzIGluY2x1ZGVkIHRvIGNvbXBvbmVudCwgdXNlZCBmb3IgU2VsZWN0IGFuZCBDb21ib2JveCAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1saXN0LS1kcm9wZG93bicpXG4gICAgZHJvcGRvd25Nb2RlID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBtdWx0aSBtb2RlIGlzIGluY2x1ZGVkIHRvIGNvbXBvbmVudCwgdXNlZCBmb3IgTXVsdGlJbnB1dCAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1saXN0LS1tdWx0aS1pbnB1dCcpXG4gICAgbXVsdGlJbnB1dE1vZGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIGxpc3QgaXMgdXNlZCBpbiBtb2JpbGUgbW9kZSovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3QtLW1vYmlsZScpXG4gICAgbW9iaWxlTW9kZSA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgbGlzdCBjb21wb25lbnQgY29udGFpbnMgbWVzc2FnZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1saXN0LS1oYXMtbWVzc2FnZScpXG4gICAgaGFzTWVzc2FnZSA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgbGlzdCBjb21wb25lbnQgaGFzIHJlbW92ZWQgYm9yZGVycyAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1saXN0LS1uby1ib3JkZXInKVxuICAgIG5vQm9yZGVyID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBsaXN0IGNvbXBvbmVudCBoYXMgbmF2aWdhdGlvbiBpbmRpY2F0b3JzICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3QtLW5hdmlnYXRpb24taW5kaWNhdGlvbicpXG4gICAgbmF2aWdhdGlvbkluZGljYXRvciA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgbGlzdCBjb21wb25lbnQgaGFzIGNoZWNrYm94ZXMgb3IgcmFkaW8gYnV0dG9ucyBpbmNsdWRlZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1saXN0LS1zZWxlY3Rpb24nKVxuICAgIHNlbGVjdGlvbiA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgaW50ZXJuYWwga2V5Ym9hcmQgc3VwcG9ydCBzaG91bGQgYmUgZW5hYmxlZC4gSXQncyBlbmFibGVkIGJ5IGRlZmF1bHQgKi9cbiAgICBASW5wdXQoKVxuICAgIGtleWJvYXJkU3VwcG9ydCA9IHRydWU7XG5cbiAgICAvKiogV2hldGhlciBsaXN0IHNob3VsZCBoYXZlIGEgYnlsaW5lICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3QtLWJ5bGluZScpXG4gICAgYnlsaW5lID0gZmFsc2U7XG5cbiAgICAvKiogRXZlbnQgdGhyb3duLCB3aGVuIGZvY3VzIGVzY2FwZXMgdGhlIGxpc3QgKi9cbiAgICBAT3V0cHV0KClcbiAgICBmb2N1c0VzY2FwZUxpc3QgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXNjYXBlRGlyZWN0aW9uPigpO1xuXG4gICAgLyoqIFdoZXRoZXIgbGlzdCBjb21wb25lbnQgaW5jbHVkZXMgbGlua3MgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3QtLW5hdmlnYXRpb24nKVxuICAgIGhhc05hdmlnYXRpb24gPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihMaXN0SXRlbUNvbXBvbmVudClcbiAgICBpdGVtczogUXVlcnlMaXN0PExpc3RJdGVtQ29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihMaXN0TmF2aWdhdGlvbkl0ZW1Db21wb25lbnQpXG4gICAgX25hdkl0ZW1zOiBRdWVyeUxpc3Q8TGlzdE5hdmlnYXRpb25JdGVtQ29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihMaXN0Rm9jdXNJdGVtKVxuICAgIHByaXZhdGUgX2ZvY3VzSXRlbXM6IFF1ZXJ5TGlzdDxMaXN0Rm9jdXNJdGVtPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBBbiBSeEpTIFN1YmplY3QgdGhhdCB3aWxsIGtpbGwgdGhlIGRhdGEgc3RyZWFtIHVwb24gcXVlcnlMaXN0IGNoYW5nZXMgKGZvciB1bnN1YnNjcmliaW5nKSAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vblJlZnJlc2gkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBBbiBSeEpTIFN1YmplY3QgdGhhdCB3aWxsIGtpbGwgdGhlIGRhdGEgc3RyZWFtIHVwb24gY29tcG9uZW504oCZcyBkZXN0cnVjdGlvbiAoZm9yIHVuc3Vic2NyaWJpbmcpICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX29uRGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfa2V5Ym9hcmRTdXBwb3J0U2VydmljZTogS2V5Ym9hcmRTdXBwb3J0U2VydmljZTxMaXN0Rm9jdXNJdGVtPixcbiAgICAgICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBfY29udGVudERlbnNpdHlPYnNlcnZlcjogQ29udGVudERlbnNpdHlPYnNlcnZlclxuICAgICkge1xuICAgICAgICBfY29udGVudERlbnNpdHlPYnNlcnZlci5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9saXN0ZW5Pbkxpc3RGb2N1c0VzY2FwZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9rZXlib2FyZFN1cHBvcnRTZXJ2aWNlLnNldEtleWJvYXJkU2VydmljZSh0aGlzLl9mb2N1c0l0ZW1zLCBmYWxzZSwgZmFsc2UpO1xuICAgICAgICB0aGlzLl9saXN0ZW5PblF1ZXJ5Q2hhbmdlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25EZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIGtleURvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmtleWJvYXJkU3VwcG9ydCkge1xuICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRTdXBwb3J0U2VydmljZS5vbktleURvd24oZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFNldCBmYWtlIGZvY3VzIG9uIGVsZW1lbnQgd2l0aCBwYXNzZWQgaW5kZXggKi9cbiAgICBzZXRJdGVtQWN0aXZlKGluZGV4OiBudW1iZXIsIHVwZGF0ZU9ubHkgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodXBkYXRlT25seSkge1xuICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRTdXBwb3J0U2VydmljZS5rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0oaW5kZXgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRTdXBwb3J0U2VydmljZS5rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0oaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5PblF1ZXJ5Q2hhbmdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb2N1c0l0ZW1zLmNoYW5nZXMucGlwZShzdGFydFdpdGgoMCksIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3JlY2hlY2tMaW5rcygpO1xuICAgICAgICAgICAgdGhpcy5fbGlzdGVuT25JdGVtc0NsaWNrKCk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyB1c2luZyBzZXRUaW1lb3V0IHRvIGF2b2lkIEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3JcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUl0ZW1zUHJvcGVydGllcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuT25JdGVtc0NsaWNrKCk6IHZvaWQge1xuICAgICAgICAvKiogRmluaXNoIGFsbCB0aGUgc3RyZWFtcywgZnJvbSBiZWZvcmUgKi9cbiAgICAgICAgdGhpcy5fb25SZWZyZXNoJC5uZXh0KCk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmtleWJvYXJkU3VwcG9ydCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqIE1lcmdlIHJlZnJlc2gvZGVzdHJveSBvYnNlcnZhYmxlcyAqL1xuICAgICAgICBjb25zdCBjb21wbGV0aW9uJCA9IG1lcmdlKHRoaXMuX29uUmVmcmVzaCQsIHRoaXMuX29uRGVzdHJveSQpO1xuICAgICAgICBjb25zdCBpbnRlcmFjdGlvbkNoYW5nZXNJbmRleGVzOiBPYnNlcnZhYmxlPHsgaW5kZXg6IG51bWJlcjsgdXBkYXRlT25seTogYm9vbGVhbiB9PltdID0gdGhpcy5fZm9jdXNJdGVtcy5tYXAoXG4gICAgICAgICAgICAoaXRlbSwgaW5kZXgpID0+XG4gICAgICAgICAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uX2NsaWNrZWQkLnBpcGUobWFwKCgpID0+ICh7IGluZGV4LCB1cGRhdGVPbmx5OiBmYWxzZSB9KSkpLFxuICAgICAgICAgICAgICAgICAgICBpdGVtLl9mb2N1c2VkJC5waXBlKG1hcCgoeyBmb2N1c2VkV2l0aGluIH0pID0+ICh7IGluZGV4LCB1cGRhdGVPbmx5OiBmb2N1c2VkV2l0aGluIH0pKSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIG1lcmdlKC4uLmludGVyYWN0aW9uQ2hhbmdlc0luZGV4ZXMpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwoY29tcGxldGlvbiQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoeyBpbmRleCwgdXBkYXRlT25seSB9KSA9PiB0aGlzLnNldEl0ZW1BY3RpdmUoaW5kZXgsIHVwZGF0ZU9ubHkpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgdXBkYXRlSXRlbXNQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgICAgICBsZXQgY2xvc2VzdExpc3RIZWFkZXI6IExpc3RHcm91cEhlYWRlckRpcmVjdGl2ZSB8IG51bGwgPSBudWxsO1xuICAgICAgICB0aGlzLl9mb2N1c0l0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIExpc3RHcm91cEhlYWRlckRpcmVjdGl2ZSkge1xuICAgICAgICAgICAgICAgIGNsb3Nlc3RMaXN0SGVhZGVyID0gaXRlbTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbSBpbnN0YW5jZW9mIExpc3RJdGVtQ29tcG9uZW50ICYmIGNsb3Nlc3RMaXN0SGVhZGVyKSB7XG4gICAgICAgICAgICAgICAgaXRlbS5fcmVsYXRlZEdyb3VwSGVhZGVySWQgPSBjbG9zZXN0TGlzdEhlYWRlci5uYXRpdmVFbGVtZW50SWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpdGVtLnNldElzRmlyc3QoaW5kZXggPT09IDApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3JlY2hlY2tMaW5rcygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5saW5rKTtcbiAgICAgICAgdGhpcy5oYXNOYXZpZ2F0aW9uID0gaXRlbXMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3Rlbk9uTGlzdEZvY3VzRXNjYXBlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9rZXlib2FyZFN1cHBvcnRTZXJ2aWNlLmZvY3VzRXNjYXBlTGlzdFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGlyZWN0aW9uKSA9PiB0aGlzLmZvY3VzRXNjYXBlTGlzdC5lbWl0KGRpcmVjdGlvbikpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9saXN0L2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbGlzdC9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRCxPQUFPLEVBQXdCLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsK0JBQStCLEVBQy9CLGtCQUFrQixFQUNyQixNQUFNLHVDQUF1QyxDQUFDOzs7O0FBRS9DOzs7R0FHRztBQW1CSCxNQUFNLE9BQU8sYUFBYTtJQTBFdEIsY0FBYztJQUNkLFlBQ1ksdUJBQThELEVBQzlELElBQXVCLEVBQ3ZCLHVCQUErQztRQUYvQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXVD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QkFDUCxzQkFBc0I7d0JBQ3RCLCtCQUErQixDQUFDOzRCQUM1QixTQUFTLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxFQUFFLGtCQUFrQixFQUFFO3lCQUNsRSxDQUFDO3FCQUNMO2tMQU1ELFlBQVk7c0JBRlgsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyx5QkFBeUI7Z0JBTXRDLGNBQWM7c0JBRmIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBTXpDLFVBQVU7c0JBRlQsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBTXBDLFVBQVU7c0JBRlQsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBTXpDLFFBQVE7c0JBRlAsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQywwQkFBMEI7Z0JBTXZDLG1CQUFtQjtzQkFGbEIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxzQ0FBc0M7Z0JBTW5ELFNBQVM7c0JBRlIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQywwQkFBMEI7Z0JBS3ZDLGVBQWU7c0JBRGQsS0FBSztnQkFNTixNQUFNO3NCQUZMLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsdUJBQXVCO2dCQUtwQyxlQUFlO3NCQURkLE1BQU07Z0JBS1AsYUFBYTtzQkFEWixXQUFXO3VCQUFDLDJCQUEyQjtnQkFLeEMsS0FBSztzQkFESixlQUFlO3VCQUFDLGlCQUFpQjtnQkFLbEMsU0FBUztzQkFEUixlQUFlO3VCQUFDLDJCQUEyQjtnQkFLcEMsV0FBVztzQkFEbEIsZUFBZTt1QkFBQyxhQUFhO2dCQXdDOUIsY0FBYztzQkFEYixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGb2N1c0VzY2FwZURpcmVjdGlvbiwgS2V5Ym9hcmRTdXBwb3J0U2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS91dGlscyc7XG5pbXBvcnQgeyBMaXN0R3JvdXBIZWFkZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvbGlzdC1ncm91cC1oZWFkZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IExpc3RGb2N1c0l0ZW0gfSBmcm9tICcuL2xpc3QtZm9jdXMtaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0TmF2aWdhdGlvbkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2xpc3QtbmF2aWdhdGlvbi1pdGVtL2xpc3QtbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICAgIENvbnRlbnREZW5zaXR5T2JzZXJ2ZXIsXG4gICAgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycyxcbiAgICBDb250ZW50RGVuc2l0eU1vZGVcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5cbi8qKlxuICogVGhlIGRpcmVjdGl2ZSB0aGF0IHJlcHJlc2VudHMgYSBsaXN0LlxuICogSXQgaXMgdXNlZCB0byBkaXNwbGF5IGEgbGlzdCBvZiBpdGVtcyB3aXRoIHNpbXBsZSBpbmZvcm1hdGlvbiBzdWNoIGFzIHNjb3BlcywgbmFtZXMsIGV0Yy5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1tmZC1saXN0XSwgW2ZkTGlzdF0nLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9saXN0LmNvbXBvbmVudC5odG1sYCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtbGlzdCcsXG4gICAgICAgIHJvbGU6ICdsaXN0J1xuICAgIH0sXG4gICAgc3R5bGVVcmxzOiBbJy4vbGlzdC5jb21wb25lbnQuc2NzcycsICcuLi91dGlscy9kcmFnLWFuZC1kcm9wL2RyYWctYW5kLWRyb3Auc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIEtleWJvYXJkU3VwcG9ydFNlcnZpY2UsXG4gICAgICAgIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMoe1xuICAgICAgICAgICAgbW9kaWZpZXJzOiB7IFtDb250ZW50RGVuc2l0eU1vZGUuQ09NUEFDVF06ICdmZC1saXN0LS1jb21wYWN0JyB9XG4gICAgICAgIH0pXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKiBXaGV0aGVyIGRyb3Bkb3duIG1vZGUgaXMgaW5jbHVkZWQgdG8gY29tcG9uZW50LCB1c2VkIGZvciBTZWxlY3QgYW5kIENvbWJvYm94ICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3QtLWRyb3Bkb3duJylcbiAgICBkcm9wZG93bk1vZGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIG11bHRpIG1vZGUgaXMgaW5jbHVkZWQgdG8gY29tcG9uZW50LCB1c2VkIGZvciBNdWx0aUlucHV0ICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3QtLW11bHRpLWlucHV0JylcbiAgICBtdWx0aUlucHV0TW9kZSA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgbGlzdCBpcyB1c2VkIGluIG1vYmlsZSBtb2RlKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdC0tbW9iaWxlJylcbiAgICBtb2JpbGVNb2RlID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBsaXN0IGNvbXBvbmVudCBjb250YWlucyBtZXNzYWdlICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3QtLWhhcy1tZXNzYWdlJylcbiAgICBoYXNNZXNzYWdlID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBsaXN0IGNvbXBvbmVudCBoYXMgcmVtb3ZlZCBib3JkZXJzICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3QtLW5vLWJvcmRlcicpXG4gICAgbm9Cb3JkZXIgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIGxpc3QgY29tcG9uZW50IGhhcyBuYXZpZ2F0aW9uIGluZGljYXRvcnMgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdC0tbmF2aWdhdGlvbi1pbmRpY2F0aW9uJylcbiAgICBuYXZpZ2F0aW9uSW5kaWNhdG9yID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBsaXN0IGNvbXBvbmVudCBoYXMgY2hlY2tib3hlcyBvciByYWRpbyBidXR0b25zIGluY2x1ZGVkICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3QtLXNlbGVjdGlvbicpXG4gICAgc2VsZWN0aW9uID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBpbnRlcm5hbCBrZXlib2FyZCBzdXBwb3J0IHNob3VsZCBiZSBlbmFibGVkLiBJdCdzIGVuYWJsZWQgYnkgZGVmYXVsdCAqL1xuICAgIEBJbnB1dCgpXG4gICAga2V5Ym9hcmRTdXBwb3J0ID0gdHJ1ZTtcblxuICAgIC8qKiBXaGV0aGVyIGxpc3Qgc2hvdWxkIGhhdmUgYSBieWxpbmUgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdC0tYnlsaW5lJylcbiAgICBieWxpbmUgPSBmYWxzZTtcblxuICAgIC8qKiBFdmVudCB0aHJvd24sIHdoZW4gZm9jdXMgZXNjYXBlcyB0aGUgbGlzdCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZvY3VzRXNjYXBlTGlzdCA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFc2NhcGVEaXJlY3Rpb24+KCk7XG5cbiAgICAvKiogV2hldGhlciBsaXN0IGNvbXBvbmVudCBpbmNsdWRlcyBsaW5rcyAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdC0tbmF2aWdhdGlvbicpXG4gICAgaGFzTmF2aWdhdGlvbiA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKExpc3RJdGVtQ29tcG9uZW50KVxuICAgIGl0ZW1zOiBRdWVyeUxpc3Q8TGlzdEl0ZW1Db21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKExpc3ROYXZpZ2F0aW9uSXRlbUNvbXBvbmVudClcbiAgICBfbmF2SXRlbXM6IFF1ZXJ5TGlzdDxMaXN0TmF2aWdhdGlvbkl0ZW1Db21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKExpc3RGb2N1c0l0ZW0pXG4gICAgcHJpdmF0ZSBfZm9jdXNJdGVtczogUXVlcnlMaXN0PExpc3RGb2N1c0l0ZW0+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqIEFuIFJ4SlMgU3ViamVjdCB0aGF0IHdpbGwga2lsbCB0aGUgZGF0YSBzdHJlYW0gdXBvbiBxdWVyeUxpc3QgY2hhbmdlcyAoZm9yIHVuc3Vic2NyaWJpbmcpICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX29uUmVmcmVzaCQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEFuIFJ4SlMgU3ViamVjdCB0aGF0IHdpbGwga2lsbCB0aGUgZGF0YSBzdHJlYW0gdXBvbiBjb21wb25lbnTigJlzIGRlc3RydWN0aW9uIChmb3IgdW5zdWJzY3JpYmluZykgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfb25EZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9rZXlib2FyZFN1cHBvcnRTZXJ2aWNlOiBLZXlib2FyZFN1cHBvcnRTZXJ2aWNlPExpc3RGb2N1c0l0ZW0+LFxuICAgICAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF9jb250ZW50RGVuc2l0eU9ic2VydmVyOiBDb250ZW50RGVuc2l0eU9ic2VydmVyXG4gICAgKSB7XG4gICAgICAgIF9jb250ZW50RGVuc2l0eU9ic2VydmVyLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xpc3Rlbk9uTGlzdEZvY3VzRXNjYXBlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2tleWJvYXJkU3VwcG9ydFNlcnZpY2Uuc2V0S2V5Ym9hcmRTZXJ2aWNlKHRoaXMuX2ZvY3VzSXRlbXMsIGZhbHNlKTtcbiAgICAgICAgdGhpcy5fbGlzdGVuT25RdWVyeUNoYW5nZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBrZXlEb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5rZXlib2FyZFN1cHBvcnQpIHtcbiAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkU3VwcG9ydFNlcnZpY2Uub25LZXlEb3duKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBTZXQgZmFrZSBmb2N1cyBvbiBlbGVtZW50IHdpdGggcGFzc2VkIGluZGV4ICovXG4gICAgc2V0SXRlbUFjdGl2ZShpbmRleDogbnVtYmVyLCB1cGRhdGVPbmx5ID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHVwZGF0ZU9ubHkpIHtcbiAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkU3VwcG9ydFNlcnZpY2Uua2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKGluZGV4KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkU3VwcG9ydFNlcnZpY2Uua2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKGluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuT25RdWVyeUNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9jdXNJdGVtcy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKDApLCB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9yZWNoZWNrTGlua3MoKTtcbiAgICAgICAgICAgIHRoaXMuX2xpc3Rlbk9uSXRlbXNDbGljaygpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gdXNpbmcgc2V0VGltZW91dCB0byBhdm9pZCBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVJdGVtc1Byb3BlcnRpZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3Rlbk9uSXRlbXNDbGljaygpOiB2b2lkIHtcbiAgICAgICAgLyoqIEZpbmlzaCBhbGwgdGhlIHN0cmVhbXMsIGZyb20gYmVmb3JlICovXG4gICAgICAgIHRoaXMuX29uUmVmcmVzaCQubmV4dCgpO1xuXG4gICAgICAgIGlmICghdGhpcy5rZXlib2FyZFN1cHBvcnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKiBNZXJnZSByZWZyZXNoL2Rlc3Ryb3kgb2JzZXJ2YWJsZXMgKi9cbiAgICAgICAgY29uc3QgY29tcGxldGlvbiQgPSBtZXJnZSh0aGlzLl9vblJlZnJlc2gkLCB0aGlzLl9vbkRlc3Ryb3kkKTtcbiAgICAgICAgY29uc3QgaW50ZXJhY3Rpb25DaGFuZ2VzSW5kZXhlczogT2JzZXJ2YWJsZTx7IGluZGV4OiBudW1iZXI7IHVwZGF0ZU9ubHk6IGJvb2xlYW4gfT5bXSA9IHRoaXMuX2ZvY3VzSXRlbXMubWFwKFxuICAgICAgICAgICAgKGl0ZW0sIGluZGV4KSA9PlxuICAgICAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICBpdGVtLl9jbGlja2VkJC5waXBlKG1hcCgoKSA9PiAoeyBpbmRleCwgdXBkYXRlT25seTogZmFsc2UgfSkpKSxcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5fZm9jdXNlZCQucGlwZShtYXAoKHsgZm9jdXNlZFdpdGhpbiB9KSA9PiAoeyBpbmRleCwgdXBkYXRlT25seTogZm9jdXNlZFdpdGhpbiB9KSkpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgICBtZXJnZSguLi5pbnRlcmFjdGlvbkNoYW5nZXNJbmRleGVzKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKGNvbXBsZXRpb24kKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHsgaW5kZXgsIHVwZGF0ZU9ubHkgfSkgPT4gdGhpcy5zZXRJdGVtQWN0aXZlKGluZGV4LCB1cGRhdGVPbmx5KSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHVwZGF0ZUl0ZW1zUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgbGV0IGNsb3Nlc3RMaXN0SGVhZGVyOiBMaXN0R3JvdXBIZWFkZXJEaXJlY3RpdmUgfCBudWxsID0gbnVsbDtcbiAgICAgICAgdGhpcy5fZm9jdXNJdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBMaXN0R3JvdXBIZWFkZXJEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgICAgICBjbG9zZXN0TGlzdEhlYWRlciA9IGl0ZW07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0gaW5zdGFuY2VvZiBMaXN0SXRlbUNvbXBvbmVudCAmJiBjbG9zZXN0TGlzdEhlYWRlcikge1xuICAgICAgICAgICAgICAgIGl0ZW0uX3JlbGF0ZWRHcm91cEhlYWRlcklkID0gY2xvc2VzdExpc3RIZWFkZXIubmF0aXZlRWxlbWVudElkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXRlbS5zZXRJc0ZpcnN0KGluZGV4ID09PSAwKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZWNoZWNrTGlua3MoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0ubGluayk7XG4gICAgICAgIHRoaXMuaGFzTmF2aWdhdGlvbiA9IGl0ZW1zLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Pbkxpc3RGb2N1c0VzY2FwZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fa2V5Ym9hcmRTdXBwb3J0U2VydmljZS5mb2N1c0VzY2FwZUxpc3RcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRpcmVjdGlvbikgPT4gdGhpcy5mb2N1c0VzY2FwZUxpc3QuZW1pdChkaXJlY3Rpb24pKTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=