@wavemaker/app-ng-runtime 11.4.0-next.28701 → 11.4.0-rc.121

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 (127) hide show
  1. app-ng-runtime/build-task/basic/tree/tree.build.d.ts +1 -2
  2. app-ng-runtime/build-task/bundles/index.umd.js +7 -9
  3. app-ng-runtime/build-task/bundles/index.umd.js.map +1 -1
  4. app-ng-runtime/build-task/esm2015/basic/tree/tree.build.js +3 -4
  5. app-ng-runtime/build-task/esm2015/navigation/popover/popover.build.js +3 -3
  6. app-ng-runtime/build-task/fesm2015/index.js +7 -9
  7. app-ng-runtime/build-task/fesm2015/index.js.map +1 -1
  8. app-ng-runtime/components/base/bundles/index.umd.js +22 -8
  9. app-ng-runtime/components/base/bundles/index.umd.js.map +1 -1
  10. app-ng-runtime/components/base/esm2015/directives/show-in-device.directive.js +16 -5
  11. app-ng-runtime/components/base/esm2015/utils/widget-utils.js +7 -4
  12. app-ng-runtime/components/base/esm2015/widgets/common/dialog/dialog.service.js +3 -3
  13. app-ng-runtime/components/base/fesm2015/index.js +23 -9
  14. app-ng-runtime/components/base/fesm2015/index.js.map +1 -1
  15. app-ng-runtime/components/base/utils/widget-utils.d.ts +1 -1
  16. app-ng-runtime/components/basic/tree/bundles/index.umd.js +369 -245
  17. app-ng-runtime/components/basic/tree/bundles/index.umd.js.map +1 -1
  18. app-ng-runtime/components/basic/tree/esm2015/public_api.js +2 -2
  19. app-ng-runtime/components/basic/tree/esm2015/tree.component.js +403 -0
  20. app-ng-runtime/components/basic/tree/esm2015/tree.module.js +3 -3
  21. app-ng-runtime/components/basic/tree/fesm2015/index.js +333 -240
  22. app-ng-runtime/components/basic/tree/fesm2015/index.js.map +1 -1
  23. app-ng-runtime/components/basic/tree/index.metadata.json +1 -1
  24. app-ng-runtime/components/basic/tree/public_api.d.ts +1 -1
  25. app-ng-runtime/components/basic/tree/tree.component.d.ts +43 -0
  26. app-ng-runtime/components/chart/bundles/index.umd.js +1 -1
  27. app-ng-runtime/components/chart/bundles/index.umd.js.map +1 -1
  28. app-ng-runtime/components/chart/esm2015/chart.component.js +2 -2
  29. app-ng-runtime/components/chart/fesm2015/index.js +1 -1
  30. app-ng-runtime/components/chart/fesm2015/index.js.map +1 -1
  31. app-ng-runtime/components/containers/tabs/bundles/index.umd.js +39 -23
  32. app-ng-runtime/components/containers/tabs/bundles/index.umd.js.map +1 -1
  33. app-ng-runtime/components/containers/tabs/esm2015/tab-pane/tab-pane.component.js +8 -1
  34. app-ng-runtime/components/containers/tabs/esm2015/tabs.animator.js +33 -13
  35. app-ng-runtime/components/containers/tabs/fesm2015/index.js +40 -13
  36. app-ng-runtime/components/containers/tabs/fesm2015/index.js.map +1 -1
  37. app-ng-runtime/components/containers/tabs/tabs.animator.d.ts +5 -1
  38. app-ng-runtime/components/containers/wizard/bundles/index.umd.js +43 -2
  39. app-ng-runtime/components/containers/wizard/bundles/index.umd.js.map +1 -1
  40. app-ng-runtime/components/containers/wizard/esm2015/wizard-step/wizard-step.props.js +3 -2
  41. app-ng-runtime/components/containers/wizard/esm2015/wizard.component.js +42 -2
  42. app-ng-runtime/components/containers/wizard/fesm2015/index.js +43 -2
  43. app-ng-runtime/components/containers/wizard/fesm2015/index.js.map +1 -1
  44. app-ng-runtime/components/containers/wizard/index.metadata.json +1 -1
  45. app-ng-runtime/components/containers/wizard/wizard.component.d.ts +2 -0
  46. app-ng-runtime/components/data/list/bundles/index.umd.js +51 -42
  47. app-ng-runtime/components/data/list/bundles/index.umd.js.map +1 -1
  48. app-ng-runtime/components/data/list/esm2015/list.component.js +51 -42
  49. app-ng-runtime/components/data/list/fesm2015/index.js +50 -41
  50. app-ng-runtime/components/data/list/fesm2015/index.js.map +1 -1
  51. app-ng-runtime/components/data/list/index.metadata.json +1 -1
  52. app-ng-runtime/components/data/pagination/bundles/index.umd.js +21 -4
  53. app-ng-runtime/components/data/pagination/bundles/index.umd.js.map +1 -1
  54. app-ng-runtime/components/data/pagination/esm2015/pagination.component.js +22 -5
  55. app-ng-runtime/components/data/pagination/fesm2015/index.js +21 -4
  56. app-ng-runtime/components/data/pagination/fesm2015/index.js.map +1 -1
  57. app-ng-runtime/components/data/pagination/index.metadata.json +1 -1
  58. app-ng-runtime/components/data/pagination/pagination.component.d.ts +1 -0
  59. app-ng-runtime/components/data/table/bundles/index.umd.js +7 -0
  60. app-ng-runtime/components/data/table/bundles/index.umd.js.map +1 -1
  61. app-ng-runtime/components/data/table/esm2015/table.component.js +8 -1
  62. app-ng-runtime/components/data/table/fesm2015/index.js +7 -0
  63. app-ng-runtime/components/data/table/fesm2015/index.js.map +1 -1
  64. app-ng-runtime/components/data/table/index.metadata.json +1 -1
  65. app-ng-runtime/components/dialogs/default/base-dialog.d.ts +1 -0
  66. app-ng-runtime/components/dialogs/default/bundles/index.umd.js +13 -4
  67. app-ng-runtime/components/dialogs/default/bundles/index.umd.js.map +1 -1
  68. app-ng-runtime/components/dialogs/default/esm2015/base-dialog.js +14 -6
  69. app-ng-runtime/components/dialogs/default/fesm2015/index.js +13 -5
  70. app-ng-runtime/components/dialogs/default/fesm2015/index.js.map +1 -1
  71. app-ng-runtime/components/dialogs/default/index.metadata.json +1 -1
  72. app-ng-runtime/components/input/epoch/bundles/index.umd.js +66 -29
  73. app-ng-runtime/components/input/epoch/bundles/index.umd.js.map +1 -1
  74. app-ng-runtime/components/input/epoch/date-time/date-time-picker.component.d.ts +1 -0
  75. app-ng-runtime/components/input/epoch/esm2015/base-date-time.component.js +43 -25
  76. app-ng-runtime/components/input/epoch/esm2015/date/date.component.js +3 -3
  77. app-ng-runtime/components/input/epoch/esm2015/date-time/date-time-picker.component.js +31 -11
  78. app-ng-runtime/components/input/epoch/esm2015/date-time/date-time.component.js +2 -2
  79. app-ng-runtime/components/input/epoch/fesm2015/index.js +75 -37
  80. app-ng-runtime/components/input/epoch/fesm2015/index.js.map +1 -1
  81. app-ng-runtime/components/input/epoch/index.metadata.json +1 -1
  82. app-ng-runtime/components/navigation/popover/bundles/index.umd.js +3 -4
  83. app-ng-runtime/components/navigation/popover/bundles/index.umd.js.map +1 -1
  84. app-ng-runtime/components/navigation/popover/esm2015/popover.component.js +5 -6
  85. app-ng-runtime/components/navigation/popover/fesm2015/index.js +4 -5
  86. app-ng-runtime/components/navigation/popover/fesm2015/index.js.map +1 -1
  87. app-ng-runtime/core/bundles/index.umd.js +12 -2
  88. app-ng-runtime/core/bundles/index.umd.js.map +1 -1
  89. app-ng-runtime/core/esm2015/services/viewport.service.js +6 -4
  90. app-ng-runtime/core/esm2015/utils/utils.js +11 -3
  91. app-ng-runtime/core/fesm2015/index.js +15 -5
  92. app-ng-runtime/core/fesm2015/index.js.map +1 -1
  93. app-ng-runtime/core/index.metadata.json +1 -1
  94. app-ng-runtime/core/utils/utils.d.ts +2 -2
  95. app-ng-runtime/mobile/components/page/default/bundles/index.umd.js +24 -6
  96. app-ng-runtime/mobile/components/page/default/bundles/index.umd.js.map +1 -1
  97. app-ng-runtime/mobile/components/page/default/esm2015/page.directive.js +20 -3
  98. app-ng-runtime/mobile/components/page/default/fesm2015/index.js +19 -2
  99. app-ng-runtime/mobile/components/page/default/fesm2015/index.js.map +1 -1
  100. app-ng-runtime/mobile/components/page/default/index.metadata.json +1 -1
  101. app-ng-runtime/mobile/components/page/default/page.directive.d.ts +4 -1
  102. app-ng-runtime/package.json +1 -1
  103. app-ng-runtime/runtime/base/bundles/index.umd.js +164 -133
  104. app-ng-runtime/runtime/base/bundles/index.umd.js.map +1 -1
  105. app-ng-runtime/runtime/base/esm2015/components/app-component/app.component.js +2 -2
  106. app-ng-runtime/runtime/base/esm2015/public_api.js +2 -1
  107. app-ng-runtime/runtime/base/esm2015/runtime-base.module.js +3 -1
  108. app-ng-runtime/runtime/base/esm2015/services/app.service.js +3 -1
  109. app-ng-runtime/runtime/base/esm2015/services/pipe.service.js +33 -0
  110. app-ng-runtime/runtime/base/fesm2015/index.js +149 -120
  111. app-ng-runtime/runtime/base/fesm2015/index.js.map +1 -1
  112. app-ng-runtime/runtime/base/index.metadata.json +1 -1
  113. app-ng-runtime/runtime/base/public_api.d.ts +1 -0
  114. app-ng-runtime/runtime/base/services/pipe.service.d.ts +9 -0
  115. app-ng-runtime/scripts/datatable/datatable.js +23 -23
  116. app-ng-runtime/scripts/tree-keyboard-navigation/keyboard-navigation.js +251 -0
  117. app-ng-runtime/variables/bundles/index.umd.js +37 -22
  118. app-ng-runtime/variables/bundles/index.umd.js.map +1 -1
  119. app-ng-runtime/variables/esm2015/manager/action/notification-action.manager.js +29 -24
  120. app-ng-runtime/variables/esm2015/service/variables.service.js +8 -1
  121. app-ng-runtime/variables/fesm2015/index.js +35 -24
  122. app-ng-runtime/variables/fesm2015/index.js.map +1 -1
  123. app-ng-runtime/variables/index.metadata.json +1 -1
  124. app-ng-runtime/variables/manager/action/notification-action.manager.d.ts +1 -0
  125. app-ng-runtime/variables/service/variables.service.d.ts +4 -0
  126. app-ng-runtime/components/basic/tree/esm2015/tree.directive.js +0 -310
  127. app-ng-runtime/components/basic/tree/tree.directive.d.ts +0 -35
