@ts-core/angular 17.0.16 → 17.0.18

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 (103) hide show
  1. package/asset/AssetBackgroundDirective.d.ts +3 -0
  2. package/directive/AspectRatioResizeDirective.d.ts +1 -0
  3. package/directive/InfiniteScrollDirective.d.ts +1 -0
  4. package/directive/ResizeDirective.d.ts +4 -0
  5. package/directive/ScrollCheckDirective.d.ts +2 -0
  6. package/directive/ScrollDirective.d.ts +1 -0
  7. package/esm2022/ApplicationInjector.mjs +1 -1
  8. package/esm2022/VIModule.mjs +4 -4
  9. package/esm2022/application/ApplicationBaseComponent.mjs +4 -4
  10. package/esm2022/application/ApplicationComponent.mjs +1 -1
  11. package/esm2022/application/MessageBaseComponent.mjs +1 -1
  12. package/esm2022/asset/AssetBackgroundDirective.mjs +11 -8
  13. package/esm2022/asset/AssetBackgroundPipe.mjs +3 -3
  14. package/esm2022/asset/AssetFilePipe.mjs +3 -3
  15. package/esm2022/asset/AssetIconPipe.mjs +3 -3
  16. package/esm2022/asset/AssetImagePipe.mjs +3 -3
  17. package/esm2022/asset/AssetModule.mjs +4 -4
  18. package/esm2022/asset/AssetSoundPipe.mjs +3 -3
  19. package/esm2022/asset/AssetVideoPipe.mjs +3 -3
  20. package/esm2022/cookie/CookieModule.mjs +4 -4
  21. package/esm2022/directive/AspectRatioResizeDirective.mjs +7 -6
  22. package/esm2022/directive/AutoScrollBottomDirective.mjs +4 -4
  23. package/esm2022/directive/ClickToCopyDirective.mjs +4 -4
  24. package/esm2022/directive/ClickToSelectDirective.mjs +4 -4
  25. package/esm2022/directive/FocusDirective.mjs +4 -4
  26. package/esm2022/directive/HTMLContentTitleDirective.mjs +4 -4
  27. package/esm2022/directive/HTMLTitleDirective.mjs +4 -4
  28. package/esm2022/directive/InfiniteScrollDirective.mjs +7 -6
  29. package/esm2022/directive/IsBrowserDirective.mjs +3 -3
  30. package/esm2022/directive/IsServerDirective.mjs +3 -3
  31. package/esm2022/directive/ResizeDirective.mjs +13 -9
  32. package/esm2022/directive/ScrollCheckDirective.mjs +9 -7
  33. package/esm2022/directive/ScrollDirective.mjs +7 -6
  34. package/esm2022/directive/SelectOnFocusDirective.mjs +4 -4
  35. package/esm2022/directive/StructureDirective.mjs +1 -1
  36. package/esm2022/language/LanguageDirective.mjs +7 -6
  37. package/esm2022/language/LanguageHasDirective.mjs +4 -4
  38. package/esm2022/language/LanguageModule.mjs +5 -5
  39. package/esm2022/language/LanguagePipe.mjs +4 -4
  40. package/esm2022/language/LanguagePipeHas.mjs +4 -4
  41. package/esm2022/language/LanguagePipeHasPure.mjs +4 -4
  42. package/esm2022/language/LanguagePipePure.mjs +4 -4
  43. package/esm2022/language/LanguageRequireResolver.mjs +1 -1
  44. package/esm2022/language/LanguageResolver.mjs +3 -3
  45. package/esm2022/list/ListItem.mjs +1 -1
  46. package/esm2022/list/ListItems.mjs +1 -1
  47. package/esm2022/list/select/RouterSelectListItems.mjs +1 -1
  48. package/esm2022/list/select/SelectListItem.mjs +1 -1
  49. package/esm2022/list/select/SelectListItems.mjs +1 -1
  50. package/esm2022/login/LoginBaseService.mjs +1 -1
  51. package/esm2022/login/LoginGuard.mjs +3 -3
  52. package/esm2022/login/LoginIfCanGuard.mjs +4 -4
  53. package/esm2022/login/LoginNotGuard.mjs +3 -3
  54. package/esm2022/login/LoginRequireResolver.mjs +1 -1
  55. package/esm2022/login/LoginResolver.mjs +3 -3
  56. package/esm2022/manager/FocusManager.mjs +1 -1
  57. package/esm2022/manager/ResizeManager.mjs +1 -1
  58. package/esm2022/menu/MenuItemBase.mjs +1 -1
  59. package/esm2022/menu/MenuItems.mjs +1 -1
  60. package/esm2022/module/LazyModuleLoader.mjs +4 -4
  61. package/esm2022/notification/INotificationContent.mjs +4 -4
  62. package/esm2022/pipe/CamelCasePipe.mjs +3 -3
  63. package/esm2022/pipe/FinancePipe.mjs +4 -4
  64. package/esm2022/pipe/MomentDateAdaptivePipe.mjs +4 -4
  65. package/esm2022/pipe/MomentDateFromNowPipe.mjs +3 -3
  66. package/esm2022/pipe/MomentDatePipe.mjs +4 -4
  67. package/esm2022/pipe/MomentTimePipe.mjs +4 -4
  68. package/esm2022/pipe/NgModelErrorPipe.mjs +4 -4
  69. package/esm2022/pipe/PrettifyPipe.mjs +4 -4
  70. package/esm2022/pipe/SanitizePipe.mjs +4 -4
  71. package/esm2022/pipe/StartCasePipe.mjs +3 -3
  72. package/esm2022/pipe/TimePipe.mjs +4 -4
  73. package/esm2022/pipe/TruncatePipe.mjs +3 -3
  74. package/esm2022/question/QuestionManager.mjs +1 -1
  75. package/esm2022/service/PipeBaseService.mjs +1 -1
  76. package/esm2022/service/PlatformService.mjs +3 -3
  77. package/esm2022/service/RouterBaseService.mjs +1 -1
  78. package/esm2022/storage/DateValueStorage.mjs +1 -1
  79. package/esm2022/storage/LocalStorageService.mjs +1 -1
  80. package/esm2022/storage/ValueStorage.mjs +1 -1
  81. package/esm2022/theme/ThemeAssetBackgroundDirective.mjs +5 -5
  82. package/esm2022/theme/ThemeAssetDirective.mjs +23 -21
  83. package/esm2022/theme/ThemeAssetIconDirective.mjs +5 -5
  84. package/esm2022/theme/ThemeAssetImageDirective.mjs +5 -5
  85. package/esm2022/theme/ThemeModule.mjs +5 -5
  86. package/esm2022/theme/ThemeStyleDirective.mjs +4 -4
  87. package/esm2022/theme/ThemeStyleHoverDirective.mjs +4 -4
  88. package/esm2022/theme/ThemeToggleDirective.mjs +4 -4
  89. package/esm2022/transport/TransportLazy.mjs +1 -1
  90. package/esm2022/user/UserBaseService.mjs +1 -1
  91. package/esm2022/util/ViewUtil.mjs +1 -1
  92. package/esm2022/window/IWindowContent.mjs +10 -9
  93. package/esm2022/window/WindowBase.mjs +1 -1
  94. package/esm2022/window/WindowConfig.mjs +1 -1
  95. package/fesm2022/ts-core-angular.mjs +241 -225
  96. package/fesm2022/ts-core-angular.mjs.map +1 -1
  97. package/language/LanguageDirective.d.ts +1 -0
  98. package/package.json +1 -1
  99. package/theme/ThemeAssetBackgroundDirective.d.ts +1 -1
  100. package/theme/ThemeAssetDirective.d.ts +7 -1
  101. package/theme/ThemeAssetIconDirective.d.ts +1 -1
  102. package/theme/ThemeAssetImageDirective.d.ts +1 -1
  103. package/window/IWindowContent.d.ts +2 -1