@@ -2,9 +2,9 @@ import { Injectable } from '@angular/core';
2
2
  import { EventNotifier } from '../utils/event-notifier';
3
3
  import { isAndroid, isAndroidTablet, isIos } from '../utils/utils';
4
4
  import * as i0 from "@angular/core";
5
- const MINIMUM_MOBILE_WIDTH = 480;
6
- const MINIMUM_TAB_WIDTH = 768;
7
- const MINIMUM_LARGE_SCREEN_WIDTH = 1280;
5
+ let MINIMUM_MOBILE_WIDTH = 480;
6
+ let MINIMUM_TAB_WIDTH = 768;
7
+ let MINIMUM_LARGE_SCREEN_WIDTH = 1280;
8
8
  export class IViewportService {
9
9
  }
10
10
  export class Viewport {
@@ -71,6 +71,8 @@ export class Viewport {
71
71
  }
72
72
  }
73
73
  else {
74
+ MINIMUM_MOBILE_WIDTH = parseInt(getComputedStyle(document.documentElement).getPropertyValue('--screen-xs')) || 480;
75
+ MINIMUM_TAB_WIDTH = parseInt(getComputedStyle(document.documentElement).getPropertyValue('--screen-sm')) || 768;
74
76
  // Tablet specification: min >= 480 max >= 768
75
77
  if (minValue >= MINIMUM_MOBILE_WIDTH && maxValue >= MINIMUM_TAB_WIDTH) {
76
78
  this.type = 1 /* TABLET */;
@@ -94,4 +96,4 @@ Viewport.decorators = [
94
96
  { type: Injectable, args: [{ providedIn: 'root' },] }
95
97
  ];
96
98
  Viewport.ctorParameters = () => [];
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3NlcnZpY2VzL3ZpZXdwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFVLE1BQU0sZ0JBQWdCLENBQUM7O0FBRTNFLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFDO0FBQ2pDLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFDO0FBQzlCLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxDQUFDO0FBU3hDLE1BQU0sT0FBTyxnQkFBZ0I7Q0FHNUI7QUFRRCxNQUFNLE9BQU8sUUFBUTtJQWFqQjtRQVpPLGdCQUFXLEdBQUc7WUFDakIsVUFBVSxFQUFFLEtBQUs7WUFDakIsV0FBVyxFQUFFLEtBQUs7U0FDckIsQ0FBQztRQUNLLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLG1CQUFjLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFNNUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXJCLE1BQU0sQ0FBQyxnQkFBZ0Isd0JBQXVCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFeEUsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzNELElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztTQUN0QzthQUFNO1lBQ0gsSUFBSSxDQUFDLFdBQVcs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LENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQzthQUM1QjtpQkFBTSxJQUFJLGNBQWMsS0FBSyxZQUFZLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO2FBQzVCO1NBQ0o7YUFBTTtZQUNILDhDQUE4QztZQUM5QyxJQUFJLFFBQVEsSUFBSSxvQkFBb0IsSUFBSSxRQUFRLElBQUksaUJBQWlCLEVBQUU7Z0JBQ25FLElBQUksQ0FBQyxJQUFJLGlCQUFxQixDQUFDO2dCQUMvQixJQUFJLFNBQVMsRUFBRSxJQUFJLEtBQUssRUFBRSxJQUFJLGVBQWUsRUFBRSxFQUFFO29CQUM3QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztpQkFDNUI7YUFDSjtpQkFBTTtnQkFDSCxJQUFJLENBQUMsSUFBSSxpQkFBcUIsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7YUFDNUI7U0FDSjtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RCxDQUFDOzs7O1lBL0ZKLFVBQVUsU0FBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50Tm90aWZpZXIgfSBmcm9tICcuLi91dGlscy9ldmVudC1ub3RpZmllcic7XG5pbXBvcnQgeyBpc0FuZHJvaWQsIGlzQW5kcm9pZFRhYmxldCwgaXNJb3MsIGlzSXBhZCB9IGZyb20gJy4uL3V0aWxzL3V0aWxzJztcblxuY29uc3QgTUlOSU1VTV9NT0JJTEVfV0lEVEggPSA0ODA7XG5jb25zdCBNSU5JTVVNX1RBQl9XSURUSCA9IDc2ODtcbmNvbnN0IE1JTklNVU1fTEFSR0VfU0NSRUVOX1dJRFRIID0gMTI4MDtcblxuY29uc3QgZW51bSBTQ1JFRU5fVFlQRSB7XG4gICAgTU9CSUxFLFxuICAgIFRBQkxFVCxcbiAgICBMQVJHRV9TQ1JFRU5fREVWSUNFU1xufVxuZGVjbGFyZSBjb25zdCBfO1xuXG5leHBvcnQgY2xhc3MgSVZpZXdwb3J0U2VydmljZSB7XG4gICAgbm90aWZ5OiAoZXZlbnRuYW1lOiBWaWV3cG9ydEV2ZW50LCBvcHRpb25zPzogQXJyYXk8YW55PikgPT4gdm9pZDtcbiAgICBzdWJzY3JpYmU6IChldmVudG5hbWU6IFZpZXdwb3J0RXZlbnQsIGNhbGxiYWNrOiAoZGF0YTogYW55KSA9PiB2b2lkKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgZW51bSBWaWV3cG9ydEV2ZW50IHtcbiAgICBPUklFTlRBVElPTl9DSEFOR0UgPSAnb3JpZW50YXRpb25jaGFuZ2UnLFxuICAgIFJFU0laRSA9ICdyZXNpemUnXG59XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFZpZXdwb3J0IGltcGxlbWVudHMgSVZpZXdwb3J0U2VydmljZSwgT25EZXN0cm95IHtcbiAgICBwdWJsaWMgb3JpZW50YXRpb24gPSB7XG4gICAgICAgIGlzUG9ydHJhaXQ6IGZhbHNlLFxuICAgICAgICBpc0xhbmRzY2FwZTogZmFsc2VcbiAgICB9O1xuICAgIHB1YmxpYyBpc01vYmlsZVR5cGUgPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNUYWJsZXRUeXBlID0gZmFsc2U7XG4gICAgcHJpdmF0ZSB0eXBlO1xuICAgIHB1YmxpYyBfZXZlbnROb3RpZmllciA9IG5ldyBFdmVudE5vdGlmaWVyKHRydWUpO1xuICAgIHByaXZhdGUgc2NyZWVuV2lkdGg7XG4gICAgcHJpdmF0ZSBzY3JlZW5IZWlnaHQ7XG4gICAgcHJpdmF0ZSBzZWxlY3RlZFZpZXdQb3J0OiBhbnk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZXRTY3JlZW5UeXBlKCk7XG5cbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoVmlld3BvcnRFdmVudC5SRVNJWkUsIHRoaXMucmVzaXplRm4uYmluZCh0aGlzKSk7XG5cbiAgICAgICAgY29uc3QgcXVlcnkgPSB3aW5kb3cubWF0Y2hNZWRpYSgnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknKTtcbiAgICAgICAgaWYgKHF1ZXJ5Lm1hdGNoZXMpIHtcbiAgICAgICAgICAgIHRoaXMub3JpZW50YXRpb24uaXNQb3J0cmFpdCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uLmlzTGFuZHNjYXBlID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFkZCBhIG1lZGlhIHF1ZXJ5IGNoYW5nZSBsaXN0ZW5lclxuICAgICAgICAvLyBhZGRFdmVudExpc3RlbmVyIGlzIG5vdCBzdXBwb3J0ZWQgaW9zIGJyb3dzZXJcbiAgICAgICAgaWYgKHF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsICRldmVudCA9PiB0aGlzLm9yaWVudGF0aW9uQ2hhbmdlKCRldmVudCwgISRldmVudC5tYXRjaGVzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGUoc2VsZWN0ZWRWaWV3UG9ydDogT2JqZWN0KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWaWV3UG9ydCA9IHNlbGVjdGVkVmlld1BvcnQ7XG4gICAgICAgIHRoaXMuc2V0U2NyZWVuVHlwZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3JpZW50YXRpb25DaGFuZ2UoJGV2ZW50LCBpc0xhbmRzY2FwZSkge1xuICAgICAgICBpZiAoaXNMYW5kc2NhcGUgIT09IHRoaXMub3JpZW50YXRpb24uaXNMYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIHRoaXMub3JpZW50YXRpb24uaXNQb3J0cmFpdCA9ICFpc0xhbmRzY2FwZTtcbiAgICAgICAgICAgIHRoaXMub3JpZW50YXRpb24uaXNMYW5kc2NhcGUgPSBpc0xhbmRzY2FwZTtcbiAgICAgICAgICAgIHRoaXMubm90aWZ5KFZpZXdwb3J0RXZlbnQuT1JJRU5UQVRJT05fQ0hBTkdFLCB7ICRldmVudCwgZGF0YToge2lzUG9ydHJhaXQ6ICFpc0xhbmRzY2FwZSwgaXNMYW5kc2NhcGU6IGlzTGFuZHNjYXBlfSB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVzaXplRm4oJGV2ZW50KSB7XG4gICAgICAgIHRoaXMuc2V0U2NyZWVuVHlwZSgpO1xuICAgICAgICB0aGlzLm9yaWVudGF0aW9uQ2hhbmdlKCRldmVudCwgdGhpcy5zY3JlZW5XaWR0aCA+PSB0aGlzLnNjcmVlbkhlaWdodCk7XG4gICAgICAgIHRoaXMubm90aWZ5KFZpZXdwb3J0RXZlbnQuUkVTSVpFLCB7JGV2ZW50LCBkYXRhOiB7c2NyZWVuV2lkdGg6IHRoaXMuc2NyZWVuV2lkdGgsIHNjcmVlbkhlaWdodDogdGhpcy5zY3JlZW5IZWlnaHR9fSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN1YnNjcmliZShldmVudE5hbWUsIGNhbGxiYWNrOiAoZGF0YTogYW55KSA9PiB2b2lkKTogKCkgPT4gdm9pZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ldmVudE5vdGlmaWVyLnN1YnNjcmliZShldmVudE5hbWUsIGNhbGxiYWNrKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbm90aWZ5KGV2ZW50TmFtZTogc3RyaW5nLCAuLi5kYXRhOiBBcnJheTxhbnk+KSB7XG4gICAgICAgIHRoaXMuX2V2ZW50Tm90aWZpZXIubm90aWZ5LmFwcGx5KHRoaXMuX2V2ZW50Tm90aWZpZXIsIGFyZ3VtZW50cyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRTY3JlZW5UeXBlKCkge1xuICAgICAgICBjb25zdCAkZWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcud20tYXBwJyk7XG4gICAgICAgIHRoaXMuc2NyZWVuV2lkdGggPSAkZWwuY2xpZW50V2lkdGg7XG4gICAgICAgIHRoaXMuc2NyZWVuSGVpZ2h0ID0gJGVsLmNsaWVudEhlaWdodDtcblxuICAgICAgICB2YXIgbWluVmFsdWUgPSB0aGlzLnNjcmVlbldpZHRoIDwgdGhpcy5zY3JlZW5IZWlnaHQgPyB0aGlzLnNjcmVlbldpZHRoIDogdGhpcy5zY3JlZW5IZWlnaHQ7XG4gICAgICAgIHZhciBtYXhWYWx1ZSA9IHRoaXMuc2NyZWVuV2lkdGggPiB0aGlzLnNjcmVlbkhlaWdodCA/IHRoaXMuc2NyZWVuV2lkdGggOiB0aGlzLnNjcmVlbkhlaWdodDtcblxuICAgICAgICB0aGlzLmlzVGFibGV0VHlwZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzTW9iaWxlVHlwZSA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChfLmdldCh0aGlzLnNlbGVjdGVkVmlld1BvcnQsICdkZXZpY2VDYXRlZ29yeScpKSB7XG4gICAgICAgICAgICBjb25zdCBkZXZpY2VDYXRlZ29yeSA9IHRoaXMuc2VsZWN0ZWRWaWV3UG9ydC5kZXZpY2VDYXRlZ29yeTtcbiAgICAgICAgICAgIGlmIChkZXZpY2VDYXRlZ29yeSA9PT0gJ1RhYicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzVGFibGV0VHlwZSA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGRldmljZUNhdGVnb3J5ID09PSAnU21hcnRwaG9uZScpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTW9iaWxlVHlwZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBUYWJsZXQgc3BlY2lmaWNhdGlvbjogbWluID49IDQ4MCBtYXggPj0gNzY4XG4gICAgICAgICAgICBpZiAobWluVmFsdWUgPj0gTUlOSU1VTV9NT0JJTEVfV0lEVEggJiYgbWF4VmFsdWUgPj0gTUlOSU1VTV9UQUJfV0lEVEgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnR5cGUgPSBTQ1JFRU5fVFlQRS5UQUJMRVQ7XG4gICAgICAgICAgICAgICAgaWYgKGlzQW5kcm9pZCgpIHx8IGlzSW9zKCkgfHwgaXNBbmRyb2lkVGFibGV0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1RhYmxldFR5cGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy50eXBlID0gU0NSRUVOX1RZUEUuTU9CSUxFO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNNb2JpbGVUeXBlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9ldmVudE5vdGlmaWVyLmRlc3Ryb3koKTtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMucmVzaXplRm4pO1xuICAgIH1cbn1cbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3NlcnZpY2VzL3ZpZXdwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFVLE1BQU0sZ0JBQWdCLENBQUM7O0FBRTNFLElBQUksb0JBQW9CLEdBQUcsR0FBRyxDQUFDO0FBQy9CLElBQUksaUJBQWlCLEdBQUcsR0FBRyxDQUFDO0FBQzVCLElBQUksMEJBQTBCLEdBQUcsSUFBSSxDQUFDO0FBU3RDLE1BQU0sT0FBTyxnQkFBZ0I7Q0FHNUI7QUFRRCxNQUFNLE9BQU8sUUFBUTtJQWFqQjtRQVpPLGdCQUFXLEdBQUc7WUFDakIsVUFBVSxFQUFFLEtBQUs7WUFDakIsV0FBVyxFQUFFLEtBQUs7U0FDckIsQ0FBQztRQUNLLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLG1CQUFjLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFNNUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXJCLE1BQU0sQ0FBQyxnQkFBZ0Isd0JBQXVCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFeEUsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzNELElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztTQUN0QzthQUFNO1lBQ0gsSUFBSSxDQUFDLFdBQVcs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LENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQzthQUM1QjtpQkFBTSxJQUFJLGNBQWMsS0FBSyxZQUFZLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO2FBQzVCO1NBQ0o7YUFBTTtZQUNGLG9CQUFvQixHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUM7WUFDbkgsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQztZQUNqSCw4Q0FBOEM7WUFDOUMsSUFBSSxRQUFRLElBQUksb0JBQW9CLElBQUksUUFBUSxJQUFJLGlCQUFpQixFQUFFO2dCQUNuRSxJQUFJLENBQUMsSUFBSSxpQkFBcUIsQ0FBQztnQkFDL0IsSUFBSSxTQUFTLEVBQUUsSUFBSSxLQUFLLEVBQUUsSUFBSSxlQUFlLEVBQUUsRUFBRTtvQkFDN0MsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7aUJBQzVCO2FBQ0o7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLElBQUksaUJBQXFCLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO2FBQzVCO1NBQ0o7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDOUIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7OztZQWpHSixVQUFVLFNBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdmVudE5vdGlmaWVyIH0gZnJvbSAnLi4vdXRpbHMvZXZlbnQtbm90aWZpZXInO1xuaW1wb3J0IHsgaXNBbmRyb2lkLCBpc0FuZHJvaWRUYWJsZXQsIGlzSW9zLCBpc0lwYWQgfSBmcm9tICcuLi91dGlscy91dGlscyc7XG5cbmxldCBNSU5JTVVNX01PQklMRV9XSURUSCA9IDQ4MDtcbmxldCBNSU5JTVVNX1RBQl9XSURUSCA9IDc2ODtcbmxldCBNSU5JTVVNX0xBUkdFX1NDUkVFTl9XSURUSCA9IDEyODA7XG5cbmNvbnN0IGVudW0gU0NSRUVOX1RZUEUge1xuICAgIE1PQklMRSxcbiAgICBUQUJMRVQsXG4gICAgTEFSR0VfU0NSRUVOX0RFVklDRVNcbn1cbmRlY2xhcmUgY29uc3QgXztcblxuZXhwb3J0IGNsYXNzIElWaWV3cG9ydFNlcnZpY2Uge1xuICAgIG5vdGlmeTogKGV2ZW50bmFtZTogVmlld3BvcnRFdmVudCwgb3B0aW9ucz86IEFycmF5PGFueT4pID0+IHZvaWQ7XG4gICAgc3Vic2NyaWJlOiAoZXZlbnRuYW1lOiBWaWV3cG9ydEV2ZW50LCBjYWxsYmFjazogKGRhdGE6IGFueSkgPT4gdm9pZCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gVmlld3BvcnRFdmVudCB7XG4gICAgT1JJRU5UQVRJT05fQ0hBTkdFID0gJ29yaWVudGF0aW9uY2hhbmdlJyxcbiAgICBSRVNJWkUgPSAncmVzaXplJ1xufVxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBWaWV3cG9ydCBpbXBsZW1lbnRzIElWaWV3cG9ydFNlcnZpY2UsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIG9yaWVudGF0aW9uID0ge1xuICAgICAgICBpc1BvcnRyYWl0OiBmYWxzZSxcbiAgICAgICAgaXNMYW5kc2NhcGU6IGZhbHNlXG4gICAgfTtcbiAgICBwdWJsaWMgaXNNb2JpbGVUeXBlID0gZmFsc2U7XG4gICAgcHVibGljIGlzVGFibGV0VHlwZSA9IGZhbHNlO1xuICAgIHByaXZhdGUgdHlwZTtcbiAgICBwdWJsaWMgX2V2ZW50Tm90aWZpZXIgPSBuZXcgRXZlbnROb3RpZmllcih0cnVlKTtcbiAgICBwcml2YXRlIHNjcmVlbldpZHRoO1xuICAgIHByaXZhdGUgc2NyZWVuSGVpZ2h0O1xuICAgIHByaXZhdGUgc2VsZWN0ZWRWaWV3UG9ydDogYW55O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuc2V0U2NyZWVuVHlwZSgpO1xuXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFZpZXdwb3J0RXZlbnQuUkVTSVpFLCB0aGlzLnJlc2l6ZUZuLmJpbmQodGhpcykpO1xuXG4gICAgICAgIGNvbnN0IHF1ZXJ5ID0gd2luZG93Lm1hdGNoTWVkaWEoJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyk7XG4gICAgICAgIGlmIChxdWVyeS5tYXRjaGVzKSB7XG4gICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uLmlzUG9ydHJhaXQgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vcmllbnRhdGlvbi5pc0xhbmRzY2FwZSA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBZGQgYSBtZWRpYSBxdWVyeSBjaGFuZ2UgbGlzdGVuZXJcbiAgICAgICAgLy8gYWRkRXZlbnRMaXN0ZW5lciBpcyBub3Qgc3VwcG9ydGVkIGlvcyBicm93c2VyXG4gICAgICAgIGlmIChxdWVyeS5hZGRFdmVudExpc3RlbmVyKSB7XG4gICAgICAgICAgICBxdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCAkZXZlbnQgPT4gdGhpcy5vcmllbnRhdGlvbkNoYW5nZSgkZXZlbnQsICEkZXZlbnQubWF0Y2hlcykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlKHNlbGVjdGVkVmlld1BvcnQ6IE9iamVjdCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkVmlld1BvcnQgPSBzZWxlY3RlZFZpZXdQb3J0O1xuICAgICAgICB0aGlzLnNldFNjcmVlblR5cGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9yaWVudGF0aW9uQ2hhbmdlKCRldmVudCwgaXNMYW5kc2NhcGUpIHtcbiAgICAgICAgaWYgKGlzTGFuZHNjYXBlICE9PSB0aGlzLm9yaWVudGF0aW9uLmlzTGFuZHNjYXBlKSB7XG4gICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uLmlzUG9ydHJhaXQgPSAhaXNMYW5kc2NhcGU7XG4gICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uLmlzTGFuZHNjYXBlID0gaXNMYW5kc2NhcGU7XG4gICAgICAgICAgICB0aGlzLm5vdGlmeShWaWV3cG9ydEV2ZW50Lk9SSUVOVEFUSU9OX0NIQU5HRSwgeyAkZXZlbnQsIGRhdGE6IHtpc1BvcnRyYWl0OiAhaXNMYW5kc2NhcGUsIGlzTGFuZHNjYXBlOiBpc0xhbmRzY2FwZX0gfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2l6ZUZuKCRldmVudCkge1xuICAgICAgICB0aGlzLnNldFNjcmVlblR5cGUoKTtcbiAgICAgICAgdGhpcy5vcmllbnRhdGlvbkNoYW5nZSgkZXZlbnQsIHRoaXMuc2NyZWVuV2lkdGggPj0gdGhpcy5zY3JlZW5IZWlnaHQpO1xuICAgICAgICB0aGlzLm5vdGlmeShWaWV3cG9ydEV2ZW50LlJFU0laRSwgeyRldmVudCwgZGF0YToge3NjcmVlbldpZHRoOiB0aGlzLnNjcmVlbldpZHRoLCBzY3JlZW5IZWlnaHQ6IHRoaXMuc2NyZWVuSGVpZ2h0fX0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdWJzY3JpYmUoZXZlbnROYW1lLCBjYWxsYmFjazogKGRhdGE6IGFueSkgPT4gdm9pZCk6ICgpID0+IHZvaWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXZlbnROb3RpZmllci5zdWJzY3JpYmUoZXZlbnROYW1lLCBjYWxsYmFjayk7XG4gICAgfVxuXG4gICAgcHVibGljIG5vdGlmeShldmVudE5hbWU6IHN0cmluZywgLi4uZGF0YTogQXJyYXk8YW55Pikge1xuICAgICAgICB0aGlzLl9ldmVudE5vdGlmaWVyLm5vdGlmeS5hcHBseSh0aGlzLl9ldmVudE5vdGlmaWVyLCBhcmd1bWVudHMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U2NyZWVuVHlwZSgpIHtcbiAgICAgICAgY29uc3QgJGVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLndtLWFwcCcpO1xuICAgICAgICB0aGlzLnNjcmVlbldpZHRoID0gJGVsLmNsaWVudFdpZHRoO1xuICAgICAgICB0aGlzLnNjcmVlbkhlaWdodCA9ICRlbC5jbGllbnRIZWlnaHQ7XG5cbiAgICAgICAgdmFyIG1pblZhbHVlID0gdGhpcy5zY3JlZW5XaWR0aCA8IHRoaXMuc2NyZWVuSGVpZ2h0ID8gdGhpcy5zY3JlZW5XaWR0aCA6IHRoaXMuc2NyZWVuSGVpZ2h0O1xuICAgICAgICB2YXIgbWF4VmFsdWUgPSB0aGlzLnNjcmVlbldpZHRoID4gdGhpcy5zY3JlZW5IZWlnaHQgPyB0aGlzLnNjcmVlbldpZHRoIDogdGhpcy5zY3JlZW5IZWlnaHQ7XG5cbiAgICAgICAgdGhpcy5pc1RhYmxldFR5cGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc01vYmlsZVR5cGUgPSBmYWxzZTtcblxuICAgICAgICBpZiAoXy5nZXQodGhpcy5zZWxlY3RlZFZpZXdQb3J0LCAnZGV2aWNlQ2F0ZWdvcnknKSkge1xuICAgICAgICAgICAgY29uc3QgZGV2aWNlQ2F0ZWdvcnkgPSB0aGlzLnNlbGVjdGVkVmlld1BvcnQuZGV2aWNlQ2F0ZWdvcnk7XG4gICAgICAgICAgICBpZiAoZGV2aWNlQ2F0ZWdvcnkgPT09ICdUYWInKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1RhYmxldFR5cGUgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChkZXZpY2VDYXRlZ29yeSA9PT0gJ1NtYXJ0cGhvbmUnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc01vYmlsZVR5cGUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgIE1JTklNVU1fTU9CSUxFX1dJRFRIID0gcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0tc2NyZWVuLXhzJykpIHx8IDQ4MDtcbiAgICAgICAgICAgICBNSU5JTVVNX1RBQl9XSURUSCA9IHBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctLXNjcmVlbi1zbScpKSB8fCA3Njg7XG4gICAgICAgICAgICAvLyBUYWJsZXQgc3BlY2lmaWNhdGlvbjogbWluID49IDQ4MCBtYXggPj0gNzY4XG4gICAgICAgICAgICBpZiAobWluVmFsdWUgPj0gTUlOSU1VTV9NT0JJTEVfV0lEVEggJiYgbWF4VmFsdWUgPj0gTUlOSU1VTV9UQUJfV0lEVEgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnR5cGUgPSBTQ1JFRU5fVFlQRS5UQUJMRVQ7XG4gICAgICAgICAgICAgICAgaWYgKGlzQW5kcm9pZCgpIHx8IGlzSW9zKCkgfHwgaXNBbmRyb2lkVGFibGV0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1RhYmxldFR5cGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy50eXBlID0gU0NSRUVOX1RZUEUuTU9CSUxFO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNNb2JpbGVUeXBlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9ldmVudE5vdGlmaWVyLmRlc3Ryb3koKTtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMucmVzaXplRm4pO1xuICAgIH1cbn1cbiJdfQ==