@@ -215,4 +215,4 @@ export class WindowConfig {
215
215
  return this._elementMaxHeight;
216
216
  }
217
217
  }
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93Q29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dpbmRvdy9XaW5kb3dDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxNQUFNLE9BQU8sWUFBWTtJQUNyQiw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLEVBQUUsQ0FBUztJQUNYLE9BQU8sR0FBWSxLQUFLLENBQUM7SUFDekIsWUFBWSxHQUFZLEtBQUssQ0FBQztJQUM5QixZQUFZLEdBQVksS0FBSyxDQUFDO0lBQzlCLGFBQWEsR0FBWSxLQUFLLENBQUM7SUFDL0IsY0FBYyxHQUFZLEtBQUssQ0FBQztJQUNoQyxpQkFBaUIsR0FBWSxJQUFJLENBQUM7SUFFbEMsQ0FBQyxHQUFXLEdBQUcsQ0FBQztJQUNoQixDQUFDLEdBQVcsR0FBRyxDQUFDO0lBQ2hCLElBQUksQ0FBSTtJQUNSLFlBQVksQ0FBUztJQUVyQixLQUFLLENBQVM7SUFDZCxRQUFRLENBQVM7SUFDakIsUUFBUSxDQUFTO0lBQ2pCLFlBQVksR0FBVyxHQUFHLENBQUM7SUFDM0IsZUFBZSxHQUFXLEdBQUcsQ0FBQztJQUM5QixlQUFlLEdBQVcsR0FBRyxDQUFDO0lBRTlCLE1BQU0sQ0FBUztJQUNmLFNBQVMsQ0FBUztJQUNsQixTQUFTLENBQVM7SUFDbEIsYUFBYSxHQUFXLEdBQUcsQ0FBQztJQUM1QixnQkFBZ0IsR0FBVyxHQUFHLENBQUM7SUFDL0IsZ0JBQWdCLEdBQVcsR0FBRyxDQUFDO0lBRS9CLFVBQVUsR0FBVyxHQUFHLENBQUM7SUFDekIsV0FBVyxHQUFXLEdBQUcsQ0FBQztJQUMxQixZQUFZLEdB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QyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDcEY7UUFDRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNsQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBJRGVzdHJveWFibGUgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgSVdpbmRvd0NvbmZpZywgV2luZG93QWxpZ24gfSBmcm9tICcuL0lXaW5kb3dDb25maWcnO1xuaW1wb3J0IHsgVmlld1V0aWwgfSBmcm9tICcuLi91dGlsL1ZpZXdVdGlsJztcblxuZXhwb3J0IGNsYXNzIFdpbmRvd0NvbmZpZzxUID0gYW55PiBpbXBsZW1lbnRzIElXaW5kb3dDb25maWc8VD4sIElEZXN0cm95YWJsZSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBpZDogc3RyaW5nO1xuICAgIHB1YmxpYyBpc01vZGFsOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGlzRXhwYW5kYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1Jlc2l6ZWFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNNaW5pbWl6YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0Rpc2FibGVDbG9zZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0NvbnRlbnREcmFnYWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBwdWJsaWMgeDogbnVtYmVyID0gTmFOO1xuICAgIHB1YmxpYyB5OiBudW1iZXIgPSBOYU47XG4gICAgcHVibGljIGRhdGE6IFQ7XG4gICAgcHVibGljIHByb3BlcnRpZXNJZDogc3RyaW5nO1xuXG4gICAgcHVibGljIHdpZHRoOiBzdHJpbmc7XG4gICAgcHVibGljIG1pbldpZHRoOiBudW1iZXI7XG4gICAgcHVibGljIG1heFdpZHRoOiBudW1iZXI7XG4gICAgcHVibGljIGRlZmF1bHRXaWR0aDogbnVtYmVyID0gTmFOO1xuICAgIHB1YmxpYyBkZWZhdWx0TWluV2lkdGg6IG51bWJlciA9IE5hTjtcbiAgICBwdWJsaWMgZGVmYXVsdE1heFdpZHRoOiBudW1iZXIgPSBOYU47XG5cbiAgICBwdWJsaWMgaGVpZ2h0OiBzdHJpbmc7XG4gICAgcHVibGljIG1pbkhlaWdodDogbnVtYmVyO1xuICAgIHB1YmxpYyBtYXhIZWlnaHQ6IG51bWJlcjtcbiAgICBwdWJsaWMgZGVmYXVsdEhlaWdodDogbnVtYmVyID0gTmFOO1xuICAgIHB1YmxpYyBkZWZhdWx0TWluSGVpZ2h0OiBudW1iZXIgPSBOYU47XG4gICAgcHVibGljIGRlZmF1bHRNYXhIZWlnaHQ6IG51bWJlciA9IE5hTjtcblxuICAgIHB1YmxpYyBwYWRkaW5nVG9wOiBudW1iZXIgPSBOYU47XG4gICAgcHVibGljIHBhZGRpbmdMZWZ0OiBudW1iZXIgPSBOYU47XG4gICAgcHVibGljIHBhZGRpbmdSaWdodDogbnVtYmVyID0gTmFOO1xuICAgIHB1YmxpYyBwYWRkaW5nQm90dG9tOiBudW1iZXIgPSBOYU47XG5cbiAgICBwdWJsaWMgYXV0b0ZvY3VzOiBzdHJpbmc7XG4gICAgcHVibGljIHJlc3RvcmVGb2N1czogYm9vbGVhbjtcbiAgICBwdWJsaWMgZGVsYXlGb2N1c1RyYXA6IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgdmVydGljYWxBbGlnbjogV2luZG93QWxpZ247XG4gICAgcHVibGljIGhvcml6b250YWxBbGlnbjogV2luZG93QWxpZ247XG5cbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRNYXhYOiBudW1iZXIgPSBOYU47XG4gICAgcHJvdGVjdGVkIF9lbGVtZW50TWluWDogbnVtYmVyID0gTmFOO1xuXG4gICAgcHJvdGVjdGVkIF9lbGVtZW50TWF4WTogbnVtYmVyID0gTmFOO1xuICAgIHByb3RlY3RlZCBfZWxlbWVudE1pblk6IG51bWJlciA9IE5hTjtcblxuICAgIHByb3RlY3RlZCBfZWxlbWVudFdpZHRoOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9lbGVtZW50TWluV2lkdGg6IG51bWJlciA9IE5hTjtcbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRNYXhXaWR0aDogbnVtYmVyID0gTmFOO1xuXG4gICAgcHJvdGVjdGVkIF9lbGVtZW50SGVpZ2h0OiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9lbGVtZW50TWluSGVpZ2h0OiBudW1iZXIgPSBOYU47XG4gICAgcHJvdGVjdGVkIF9lbGVtZW50TWF4SGVpZ2h0OiBudW1iZXIgPSBOYU47XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKGlzTW9kYWw6IGJvb2xlYW4gPSBmYWxzZSwgaXNSZXNpemVhYmxlOiBib29sZWFuID0gZmFsc2UsIHdpZHRoOiBudW1iZXIgPSBOYU4sIGhlaWdodDogbnVtYmVyID0gTmFOKSB7XG4gICAgICAgIHRoaXMuaXNNb2RhbCA9IGlzTW9kYWw7XG4gICAgICAgIHRoaXMuaXNSZXNpemVhYmxlID0gaXNSZXNpemVhYmxlO1xuICAgICAgICBpZiAoIV8uaXNOYU4od2lkdGgpKSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRXaWR0aCA9IHdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIGlmICghXy5pc05hTihoZWlnaHQpKSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRIZWlnaHQgPSBoZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBzZXREZWZhdWx0UHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53aWR0aCA9IHRoaXMuZWxlbWVudFdpZHRoO1xuICAgICAgICB0aGlzLm1heFdpZHRoID0gdGhpcy5lbGVtZW50TWF4V2lkdGg7XG4gICAgICAgIHRoaXMubWluV2lkdGggPSB0aGlzLmVsZW1lbnRNaW5XaWR0aDtcblxuICAgICAgICB0aGlzLmhlaWdodCA9IHRoaXMuZWxlbWVudEhlaWdodDtcbiAgICAgICAgdGhpcy5tYXhIZWlnaHQgPSB0aGlzLmVsZW1lbnRNYXhIZWlnaHQ7XG4gICAgICAgIHRoaXMubWluSGVpZ2h0ID0gdGhpcy5lbGVtZW50TWluSGVpZ2h0O1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy5kYXRhKSAmJiBJRGVzdHJveWFibGUuaW5zdGFuY2VPZih0aGlzLmRhdGEpKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGEuZGVzdHJveSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGF0YSA9IG51bGw7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0IGVsZW1lbnRNaW5ZKCk6IG51bWJlciB7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLl9lbGVtZW50TWluWSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWluWTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9lbGVtZW50TWluWSA9IDAgLSBWaWV3VXRpbC5nZXRTdGFnZUhlaWdodCgpO1xuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5wYWRkaW5nVG9wKSkge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudE1pblkgKz0gdGhpcy5wYWRkaW5nVG9wO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWluWTtcbiAgICB9XG4gICAgcHVibGljIGdldCBlbGVtZW50TWF4WSgpOiBudW1iZXIge1xuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5fZWxlbWVudE1heFkpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudE1heFk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZWxlbWVudE1heFkgPSBWaWV3VXRpbC5nZXRTdGFnZUhlaWdodCgpO1xuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5wYWRkaW5nQm90dG9tKSkge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudE1heFkgLT0gdGhpcy5wYWRkaW5nQm90dG9tO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWF4WTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGVsZW1lbnRNaW5YKCk6IG51bWJlciB7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLl9lbGVtZW50TWluWCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWluWDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9lbGVtZW50TWluWCA9IC1WaWV3VXRpbC5nZXRTdGFnZVdpZHRoKCk7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdMZWZ0KSkge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudE1pblggKz0gdGhpcy5wYWRkaW5nTGVmdDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudE1pblg7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgZWxlbWVudE1heFgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMuX2VsZW1lbnRNYXhYKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNYXhYO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2VsZW1lbnRNYXhYID0gVmlld1V0aWwuZ2V0U3RhZ2VXaWR0aCgpO1xuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5wYWRkaW5nUmlnaHQpKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50TWF4WCAtPSB0aGlzLnBhZGRpbmdSaWdodDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudE1heFg7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBlbGVtZW50V2lkdGgoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuX2VsZW1lbnRXaWR0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRXaWR0aDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9lbGVtZW50V2lkdGggPSAnYXV0byc7XG4gICAgICAgIGlmICh0aGlzLmRlZmF1bHRXaWR0aCkge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudFdpZHRoID0gdGhpcy5kZWZhdWx0V2lkdGggKyAncHgnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50V2lkdGg7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgZWxlbWVudE1pbldpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLl9lbGVtZW50TWluV2lkdGgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudE1pbldpZHRoO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2VsZW1lbnRNaW5XaWR0aCA9IDA7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLmRlZmF1bHRNaW5XaWR0aCkpIHtcbiAgICAgICAgICAgIGxldCB2YWx1ZSA9IFZpZXdVdGlsLmdldFN0YWdlV2lkdGgoKTtcbiAgICAgICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdMZWZ0KSkge1xuICAgICAgICAgICAgICAgIHZhbHVlIC09IHRoaXMucGFkZGluZ0xlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5wYWRkaW5nUmlnaHQpKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgLT0gdGhpcy5wYWRkaW5nUmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50TWluV2lkdGggPSBNYXRoLm1pbih0aGlzLmRlZmF1bHRNaW5XaWR0aCwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWluV2lkdGg7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgZWxlbWVudE1heFdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLl9lbGVtZW50TWF4V2lkdGgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudE1heFdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2VsZW1lbnRNYXhXaWR0aCA9IFZpZXdVdGlsLmdldFN0YWdlV2lkdGgoKTtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMucGFkZGluZ0xlZnQpKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50TWF4V2lkdGggLT0gdGhpcy5wYWRkaW5nTGVmdDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5wYWRkaW5nUmlnaHQpKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50TWF4V2lkdGggLT0gdGhpcy5wYWRkaW5nUmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMuZGVmYXVsdE1heFdpZHRoKSkge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudE1heFdpZHRoID0gTWF0aC5taW4odGhpcy5kZWZhdWx0TWF4V2lkdGgsIHRoaXMuX2VsZW1lbnRNYXhXaWR0aCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNYXhXaWR0aDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGVsZW1lbnRIZWlnaHQoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuX2VsZW1lbnRIZWlnaHQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2VsZW1lbnRIZWlnaHQgPSAnYXV0byc7XG4gICAgICAgIGlmICh0aGlzLmRlZmF1bHRIZWlnaHQpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRIZWlnaHQgPSB0aGlzLmRlZmF1bHRIZWlnaHQgKyAncHgnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50SGVpZ2h0O1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGVsZW1lbnRNaW5IZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMuX2VsZW1lbnRNaW5IZWlnaHQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudE1pbkhlaWdodDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9lbGVtZW50TWluSGVpZ2h0ID0gMDtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMuZGVmYXVsdE1pbkhlaWdodCkpIHtcbiAgICAgICAgICAgIGxldCB2YWx1ZSA9IFZpZXdVdGlsLmdldFN0YWdlSGVpZ2h0KCk7XG4gICAgICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5wYWRkaW5nVG9wKSkge1xuICAgICAgICAgICAgICAgIHZhbHVlIC09IHRoaXMucGFkZGluZ1RvcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdCb3R0b20pKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgLT0gdGhpcy5wYWRkaW5nQm90dG9tO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fZWxlbWVudE1pbkhlaWdodCA9IE1hdGgubWluKHRoaXMuZGVmYXVsdE1pbkhlaWdodCwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWluSGVpZ2h0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZWxlbWVudE1heEhlaWdodCgpOiBudW1iZXIge1xuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5fZWxlbWVudE1heEhlaWdodCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWF4SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2VsZW1lbnRNYXhIZWlnaHQgPSBWaWV3VXRpbC5nZXRTdGFnZUhlaWdodCgpO1xuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5wYWRkaW5nVG9wKSkge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudE1heEhlaWdodCAtPSB0aGlzLnBhZGRpbmdUb3A7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMucGFkZGluZ0JvdHRvbSkpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRNYXhIZWlnaHQgLT0gdGhpcy5wYWRkaW5nQm90dG9tO1xuICAgICAgICB9XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLmRlZmF1bHRNYXhIZWlnaHQpKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50TWF4SGVpZ2h0ID0gTWF0aC5taW4odGhpcy5kZWZhdWx0TWF4SGVpZ2h0LCB0aGlzLl9lbGVtZW50TWF4SGVpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudE1heEhlaWdodDtcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIFdpbmRvd0NvbmZpZ09wdGlvbnM8VCA9IGFueT4gPSB7IFtQIGluIGtleW9mIFdpbmRvd0NvbmZpZzxUPl0/OiBhbnkgfTtcbiJdfQ==
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93Q29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dpbmRvdy9XaW5kb3dDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxNQUFNLE9BQU8sWUFBWTtJQUNyQiw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLEVBQUUsQ0FBUztJQUNYLE9BQU8sR0FBWSxLQUFLLENBQUM7SUFDekIsWUFBWSxHQUFZLEtBQUssQ0FBQztJQUM5QixZQUFZLEdBQVksS0FBSyxDQUFDO0lBQzlCLGFBQWEsR0FBWSxLQUFLLENBQUM7SUFDL0IsY0FBYyxHQUFZLEtBQUssQ0FBQztJQUNoQyxpQkFBaUIsR0FBWSxJQUFJLENBQUM7SUFFbEMsQ0FBQyxHQUFXLEdBQUcsQ0FBQztJQUNoQixDQUFDLEdBQVcsR0FBRyxDQUFDO0lBQ2hCLElBQUksQ0FBSTtJQUNSLFlBQVksQ0FBUztJQUVyQixLQUFLLENBQVM7SUFDZCxRQUFRLENBQVM7SUFDakIsUUFBUSxDQUFTO0lBQ2pCLFlBQVksR0FBVyxHQUFHLENBQUM7SUFDM0IsZUFBZSxHQUFXLEdBQUcsQ0FBQztJQUM5QixlQUFlLEdBQVcsR0FBRyxDQUFDO0lBRTlCLE1BQU0sQ0FBUztJQUNmLFNBQVMsQ0FBUztJQUNsQixTQUFTLENBQVM7SUFDbEIsYUFBYSxHQUFXLEdBQUcsQ0FBQztJQUM1QixnQkFBZ0IsR0FBVyxHQUFHLENBQUM7SUFDL0IsZ0JBQWdCLEdBQVcsR0FBRyxDQUFDO0lBRS9CLFVBQVUsR0FBVyxHQUFHLENBQUM7SUFDekIsV0FBVyxHQUFXLEdBQUcsQ0FBQztJQUMxQixZQUFZLEdB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aUIsR0FBRyxRQUFRLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDOUMsQ0FBQztRQUNELElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ2pELENBQUM7UUFDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNyRixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgSURlc3Ryb3lhYmxlIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IElXaW5kb3dDb25maWcsIFdpbmRvd0FsaWduIH0gZnJvbSAnLi9JV2luZG93Q29uZmlnJztcbmltcG9ydCB7IFZpZXdVdGlsIH0gZnJvbSAnLi4vdXRpbC9WaWV3VXRpbCc7XG5cbmV4cG9ydCBjbGFzcyBXaW5kb3dDb25maWc8VCA9IGFueT4gaW1wbGVtZW50cyBJV2luZG93Q29uZmlnPFQ+LCBJRGVzdHJveWFibGUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgaWQ6IHN0cmluZztcbiAgICBwdWJsaWMgaXNNb2RhbDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0V4cGFuZGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNSZXNpemVhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGlzTWluaW1pemFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNEaXNhYmxlQ2xvc2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNDb250ZW50RHJhZ2FibGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgcHVibGljIHg6IG51bWJlciA9IE5hTjtcbiAgICBwdWJsaWMgeTogbnVtYmVyID0gTmFOO1xuICAgIHB1YmxpYyBkYXRhOiBUO1xuICAgIHB1YmxpYyBwcm9wZXJ0aWVzSWQ6IHN0cmluZztcblxuICAgIHB1YmxpYyB3aWR0aDogc3RyaW5nO1xuICAgIHB1YmxpYyBtaW5XaWR0aDogbnVtYmVyO1xuICAgIHB1YmxpYyBtYXhXaWR0aDogbnVtYmVyO1xuICAgIHB1YmxpYyBkZWZhdWx0V2lkdGg6IG51bWJlciA9IE5hTjtcbiAgICBwdWJsaWMgZGVmYXVsdE1pbldpZHRoOiBudW1iZXIgPSBOYU47XG4gICAgcHVibGljIGRlZmF1bHRNYXhXaWR0aDogbnVtYmVyID0gTmFOO1xuXG4gICAgcHVibGljIGhlaWdodDogc3RyaW5nO1xuICAgIHB1YmxpYyBtaW5IZWlnaHQ6IG51bWJlcjtcbiAgICBwdWJsaWMgbWF4SGVpZ2h0OiBudW1iZXI7XG4gICAgcHVibGljIGRlZmF1bHRIZWlnaHQ6IG51bWJlciA9IE5hTjtcbiAgICBwdWJsaWMgZGVmYXVsdE1pbkhlaWdodDogbnVtYmVyID0gTmFOO1xuICAgIHB1YmxpYyBkZWZhdWx0TWF4SGVpZ2h0OiBudW1iZXIgPSBOYU47XG5cbiAgICBwdWJsaWMgcGFkZGluZ1RvcDogbnVtYmVyID0gTmFOO1xuICAgIHB1YmxpYyBwYWRkaW5nTGVmdDogbnVtYmVyID0gTmFOO1xuICAgIHB1YmxpYyBwYWRkaW5nUmlnaHQ6IG51bWJlciA9IE5hTjtcbiAgICBwdWJsaWMgcGFkZGluZ0JvdHRvbTogbnVtYmVyID0gTmFOO1xuXG4gICAgcHVibGljIGF1dG9Gb2N1czogc3RyaW5nO1xuICAgIHB1YmxpYyByZXN0b3JlRm9jdXM6IGJvb2xlYW47XG4gICAgcHVibGljIGRlbGF5Rm9jdXNUcmFwOiBib29sZWFuO1xuXG4gICAgcHVibGljIHZlcnRpY2FsQWxpZ246IFdpbmRvd0FsaWduO1xuICAgIHB1YmxpYyBob3Jpem9udGFsQWxpZ246IFdpbmRvd0FsaWduO1xuXG4gICAgcHJvdGVjdGVkIF9lbGVtZW50TWF4WDogbnVtYmVyID0gTmFOO1xuICAgIHByb3RlY3RlZCBfZWxlbWVudE1pblg6IG51bWJlciA9IE5hTjtcblxuICAgIHByb3RlY3RlZCBfZWxlbWVudE1heFk6IG51bWJlciA9IE5hTjtcbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRNaW5ZOiBudW1iZXIgPSBOYU47XG5cbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRXaWR0aDogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBfZWxlbWVudE1pbldpZHRoOiBudW1iZXIgPSBOYU47XG4gICAgcHJvdGVjdGVkIF9lbGVtZW50TWF4V2lkdGg6IG51bWJlciA9IE5hTjtcblxuICAgIHByb3RlY3RlZCBfZWxlbWVudEhlaWdodDogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBfZWxlbWVudE1pbkhlaWdodDogbnVtYmVyID0gTmFOO1xuICAgIHByb3RlY3RlZCBfZWxlbWVudE1heEhlaWdodDogbnVtYmVyID0gTmFOO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0Q29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3Rvcihpc01vZGFsOiBib29sZWFuID0gZmFsc2UsIGlzUmVzaXplYWJsZTogYm9vbGVhbiA9IGZhbHNlLCB3aWR0aDogbnVtYmVyID0gTmFOLCBoZWlnaHQ6IG51bWJlciA9IE5hTikge1xuICAgICAgICB0aGlzLmlzTW9kYWwgPSBpc01vZGFsO1xuICAgICAgICB0aGlzLmlzUmVzaXplYWJsZSA9IGlzUmVzaXplYWJsZTtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHdpZHRoKSkge1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0V2lkdGggPSB3aWR0aDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIV8uaXNOYU4oaGVpZ2h0KSkge1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0SGVpZ2h0ID0gaGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgc2V0RGVmYXVsdFByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMud2lkdGggPSB0aGlzLmVsZW1lbnRXaWR0aDtcbiAgICAgICAgdGhpcy5tYXhXaWR0aCA9IHRoaXMuZWxlbWVudE1heFdpZHRoO1xuICAgICAgICB0aGlzLm1pbldpZHRoID0gdGhpcy5lbGVtZW50TWluV2lkdGg7XG5cbiAgICAgICAgdGhpcy5oZWlnaHQgPSB0aGlzLmVsZW1lbnRIZWlnaHQ7XG4gICAgICAgIHRoaXMubWF4SGVpZ2h0ID0gdGhpcy5lbGVtZW50TWF4SGVpZ2h0O1xuICAgICAgICB0aGlzLm1pbkhlaWdodCA9IHRoaXMuZWxlbWVudE1pbkhlaWdodDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFfLmlzTmlsKHRoaXMuZGF0YSkgJiYgSURlc3Ryb3lhYmxlLmluc3RhbmNlT2YodGhpcy5kYXRhKSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRhdGEgPSBudWxsO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCBlbGVtZW50TWluWSgpOiBudW1iZXIge1xuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5fZWxlbWVudE1pblkpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudE1pblk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZWxlbWVudE1pblkgPSAwIC0gVmlld1V0aWwuZ2V0U3RhZ2VIZWlnaHQoKTtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMucGFkZGluZ1RvcCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRNaW5ZICs9IHRoaXMucGFkZGluZ1RvcDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudE1pblk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgZWxlbWVudE1heFkoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMuX2VsZW1lbnRNYXhZKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNYXhZO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2VsZW1lbnRNYXhZID0gVmlld1V0aWwuZ2V0U3RhZ2VIZWlnaHQoKTtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMucGFkZGluZ0JvdHRvbSkpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRNYXhZIC09IHRoaXMucGFkZGluZ0JvdHRvbTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudE1heFk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBlbGVtZW50TWluWCgpOiBudW1iZXIge1xuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5fZWxlbWVudE1pblgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudE1pblg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZWxlbWVudE1pblggPSAtVmlld1V0aWwuZ2V0U3RhZ2VXaWR0aCgpO1xuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5wYWRkaW5nTGVmdCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRNaW5YICs9IHRoaXMucGFkZGluZ0xlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNaW5YO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGVsZW1lbnRNYXhYKCk6IG51bWJlciB7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLl9lbGVtZW50TWF4WCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWF4WDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9lbGVtZW50TWF4WCA9IFZpZXdVdGlsLmdldFN0YWdlV2lkdGgoKTtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMucGFkZGluZ1JpZ2h0KSkge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudE1heFggLT0gdGhpcy5wYWRkaW5nUmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNYXhYO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZWxlbWVudFdpZHRoKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLl9lbGVtZW50V2lkdGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50V2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZWxlbWVudFdpZHRoID0gJ2F1dG8nO1xuICAgICAgICBpZiAodGhpcy5kZWZhdWx0V2lkdGgpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRXaWR0aCA9IHRoaXMuZGVmYXVsdFdpZHRoICsgJ3B4JztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFdpZHRoO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGVsZW1lbnRNaW5XaWR0aCgpOiBudW1iZXIge1xuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5fZWxlbWVudE1pbldpZHRoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNaW5XaWR0aDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9lbGVtZW50TWluV2lkdGggPSAwO1xuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5kZWZhdWx0TWluV2lkdGgpKSB7XG4gICAgICAgICAgICBsZXQgdmFsdWUgPSBWaWV3VXRpbC5nZXRTdGFnZVdpZHRoKCk7XG4gICAgICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5wYWRkaW5nTGVmdCkpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSAtPSB0aGlzLnBhZGRpbmdMZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMucGFkZGluZ1JpZ2h0KSkge1xuICAgICAgICAgICAgICAgIHZhbHVlIC09IHRoaXMucGFkZGluZ1JpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fZWxlbWVudE1pbldpZHRoID0gTWF0aC5taW4odGhpcy5kZWZhdWx0TWluV2lkdGgsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudE1pbldpZHRoO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGVsZW1lbnRNYXhXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5fZWxlbWVudE1heFdpZHRoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNYXhXaWR0aDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9lbGVtZW50TWF4V2lkdGggPSBWaWV3VXRpbC5nZXRTdGFnZVdpZHRoKCk7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdMZWZ0KSkge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudE1heFdpZHRoIC09IHRoaXMucGFkZGluZ0xlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMucGFkZGluZ1JpZ2h0KSkge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudE1heFdpZHRoIC09IHRoaXMucGFkZGluZ1JpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLmRlZmF1bHRNYXhXaWR0aCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRNYXhXaWR0aCA9IE1hdGgubWluKHRoaXMuZGVmYXVsdE1heFdpZHRoLCB0aGlzLl9lbGVtZW50TWF4V2lkdGgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWF4V2lkdGg7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBlbGVtZW50SGVpZ2h0KCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLl9lbGVtZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudEhlaWdodDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9lbGVtZW50SGVpZ2h0ID0gJ2F1dG8nO1xuICAgICAgICBpZiAodGhpcy5kZWZhdWx0SGVpZ2h0KSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50SGVpZ2h0ID0gdGhpcy5kZWZhdWx0SGVpZ2h0ICsgJ3B4JztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudEhlaWdodDtcbiAgICB9XG4gICAgcHVibGljIGdldCBlbGVtZW50TWluSGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLl9lbGVtZW50TWluSGVpZ2h0KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNaW5IZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZWxlbWVudE1pbkhlaWdodCA9IDA7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLmRlZmF1bHRNaW5IZWlnaHQpKSB7XG4gICAgICAgICAgICBsZXQgdmFsdWUgPSBWaWV3VXRpbC5nZXRTdGFnZUhlaWdodCgpO1xuICAgICAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMucGFkZGluZ1RvcCkpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSAtPSB0aGlzLnBhZGRpbmdUb3A7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5wYWRkaW5nQm90dG9tKSkge1xuICAgICAgICAgICAgICAgIHZhbHVlIC09IHRoaXMucGFkZGluZ0JvdHRvbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRNaW5IZWlnaHQgPSBNYXRoLm1pbih0aGlzLmRlZmF1bHRNaW5IZWlnaHQsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudE1pbkhlaWdodDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGVsZW1lbnRNYXhIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMuX2VsZW1lbnRNYXhIZWlnaHQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudE1heEhlaWdodDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9lbGVtZW50TWF4SGVpZ2h0ID0gVmlld1V0aWwuZ2V0U3RhZ2VIZWlnaHQoKTtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMucGFkZGluZ1RvcCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRNYXhIZWlnaHQgLT0gdGhpcy5wYWRkaW5nVG9wO1xuICAgICAgICB9XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdCb3R0b20pKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50TWF4SGVpZ2h0IC09IHRoaXMucGFkZGluZ0JvdHRvbTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5kZWZhdWx0TWF4SGVpZ2h0KSkge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudE1heEhlaWdodCA9IE1hdGgubWluKHRoaXMuZGVmYXVsdE1heEhlaWdodCwgdGhpcy5fZWxlbWVudE1heEhlaWdodCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNYXhIZWlnaHQ7XG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBXaW5kb3dDb25maWdPcHRpb25zPFQgPSBhbnk+ID0geyBbUCBpbiBrZXlvZiBXaW5kb3dDb25maWc8VD5dPzogYW55IH07XG4iXX0=